| Index: content/browser/frame_host/render_frame_host_manager_unittest.cc | 
| diff --git a/content/browser/frame_host/render_frame_host_manager_unittest.cc b/content/browser/frame_host/render_frame_host_manager_unittest.cc | 
| index f66c758dd559079e6e51fbad48c0e71ca0a62e72..fdbef1fd52d850d69e64c4e75b1bdd73c606c2af 100644 | 
| --- a/content/browser/frame_host/render_frame_host_manager_unittest.cc | 
| +++ b/content/browser/frame_host/render_frame_host_manager_unittest.cc | 
| @@ -360,32 +360,19 @@ class RenderFrameHostManagerTest : public RenderViewHostImplTestHarness { | 
| active_rfh->SendNavigate(max_page_id + 1, entry_id, true, url); | 
|  | 
| // Make sure that we start to run the unload handler at the time of commit. | 
| -    bool expecting_rfh_shutdown = false; | 
| if (old_rfh != active_rfh && !rfh_observer.deleted()) { | 
| EXPECT_EQ(RenderFrameHostImpl::STATE_PENDING_SWAP_OUT, | 
| old_rfh->rfh_state()); | 
| -      if (!old_rfh->GetSiteInstance()->active_frame_count() || | 
| -          SiteIsolationPolicy::IsSwappedOutStateForbidden()) { | 
| -        expecting_rfh_shutdown = true; | 
| -        EXPECT_TRUE( | 
| +      EXPECT_TRUE( | 
| old_rfh->frame_tree_node()->render_manager()->IsPendingDeletion( | 
| old_rfh)); | 
| -      } | 
| } | 
|  | 
| // Simulate the swap out ACK coming from the pending renderer.  This should | 
| // either shut down the old RFH or leave it in a swapped out state. | 
| if (old_rfh != active_rfh) { | 
| old_rfh->OnSwappedOut(); | 
| -      if (expecting_rfh_shutdown) { | 
| -        EXPECT_TRUE(rfh_observer.deleted()); | 
| -        if (!SiteIsolationPolicy::IsSwappedOutStateForbidden()) { | 
| -          EXPECT_TRUE(rvh_observer.deleted()); | 
| -        } | 
| -      } else { | 
| -        EXPECT_EQ(RenderFrameHostImpl::STATE_SWAPPED_OUT, | 
| -                  old_rfh->rfh_state()); | 
| -      } | 
| +      EXPECT_TRUE(rfh_observer.deleted()); | 
| } | 
| EXPECT_EQ(active_rfh, contents()->GetMainFrame()); | 
| EXPECT_EQ(NULL, contents()->GetPendingMainFrame()); | 
| @@ -411,8 +398,8 @@ class RenderFrameHostManagerTest : public RenderViewHostImplTestHarness { | 
| new_entry->IsViewSourceMode()); | 
| } | 
|  | 
| -  // Creates a test RenderFrameHost that's swapped out. | 
| -  TestRenderFrameHost* CreateSwappedOutRenderFrameHost() { | 
| +  // Creates a test RenderViewHost that's swapped out. | 
| +  void CreateSwappedOutRenderViewHost() { | 
| const GURL kChromeURL("chrome://foo"); | 
| const GURL kDestUrl("http://www.google.com/"); | 
|  | 
| @@ -441,9 +428,6 @@ class RenderFrameHostManagerTest : public RenderViewHostImplTestHarness { | 
|  | 
| dest_rfh->SendNavigate(101, entry_id, true, kDestUrl); | 
| ntp_rfh->OnSwappedOut(); | 
| - | 
| -    EXPECT_TRUE(ntp_rfh->is_swapped_out()); | 
| -    return ntp_rfh; | 
| } | 
|  | 
| // Returns the RenderFrameHost that should be used in the navigation to | 
| @@ -643,48 +627,6 @@ TEST_F(RenderFrameHostManagerTest, FilterMessagesWhileSwappedOut) { | 
| dest_rfh->GetRenderViewHost()->GetRoutingID(), icons))); | 
| EXPECT_FALSE(observer.favicon_received()); | 
| } | 
| - | 
| -  // In --site-per-process, the RenderFrameHost is deleted on cross-process | 
| -  // navigation, so the rest of the test case doesn't apply. | 
| -  if (SiteIsolationPolicy::IsSwappedOutStateForbidden()) { | 
| -    return; | 
| -  } | 
| - | 
| -#if defined(ENABLE_PLUGINS) | 
| -  // The same logic should apply to RenderFrameHosts as well and routing through | 
| -  // swapped out RFH shouldn't be allowed. Use a PluginCrashObserver to check | 
| -  // if the IPC message is allowed through or not. | 
| -  { | 
| -    PluginFaviconMessageObserver observer(contents()); | 
| -    EXPECT_TRUE(ntp_rfh->OnMessageReceived( | 
| -                    FrameHostMsg_PluginCrashed( | 
| -                        ntp_rfh->GetRoutingID(), base::FilePath(), 0))); | 
| -    EXPECT_FALSE(observer.plugin_crashed()); | 
| -  } | 
| -#endif | 
| - | 
| -  // We cannot filter out synchronous IPC messages, because the renderer would | 
| -  // be left waiting for a reply.  We pick RunBeforeUnloadConfirm as an example | 
| -  // that can run easily within a unit test, and that needs to receive a reply | 
| -  // without showing an actual dialog. | 
| -  MockRenderProcessHost* ntp_process_host = ntp_rfh->GetProcess(); | 
| -  ntp_process_host->sink().ClearMessages(); | 
| -  bool result = false; | 
| -  base::string16 unused; | 
| -  FrameHostMsg_RunBeforeUnloadConfirm before_unload_msg( | 
| -      ntp_rfh->GetRoutingID(), kChromeURL, false, &result, &unused); | 
| -  EXPECT_TRUE(ntp_rfh->OnMessageReceived(before_unload_msg)); | 
| -  EXPECT_TRUE(ntp_process_host->sink().GetUniqueMessageMatching(IPC_REPLY_ID)); | 
| - | 
| -  // Also test RunJavaScriptMessage. | 
| -  ntp_process_host->sink().ClearMessages(); | 
| -  const base::string16 msg = base::ASCIIToUTF16("Message"); | 
| -  FrameHostMsg_RunJavaScriptMessage js_msg( | 
| -      ntp_rfh->GetRoutingID(), msg, msg, kChromeURL, | 
| -      JAVASCRIPT_MESSAGE_TYPE_CONFIRM, &result, &unused); | 
| -  js_msg.EnableMessagePumping(); | 
| -  EXPECT_TRUE(ntp_rfh->OnMessageReceived(js_msg)); | 
| -  EXPECT_TRUE(ntp_process_host->sink().GetUniqueMessageMatching(IPC_REPLY_ID)); | 
| } | 
|  | 
| // Test that the ViewHostMsg_UpdateFaviconURL IPC message is ignored if the | 
| @@ -744,95 +686,13 @@ TEST_F(RenderFrameHostManagerTest, UpdateFaviconURLWhilePendingSwapOut) { | 
| } | 
| } | 
|  | 
| -// Ensure that frames aren't added to the frame tree, if the message is coming | 
| -// from a process different than the parent frame's current RenderFrameHost | 
| -// process. Otherwise it is possible to have collisions of routing ids, as they | 
| -// are scoped per process. See https://crbug.com/415059. | 
| -TEST_F(RenderFrameHostManagerTest, DropCreateChildFrameWhileSwappedOut) { | 
| -  const GURL kUrl1("http://foo.com"); | 
| -  const GURL kUrl2("http://www.google.com/"); | 
| - | 
| -  // This test is invalid in --site-per-process mode, as swapped-out is no | 
| -  // longer used. | 
| -  if (SiteIsolationPolicy::IsSwappedOutStateForbidden()) { | 
| -    return; | 
| -  } | 
| - | 
| -  // Navigate to the first site. | 
| -  NavigateActiveAndCommit(kUrl1); | 
| -  TestRenderFrameHost* initial_rfh = contents()->GetMainFrame(); | 
| -  { | 
| -    RenderFrameHostCreatedObserver observer(contents()); | 
| -    initial_rfh->OnCreateChildFrame( | 
| -        initial_rfh->GetProcess()->GetNextRoutingID(), | 
| -        blink::WebTreeScopeType::Document, std::string(), "uniqueName1", | 
| -        blink::WebSandboxFlags::None, blink::WebFrameOwnerProperties()); | 
| -    EXPECT_TRUE(observer.created()); | 
| -  } | 
| - | 
| -  // Create one more frame in the same SiteInstance where initial_rfh | 
| -  // exists so that initial_rfh doesn't get deleted on navigation to another | 
| -  // site. | 
| -  initial_rfh->GetSiteInstance()->IncrementActiveFrameCount(); | 
| - | 
| -  // Navigate to a cross-site URL. | 
| -  NavigateActiveAndCommit(kUrl2); | 
| -  EXPECT_TRUE(initial_rfh->is_swapped_out()); | 
| - | 
| -  TestRenderFrameHost* dest_rfh = contents()->GetMainFrame(); | 
| -  ASSERT_TRUE(dest_rfh); | 
| -  EXPECT_NE(initial_rfh, dest_rfh); | 
| - | 
| -  { | 
| -    // Since the old RFH is now swapped out, it shouldn't process any messages | 
| -    // to create child frames. | 
| -    RenderFrameHostCreatedObserver observer(contents()); | 
| -    initial_rfh->OnCreateChildFrame( | 
| -        initial_rfh->GetProcess()->GetNextRoutingID(), | 
| -        blink::WebTreeScopeType::Document, std::string(), "uniqueName2", | 
| -        blink::WebSandboxFlags::None, blink::WebFrameOwnerProperties()); | 
| -    EXPECT_FALSE(observer.created()); | 
| -  } | 
| -} | 
| - | 
| -TEST_F(RenderFrameHostManagerTest, WhiteListSwapCompositorFrame) { | 
| -  // TODO(nasko): Check with kenrb whether this test can be rewritten and | 
| -  // whether it makes sense when swapped out is replaced with proxies. | 
| -  if (SiteIsolationPolicy::IsSwappedOutStateForbidden()) { | 
| -    return; | 
| -  } | 
| -  TestRenderFrameHost* swapped_out_rfh = CreateSwappedOutRenderFrameHost(); | 
| -  TestRenderWidgetHostView* swapped_out_rwhv = | 
| -      static_cast<TestRenderWidgetHostView*>( | 
| -          swapped_out_rfh->GetRenderViewHost()->GetWidget()->GetView()); | 
| -  EXPECT_FALSE(swapped_out_rwhv->did_swap_compositor_frame()); | 
| - | 
| -  MockRenderProcessHost* process_host = swapped_out_rfh->GetProcess(); | 
| -  process_host->sink().ClearMessages(); | 
| - | 
| -  cc::CompositorFrame frame; | 
| -  ViewHostMsg_SwapCompositorFrame msg( | 
| -      rvh()->GetRoutingID(), 0, frame, std::vector<IPC::Message>()); | 
| - | 
| -  EXPECT_TRUE( | 
| -      swapped_out_rfh->render_view_host()->GetWidget()->OnMessageReceived(msg)); | 
| -  EXPECT_TRUE(swapped_out_rwhv->did_swap_compositor_frame()); | 
| -} | 
| - | 
| // Test if RenderViewHost::GetRenderWidgetHosts() only returns active | 
| // widgets. | 
| TEST_F(RenderFrameHostManagerTest, GetRenderWidgetHostsReturnsActiveViews) { | 
| -  // This test is invalid in --site-per-process mode, as swapped-out is no | 
| -  // longer used. | 
| -  if (SiteIsolationPolicy::IsSwappedOutStateForbidden()) { | 
| -    return; | 
| -  } | 
| - | 
| -  TestRenderFrameHost* swapped_out_rfh = CreateSwappedOutRenderFrameHost(); | 
| -  EXPECT_TRUE(swapped_out_rfh->is_swapped_out()); | 
| - | 
| +  CreateSwappedOutRenderViewHost(); | 
| scoped_ptr<RenderWidgetHostIterator> widgets( | 
| RenderWidgetHost::GetRenderWidgetHosts()); | 
| + | 
| // We know that there is the only one active widget. Another view is | 
| // now swapped out, so the swapped out view is not included in the | 
| // list. | 
| @@ -849,15 +709,7 @@ TEST_F(RenderFrameHostManagerTest, GetRenderWidgetHostsReturnsActiveViews) { | 
| // including swapped out ones. | 
| TEST_F(RenderFrameHostManagerTest, | 
| GetRenderWidgetHostsWithinGetAllRenderWidgetHosts) { | 
| -  // This test is invalid in --site-per-process mode, as swapped-out is no | 
| -  // longer used. | 
| -  if (SiteIsolationPolicy::IsSwappedOutStateForbidden()) { | 
| -    return; | 
| -  } | 
| - | 
| -  TestRenderFrameHost* swapped_out_rfh = CreateSwappedOutRenderFrameHost(); | 
| -  EXPECT_TRUE(swapped_out_rfh->is_swapped_out()); | 
| - | 
| +  CreateSwappedOutRenderViewHost(); | 
| scoped_ptr<RenderWidgetHostIterator> widgets( | 
| RenderWidgetHost::GetRenderWidgetHosts()); | 
|  | 
| @@ -1443,13 +1295,6 @@ TEST_F(RenderFrameHostManagerTest, NavigateAfterMissingSwapOutACK) { | 
| contents()->GetPendingMainFrame()->SendNavigate( | 
| entry2->GetPageID(), entry2->GetUniqueID(), false, entry2->GetURL()); | 
| EXPECT_EQ(RenderFrameHostImpl::STATE_DEFAULT, main_test_rfh()->rfh_state()); | 
| -  if (!SiteIsolationPolicy::IsSwappedOutStateForbidden()) { | 
| -    EXPECT_EQ(rfh2, main_test_rfh()); | 
| -    EXPECT_EQ(RenderFrameHostImpl::STATE_PENDING_SWAP_OUT, rfh1->rfh_state()); | 
| -    rfh1->OnSwappedOut(); | 
| -    EXPECT_TRUE(rfh1->is_swapped_out()); | 
| -    EXPECT_EQ(RenderFrameHostImpl::STATE_SWAPPED_OUT, rfh1->rfh_state()); | 
| -  } | 
| } | 
|  | 
| // Test that we create swapped out RFHs for the opener chain when navigating an | 
| @@ -1491,17 +1336,8 @@ TEST_F(RenderFrameHostManagerTest, CreateSwappedOutOpenerRFHs) { | 
| EXPECT_TRUE(site_instance1->IsRelatedSiteInstance(rfh2->GetSiteInstance())); | 
|  | 
| // Ensure rvh1 is placed on swapped out list of the current tab. | 
| -  if (!SiteIsolationPolicy::IsSwappedOutStateForbidden()) { | 
| -    EXPECT_TRUE(manager->IsRVHOnSwappedOutList(rvh1)); | 
| -    EXPECT_FALSE(rfh1_deleted_observer.deleted()); | 
| -    EXPECT_TRUE(manager->IsOnSwappedOutList(rfh1)); | 
| -    EXPECT_EQ(rfh1, | 
| -              manager->GetRenderFrameProxyHost(site_instance1.get()) | 
| -                  ->render_frame_host()); | 
| -  } else { | 
| -    EXPECT_TRUE(rfh1_deleted_observer.deleted()); | 
| -    EXPECT_TRUE(manager->GetRenderFrameProxyHost(site_instance1.get())); | 
| -  } | 
| +  EXPECT_TRUE(rfh1_deleted_observer.deleted()); | 
| +  EXPECT_TRUE(manager->GetRenderFrameProxyHost(site_instance1.get())); | 
| EXPECT_EQ(rvh1, | 
| manager->GetSwappedOutRenderViewHost(rvh1->GetSiteInstance())); | 
|  | 
| @@ -1511,13 +1347,7 @@ TEST_F(RenderFrameHostManagerTest, CreateSwappedOutOpenerRFHs) { | 
| RenderFrameHostImpl* opener1_rfh = opener1_proxy->render_frame_host(); | 
| TestRenderViewHost* opener1_rvh = static_cast<TestRenderViewHost*>( | 
| opener1_manager->GetSwappedOutRenderViewHost(rvh2->GetSiteInstance())); | 
| -  if (!SiteIsolationPolicy::IsSwappedOutStateForbidden()) { | 
| -    EXPECT_TRUE(opener1_manager->IsOnSwappedOutList(opener1_rfh)); | 
| -    EXPECT_TRUE(opener1_manager->IsRVHOnSwappedOutList(opener1_rvh)); | 
| -    EXPECT_TRUE(opener1_rfh->is_swapped_out()); | 
| -  } else { | 
| -    EXPECT_FALSE(opener1_rfh); | 
| -  } | 
| +  EXPECT_FALSE(opener1_rfh); | 
| EXPECT_FALSE(opener1_rvh->is_active()); | 
|  | 
| // Ensure a swapped out RFH and RVH is created in the second opener tab. | 
| @@ -1526,13 +1356,7 @@ TEST_F(RenderFrameHostManagerTest, CreateSwappedOutOpenerRFHs) { | 
| RenderFrameHostImpl* opener2_rfh = opener2_proxy->render_frame_host(); | 
| TestRenderViewHost* opener2_rvh = static_cast<TestRenderViewHost*>( | 
| opener2_manager->GetSwappedOutRenderViewHost(rvh2->GetSiteInstance())); | 
| -  if (!SiteIsolationPolicy::IsSwappedOutStateForbidden()) { | 
| -    EXPECT_TRUE(opener2_manager->IsOnSwappedOutList(opener2_rfh)); | 
| -    EXPECT_TRUE(opener2_manager->IsRVHOnSwappedOutList(opener2_rvh)); | 
| -    EXPECT_TRUE(opener2_rfh->is_swapped_out()); | 
| -  } else { | 
| -    EXPECT_FALSE(opener2_rfh); | 
| -  } | 
| +  EXPECT_FALSE(opener2_rfh); | 
| EXPECT_FALSE(opener2_rvh->is_active()); | 
|  | 
| // Navigate to a cross-BrowsingInstance URL. | 
| @@ -1779,13 +1603,7 @@ TEST_F(RenderFrameHostManagerTest, EnableWebUIWithSwappedOutOpener) { | 
| RenderFrameHostImpl* opener1_rfh = opener1_proxy->render_frame_host(); | 
| TestRenderViewHost* opener1_rvh = static_cast<TestRenderViewHost*>( | 
| opener1_manager->GetSwappedOutRenderViewHost(rvh2->GetSiteInstance())); | 
| -  if (!SiteIsolationPolicy::IsSwappedOutStateForbidden()) { | 
| -    EXPECT_TRUE(opener1_manager->IsOnSwappedOutList(opener1_rfh)); | 
| -    EXPECT_TRUE(opener1_manager->IsRVHOnSwappedOutList(opener1_rvh)); | 
| -    EXPECT_TRUE(opener1_rfh->is_swapped_out()); | 
| -  } else { | 
| -    EXPECT_FALSE(opener1_rfh); | 
| -  } | 
| +  EXPECT_FALSE(opener1_rfh); | 
| EXPECT_FALSE(opener1_rvh->is_active()); | 
|  | 
| // Ensure the new RVH has WebUI bindings. | 
| @@ -2022,13 +1840,8 @@ TEST_F(RenderFrameHostManagerTest, SwapOutFrameAfterSwapOutACK) { | 
| // Simulate the swap out ack. | 
| rfh1->OnSwappedOut(); | 
|  | 
| -  // rfh1 should be swapped out or deleted in --site-per-process. | 
| -  if (!SiteIsolationPolicy::IsSwappedOutStateForbidden()) { | 
| -    EXPECT_FALSE(rfh_deleted_observer.deleted()); | 
| -    EXPECT_TRUE(rfh1->is_swapped_out()); | 
| -  } else { | 
| -    EXPECT_TRUE(rfh_deleted_observer.deleted()); | 
| -  } | 
| +  // rfh1 should be deleted. | 
| +  EXPECT_TRUE(rfh_deleted_observer.deleted()); | 
| } | 
|  | 
| // Test that the RenderViewHost is properly swapped out if a navigation in the | 
| @@ -2071,15 +1884,10 @@ TEST_F(RenderFrameHostManagerTest, | 
| // Simulate the swap out ack. | 
| rfh1->OnSwappedOut(); | 
|  | 
| -  // rfh1 should be swapped out. | 
| -  if (SiteIsolationPolicy::IsSwappedOutStateForbidden()) { | 
| -    EXPECT_TRUE(rfh_deleted_observer.deleted()); | 
| -    EXPECT_TRUE(contents()->GetFrameTree()->root()->render_manager() | 
| -                ->GetRenderFrameProxyHost(site_instance.get())); | 
| -  } else { | 
| -    EXPECT_FALSE(rfh_deleted_observer.deleted()); | 
| -    EXPECT_TRUE(rfh1->is_swapped_out()); | 
| -  } | 
| +  // rfh1 should be deleted. | 
| +  EXPECT_TRUE(rfh_deleted_observer.deleted()); | 
| +  EXPECT_TRUE(contents()->GetFrameTree()->root()->render_manager() | 
| +              ->GetRenderFrameProxyHost(site_instance.get())); | 
| } | 
|  | 
| // Test that a RenderFrameHost is properly deleted when a cross-site navigation | 
| @@ -2131,13 +1939,9 @@ TEST_F(RenderFrameHostManagerTest, | 
| FrameHostMsg_BeforeUnload_ACK(0, false, now, now)); | 
| EXPECT_FALSE(contents()->CrossProcessNavigationPending()); | 
|  | 
| -    if (SiteIsolationPolicy::IsSwappedOutStateForbidden()) { | 
| -      EXPECT_TRUE(rfh_deleted_observer.deleted()); | 
| -      EXPECT_TRUE(contents()->GetFrameTree()->root()->render_manager() | 
| -                  ->GetRenderFrameProxyHost(site_instance.get())); | 
| -    } else { | 
| -      EXPECT_FALSE(rfh_deleted_observer.deleted()); | 
| -    } | 
| +    EXPECT_TRUE(rfh_deleted_observer.deleted()); | 
| +    EXPECT_TRUE(contents()->GetFrameTree()->root()->render_manager() | 
| +                ->GetRenderFrameProxyHost(site_instance.get())); | 
| } | 
| } | 
|  | 
|  |