summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortzik@chromium.org <tzik@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-03 07:53:50 +0000
committertzik@chromium.org <tzik@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-03 07:53:50 +0000
commit8863218a5e97c4914a5a03df59e9d5d17f53a2cb (patch)
treeb28c2e08e47634159ec4055ae269529dc8d96c8a
parent064064c88e45a8505821656cae6304178d410ae1 (diff)
downloadchromium_src-8863218a5e97c4914a5a03df59e9d5d17f53a2cb.zip
chromium_src-8863218a5e97c4914a5a03df59e9d5d17f53a2cb.tar.gz
chromium_src-8863218a5e97c4914a5a03df59e9d5d17f53a2cb.tar.bz2
Revert of Animate window control changes in TouchView (https://codereview.chromium.org/271913002/)
Reason for revert: This CL seems to cause Linux Chromium OS ASan LSan bots failure. The failure logs are: http://build.chromium.org/p/chromium.memory/builders/Linux%20Chromium%20OS%20ASan%20LSan%20Tests%20%282%29/builds/1458 http://build.chromium.org/p/chromium.memory/buildstatus?builder=Linux%20Chromium%20OS%20ASan%20LSan%20Tests%20%283%29&number=1639 http://build.chromium.org/p/chromium.memory/builders/Linux%20Chromium%20OS%20ASan%20LSan%20Tests%20%283%29/builds/1639 Original issue's description: > Animate window control changes in TouchView > > Add animation for the hiding and showing of the resize button. Add an animation > for sliding the minimize button into the position of the resize button. Delay > changing the size of FrameCaptionButtonContainerView to account for conflicting > layout changes caused by the transition to TouchView. > > TEST=FrameCaptionButtonContainerViewTest > TEST=CustomFrameViewAshTest > TES=BrowserNonClientFrameViewAshTest > BUG=363717 > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=274371 TBR=flackr@chromium.org,jamescook@chromium.org,oshima@chromium.org,jonross@chromium.org NOTREECHECKS=true NOTRY=true BUG=363717 Review URL: https://codereview.chromium.org/309973002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@274426 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--ash/frame/caption_buttons/frame_caption_button_container_view.cc134
-rw-r--r--ash/frame/caption_buttons/frame_caption_button_container_view.h11
-rw-r--r--ash/frame/caption_buttons/frame_caption_button_container_view_unittest.cc57
-rw-r--r--ash/frame/custom_frame_view_ash.cc15
-rw-r--r--ash/frame/default_header_painter.cc4
-rw-r--r--chrome/browser/ui/views/frame/browser_header_painter_ash.cc2
-rw-r--r--chrome/browser/ui/views/frame/browser_non_client_frame_view_ash.cc16
-rw-r--r--chrome/browser/ui/views/frame/browser_non_client_frame_view_ash.h12
-rw-r--r--chrome/browser/ui/views/frame/browser_non_client_frame_view_ash_browsertest.cc29
9 files changed, 19 insertions, 261 deletions
diff --git a/ash/frame/caption_buttons/frame_caption_button_container_view.cc b/ash/frame/caption_buttons/frame_caption_button_container_view.cc
index 2ed1048..12bbb71 100644
--- a/ash/frame/caption_buttons/frame_caption_button_container_view.cc
+++ b/ash/frame/caption_buttons/frame_caption_button_container_view.cc
@@ -5,7 +5,6 @@
#include "ash/frame/caption_buttons/frame_caption_button_container_view.h"
#include <cmath>
-#include <map>
#include "ash/ash_switches.h"
#include "ash/frame/caption_buttons/frame_caption_button.h"
@@ -15,10 +14,7 @@
#include "grit/ui_strings.h" // Accessibility names
#include "ui/base/hit_test.h"
#include "ui/base/l10n/l10n_util.h"
-#include "ui/compositor/layer.h"
#include "ui/compositor/scoped_animation_duration_scale_mode.h"
-#include "ui/compositor/scoped_layer_animation_settings.h"
-#include "ui/gfx/animation/tween.h"
#include "ui/gfx/canvas.h"
#include "ui/gfx/insets.h"
#include "ui/gfx/point.h"
@@ -29,14 +25,6 @@ namespace ash {
namespace {
-// Visual design parameters for animating the transition to maximize mode.
-// When the size button hides we delay sliding the minimize button into its
-// location. Also used to delay showing the size button so that the minimize
-// button slides out of that position.
-const int kAnimationDelayMs = 100;
-const int kMinimizeSlideDurationMs = 500;
-const int kSizeFadeDurationMs = 250;
-
// Converts |point| from |src| to |dst| and hittests against |dst|.
bool ConvertPointToViewAndHitTest(const views::View* src,
const views::View* dst,
@@ -59,31 +47,22 @@ FrameCaptionButtonContainerView::FrameCaptionButtonContainerView(
minimize_button_(NULL),
size_button_(NULL),
close_button_(NULL) {
- SetPaintToLayer(true);
- SetFillsBoundsOpaquely(false);
-
// Insert the buttons left to right.
minimize_button_ = new FrameCaptionButton(this, CAPTION_BUTTON_ICON_MINIMIZE);
minimize_button_->SetAccessibleName(
l10n_util::GetStringUTF16(IDS_APP_ACCNAME_MINIMIZE));
minimize_button_->SetVisible(minimize_allowed == MINIMIZE_ALLOWED);
- minimize_button_->SetPaintToLayer(true);
- minimize_button_->SetFillsBoundsOpaquely(false);
AddChildView(minimize_button_);
size_button_ = new FrameSizeButton(this, frame, this);
size_button_->SetAccessibleName(
l10n_util::GetStringUTF16(IDS_APP_ACCNAME_MAXIMIZE));
- size_button_->SetPaintToLayer(true);
- size_button_->SetFillsBoundsOpaquely(false);
UpdateSizeButtonVisibility(false);
AddChildView(size_button_);
close_button_ = new FrameCaptionButton(this, CAPTION_BUTTON_ICON_CLOSE);
close_button_->SetAccessibleName(
l10n_util::GetStringUTF16(IDS_APP_ACCNAME_CLOSE));
- close_button_->SetPaintToLayer(true);
- close_button_->SetFillsBoundsOpaquely(false);
AddChildView(close_button_);
}
@@ -148,46 +127,8 @@ void FrameCaptionButtonContainerView::UpdateSizeButtonVisibility(
// time when ShellObserver::OnMaximizeModeStarted is called. This prevents
// this method from performing that check, and instead relies on the calling
// code to tell it to force being hidden.
-
- bool visible = !force_hidden && frame_->widget_delegate()->CanMaximize();
-
- // Turning visibility off prevents animations from rendering. Setting the
- // size button visibility to false will occur after the animation.
- if (visible) {
- size_button_->SetVisible(true);
- // Because we delay calling View::SetVisible(false) until the end of the
- // animation, if SetVisible(true) is called mid-animation, the View still
- // believes it is visible and will not update the target layer visibility.
- size_button_->layer()->SetVisible(true);
- }
-
- ui::ScopedLayerAnimationSettings settings(
- size_button_->layer()->GetAnimator());
- settings.SetTransitionDuration(
- base::TimeDelta::FromMilliseconds(kSizeFadeDurationMs));
- settings.SetPreemptionStrategy(
- ui::LayerAnimator::IMMEDIATELY_ANIMATE_TO_NEW_TARGET);
-
- if (visible) {
- settings.SetTweenType(gfx::Tween::EASE_OUT);
- // Delay fade in so that the minimize button has begun its sliding
- // animation.
- size_button_->layer()->GetAnimator()->SchedulePauseForProperties(
- base::TimeDelta::FromMilliseconds(kAnimationDelayMs),
- ui::LayerAnimationElement::OPACITY);
- size_button_->layer()->SetOpacity(1.0f);
- } else {
- settings.SetTweenType(gfx::Tween::EASE_IN);
- // Observer will call size_button_->SetVisible(false) upon completion of
- // the animation.
- // TODO(jonross): avoid the delayed SetVisible(false) call by acquring
- // the size_button's layer before making it invisible. That layer can then
- // be animated and deleted upon completion of the animation. See
- // LayerOwner::RecreateLayer
- settings.AddObserver(this);
- size_button_->layer()->SetOpacity(0.0f);
- size_button_->layer()->SetVisible(false);
- }
+ size_button_->SetVisible(
+ !force_hidden && frame_->widget_delegate()->CanMaximize());
}
gfx::Size FrameCaptionButtonContainerView::GetPreferredSize() const {
@@ -201,56 +142,15 @@ gfx::Size FrameCaptionButtonContainerView::GetPreferredSize() const {
}
void FrameCaptionButtonContainerView::Layout() {
- int x = width();
- // Offsets the initial position of a child, so that buttons slide into the
- // place as other buttons are added/removed.
- int offset_x = 0;
- for (int i = child_count() - 1; i >= 0; --i) {
+ int x = 0;
+ for (int i = 0; i < child_count(); ++i) {
views::View* child = child_at(i);
- ui::LayerAnimator* child_animator = child->layer()->GetAnimator();
- bool child_animating = child_animator->is_animating();
- // The actual property visibility is not being animated, otherwise the
- // view does not render.
- bool child_animating_opacity = child_animator->
- IsAnimatingProperty(ui::LayerAnimationElement::OPACITY);
- bool child_target_visibility = child->layer()->GetTargetVisibility();
-
- if (child_animating_opacity) {
- if (child_target_visibility)
- offset_x += child->width();
- else
- offset_x -= child->width();
- }
-
- if (!child->visible() || !child_target_visibility)
+ if (!child->visible())
continue;
- scoped_ptr<ui::ScopedLayerAnimationSettings> animation;
gfx::Size size = child->GetPreferredSize();
- x -= size.width();
-
- // Animate the button if a previous button is currently animating
- // its visibility.
- if (offset_x != 0) {
- if (!child_animating)
- child->SetBounds(x + offset_x, 0, size.width(), size.height());
- if (offset_x < 0) {
- // Delay sliding to where the previous button was located.
- child_animator->SchedulePauseForProperties(
- base::TimeDelta::FromMilliseconds(kAnimationDelayMs),
- ui::LayerAnimationElement::BOUNDS);
- }
-
- ui::ScopedLayerAnimationSettings* settings =
- new ui::ScopedLayerAnimationSettings(child_animator);
- settings->SetTransitionDuration(
- base::TimeDelta::FromMilliseconds(kMinimizeSlideDurationMs));
- settings->SetPreemptionStrategy(
- ui::LayerAnimator::IMMEDIATELY_ANIMATE_TO_NEW_TARGET);
- settings->SetTweenType(gfx::Tween::EASE_OUT);
- animation.reset(settings);
- }
child->SetBounds(x, 0, size.width(), size.height());
+ x += size.width();
}
}
@@ -302,7 +202,7 @@ void FrameCaptionButtonContainerView::ButtonPressed(views::Button* sender,
if (sender == minimize_button_) {
frame_->Minimize();
} else if (sender == size_button_) {
- if (frame_->IsFullscreen()) { // Can be clicked in immersive fullscreen.
+ if (frame_->IsFullscreen()) { // Can be clicked in immersive fullscreen.
frame_->SetFullscreen(false);
action = ash::UMA_WINDOW_MAXIMIZE_BUTTON_CLICK_EXIT_FULLSCREEN;
} else if (frame_->IsMaximized()) {
@@ -312,7 +212,7 @@ void FrameCaptionButtonContainerView::ButtonPressed(views::Button* sender,
frame_->Maximize();
action = ash::UMA_WINDOW_MAXIMIZE_BUTTON_CLICK_MAXIMIZE;
}
- } else if (sender == close_button_) {
+ } else if(sender == close_button_) {
frame_->Close();
action = ash::UMA_WINDOW_CLOSE_BUTTON_CLICK;
} else {
@@ -389,24 +289,6 @@ void FrameCaptionButtonContainerView::SetHoveredAndPressedButtons(
}
}
-void FrameCaptionButtonContainerView::OnImplicitAnimationsCompleted() {
- // If there is another animation in the queue, the reverse animation was
- // triggered before the completion of animating to invisible. Do not turn off
- // the visibility so that the next animation may render.
- if (!size_button_->layer()->GetAnimator()->is_animating() &&
- !size_button_->layer()->GetTargetVisibility()) {
- size_button_->SetVisible(false);
- }
- // TODO(jonross): currently we need to delay telling the parent about the
- // size change from visibility. When the size changes this forces a relayout
- // and we want to animate both the bounds of FrameCaptionButtonContainerView
- // along with that of its children. However when the parent is currently
- // having its bounds changed this leads to strange animations where this view
- // renders outside of its parents. Create a more specific animation where
- // height and y are immediately fixed, and where we only animate width and x.
- PreferredSizeChanged();
-}
-
FrameCaptionButtonContainerView::ButtonIconIds::ButtonIconIds()
: icon_image_id(-1),
inactive_icon_image_id(-1),
diff --git a/ash/frame/caption_buttons/frame_caption_button_container_view.h b/ash/frame/caption_buttons/frame_caption_button_container_view.h
index 113e0c4..9e67b93 100644
--- a/ash/frame/caption_buttons/frame_caption_button_container_view.h
+++ b/ash/frame/caption_buttons/frame_caption_button_container_view.h
@@ -5,11 +5,8 @@
#ifndef ASH_FRAME_CAPTION_BUTTONS_FRAME_CAPTION_BUTTON_CONTAINER_VIEW_H_
#define ASH_FRAME_CAPTION_BUTTONS_FRAME_CAPTION_BUTTON_CONTAINER_VIEW_H_
-#include <map>
-
#include "ash/ash_export.h"
#include "ash/frame/caption_buttons/frame_size_button_delegate.h"
-#include "ui/compositor/layer_animation_observer.h"
#include "ui/views/controls/button/button.h"
#include "ui/views/view.h"
@@ -24,8 +21,7 @@ namespace ash {
class ASH_EXPORT FrameCaptionButtonContainerView
: public views::View,
public views::ButtonListener,
- public FrameSizeButtonDelegate,
- public ui::ImplicitAnimationObserver {
+ public FrameSizeButtonDelegate {
public:
static const char kViewClassName[];
@@ -140,9 +136,6 @@ class ASH_EXPORT FrameCaptionButtonContainerView
const FrameCaptionButton* to_hover,
const FrameCaptionButton* to_press) OVERRIDE;
- // ui::ImplicitAnimationObserver:
- virtual void OnImplicitAnimationsCompleted() OVERRIDE;
-
// The widget that the buttons act on.
views::Widget* frame_;
@@ -159,6 +152,6 @@ class ASH_EXPORT FrameCaptionButtonContainerView
DISALLOW_COPY_AND_ASSIGN(FrameCaptionButtonContainerView);
};
-} // namespace ash
+} // namesapace ash
#endif // ASH_FRAME_CAPTION_BUTTONS_FRAME_CAPTION_BUTTON_CONTAINER_VIEW_H_
diff --git a/ash/frame/caption_buttons/frame_caption_button_container_view_unittest.cc b/ash/frame/caption_buttons/frame_caption_button_container_view_unittest.cc
index 7e9745f..acd72c8 100644
--- a/ash/frame/caption_buttons/frame_caption_button_container_view_unittest.cc
+++ b/ash/frame/caption_buttons/frame_caption_button_container_view_unittest.cc
@@ -7,7 +7,6 @@
#include "ash/frame/caption_buttons/frame_caption_button.h"
#include "ash/test/ash_test_base.h"
#include "grit/ash_resources.h"
-#include "ui/gfx/geometry/rect.h"
#include "ui/views/widget/widget.h"
#include "ui/views/widget/widget_delegate.h"
@@ -109,7 +108,6 @@ TEST_F(FrameCaptionButtonContainerViewTest, ButtonVisibility) {
FrameCaptionButtonContainerView container1(widget_can_maximize.get(),
FrameCaptionButtonContainerView::MINIMIZE_ALLOWED);
SetMockImages(&container1);
- container1.SetBoundsRect(gfx::Rect(container1.GetPreferredSize()));
container1.Layout();
FrameCaptionButtonContainerView::TestApi t1(&container1);
EXPECT_TRUE(t1.minimize_button()->visible());
@@ -125,7 +123,6 @@ TEST_F(FrameCaptionButtonContainerViewTest, ButtonVisibility) {
FrameCaptionButtonContainerView container2(widget_cannot_maximize.get(),
FrameCaptionButtonContainerView::MINIMIZE_ALLOWED);
SetMockImages(&container2);
- container2.SetBoundsRect(gfx::Rect(container2.GetPreferredSize()));
container2.Layout();
FrameCaptionButtonContainerView::TestApi t2(&container2);
EXPECT_TRUE(t2.minimize_button()->visible());
@@ -139,7 +136,6 @@ TEST_F(FrameCaptionButtonContainerViewTest, ButtonVisibility) {
FrameCaptionButtonContainerView container3(widget_cannot_maximize.get(),
FrameCaptionButtonContainerView::MINIMIZE_DISALLOWED);
SetMockImages(&container3);
- container3.SetBoundsRect(gfx::Rect(container3.GetPreferredSize()));
container3.Layout();
FrameCaptionButtonContainerView::TestApi t3(&container3);
EXPECT_FALSE(t3.minimize_button()->visible());
@@ -149,57 +145,4 @@ TEST_F(FrameCaptionButtonContainerViewTest, ButtonVisibility) {
&container3, *t3.close_button(), *t3.close_button()));
}
-// Tests that the layout animations triggered by button visibilty result in the
-// correct placement of the buttons.
-TEST_F(FrameCaptionButtonContainerViewTest,
- TestUpdateSizeButtonVisibilityAnimation) {
- scoped_ptr<views::Widget> widget_can_maximize(
- CreateTestWidget(MAXIMIZE_ALLOWED));
- FrameCaptionButtonContainerView container(widget_can_maximize.get(),
- FrameCaptionButtonContainerView::MINIMIZE_ALLOWED);
- SetMockImages(&container);
- container.SetBoundsRect(gfx::Rect(container.GetPreferredSize()));
- container.Layout();
-
- FrameCaptionButtonContainerView::TestApi test(&container);
- gfx::Rect initial_minimize_button_bounds = test.minimize_button()->bounds();
- gfx::Rect initial_size_button_bounds = test.size_button()->bounds();
- gfx::Rect initial_close_button_bounds = test.close_button()->bounds();
- gfx::Rect initial_container_bounds = container.bounds();
-
- ASSERT_EQ(initial_size_button_bounds.x(),
- initial_minimize_button_bounds.right());
- ASSERT_EQ(initial_close_button_bounds.x(),
- initial_size_button_bounds.right());
-
- // Hidden size button should result in minimize button animating to the
- // right. The size button should not be visible, but should not have moved.
- container.UpdateSizeButtonVisibility(/*force_hidden*/ true);
- container.Layout();
-
- EXPECT_TRUE(test.minimize_button()->visible());
- EXPECT_FALSE(test.size_button()->visible());
- EXPECT_TRUE(test.close_button()->visible());
- gfx::Rect minimize_button_bounds = test.minimize_button()->bounds();
- gfx::Rect close_button_bounds = test.close_button()->bounds();
- EXPECT_EQ(close_button_bounds.x(), minimize_button_bounds.right());
- EXPECT_EQ(initial_size_button_bounds, test.size_button()->bounds());
- EXPECT_EQ(initial_close_button_bounds, close_button_bounds);
- EXPECT_LT(container.GetPreferredSize().width(),
- initial_container_bounds.width());
-
- // Revealing the size button should cause the minimze button to return to its
- // original position.
- container.UpdateSizeButtonVisibility(/*force_hidden*/ false);
- container.Layout();
- EXPECT_TRUE(test.minimize_button()->visible());
- EXPECT_TRUE(test.size_button()->visible());
- EXPECT_TRUE(test.close_button()->visible());
- EXPECT_EQ(initial_minimize_button_bounds, test.minimize_button()->bounds());
- EXPECT_EQ(initial_size_button_bounds, test.size_button()->bounds());
- EXPECT_EQ(initial_close_button_bounds, test.close_button()->bounds());
- EXPECT_EQ(container.GetPreferredSize().width(),
- initial_container_bounds.width());
-}
-
} // namespace ash
diff --git a/ash/frame/custom_frame_view_ash.cc b/ash/frame/custom_frame_view_ash.cc
index 4f424fe..85722ff 100644
--- a/ash/frame/custom_frame_view_ash.cc
+++ b/ash/frame/custom_frame_view_ash.cc
@@ -4,9 +4,6 @@
#include "ash/frame/custom_frame_view_ash.h"
-#include <algorithm>
-#include <vector>
-
#include "ash/ash_switches.h"
#include "ash/frame/caption_buttons/frame_caption_button_container_view.h"
#include "ash/frame/default_header_painter.h"
@@ -153,7 +150,6 @@ class CustomFrameViewAsh::HeaderView
// views::View:
virtual void Layout() OVERRIDE;
virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE;
- virtual void ChildPreferredSizeChanged(views::View* child) OVERRIDE;
// ShellObserver:
virtual void OnMaximizeModeStarted() OVERRIDE;
@@ -289,17 +285,6 @@ void CustomFrameViewAsh::HeaderView::OnPaint(gfx::Canvas* canvas) {
header_painter_->PaintHeader(canvas, header_mode);
}
-void CustomFrameViewAsh::HeaderView::
- ChildPreferredSizeChanged(views::View* child) {
- // FrameCaptionButtonContainerView animates the visibility changes in
- // UpdateSizeButtonVisibility(false). Due to this a new size is not available
- // until the completion of the animation. Layout it response to the preferred
- // size changes.
- if (child != caption_button_container_)
- return;
- parent()->Layout();
-}
-
///////////////////////////////////////////////////////////////////////////////
// CustomFrameViewAsh::HeaderView, ShellObserver overrides:
diff --git a/ash/frame/default_header_painter.cc b/ash/frame/default_header_painter.cc
index e8a46ef..fd31d77 100644
--- a/ash/frame/default_header_painter.cc
+++ b/ash/frame/default_header_painter.cc
@@ -200,6 +200,8 @@ void DefaultHeaderPainter::PaintHeader(gfx::Canvas* canvas, Mode mode) {
}
void DefaultHeaderPainter::LayoutHeader() {
+ caption_button_container_->Layout();
+
gfx::Size caption_button_container_size =
caption_button_container_->GetPreferredSize();
caption_button_container_->SetBounds(
@@ -207,7 +209,7 @@ void DefaultHeaderPainter::LayoutHeader() {
0,
caption_button_container_size.width(),
caption_button_container_size.height());
- caption_button_container_->Layout();
+
if (window_icon_) {
// Vertically center the window icon with respect to the caption button
// container.
diff --git a/chrome/browser/ui/views/frame/browser_header_painter_ash.cc b/chrome/browser/ui/views/frame/browser_header_painter_ash.cc
index 13cbd52..be2dbc7 100644
--- a/chrome/browser/ui/views/frame/browser_header_painter_ash.cc
+++ b/chrome/browser/ui/views/frame/browser_header_painter_ash.cc
@@ -232,6 +232,7 @@ void BrowserHeaderPainterAsh::LayoutHeader() {
painted_height_ = -1;
UpdateCaptionButtonImages();
+ caption_button_container_->Layout();
gfx::Size caption_button_container_size =
caption_button_container_->GetPreferredSize();
@@ -240,7 +241,6 @@ void BrowserHeaderPainterAsh::LayoutHeader() {
0,
caption_button_container_size.width(),
caption_button_container_size.height());
- caption_button_container_->Layout();
if (window_icon_) {
// Vertically center the window icon with respect to the caption button
diff --git a/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash.cc b/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash.cc
index 5e18384..90b375e 100644
--- a/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash.cc
+++ b/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash.cc
@@ -4,8 +4,6 @@
#include "chrome/browser/ui/views/frame/browser_non_client_frame_view_ash.h"
-#include <algorithm>
-
#include "ash/ash_switches.h"
#include "ash/frame/caption_buttons/frame_caption_button_container_view.h"
#include "ash/frame/default_header_painter.h"
@@ -379,20 +377,6 @@ gfx::ImageSkia BrowserNonClientFrameViewAsh::GetFaviconForTabIconView() {
}
///////////////////////////////////////////////////////////////////////////////
-// views::View:
-
-void BrowserNonClientFrameViewAsh::
- ChildPreferredSizeChanged(views::View* child) {
-// FrameCaptionButtonContainerView animates the visibility changes in
-// UpdateSizeButtonVisibility(false). Due to this a new size is not available
-// until the completion of the animation. Layout in response to the preferred
-// size changes.
- if (child != caption_button_container_)
- return;
- frame()->GetRootView()->Layout();
-}
-
-///////////////////////////////////////////////////////////////////////////////
// BrowserNonClientFrameViewAsh, private:
int BrowserNonClientFrameViewAsh::GetTabStripLeftInset() const {
diff --git a/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash.h b/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash.h
index 5a0b0cf..6b805ea 100644
--- a/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash.h
+++ b/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash.h
@@ -35,13 +35,13 @@ class BrowserNonClientFrameViewAsh
void Init();
- // BrowserNonClientFrameView:
+ // BrowserNonClientFrameView overrides:
virtual gfx::Rect GetBoundsForTabStrip(views::View* tabstrip) const OVERRIDE;
virtual int GetTopInset() const OVERRIDE;
virtual int GetThemeBackgroundXInset() const OVERRIDE;
virtual void UpdateThrobber(bool running) OVERRIDE;
- // views::NonClientFrameView:
+ // views::NonClientFrameView overrides:
virtual gfx::Rect GetBoundsForClientView() const OVERRIDE;
virtual gfx::Rect GetWindowBoundsForClientBounds(
const gfx::Rect& client_bounds) const OVERRIDE;
@@ -52,7 +52,7 @@ class BrowserNonClientFrameViewAsh
virtual void UpdateWindowIcon() OVERRIDE;
virtual void UpdateWindowTitle() OVERRIDE;
- // views::View:
+ // views::View overrides:
virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE;
virtual void Layout() OVERRIDE;
virtual const char* GetClassName() const OVERRIDE;
@@ -64,14 +64,10 @@ class BrowserNonClientFrameViewAsh
virtual void OnMaximizeModeStarted() OVERRIDE;
virtual void OnMaximizeModeEnded() OVERRIDE;
- // chrome::TabIconViewModel:
+ // Overridden from chrome::TabIconViewModel:
virtual bool ShouldTabIconViewAnimate() const OVERRIDE;
virtual gfx::ImageSkia GetFaviconForTabIconView() OVERRIDE;
- protected:
- // views::View:
- virtual void ChildPreferredSizeChanged(views::View* child) OVERRIDE;
-
private:
FRIEND_TEST_ALL_PREFIXES(BrowserNonClientFrameViewAshTest, WindowHeader);
FRIEND_TEST_ALL_PREFIXES(BrowserNonClientFrameViewAshTest,
diff --git a/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash_browsertest.cc b/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash_browsertest.cc
index 44be0d7..2dfa8fc 100644
--- a/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash_browsertest.cc
+++ b/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash_browsertest.cc
@@ -24,34 +24,7 @@
using views::Widget;
-namespace {
-
-class BrowserNonClientFrameViewAshTest : public InProcessBrowserTest {
- public:
- BrowserNonClientFrameViewAshTest() {}
- virtual ~BrowserNonClientFrameViewAshTest() {}
-
- // InProcessBrowserTest:
- virtual void SetUp() OVERRIDE;
- virtual void TearDown() OVERRIDE;
-
- private:
- scoped_ptr<ui::ScopedAnimationDurationScaleMode> zero_duration_mode_;
- DISALLOW_COPY_AND_ASSIGN(BrowserNonClientFrameViewAshTest);
-};
-
-void BrowserNonClientFrameViewAshTest::SetUp() {
- zero_duration_mode_.reset(new ui::ScopedAnimationDurationScaleMode(
- ui::ScopedAnimationDurationScaleMode::ZERO_DURATION));
- InProcessBrowserTest::SetUp();
-}
-
-void BrowserNonClientFrameViewAshTest::TearDown() {
- zero_duration_mode_.reset();
- InProcessBrowserTest::TearDown();
-}
-
-} // namespace
+typedef InProcessBrowserTest BrowserNonClientFrameViewAshTest;
IN_PROC_BROWSER_TEST_F(BrowserNonClientFrameViewAshTest, NonClientHitTest) {
BrowserView* browser_view = BrowserView::GetBrowserViewForBrowser(browser());