| Index: content/browser/web_contents/web_contents_impl_unittest.cc
|
| diff --git a/content/browser/web_contents/web_contents_impl_unittest.cc b/content/browser/web_contents/web_contents_impl_unittest.cc
|
| index 22efe5dd64c30f189ed4edacd529590753fc98ee..309a91c31820ca14b1e4ab873b6347ddeefaf1a2 100644
|
| --- a/content/browser/web_contents/web_contents_impl_unittest.cc
|
| +++ b/content/browser/web_contents/web_contents_impl_unittest.cc
|
| @@ -459,6 +459,8 @@ TEST_F(WebContentsImplTest, NavigateToExcessivelyLongURL) {
|
| // Test that navigating across a site boundary creates a new RenderViewHost
|
| // with a new SiteInstance. Going back should do the same.
|
| TEST_F(WebContentsImplTest, CrossSiteBoundaries) {
|
| + bool is_site_per_process = base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kSitePerProcess);
|
| TestRenderFrameHost* orig_rfh = contents()->GetMainFrame();
|
| int orig_rvh_delete_count = 0;
|
| orig_rfh->GetRenderViewHost()->set_delete_counter(&orig_rvh_delete_count);
|
| @@ -523,9 +525,9 @@ TEST_F(WebContentsImplTest, CrossSiteBoundaries) {
|
| EXPECT_EQ(url2, contents()->GetVisibleURL());
|
| EXPECT_NE(instance1, instance2);
|
| EXPECT_EQ(nullptr, contents()->GetPendingMainFrame());
|
| - // We keep the original RFH around, swapped out.
|
| - EXPECT_TRUE(contents()->GetRenderManagerForTesting()->IsOnSwappedOutList(
|
| - orig_rfh));
|
| + // We keep a proxy for the original RFH's SiteInstance.
|
| + EXPECT_TRUE(contents()->GetRenderManagerForTesting()->GetRenderFrameProxyHost(
|
| + orig_rfh->GetSiteInstance()));
|
| EXPECT_EQ(orig_rvh_delete_count, 0);
|
|
|
| // Going back should switch SiteInstances again. The first SiteInstance is
|
| @@ -538,7 +540,8 @@ TEST_F(WebContentsImplTest, CrossSiteBoundaries) {
|
| contents()->GetMainFrame()->PrepareForCommit();
|
| }
|
| TestRenderFrameHost* goback_rfh = contents()->GetPendingMainFrame();
|
| - EXPECT_EQ(orig_rfh, goback_rfh);
|
| + if (!is_site_per_process)
|
| + EXPECT_EQ(orig_rfh, goback_rfh);
|
| EXPECT_TRUE(contents()->CrossProcessNavigationPending());
|
|
|
| // Navigations should be suspended in goback_rfh until BeforeUnloadACK.
|
| @@ -555,9 +558,9 @@ TEST_F(WebContentsImplTest, CrossSiteBoundaries) {
|
| EXPECT_FALSE(contents()->CrossProcessNavigationPending());
|
| EXPECT_EQ(goback_rfh, contents()->GetMainFrame());
|
| EXPECT_EQ(instance1, contents()->GetSiteInstance());
|
| - // The pending RFH should now be swapped out, not deleted.
|
| + // There should be a proxy for the pending RFH SiteInstance.
|
| EXPECT_TRUE(contents()->GetRenderManagerForTesting()->
|
| - IsOnSwappedOutList(pending_rfh));
|
| + GetRenderFrameProxyHost(pending_rfh->GetSiteInstance()));
|
| EXPECT_EQ(pending_rvh_delete_count, 0);
|
| pending_rfh->OnSwappedOut();
|
|
|
| @@ -776,9 +779,9 @@ TEST_F(WebContentsImplTest, NavigateFromSitelessUrl) {
|
| EXPECT_EQ(url2, contents()->GetVisibleURL());
|
| EXPECT_NE(new_instance, orig_instance);
|
| EXPECT_FALSE(contents()->GetPendingMainFrame());
|
| - // We keep the original RFH around, swapped out.
|
| - EXPECT_TRUE(contents()->GetRenderManagerForTesting()->IsOnSwappedOutList(
|
| - orig_rfh));
|
| + // We keep a proxy for the original RFH's SiteInstance.
|
| + EXPECT_TRUE(contents()->GetRenderManagerForTesting()->GetRenderFrameProxyHost(
|
| + orig_rfh->GetSiteInstance()));
|
| EXPECT_EQ(orig_rvh_delete_count, 0);
|
| orig_rfh->OnSwappedOut();
|
|
|
|
|