Chromium Code Reviews| Index: content/browser/frame_host/navigator_impl_unittest.cc |
| diff --git a/content/browser/frame_host/navigator_impl_unittest.cc b/content/browser/frame_host/navigator_impl_unittest.cc |
| index 8f1886f85f1ab9a7310fc5b095e50247156dfd4c..f6d7417c7dd6fe0b711ab9933ce4939da9179e5f 100644 |
| --- a/content/browser/frame_host/navigator_impl_unittest.cc |
| +++ b/content/browser/frame_host/navigator_impl_unittest.cc |
| @@ -272,7 +272,7 @@ TEST_F(NavigatorTestWithBrowserSideNavigation, |
| ASSERT_TRUE(request); |
| EXPECT_TRUE(request->browser_initiated()); |
| EXPECT_EQ(NavigationRequest::WAITING_FOR_RENDERER_RESPONSE, request->state()); |
| - EXPECT_FALSE(GetSpeculativeRenderFrameHost(node)); |
| + EXPECT_TRUE(GetSpeculativeRenderFrameHost(node)); |
| // Simulate a beforeUnload denial. |
| main_test_rfh()->SendBeforeUnloadACK(false); |
| @@ -331,7 +331,10 @@ TEST_F(NavigatorTestWithBrowserSideNavigation, BeginNavigation) { |
| ASSERT_TRUE(main_request); |
| EXPECT_EQ(NavigationRequest::WAITING_FOR_RENDERER_RESPONSE, |
| main_request->state()); |
| - EXPECT_FALSE(GetSpeculativeRenderFrameHost(root_node)); |
| + |
| + // Main frame navigation to a different site should use a speculative |
| + // RenderFrameHost. |
| + EXPECT_TRUE(GetSpeculativeRenderFrameHost(root_node)); |
| // Simulate a BeforeUnloadACK IPC on the main frame. |
| main_test_rfh()->SendBeforeUnloadACK(true); |
| @@ -346,9 +349,6 @@ TEST_F(NavigatorTestWithBrowserSideNavigation, BeginNavigation) { |
| // BeforeUnloadACK was received from the renderer so the navigation should |
| // have started. |
| EXPECT_EQ(NavigationRequest::STARTED, main_request->state()); |
| - |
| - // Main frame navigation to a different site should use a speculative |
| - // RenderFrameHost. |
| EXPECT_TRUE(GetSpeculativeRenderFrameHost(root_node)); |
| // As the main frame hasn't yet committed the subframe still exists. Thus, the |
| @@ -439,18 +439,18 @@ TEST_F(NavigatorTestWithBrowserSideNavigation, CrossSiteNavigation) { |
| int entry_id = RequestNavigation(node, kUrl2); |
| NavigationRequest* main_request = node->navigation_request(); |
| ASSERT_TRUE(main_request); |
| - EXPECT_FALSE(GetSpeculativeRenderFrameHost(node)); |
| + TestRenderFrameHost* speculative_rfh = GetSpeculativeRenderFrameHost(node); |
| + ASSERT_TRUE(speculative_rfh); |
| // Receive the beforeUnload ACK. |
| main_test_rfh()->SendBeforeUnloadACK(true); |
| - EXPECT_TRUE(GetSpeculativeRenderFrameHost(node)); |
| + EXPECT_EQ(speculative_rfh, GetSpeculativeRenderFrameHost(node)); |
| EXPECT_FALSE(contents()->CrossProcessNavigationPending()); |
| scoped_refptr<ResourceResponse> response(new ResourceResponse); |
| GetLoaderForNavigationRequest(main_request)->CallOnResponseStarted( |
| response, MakeEmptyStream()); |
| - TestRenderFrameHost* speculative_rfh = GetSpeculativeRenderFrameHost(node); |
| - ASSERT_TRUE(speculative_rfh); |
| + EXPECT_EQ(speculative_rfh, GetSpeculativeRenderFrameHost(node)); |
| EXPECT_TRUE(DidRenderFrameHostRequestCommit(speculative_rfh)); |
| EXPECT_FALSE(DidRenderFrameHostRequestCommit(main_test_rfh())); |
| EXPECT_TRUE(contents()->CrossProcessNavigationPending()); |
| @@ -701,7 +701,7 @@ TEST_F(NavigatorTestWithBrowserSideNavigation, |
| ASSERT_TRUE(request1); |
| EXPECT_EQ(kUrl1, request1->common_params().url); |
| EXPECT_TRUE(request1->browser_initiated()); |
| - EXPECT_FALSE(GetSpeculativeRenderFrameHost(node)); |
| + EXPECT_TRUE(GetSpeculativeRenderFrameHost(node)); |
| // Now receive a renderer-initiated non-user-initiated request. Nothing should |
| // change. |
| @@ -711,7 +711,7 @@ TEST_F(NavigatorTestWithBrowserSideNavigation, |
| EXPECT_EQ(request1, request2); |
| EXPECT_EQ(kUrl1, request2->common_params().url); |
| EXPECT_TRUE(request2->browser_initiated()); |
| - EXPECT_FALSE(GetSpeculativeRenderFrameHost(node)); |
| + EXPECT_TRUE(GetSpeculativeRenderFrameHost(node)); |
| // Now receive the beforeUnload ACK from the still ongoing navigation. |
| main_test_rfh()->SendBeforeUnloadACK(true); |
| @@ -826,13 +826,13 @@ TEST_F(NavigatorTestWithBrowserSideNavigation, |
| const GURL kUrl("http://google.com/"); |
| process()->sink().ClearMessages(); |
| int entry_id = RequestNavigation(node, kUrl); |
| - EXPECT_FALSE(GetSpeculativeRenderFrameHost(node)); |
| - |
| - // Receive the beforeUnload ACK. |
| - main_test_rfh()->SendBeforeUnloadACK(true); |
| TestRenderFrameHost* speculative_rfh = GetSpeculativeRenderFrameHost(node); |
| ASSERT_TRUE(speculative_rfh); |
| EXPECT_NE(speculative_rfh, main_test_rfh()); |
| + |
| + // Receive the beforeUnload ACK. |
| + main_test_rfh()->SendBeforeUnloadACK(true); |
| + EXPECT_EQ(speculative_rfh, GetSpeculativeRenderFrameHost(node)); |
| EXPECT_EQ(SiteInstanceImpl::GetSiteForURL(browser_context(), kUrl), |
| speculative_rfh->GetSiteInstance()->GetSiteURL()); |
| EXPECT_FALSE(node->render_manager()->pending_frame_host()); |
| @@ -843,8 +843,7 @@ TEST_F(NavigatorTestWithBrowserSideNavigation, |
| scoped_refptr<ResourceResponse> response(new ResourceResponse); |
| GetLoaderForNavigationRequest(node->navigation_request()) |
| ->CallOnResponseStarted(response, MakeEmptyStream()); |
| - speculative_rfh = GetSpeculativeRenderFrameHost(node); |
| - ASSERT_TRUE(speculative_rfh); |
| + EXPECT_EQ(speculative_rfh, GetSpeculativeRenderFrameHost(node)); |
| EXPECT_TRUE(DidRenderFrameHostRequestCommit(speculative_rfh)); |
| EXPECT_EQ(site_instance_id, speculative_rfh->GetSiteInstance()->GetId()); |
| EXPECT_FALSE(node->render_manager()->pending_frame_host()); |
| @@ -870,19 +869,19 @@ TEST_F(NavigatorTestWithBrowserSideNavigation, |
| const GURL kUrl("http://google.com/"); |
| process()->sink().ClearMessages(); |
| int entry_id = RequestNavigation(node, kUrl); |
| - EXPECT_FALSE(GetSpeculativeRenderFrameHost(node)); |
| - |
| - // Receive the beforeUnload ACK. |
| - main_test_rfh()->SendBeforeUnloadACK(true); |
| TestRenderFrameHost* speculative_rfh = GetSpeculativeRenderFrameHost(node); |
| + ASSERT_TRUE(speculative_rfh); |
| int32 site_instance_id = speculative_rfh->GetSiteInstance()->GetId(); |
| EXPECT_NE(init_site_instance_id, site_instance_id); |
| EXPECT_EQ(init_site_instance_id, main_test_rfh()->GetSiteInstance()->GetId()); |
| - ASSERT_TRUE(speculative_rfh); |
| EXPECT_NE(speculative_rfh, main_test_rfh()); |
| EXPECT_EQ(SiteInstanceImpl::GetSiteForURL(browser_context(), kUrl), |
| speculative_rfh->GetSiteInstance()->GetSiteURL()); |
| + // Receive the beforeUnload ACK. |
| + main_test_rfh()->SendBeforeUnloadACK(true); |
| + EXPECT_TRUE(GetSpeculativeRenderFrameHost(node)); |
|
nasko
2015/06/12 17:22:22
You have an EXPECT_EQ in other places with this pa
carlosk
2015/06/15 19:11:54
Done.
|
| + |
| // It then redirects to yet another site. |
| NavigationRequest* main_request = node->navigation_request(); |
| ASSERT_TRUE(main_request); |
| @@ -962,7 +961,7 @@ TEST_F(NavigatorTestWithBrowserSideNavigation, |
| process()->sink().ClearMessages(); |
| rfh1->GetProcess()->sink().ClearMessages(); |
| int entry_id = RequestNavigation(node, kUrl1); |
| - EXPECT_FALSE(GetSpeculativeRenderFrameHost(node)); |
| + EXPECT_EQ(rfh1, GetSpeculativeRenderFrameHost(node)); |
| main_test_rfh()->SendBeforeUnloadACK(true); |
| EXPECT_EQ(rfh1, GetSpeculativeRenderFrameHost(node)); |