diff options
author | stevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-15 01:18:27 +0000 |
---|---|---|
committer | stevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-15 01:18:27 +0000 |
commit | f718874ca469cb5d6df742dc6ed50dbae25333f4 (patch) | |
tree | 9c7bf8ba7b8a5455950ce494385284fce7c6a48a /ash/system | |
parent | 64b03a235be1f8c7685bfdf9b2131c913b4b6a0c (diff) | |
download | chromium_src-f718874ca469cb5d6df742dc6ed50dbae25333f4.zip chromium_src-f718874ca469cb5d6df742dc6ed50dbae25333f4.tar.gz chromium_src-f718874ca469cb5d6df742dc6ed50dbae25333f4.tar.bz2 |
Propagate PreferredSizeChanged to StatusAreaWidget
Yay sadrul for writing a good test that caught an error in my code.
Bad me for running aura_unittests instead of aura_shell_unittests (and not running a try job!)
The problem was that ChildPreferredSizeChanged does not propagate PreferredSizeChanged upwards by default. SystemTray and WebNotificationTray are between the tray items and StatusAreaWidgetDelegate so we need to override ChildPreferredSizeChanged in the shared base class TrayBackgroundView.
Test failure: http://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Tests%20%281%29/builds/6040/steps/aura_shell_unittests/logs/TrayWidgetAutoResizes
BUG=none
TEST=aura_shell_unittests pass
TBR=sadrul
Review URL: https://chromiumcodereview.appspot.com/10539176
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142306 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/system')
-rw-r--r-- | ash/system/tray/system_tray.cc | 2 | ||||
-rw-r--r-- | ash/system/tray/tray_background_view.cc | 4 | ||||
-rw-r--r-- | ash/system/tray/tray_background_view.h | 1 |
3 files changed, 6 insertions, 1 deletions
diff --git a/ash/system/tray/system_tray.cc b/ash/system/tray/system_tray.cc index ca436c7..36693f3 100644 --- a/ash/system/tray/system_tray.cc +++ b/ash/system/tray/system_tray.cc @@ -66,7 +66,7 @@ class SystemTrayContainer : public views::View { private: // Overridden from views::View. - virtual void ChildPreferredSizeChanged(views::View* child) { + virtual void ChildPreferredSizeChanged(views::View* child) OVERRIDE { PreferredSizeChanged(); } diff --git a/ash/system/tray/tray_background_view.cc b/ash/system/tray/tray_background_view.cc index 22a5d0c..66c72f2 100644 --- a/ash/system/tray/tray_background_view.cc +++ b/ash/system/tray/tray_background_view.cc @@ -84,6 +84,10 @@ void TrayBackgroundView::OnMouseExited(const views::MouseEvent& event) { internal::BackgroundAnimator::CHANGE_ANIMATE); } +void TrayBackgroundView::ChildPreferredSizeChanged(views::View* child) { + PreferredSizeChanged(); +} + bool TrayBackgroundView::PerformAction(const views::Event& event) { return false; } diff --git a/ash/system/tray/tray_background_view.h b/ash/system/tray/tray_background_view.h index 3e6e6d2..df6a91a 100644 --- a/ash/system/tray/tray_background_view.h +++ b/ash/system/tray/tray_background_view.h @@ -30,6 +30,7 @@ class ASH_EXPORT TrayBackgroundView : public internal::ActionableView, // Overridden from views::View. virtual void OnMouseEntered(const views::MouseEvent& event) OVERRIDE; virtual void OnMouseExited(const views::MouseEvent& event) OVERRIDE; + virtual void ChildPreferredSizeChanged(views::View* child) OVERRIDE; // Overridden from internal::ActionableView. virtual bool PerformAction(const views::Event& event) OVERRIDE; |