| Index: ui/views/widget/widget_unittest.cc
|
| diff --git a/ui/views/widget/widget_unittest.cc b/ui/views/widget/widget_unittest.cc
|
| index 374435f6b038fa0de5b389f73b05e601a26e2f45..ccc3b64af07f42679783be7bb1031d0c867be130 100644
|
| --- a/ui/views/widget/widget_unittest.cc
|
| +++ b/ui/views/widget/widget_unittest.cc
|
| @@ -869,6 +869,36 @@ TEST_F(WidgetObserverTest, WidgetBoundsChanged) {
|
| EXPECT_EQ(child2, widget_bounds_changed());
|
| }
|
|
|
| +// An extension to WidgetBoundsChanged to ensure notificaitons are forwarded
|
| +// by the NativeWidget implementation.
|
| +TEST_F(WidgetObserverTest, WidgetBoundsChangedNative) {
|
| + // Don't use NewWidget(), so that the Init() flow can be observed to ensure
|
| + // consistency across platforms.
|
| + Widget* widget = new Widget(); // Note: owned by NativeWidget.
|
| + widget->AddObserver(this);
|
| +
|
| + EXPECT_FALSE(widget_bounds_changed());
|
| + widget->Init(Widget::InitParams());
|
| +
|
| + EXPECT_TRUE(widget_bounds_changed());
|
| + reset();
|
| +
|
| + widget->SetSize(gfx::Size(160, 100));
|
| + EXPECT_TRUE(widget_bounds_changed());
|
| + reset();
|
| +
|
| + widget->Show();
|
| + EXPECT_TRUE(widget_bounds_changed());
|
| + reset();
|
| +
|
| + widget->SetSize(gfx::Size(170, 100));
|
| + EXPECT_TRUE(widget_bounds_changed());
|
| + reset();
|
| +
|
| + widget->CloseNow();
|
| + EXPECT_FALSE(widget_bounds_changed());
|
| +}
|
| +
|
| // Tests that SetBounds() and GetWindowBoundsInScreen() is symmetric when the
|
| // widget is visible and not maximized or fullscreen.
|
| TEST_F(WidgetTest, GetWindowBoundsInScreen) {
|
|
|