| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "build/build_config.h" | 5 #include "build/build_config.h" |
| 6 #include "chrome/browser/content_settings/host_content_settings_map_factory.h" | 6 #include "chrome/browser/content_settings/host_content_settings_map_factory.h" |
| 7 #include "chrome/browser/fullscreen.h" | 7 #include "chrome/browser/fullscreen.h" |
| 8 #include "chrome/browser/profiles/profile.h" | 8 #include "chrome/browser/profiles/profile.h" |
| 9 #include "chrome/browser/ui/browser.h" | 9 #include "chrome/browser/ui/browser.h" |
| 10 #include "chrome/browser/ui/browser_commands.h" | 10 #include "chrome/browser/ui/browser_commands.h" |
| 11 #include "chrome/browser/ui/browser_window.h" | 11 #include "chrome/browser/ui/browser_window.h" |
| 12 #include "chrome/browser/ui/exclusive_access/exclusive_access_context.h" |
| 12 #include "chrome/browser/ui/exclusive_access/fullscreen_controller_test.h" | 13 #include "chrome/browser/ui/exclusive_access/fullscreen_controller_test.h" |
| 13 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 14 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
| 14 #include "chrome/test/base/interactive_test_utils.h" | 15 #include "chrome/test/base/interactive_test_utils.h" |
| 15 #include "chrome/test/base/ui_test_utils.h" | 16 #include "chrome/test/base/ui_test_utils.h" |
| 16 #include "components/content_settings/core/browser/host_content_settings_map.h" | 17 #include "components/content_settings/core/browser/host_content_settings_map.h" |
| 17 #include "content/public/browser/render_view_host.h" | 18 #include "content/public/browser/render_view_host.h" |
| 18 #include "content/public/browser/render_widget_host.h" | 19 #include "content/public/browser/render_widget_host.h" |
| 19 #include "content/public/browser/render_widget_host_view.h" | 20 #include "content/public/browser/render_widget_host_view.h" |
| 20 #include "content/public/browser/web_contents.h" | 21 #include "content/public/browser/web_contents.h" |
| 21 #include "content/public/common/url_constants.h" | 22 #include "content/public/common/url_constants.h" |
| (...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 366 | 367 |
| 367 #if defined(OS_MACOSX) | 368 #if defined(OS_MACOSX) |
| 368 // http://crbug.com/100467 | 369 // http://crbug.com/100467 |
| 369 IN_PROC_BROWSER_TEST_F( | 370 IN_PROC_BROWSER_TEST_F( |
| 370 FullscreenControllerTest, DISABLED_TabEntersPresentationModeFromWindowed) { | 371 FullscreenControllerTest, DISABLED_TabEntersPresentationModeFromWindowed) { |
| 371 ASSERT_TRUE(embedded_test_server()->Start()); | 372 ASSERT_TRUE(embedded_test_server()->Start()); |
| 372 | 373 |
| 373 AddTabAtIndex(0, GURL(url::kAboutBlankURL), PAGE_TRANSITION_TYPED); | 374 AddTabAtIndex(0, GURL(url::kAboutBlankURL), PAGE_TRANSITION_TYPED); |
| 374 | 375 |
| 375 WebContents* tab = browser()->tab_strip_model()->GetActiveWebContents(); | 376 WebContents* tab = browser()->tab_strip_model()->GetActiveWebContents(); |
| 377 ExclusiveAccessContext* context = |
| 378 browser()->window()->GetExclusiveAccessContext(); |
| 376 | 379 |
| 377 { | 380 { |
| 378 FullscreenNotificationObserver fullscreen_observer; | 381 FullscreenNotificationObserver fullscreen_observer; |
| 379 EXPECT_FALSE(browser()->window()->IsFullscreen()); | 382 EXPECT_FALSE(browser()->window()->IsFullscreen()); |
| 380 EXPECT_FALSE(browser()->window()->IsFullscreenWithToolbar()); | 383 EXPECT_FALSE(context->IsFullscreenWithToolbar()); |
| 381 browser()->EnterFullscreenModeForTab(tab, GURL()); | 384 browser()->EnterFullscreenModeForTab(tab, GURL()); |
| 382 fullscreen_observer.Wait(); | 385 fullscreen_observer.Wait(); |
| 383 EXPECT_TRUE(browser()->window()->IsFullscreen()); | 386 EXPECT_TRUE(browser()->window()->IsFullscreen()); |
| 384 EXPECT_FALSE(browser()->window()->IsFullscreenWithToolbar()); | 387 EXPECT_FALSE(context->IsFullscreenWithToolbar()); |
| 385 } | 388 } |
| 386 | 389 |
| 387 { | 390 { |
| 388 FullscreenNotificationObserver fullscreen_observer; | 391 FullscreenNotificationObserver fullscreen_observer; |
| 389 chrome::ToggleFullscreenMode(browser()); | 392 chrome::ToggleFullscreenMode(browser()); |
| 390 fullscreen_observer.Wait(); | 393 fullscreen_observer.Wait(); |
| 391 EXPECT_FALSE(browser()->window()->IsFullscreen()); | 394 EXPECT_FALSE(browser()->window()->IsFullscreen()); |
| 392 EXPECT_FALSE(browser()->window()->IsFullscreenWithToolbar()); | 395 EXPECT_FALSE(context->IsFullscreenWithToolbar()); |
| 393 } | 396 } |
| 394 | 397 |
| 395 if (chrome::mac::SupportsSystemFullscreen()) { | 398 if (chrome::mac::SupportsSystemFullscreen()) { |
| 396 // Test that tab fullscreen mode doesn't make presentation mode the default | 399 // Test that tab fullscreen mode doesn't make presentation mode the default |
| 397 // on Lion. | 400 // on Lion. |
| 398 FullscreenNotificationObserver fullscreen_observer; | 401 FullscreenNotificationObserver fullscreen_observer; |
| 399 chrome::ToggleFullscreenMode(browser()); | 402 chrome::ToggleFullscreenMode(browser()); |
| 400 fullscreen_observer.Wait(); | 403 fullscreen_observer.Wait(); |
| 401 EXPECT_TRUE(browser()->window()->IsFullscreen()); | 404 EXPECT_TRUE(browser()->window()->IsFullscreen()); |
| 402 EXPECT_TRUE(browser()->window()->IsFullscreenWithToolbar()); | 405 EXPECT_TRUE(context->IsFullscreenWithToolbar()); |
| 403 } | 406 } |
| 404 } | 407 } |
| 405 #endif | 408 #endif |
| 406 | 409 |
| 407 // Tests mouse lock can be escaped with ESC key. | 410 // Tests mouse lock can be escaped with ESC key. |
| 408 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest, EscapingMouseLock) { | 411 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest, EscapingMouseLock) { |
| 409 ASSERT_TRUE(embedded_test_server()->Start()); | 412 ASSERT_TRUE(embedded_test_server()->Start()); |
| 410 ui_test_utils::NavigateToURL( | 413 ui_test_utils::NavigateToURL( |
| 411 browser(), embedded_test_server()->GetURL(kFullscreenMouseLockHTML)); | 414 browser(), embedded_test_server()->GetURL(kFullscreenMouseLockHTML)); |
| 412 | 415 |
| (...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 820 | 823 |
| 821 ASSERT_TRUE(IsMouseLocked()); | 824 ASSERT_TRUE(IsMouseLocked()); |
| 822 | 825 |
| 823 GoBack(); | 826 GoBack(); |
| 824 | 827 |
| 825 ASSERT_FALSE(IsMouseLocked()); | 828 ASSERT_FALSE(IsMouseLocked()); |
| 826 } | 829 } |
| 827 | 830 |
| 828 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) && defined(USE_AURA) | 831 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) && defined(USE_AURA) |
| 829 // TODO(erg): linux_aura bringup: http://crbug.com/163931 | 832 // TODO(erg): linux_aura bringup: http://crbug.com/163931 |
| 830 #define MAYBE_TestTabDoesntExitMouseLockOnSubFrameNavigation DISABLED_TestTabDoe
sntExitMouseLockOnSubFrameNavigation | 833 #define MAYBE_TestTabDoesntExitMouseLockOnSubFrameNavigation \ |
| 834 DISABLED_TestTabDoesntExitMouseLockOnSubFrameNavigation |
| 831 #else | 835 #else |
| 832 #define MAYBE_TestTabDoesntExitMouseLockOnSubFrameNavigation TestTabDoesntExitMo
useLockOnSubFrameNavigation | 836 #define MAYBE_TestTabDoesntExitMouseLockOnSubFrameNavigation \ |
| 837 TestTabDoesntExitMouseLockOnSubFrameNavigation |
| 833 #endif | 838 #endif |
| 834 | 839 |
| 835 // Tests mouse lock is not exited on sub frame navigation. | 840 // Tests mouse lock is not exited on sub frame navigation. |
| 836 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest, | 841 IN_PROC_BROWSER_TEST_F(FullscreenControllerInteractiveTest, |
| 837 MAYBE_TestTabDoesntExitMouseLockOnSubFrameNavigation) { | 842 MAYBE_TestTabDoesntExitMouseLockOnSubFrameNavigation) { |
| 838 ASSERT_TRUE(embedded_test_server()->Start()); | 843 ASSERT_TRUE(embedded_test_server()->Start()); |
| 839 | 844 |
| 840 // Create URLs for test page and test page with #fragment. | 845 // Create URLs for test page and test page with #fragment. |
| 841 GURL url(embedded_test_server()->GetURL(kFullscreenMouseLockHTML)); | 846 GURL url(embedded_test_server()->GetURL(kFullscreenMouseLockHTML)); |
| 842 GURL url_with_fragment(url.spec() + "#fragment"); | 847 GURL url_with_fragment(url.spec() + "#fragment"); |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 951 | 956 |
| 952 GURL url = embedded_test_server()->GetURL("/simple.html"); | 957 GURL url = embedded_test_server()->GetURL("/simple.html"); |
| 953 AddTabAtIndex(0, url, PAGE_TRANSITION_TYPED); | 958 AddTabAtIndex(0, url, PAGE_TRANSITION_TYPED); |
| 954 | 959 |
| 955 // Validate that going fullscreen for a URL defaults to asking permision. | 960 // Validate that going fullscreen for a URL defaults to asking permision. |
| 956 ASSERT_FALSE(IsFullscreenPermissionRequested()); | 961 ASSERT_FALSE(IsFullscreenPermissionRequested()); |
| 957 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreenNoRetries(true)); | 962 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreenNoRetries(true)); |
| 958 ASSERT_TRUE(IsFullscreenPermissionRequested()); | 963 ASSERT_TRUE(IsFullscreenPermissionRequested()); |
| 959 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreenNoRetries(false)); | 964 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreenNoRetries(false)); |
| 960 } | 965 } |
| OLD | NEW |