Chromium Code Reviews| Index: chrome/browser/ui/cocoa/apps/native_app_window_cocoa_browsertest.mm |
| diff --git a/chrome/browser/ui/cocoa/apps/native_app_window_cocoa_browsertest.mm b/chrome/browser/ui/cocoa/apps/native_app_window_cocoa_browsertest.mm |
| index 3278955d0734f1ed0397680baefd6eef1ba9b8f2..a7a42c15f8702e9f69ee5e03ee4a591a2be6a49e 100644 |
| --- a/chrome/browser/ui/cocoa/apps/native_app_window_cocoa_browsertest.mm |
| +++ b/chrome/browser/ui/cocoa/apps/native_app_window_cocoa_browsertest.mm |
| @@ -20,6 +20,7 @@ |
| #include "extensions/browser/app_window/app_window_registry.h" |
| #include "extensions/common/constants.h" |
| +using extensions::AppWindow; |
| using extensions::PlatformAppBrowserTest; |
| namespace { |
| @@ -58,11 +59,11 @@ IN_PROC_BROWSER_TEST_F(NativeAppWindowCocoaBrowserTest, HideShowWithApp) { |
| extensions::AppWindowRegistry::AppWindowList windows = |
| extensions::AppWindowRegistry::Get(profile())->app_windows(); |
| - extensions::AppWindow* app_window = windows.front(); |
| + AppWindow* app_window = windows.front(); |
| extensions::NativeAppWindow* native_window = app_window->GetBaseWindow(); |
| NSWindow* ns_window = native_window->GetNativeWindow(); |
| - extensions::AppWindow* other_app_window = windows.back(); |
| + AppWindow* other_app_window = windows.back(); |
| extensions::NativeAppWindow* other_native_window = |
| other_app_window->GetBaseWindow(); |
| NSWindow* other_ns_window = other_native_window->GetNativeWindow(); |
| @@ -70,7 +71,7 @@ IN_PROC_BROWSER_TEST_F(NativeAppWindowCocoaBrowserTest, HideShowWithApp) { |
| // Normal Hide/Show. |
| app_window->Hide(); |
| EXPECT_FALSE([ns_window isVisible]); |
| - app_window->Show(extensions::AppWindow::SHOW_ACTIVE); |
| + app_window->Show(AppWindow::SHOW_ACTIVE); |
| EXPECT_TRUE([ns_window isVisible]); |
| // Normal Hide/ShowWithApp. |
| @@ -91,7 +92,7 @@ IN_PROC_BROWSER_TEST_F(NativeAppWindowCocoaBrowserTest, HideShowWithApp) { |
| EXPECT_FALSE([ns_window isVisible]); |
| // Return to shown state. |
| - app_window->Show(extensions::AppWindow::SHOW_ACTIVE); |
| + app_window->Show(AppWindow::SHOW_ACTIVE); |
| EXPECT_TRUE([ns_window isVisible]); |
| // HideWithApp the other window. |
| @@ -102,7 +103,7 @@ IN_PROC_BROWSER_TEST_F(NativeAppWindowCocoaBrowserTest, HideShowWithApp) { |
| // HideWithApp, Show shows all windows for this app. |
| native_window->HideWithApp(); |
| EXPECT_FALSE([ns_window isVisible]); |
| - app_window->Show(extensions::AppWindow::SHOW_ACTIVE); |
| + app_window->Show(AppWindow::SHOW_ACTIVE); |
| EXPECT_TRUE([ns_window isVisible]); |
| EXPECT_TRUE([other_ns_window isVisible]); |
| @@ -161,12 +162,12 @@ IN_PROC_BROWSER_TEST_F(NativeAppWindowCocoaBrowserTest, Fullscreen) { |
| return; |
| SetUpAppWithWindows(1); |
| - extensions::AppWindow* app_window = GetFirstAppWindow(); |
| + AppWindow* app_window = GetFirstAppWindow(); |
| extensions::NativeAppWindow* window = app_window->GetBaseWindow(); |
| NSWindow* ns_window = app_window->GetNativeWindow(); |
| base::scoped_nsobject<ScopedNotificationWatcher> watcher; |
| - EXPECT_EQ(extensions::AppWindow::FULLSCREEN_TYPE_NONE, |
| + EXPECT_EQ(AppWindow::FULLSCREEN_TYPE_NONE, |
| app_window->fullscreen_types_for_test()); |
| EXPECT_FALSE(window->IsFullscreen()); |
| EXPECT_FALSE([ns_window styleMask] & NSFullScreenWindowMask); |
| @@ -177,7 +178,7 @@ IN_PROC_BROWSER_TEST_F(NativeAppWindowCocoaBrowserTest, Fullscreen) { |
| [ns_window toggleFullScreen:nil]; |
| [watcher waitForNotification]; |
| EXPECT_TRUE(app_window->fullscreen_types_for_test() & |
| - extensions::AppWindow::FULLSCREEN_TYPE_OS); |
| + AppWindow::FULLSCREEN_TYPE_OS); |
| EXPECT_TRUE(window->IsFullscreen()); |
| EXPECT_TRUE([ns_window styleMask] & NSFullScreenWindowMask); |
| @@ -187,7 +188,7 @@ IN_PROC_BROWSER_TEST_F(NativeAppWindowCocoaBrowserTest, Fullscreen) { |
| app_window->Restore(); |
| EXPECT_FALSE(window->IsFullscreenOrPending()); |
| [watcher waitForNotification]; |
| - EXPECT_EQ(extensions::AppWindow::FULLSCREEN_TYPE_NONE, |
| + EXPECT_EQ(AppWindow::FULLSCREEN_TYPE_NONE, |
| app_window->fullscreen_types_for_test()); |
| EXPECT_FALSE(window->IsFullscreen()); |
| EXPECT_FALSE([ns_window styleMask] & NSFullScreenWindowMask); |
| @@ -199,7 +200,7 @@ IN_PROC_BROWSER_TEST_F(NativeAppWindowCocoaBrowserTest, Fullscreen) { |
| EXPECT_TRUE(window->IsFullscreenOrPending()); |
| [watcher waitForNotification]; |
| EXPECT_TRUE(app_window->fullscreen_types_for_test() & |
| - extensions::AppWindow::FULLSCREEN_TYPE_WINDOW_API); |
| + AppWindow::FULLSCREEN_TYPE_WINDOW_API); |
| EXPECT_TRUE(window->IsFullscreen()); |
| EXPECT_TRUE([ns_window styleMask] & NSFullScreenWindowMask); |
| @@ -208,7 +209,7 @@ IN_PROC_BROWSER_TEST_F(NativeAppWindowCocoaBrowserTest, Fullscreen) { |
| andObject:ns_window]); |
| [ns_window toggleFullScreen:nil]; |
| [watcher waitForNotification]; |
| - EXPECT_EQ(extensions::AppWindow::FULLSCREEN_TYPE_NONE, |
| + EXPECT_EQ(AppWindow::FULLSCREEN_TYPE_NONE, |
| app_window->fullscreen_types_for_test()); |
| EXPECT_FALSE(window->IsFullscreen()); |
| EXPECT_FALSE([ns_window styleMask] & NSFullScreenWindowMask); |
| @@ -217,8 +218,7 @@ IN_PROC_BROWSER_TEST_F(NativeAppWindowCocoaBrowserTest, Fullscreen) { |
| // Test that, in frameless windows, the web contents has the same size as the |
| // window. |
| IN_PROC_BROWSER_TEST_F(NativeAppWindowCocoaBrowserTest, Frameless) { |
| - extensions::AppWindow* app_window = |
| - CreateTestAppWindow("{\"frame\": \"none\"}"); |
| + AppWindow* app_window = CreateTestAppWindow("{\"frame\": \"none\"}"); |
| NSWindow* ns_window = app_window->GetNativeWindow(); |
| NSView* web_contents = app_window->web_contents()->GetNativeView(); |
| EXPECT_TRUE(NSEqualSizes(NSMakeSize(512, 384), [web_contents frame].size)); |
| @@ -244,7 +244,7 @@ IN_PROC_BROWSER_TEST_F(NativeAppWindowCocoaBrowserTest, Frameless) { |
| namespace { |
| // Test that resize and fullscreen controls are correctly enabled/disabled. |
| -void TestControls(extensions::AppWindow* app_window) { |
| +void TestControls(AppWindow* app_window) { |
| NSWindow* ns_window = app_window->GetNativeWindow(); |
| // The window is resizable. |
| @@ -293,6 +293,18 @@ void TestControls(extensions::AppWindow* app_window) { |
| EXPECT_FALSE([ns_window styleMask] & NSResizableWindowMask); |
| if (base::mac::IsOSSnowLeopard()) |
| EXPECT_FALSE([ns_window showsResizeIndicator]); |
| + |
| + // If a window is made fullscreen by the API, fullscreen should be enabled so |
| + // the user can exit fullscreen. |
| + if (base::mac::IsOSLionOrLater()) { |
| + app_window->SetFullscreen(AppWindow::FULLSCREEN_TYPE_WINDOW_API, true); |
| + EXPECT_TRUE([ns_window collectionBehavior] & |
| + NSWindowCollectionBehaviorFullScreenPrimary); |
| + // Once it leaves fullscreen, it is disabled again. |
| + app_window->SetFullscreen(AppWindow::FULLSCREEN_TYPE_WINDOW_API, false); |
| + EXPECT_FALSE([ns_window collectionBehavior] & |
|
jackhou1
2015/04/24 07:03:01
This line fails. Probably need to wait for the ani
tapted
2015/05/06 06:20:41
bridged_native_widget_interactive_uitest.mm has so
jackhou1
2015/05/13 04:27:53
Done.
|
| + NSWindowCollectionBehaviorFullScreenPrimary); |
| + } |
| } |
| } // namespace |