Chromium Code Reviews| Index: ui/views/widget/widget_unittest.cc |
| diff --git a/ui/views/widget/widget_unittest.cc b/ui/views/widget/widget_unittest.cc |
| index ba0c03b23426f86e8c5482f8e6e94be993c0691c..ad29a3afe0441cf404dc0dad24865468fecfd0b2 100644 |
| --- a/ui/views/widget/widget_unittest.cc |
| +++ b/ui/views/widget/widget_unittest.cc |
| @@ -41,6 +41,7 @@ |
| #if defined(OS_MACOSX) |
| #include "base/mac/mac_util.h" |
| +#include "ui/base/test/scoped_fake_nswindow_fullscreen.h" |
| #endif |
| namespace views { |
| @@ -1281,47 +1282,60 @@ TEST_F(WidgetTest, GetWindowBoundsInScreen) { |
| widget->CloseNow(); |
| } |
| -// Before being enabled on Mac, this was #ifdef(false). |
| -// TODO(tapted): Fix this for DesktopNativeWidgets on other platforms. |
| -#if defined(OS_MACOSX) |
| -// Aura needs shell to maximize/fullscreen window. |
| -// NativeWidgetGtk doesn't implement GetRestoredBounds. |
| +// Non-Desktop widgets need the shell to maximize/fullscreen window. |
| +// Disable on Linux because windows restore to the wrong bounds. |
| +// See http://crbug.com/515369. |
| +#if !defined(OS_CHROMEOS) && !defined(OS_LINUX) |
|
tapted
2015/07/30 06:50:18
I think we can do the MAYBE_GetRestoredbounds thin
jackhou1
2015/07/30 07:25:03
Done.
|
| TEST_F(WidgetTest, GetRestoredBounds) { |
| - Widget* toplevel = CreateTopLevelPlatformWidget(); |
| - EXPECT_EQ(toplevel->GetWindowBoundsInScreen().ToString(), |
| - toplevel->GetRestoredBounds().ToString()); |
| +#if defined(OS_MACOSX) |
| + ui::test::ScopedFakeNSWindowFullscreen fake_fullscreen; |
|
tapted
2015/07/30 06:50:18
nit: comment here like
// Fullscreen on Mac requi
jackhou1
2015/07/30 07:25:03
Done.
|
| +#endif |
| + |
| + Widget* toplevel = CreateNativeDesktopWidget(); |
| toplevel->Show(); |
| + // Initial restored bounds have non-zero size. |
| + EXPECT_GT(toplevel->GetRestoredBounds().width(), 0); |
|
tapted
2015/07/30 06:50:18
nit: EXPECT_FALSE(toplevel->GetRestoredBounds().Is
jackhou1
2015/07/30 07:25:04
Done.
|
| + EXPECT_GT(toplevel->GetRestoredBounds().height(), 0); |
| + |
| + gfx::Rect bounds(100, 100, 200, 200); |
|
tapted
2015/07/30 06:50:18
nit: const?
jackhou1
2015/07/30 07:25:04
Done.
|
| + toplevel->SetBounds(bounds); |
| + EXPECT_EQ(bounds, toplevel->GetWindowBoundsInScreen()); |
| + EXPECT_EQ(bounds, toplevel->GetRestoredBounds()); |
| + |
| toplevel->Maximize(); |
| RunPendingMessages(); |
| #if defined(OS_MACOSX) |
| // Current expectation on Mac is to do nothing on Maximize. |
| - EXPECT_EQ(toplevel->GetWindowBoundsInScreen().ToString(), |
| - toplevel->GetRestoredBounds().ToString()); |
| + EXPECT_EQ(toplevel->GetWindowBoundsInScreen(), toplevel->GetRestoredBounds()); |
| #else |
| - EXPECT_NE(toplevel->GetWindowBoundsInScreen().ToString(), |
| - toplevel->GetRestoredBounds().ToString()); |
| + EXPECT_NE(toplevel->GetWindowBoundsInScreen(), toplevel->GetRestoredBounds()); |
| #endif |
| - EXPECT_GT(toplevel->GetRestoredBounds().width(), 0); |
| - EXPECT_GT(toplevel->GetRestoredBounds().height(), 0); |
| + EXPECT_EQ(bounds, toplevel->GetRestoredBounds()); |
| toplevel->Restore(); |
| RunPendingMessages(); |
| - EXPECT_EQ(toplevel->GetWindowBoundsInScreen().ToString(), |
| - toplevel->GetRestoredBounds().ToString()); |
| + EXPECT_EQ(bounds, toplevel->GetWindowBoundsInScreen()); |
| + EXPECT_EQ(bounds, toplevel->GetRestoredBounds()); |
| toplevel->SetFullscreen(true); |
| RunPendingMessages(); |
| if (IsTestingSnowLeopard()) { |
| // Fullscreen not implemented for Snow Leopard. |
| - EXPECT_EQ(toplevel->GetWindowBoundsInScreen().ToString(), |
| - toplevel->GetRestoredBounds().ToString()); |
| + EXPECT_EQ(toplevel->GetWindowBoundsInScreen(), |
| + toplevel->GetRestoredBounds()); |
| } else { |
| - EXPECT_NE(toplevel->GetWindowBoundsInScreen().ToString(), |
| - toplevel->GetRestoredBounds().ToString()); |
| + EXPECT_NE(toplevel->GetWindowBoundsInScreen(), |
| + toplevel->GetRestoredBounds()); |
| } |
| - EXPECT_GT(toplevel->GetRestoredBounds().width(), 0); |
| - EXPECT_GT(toplevel->GetRestoredBounds().height(), 0); |
| + EXPECT_EQ(bounds, toplevel->GetRestoredBounds()); |
| + |
| + toplevel->SetFullscreen(false); |
| + RunPendingMessages(); |
| + EXPECT_EQ(bounds, toplevel->GetWindowBoundsInScreen()); |
| + EXPECT_EQ(bounds, toplevel->GetRestoredBounds()); |
| + |
| + toplevel->CloseNow(); |
| } |
| #endif |