Index: ui/views/widget/widget_unittest.cc |
diff --git a/ui/views/widget/widget_unittest.cc b/ui/views/widget/widget_unittest.cc |
index 4a1689afbc85855310dd99946f3ed388e189a925..69fa113f4931855fed7853f85bfb74fd51e9f1ec 100644 |
--- a/ui/views/widget/widget_unittest.cc |
+++ b/ui/views/widget/widget_unittest.cc |
@@ -725,7 +725,9 @@ class WidgetObserverTest : public WidgetTest, |
widget_closed_(NULL), |
widget_activated_(NULL), |
widget_shown_(NULL), |
- widget_hidden_(NULL) { |
+ widget_hidden_(NULL), |
+ widget_moved_(NULL), |
+ widget_size_changed_(NULL) { |
} |
virtual ~WidgetObserverTest() {} |
@@ -759,6 +761,15 @@ class WidgetObserverTest : public WidgetTest, |
widget_hidden_ = widget; |
} |
+ virtual void OnWidgetMoved(Widget* widget) OVERRIDE { |
+ widget_moved_ = widget; |
+ } |
+ |
+ virtual void OnWidgetSizeChanged(Widget* widget, |
+ const gfx::Size& size) OVERRIDE { |
+ widget_size_changed_ = widget; |
+ } |
+ |
void reset() { |
active_ = NULL; |
widget_closed_ = NULL; |
@@ -766,6 +777,8 @@ class WidgetObserverTest : public WidgetTest, |
widget_deactivated_ = NULL; |
widget_shown_ = NULL; |
widget_hidden_ = NULL; |
+ widget_moved_ = NULL; |
+ widget_size_changed_ = NULL; |
} |
Widget* NewWidget() { |
@@ -780,6 +793,8 @@ class WidgetObserverTest : public WidgetTest, |
const Widget* widget_deactivated() const { return widget_deactivated_; } |
const Widget* widget_shown() const { return widget_shown_; } |
const Widget* widget_hidden() const { return widget_hidden_; } |
+ const Widget* widget_moved() const { return widget_moved_; } |
+ const Widget* widget_size_changed() const { return widget_size_changed_; } |
private: |
@@ -790,6 +805,8 @@ class WidgetObserverTest : public WidgetTest, |
Widget* widget_deactivated_; |
Widget* widget_shown_; |
Widget* widget_hidden_; |
+ Widget* widget_moved_; |
+ Widget* widget_size_changed_; |
}; |
TEST_F(WidgetObserverTest, DISABLED_ActivationChange) { |
@@ -860,6 +877,28 @@ TEST_F(WidgetObserverTest, DestroyBubble) { |
anchor->CloseNow(); |
} |
+TEST_F(WidgetObserverTest, WidgetMoved) { |
+ Widget* child1 = NewWidget(); |
+ Widget* child2 = NewWidget(); |
+ |
+ child1->OnNativeWidgetMove(); |
+ EXPECT_EQ(child1, widget_moved()); |
+ |
+ child2->OnNativeWidgetMove(); |
+ EXPECT_EQ(child2, widget_moved()); |
+} |
+ |
+TEST_F(WidgetObserverTest, WidgetSizeChanged) { |
+ Widget* child1 = NewWidget(); |
+ Widget* child2 = NewWidget(); |
+ |
+ child1->OnNativeWidgetSizeChanged(gfx::Size()); |
+ EXPECT_EQ(child1, widget_size_changed()); |
+ |
+ child2->OnNativeWidgetSizeChanged(gfx::Size()); |
+ EXPECT_EQ(child2, widget_size_changed()); |
+} |
+ |
#if !defined(USE_AURA) && defined(OS_WIN) |
// Aura needs shell to maximize/fullscreen window. |
// NativeWidgetGtk doesn't implement GetRestoredBounds. |