Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(548)

Side by Side Diff: content/browser/web_contents/web_contents_impl_unittest.cc

Issue 18339006: Rename RenderViewGone IPC/methods to better reflect reality (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixes for reviews by creis@ and palmer@. Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/logging.h" 5 #include "base/logging.h"
6 #include "base/strings/utf_string_conversions.h" 6 #include "base/strings/utf_string_conversions.h"
7 #include "content/browser/renderer_host/render_view_host_impl.h" 7 #include "content/browser/renderer_host/render_view_host_impl.h"
8 #include "content/browser/renderer_host/test_render_view_host.h" 8 #include "content/browser/renderer_host/test_render_view_host.h"
9 #include "content/browser/site_instance_impl.h" 9 #include "content/browser/site_instance_impl.h"
10 #include "content/browser/web_contents/frame_tree_node.h" 10 #include "content/browser/web_contents/frame_tree_node.h"
(...skipping 1557 matching lines...) Expand 10 before | Expand all | Expand 10 after
1568 GURL interstitial_url("http://interstitial"); 1568 GURL interstitial_url("http://interstitial");
1569 TestInterstitialPage* interstitial = 1569 TestInterstitialPage* interstitial =
1570 new TestInterstitialPage(contents(), true, interstitial_url, 1570 new TestInterstitialPage(contents(), true, interstitial_url,
1571 &state, &deleted); 1571 &state, &deleted);
1572 TestInterstitialPageStateGuard state_guard(interstitial); 1572 TestInterstitialPageStateGuard state_guard(interstitial);
1573 interstitial->Show(); 1573 interstitial->Show();
1574 interstitial->TestDidNavigate(2, interstitial_url); 1574 interstitial->TestDidNavigate(2, interstitial_url);
1575 1575
1576 // Crash the renderer 1576 // Crash the renderer
1577 test_rvh()->OnMessageReceived( 1577 test_rvh()->OnMessageReceived(
1578 ViewHostMsg_RenderViewGone( 1578 ViewHostMsg_RenderProcessGone(
1579 0, base::TERMINATION_STATUS_PROCESS_CRASHED, -1)); 1579 0, base::TERMINATION_STATUS_PROCESS_CRASHED, -1));
1580 1580
1581 // While the interstitial is showing, go back. 1581 // While the interstitial is showing, go back.
1582 controller().GoBack(); 1582 controller().GoBack();
1583 test_rvh()->SendNavigate(1, url1); 1583 test_rvh()->SendNavigate(1, url1);
1584 1584
1585 // Make sure we are back to the original page and that the interstitial is 1585 // Make sure we are back to the original page and that the interstitial is
1586 // gone. 1586 // gone.
1587 EXPECT_EQ(TestInterstitialPage::CANCELED, state); 1587 EXPECT_EQ(TestInterstitialPage::CANCELED, state);
1588 NavigationEntry* entry = controller().GetActiveEntry(); 1588 NavigationEntry* entry = controller().GetActiveEntry();
(...skipping 18 matching lines...) Expand all
1607 bool deleted = false; 1607 bool deleted = false;
1608 GURL interstitial_url("http://interstitial"); 1608 GURL interstitial_url("http://interstitial");
1609 TestInterstitialPage* interstitial = 1609 TestInterstitialPage* interstitial =
1610 new TestInterstitialPage(contents(), true, interstitial_url, 1610 new TestInterstitialPage(contents(), true, interstitial_url,
1611 &state, &deleted); 1611 &state, &deleted);
1612 TestInterstitialPageStateGuard state_guard(interstitial); 1612 TestInterstitialPageStateGuard state_guard(interstitial);
1613 interstitial->Show(); 1613 interstitial->Show();
1614 1614
1615 // Crash the renderer 1615 // Crash the renderer
1616 test_rvh()->OnMessageReceived( 1616 test_rvh()->OnMessageReceived(
1617 ViewHostMsg_RenderViewGone( 1617 ViewHostMsg_RenderProcessGone(
1618 0, base::TERMINATION_STATUS_PROCESS_CRASHED, -1)); 1618 0, base::TERMINATION_STATUS_PROCESS_CRASHED, -1));
1619 1619
1620 interstitial->TestDidNavigate(2, interstitial_url); 1620 interstitial->TestDidNavigate(2, interstitial_url);
1621 } 1621 }
1622 1622
1623 // Test navigating to a page that shows an interstitial, then close the 1623 // Test navigating to a page that shows an interstitial, then close the
1624 // contents. 1624 // contents.
1625 TEST_F(WebContentsImplTest, ShowInterstitialThenCloseTab) { 1625 TEST_F(WebContentsImplTest, ShowInterstitialThenCloseTab) {
1626 // Show interstitial. 1626 // Show interstitial.
1627 TestInterstitialPage::InterstitialState state = 1627 TestInterstitialPage::InterstitialState state =
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1659 interstitial->GetRenderViewHostForTesting()); 1659 interstitial->GetRenderViewHostForTesting());
1660 1660
1661 // Now close the contents. 1661 // Now close the contents.
1662 DeleteContents(); 1662 DeleteContents();
1663 EXPECT_EQ(TestInterstitialPage::CANCELED, state); 1663 EXPECT_EQ(TestInterstitialPage::CANCELED, state);
1664 1664
1665 // Before the interstitial has a chance to process its shutdown task, 1665 // Before the interstitial has a chance to process its shutdown task,
1666 // simulate quitting the browser. This goes through all processes and 1666 // simulate quitting the browser. This goes through all processes and
1667 // tells them to destruct. 1667 // tells them to destruct.
1668 rvh->OnMessageReceived( 1668 rvh->OnMessageReceived(
1669 ViewHostMsg_RenderViewGone(0, 0, 0)); 1669 ViewHostMsg_RenderProcessGone(0, 0, 0));
1670 1670
1671 RunAllPendingInMessageLoop(); 1671 RunAllPendingInMessageLoop();
1672 EXPECT_TRUE(deleted); 1672 EXPECT_TRUE(deleted);
1673 } 1673 }
1674 1674
1675 // Test that after Proceed is called and an interstitial is still shown, no more 1675 // Test that after Proceed is called and an interstitial is still shown, no more
1676 // commands get executed. 1676 // commands get executed.
1677 TEST_F(WebContentsImplTest, ShowInterstitialProceedMultipleCommands) { 1677 TEST_F(WebContentsImplTest, ShowInterstitialProceedMultipleCommands) {
1678 // Navigate to a page so we have a navigation entry in the controller. 1678 // Navigate to a page so we have a navigation entry in the controller.
1679 GURL url1("http://www.google.com"); 1679 GURL url1("http://www.google.com");
(...skipping 519 matching lines...) Expand 10 before | Expand all | Expand 10 after
2199 EXPECT_EQ(0UL, deep_tree->child_at(0)->child_at(0)->child_count()); 2199 EXPECT_EQ(0UL, deep_tree->child_at(0)->child_at(0)->child_count());
2200 2200
2201 contents()->OnFrameDetached(16, 265); 2201 contents()->OnFrameDetached(16, 265);
2202 EXPECT_EQ(4UL, root->child_at(2)->child_count()); 2202 EXPECT_EQ(4UL, root->child_at(2)->child_count());
2203 2203
2204 contents()->OnFrameDetached(5, 15); 2204 contents()->OnFrameDetached(5, 15);
2205 EXPECT_EQ(2UL, root->child_count()); 2205 EXPECT_EQ(2UL, root->child_count());
2206 } 2206 }
2207 2207
2208 } // namespace content 2208 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/web_contents/web_contents_impl.cc ('k') | content/common/swapped_out_messages.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698