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 "base/command_line.h" | 5 #include "base/command_line.h" |
6 #include "base/logging.h" | 6 #include "base/logging.h" |
7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
8 #include "content/browser/frame_host/cross_site_transferring_request.h" | 8 #include "content/browser/frame_host/cross_site_transferring_request.h" |
9 #include "content/browser/frame_host/interstitial_page_impl.h" | 9 #include "content/browser/frame_host/interstitial_page_impl.h" |
10 #include "content/browser/frame_host/navigation_entry_impl.h" | 10 #include "content/browser/frame_host/navigation_entry_impl.h" |
(...skipping 1407 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1418 | 1418 |
1419 contents()->SetDelegate(NULL); | 1419 contents()->SetDelegate(NULL); |
1420 } | 1420 } |
1421 | 1421 |
1422 TEST_F(WebContentsImplTest, TerminateHidesValidationMessage) { | 1422 TEST_F(WebContentsImplTest, TerminateHidesValidationMessage) { |
1423 FakeValidationMessageDelegate fake_delegate; | 1423 FakeValidationMessageDelegate fake_delegate; |
1424 contents()->SetDelegate(&fake_delegate); | 1424 contents()->SetDelegate(&fake_delegate); |
1425 EXPECT_FALSE(fake_delegate.hide_validation_message_was_called()); | 1425 EXPECT_FALSE(fake_delegate.hide_validation_message_was_called()); |
1426 | 1426 |
1427 // Crash the renderer. | 1427 // Crash the renderer. |
1428 contents()->GetMainFrame()->GetRenderViewHost()->OnMessageReceived( | 1428 contents()->GetMainFrame()->OnMessageReceived( |
1429 ViewHostMsg_RenderProcessGone( | 1429 FrameHostMsg_RenderProcessGone( |
1430 0, base::TERMINATION_STATUS_PROCESS_CRASHED, -1)); | 1430 0, base::TERMINATION_STATUS_PROCESS_CRASHED, -1)); |
1431 | 1431 |
1432 // Confirm HideValidationMessage was called. | 1432 // Confirm HideValidationMessage was called. |
1433 EXPECT_TRUE(fake_delegate.hide_validation_message_was_called()); | 1433 EXPECT_TRUE(fake_delegate.hide_validation_message_was_called()); |
1434 | 1434 |
1435 contents()->SetDelegate(NULL); | 1435 contents()->SetDelegate(NULL); |
1436 } | 1436 } |
1437 | 1437 |
1438 // Tests that fullscreen is exited throughout the object hierarchy on a renderer | 1438 // Tests that fullscreen is exited throughout the object hierarchy on a renderer |
1439 // crash. | 1439 // crash. |
(...skipping 12 matching lines...) Expand all Loading... |
1452 EXPECT_FALSE(test_rvh()->IsFullscreen()); | 1452 EXPECT_FALSE(test_rvh()->IsFullscreen()); |
1453 EXPECT_FALSE(contents()->IsFullscreenForCurrentTab()); | 1453 EXPECT_FALSE(contents()->IsFullscreenForCurrentTab()); |
1454 EXPECT_FALSE(fake_delegate.IsFullscreenForTabOrPending(contents())); | 1454 EXPECT_FALSE(fake_delegate.IsFullscreenForTabOrPending(contents())); |
1455 contents()->GetMainFrame()->OnMessageReceived(FrameHostMsg_ToggleFullscreen( | 1455 contents()->GetMainFrame()->OnMessageReceived(FrameHostMsg_ToggleFullscreen( |
1456 contents()->GetMainFrame()->GetRoutingID(), true)); | 1456 contents()->GetMainFrame()->GetRoutingID(), true)); |
1457 EXPECT_TRUE(test_rvh()->IsFullscreen()); | 1457 EXPECT_TRUE(test_rvh()->IsFullscreen()); |
1458 EXPECT_TRUE(contents()->IsFullscreenForCurrentTab()); | 1458 EXPECT_TRUE(contents()->IsFullscreenForCurrentTab()); |
1459 EXPECT_TRUE(fake_delegate.IsFullscreenForTabOrPending(contents())); | 1459 EXPECT_TRUE(fake_delegate.IsFullscreenForTabOrPending(contents())); |
1460 | 1460 |
1461 // Crash the renderer. | 1461 // Crash the renderer. |
1462 test_rvh()->OnMessageReceived( | 1462 main_rfh()->OnMessageReceived( |
1463 ViewHostMsg_RenderProcessGone( | 1463 FrameHostMsg_RenderProcessGone( |
1464 0, base::TERMINATION_STATUS_PROCESS_CRASHED, -1)); | 1464 0, base::TERMINATION_STATUS_PROCESS_CRASHED, -1)); |
1465 | 1465 |
1466 // Confirm fullscreen has exited. | 1466 // Confirm fullscreen has exited. |
1467 EXPECT_FALSE(test_rvh()->IsFullscreen()); | 1467 EXPECT_FALSE(test_rvh()->IsFullscreen()); |
1468 EXPECT_FALSE(contents()->IsFullscreenForCurrentTab()); | 1468 EXPECT_FALSE(contents()->IsFullscreenForCurrentTab()); |
1469 EXPECT_FALSE(fake_delegate.IsFullscreenForTabOrPending(contents())); | 1469 EXPECT_FALSE(fake_delegate.IsFullscreenForTabOrPending(contents())); |
1470 | 1470 |
1471 contents()->SetDelegate(NULL); | 1471 contents()->SetDelegate(NULL); |
1472 } | 1472 } |
1473 | 1473 |
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1858 bool deleted = false; | 1858 bool deleted = false; |
1859 GURL interstitial_url("http://interstitial"); | 1859 GURL interstitial_url("http://interstitial"); |
1860 TestInterstitialPage* interstitial = | 1860 TestInterstitialPage* interstitial = |
1861 new TestInterstitialPage(contents(), true, interstitial_url, | 1861 new TestInterstitialPage(contents(), true, interstitial_url, |
1862 &state, &deleted); | 1862 &state, &deleted); |
1863 TestInterstitialPageStateGuard state_guard(interstitial); | 1863 TestInterstitialPageStateGuard state_guard(interstitial); |
1864 interstitial->Show(); | 1864 interstitial->Show(); |
1865 interstitial->TestDidNavigate(2, interstitial_url); | 1865 interstitial->TestDidNavigate(2, interstitial_url); |
1866 | 1866 |
1867 // Crash the renderer | 1867 // Crash the renderer |
1868 test_rvh()->OnMessageReceived( | 1868 main_rfh()->OnMessageReceived( |
1869 ViewHostMsg_RenderProcessGone( | 1869 FrameHostMsg_RenderProcessGone( |
1870 0, base::TERMINATION_STATUS_PROCESS_CRASHED, -1)); | 1870 0, base::TERMINATION_STATUS_PROCESS_CRASHED, -1)); |
1871 | 1871 |
1872 // While the interstitial is showing, go back. | 1872 // While the interstitial is showing, go back. |
1873 controller().GoBack(); | 1873 controller().GoBack(); |
1874 contents()->GetMainFrame()->SendNavigate(1, url1); | 1874 contents()->GetMainFrame()->SendNavigate(1, url1); |
1875 | 1875 |
1876 // Make sure we are back to the original page and that the interstitial is | 1876 // Make sure we are back to the original page and that the interstitial is |
1877 // gone. | 1877 // gone. |
1878 EXPECT_EQ(TestInterstitialPage::CANCELED, state); | 1878 EXPECT_EQ(TestInterstitialPage::CANCELED, state); |
1879 NavigationEntry* entry = controller().GetVisibleEntry(); | 1879 NavigationEntry* entry = controller().GetVisibleEntry(); |
(...skipping 17 matching lines...) Expand all Loading... |
1897 TestInterstitialPage::INVALID; | 1897 TestInterstitialPage::INVALID; |
1898 bool deleted = false; | 1898 bool deleted = false; |
1899 GURL interstitial_url("http://interstitial"); | 1899 GURL interstitial_url("http://interstitial"); |
1900 TestInterstitialPage* interstitial = | 1900 TestInterstitialPage* interstitial = |
1901 new TestInterstitialPage(contents(), true, interstitial_url, | 1901 new TestInterstitialPage(contents(), true, interstitial_url, |
1902 &state, &deleted); | 1902 &state, &deleted); |
1903 TestInterstitialPageStateGuard state_guard(interstitial); | 1903 TestInterstitialPageStateGuard state_guard(interstitial); |
1904 interstitial->Show(); | 1904 interstitial->Show(); |
1905 | 1905 |
1906 // Crash the renderer | 1906 // Crash the renderer |
1907 test_rvh()->OnMessageReceived( | 1907 main_rfh()->OnMessageReceived( |
1908 ViewHostMsg_RenderProcessGone( | 1908 FrameHostMsg_RenderProcessGone( |
1909 0, base::TERMINATION_STATUS_PROCESS_CRASHED, -1)); | 1909 0, base::TERMINATION_STATUS_PROCESS_CRASHED, -1)); |
1910 | 1910 |
1911 interstitial->TestDidNavigate(2, interstitial_url); | 1911 interstitial->TestDidNavigate(2, interstitial_url); |
1912 } | 1912 } |
1913 | 1913 |
1914 // Test navigating to a page that shows an interstitial, then close the | 1914 // Test navigating to a page that shows an interstitial, then close the |
1915 // contents. | 1915 // contents. |
1916 TEST_F(WebContentsImplTest, ShowInterstitialThenCloseTab) { | 1916 TEST_F(WebContentsImplTest, ShowInterstitialThenCloseTab) { |
1917 // Show interstitial. | 1917 // Show interstitial. |
1918 TestInterstitialPage::InterstitialState state = | 1918 TestInterstitialPage::InterstitialState state = |
(...skipping 30 matching lines...) Expand all Loading... |
1949 RenderViewHostImpl* rvh = static_cast<RenderViewHostImpl*>( | 1949 RenderViewHostImpl* rvh = static_cast<RenderViewHostImpl*>( |
1950 interstitial->GetMainFrame()->GetRenderViewHost()); | 1950 interstitial->GetMainFrame()->GetRenderViewHost()); |
1951 | 1951 |
1952 // Now close the contents. | 1952 // Now close the contents. |
1953 DeleteContents(); | 1953 DeleteContents(); |
1954 EXPECT_EQ(TestInterstitialPage::CANCELED, state); | 1954 EXPECT_EQ(TestInterstitialPage::CANCELED, state); |
1955 | 1955 |
1956 // Before the interstitial has a chance to process its shutdown task, | 1956 // Before the interstitial has a chance to process its shutdown task, |
1957 // simulate quitting the browser. This goes through all processes and | 1957 // simulate quitting the browser. This goes through all processes and |
1958 // tells them to destruct. | 1958 // tells them to destruct. |
1959 rvh->OnMessageReceived( | 1959 rvh->GetMainFrame()->OnMessageReceived( |
1960 ViewHostMsg_RenderProcessGone(0, 0, 0)); | 1960 FrameHostMsg_RenderProcessGone(0, 0, 0)); |
1961 | 1961 |
1962 RunAllPendingInMessageLoop(); | 1962 RunAllPendingInMessageLoop(); |
1963 EXPECT_TRUE(deleted); | 1963 EXPECT_TRUE(deleted); |
1964 } | 1964 } |
1965 | 1965 |
1966 // Test that after Proceed is called and an interstitial is still shown, no more | 1966 // Test that after Proceed is called and an interstitial is still shown, no more |
1967 // commands get executed. | 1967 // commands get executed. |
1968 TEST_F(WebContentsImplTest, ShowInterstitialProceedMultipleCommands) { | 1968 TEST_F(WebContentsImplTest, ShowInterstitialProceedMultipleCommands) { |
1969 // Navigate to a page so we have a navigation entry in the controller. | 1969 // Navigate to a page so we have a navigation entry in the controller. |
1970 GURL url1("http://www.google.com"); | 1970 GURL url1("http://www.google.com"); |
(...skipping 1052 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3023 | 3023 |
3024 // Destroy the remote player. No power save blockers should remain. | 3024 // Destroy the remote player. No power save blockers should remain. |
3025 rfh->OnMessageReceived( | 3025 rfh->OnMessageReceived( |
3026 FrameHostMsg_MediaPausedNotification(0, kPlayerRemoteId)); | 3026 FrameHostMsg_MediaPausedNotification(0, kPlayerRemoteId)); |
3027 EXPECT_FALSE(contents()->has_video_power_save_blocker_for_testing()); | 3027 EXPECT_FALSE(contents()->has_video_power_save_blocker_for_testing()); |
3028 EXPECT_FALSE(contents()->has_audio_power_save_blocker_for_testing()); | 3028 EXPECT_FALSE(contents()->has_audio_power_save_blocker_for_testing()); |
3029 } | 3029 } |
3030 #endif | 3030 #endif |
3031 | 3031 |
3032 } // namespace content | 3032 } // namespace content |
OLD | NEW |