| 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 bf574497b8f2006a9b0001e8ef8fbb39ca29b70e..f8069f526fb74391a0d02ab6efb8e9ed30a98633 100644
|
| --- a/content/browser/frame_host/navigator_impl_unittest.cc
|
| +++ b/content/browser/frame_host/navigator_impl_unittest.cc
|
| @@ -68,6 +68,12 @@
|
| controller().LoadURLWithParams(load_params);
|
| }
|
|
|
| + NavigationRequest* GetNavigationRequestForFrameTreeNode(
|
| + FrameTreeNode* frame_tree_node) {
|
| + return static_cast<NavigatorImpl*>(frame_tree_node->navigator())
|
| + ->GetNavigationRequestForNodeForTesting(frame_tree_node);
|
| + }
|
| +
|
| TestRenderFrameHost* GetSpeculativeRenderFrameHost(FrameTreeNode* node) {
|
| return static_cast<TestRenderFrameHost*>(
|
| node->render_manager()->speculative_render_frame_host_.get());
|
| @@ -108,7 +114,7 @@
|
| int32 site_instance_id = main_test_rfh()->GetSiteInstance()->GetId();
|
| FrameTreeNode* node = main_test_rfh()->frame_tree_node();
|
| RequestNavigation(node, kUrl);
|
| - NavigationRequest* request = node->navigation_request();
|
| + NavigationRequest* request = GetNavigationRequestForFrameTreeNode(node);
|
| ASSERT_TRUE(request);
|
| EXPECT_EQ(kUrl, request->common_params().url);
|
| EXPECT_TRUE(request->browser_initiated());
|
| @@ -133,7 +139,7 @@
|
| EXPECT_EQ(SiteInstanceImpl::GetSiteForURL(browser_context(), kUrl),
|
| main_test_rfh()->GetSiteInstance()->GetSiteURL());
|
| EXPECT_EQ(kUrl, contents()->GetLastCommittedURL());
|
| - EXPECT_FALSE(node->navigation_request());
|
| + EXPECT_FALSE(GetNavigationRequestForFrameTreeNode(node));
|
| EXPECT_FALSE(node->render_manager()->pending_frame_host());
|
|
|
| // The main RenderFrameHost should not have been changed, and the renderer
|
| @@ -162,7 +168,7 @@
|
| process()->sink().ClearMessages();
|
| main_test_rfh()->SendRendererInitiatedNavigationRequest(kUrl2, false);
|
| FrameTreeNode* node = main_test_rfh()->frame_tree_node();
|
| - NavigationRequest* request = node->navigation_request();
|
| + NavigationRequest* request = GetNavigationRequestForFrameTreeNode(node);
|
| ASSERT_TRUE(request);
|
|
|
| // The navigation is immediately started as there's no need to wait for
|
| @@ -186,7 +192,7 @@
|
| EXPECT_EQ(SiteInstanceImpl::GetSiteForURL(browser_context(), kUrl2),
|
| main_test_rfh()->GetSiteInstance()->GetSiteURL());
|
| EXPECT_EQ(kUrl2, contents()->GetLastCommittedURL());
|
| - EXPECT_FALSE(node->navigation_request());
|
| + EXPECT_FALSE(GetNavigationRequestForFrameTreeNode(node));
|
| EXPECT_FALSE(GetSpeculativeRenderFrameHost(node));
|
| EXPECT_FALSE(node->render_manager()->pending_frame_host());
|
| }
|
| @@ -207,7 +213,7 @@
|
| process()->sink().ClearMessages();
|
| main_test_rfh()->SendRendererInitiatedNavigationRequest(kUrl2, false);
|
| FrameTreeNode* node = main_test_rfh()->frame_tree_node();
|
| - NavigationRequest* request = node->navigation_request();
|
| + NavigationRequest* request = GetNavigationRequestForFrameTreeNode(node);
|
| ASSERT_TRUE(request);
|
|
|
| // The navigation is immediately started as there's no need to wait for
|
| @@ -229,7 +235,7 @@
|
| main_test_rfh()->SendNavigate(0, kUrl2);
|
| EXPECT_EQ(RenderFrameHostImpl::STATE_DEFAULT, main_test_rfh()->rfh_state());
|
| EXPECT_EQ(kUrl2, contents()->GetLastCommittedURL());
|
| - EXPECT_FALSE(node->navigation_request());
|
| + EXPECT_FALSE(GetNavigationRequestForFrameTreeNode(node));
|
| EXPECT_FALSE(GetSpeculativeRenderFrameHost(node));
|
| EXPECT_FALSE(node->render_manager()->pending_frame_host());
|
|
|
| @@ -248,7 +254,7 @@
|
| // Start a new navigation.
|
| FrameTreeNode* node = main_test_rfh()->frame_tree_node();
|
| RequestNavigation(node, kUrl2);
|
| - NavigationRequest* request = node->navigation_request();
|
| + NavigationRequest* request = GetNavigationRequestForFrameTreeNode(node);
|
| ASSERT_TRUE(request);
|
| EXPECT_TRUE(request->browser_initiated());
|
| EXPECT_EQ(NavigationRequest::WAITING_FOR_RENDERER_RESPONSE, request->state());
|
| @@ -256,7 +262,7 @@
|
|
|
| // Simulate a beforeUnload denial.
|
| main_test_rfh()->SendBeforeUnloadACK(false);
|
| - EXPECT_FALSE(node->navigation_request());
|
| + EXPECT_FALSE(GetNavigationRequestForFrameTreeNode(node));
|
| EXPECT_FALSE(GetSpeculativeRenderFrameHost(node));
|
| }
|
|
|
| @@ -277,7 +283,8 @@
|
| // Start a navigation at the subframe.
|
| FrameTreeNode* subframe_node = subframe_rfh->frame_tree_node();
|
| RequestNavigation(subframe_node, kUrl2);
|
| - NavigationRequest* subframe_request = subframe_node->navigation_request();
|
| + NavigationRequest* subframe_request =
|
| + GetNavigationRequestForFrameTreeNode(subframe_node);
|
| TestNavigationURLLoader* subframe_loader =
|
| GetLoaderForNavigationRequest(subframe_request);
|
|
|
| @@ -307,7 +314,8 @@
|
|
|
| // Now start a navigation at the root node.
|
| RequestNavigation(root_node, kUrl3);
|
| - NavigationRequest* main_request = root_node->navigation_request();
|
| + NavigationRequest* main_request =
|
| + GetNavigationRequestForFrameTreeNode(root_node);
|
| ASSERT_TRUE(main_request);
|
| EXPECT_EQ(NavigationRequest::WAITING_FOR_RENDERER_RESPONSE,
|
| main_request->state());
|
| @@ -356,7 +364,7 @@
|
| RequestNavigation(node, kUrl2);
|
| main_test_rfh()->SendBeforeUnloadACK(true);
|
|
|
| - NavigationRequest* main_request = node->navigation_request();
|
| + NavigationRequest* main_request = GetNavigationRequestForFrameTreeNode(node);
|
| ASSERT_TRUE(main_request);
|
|
|
| // Navigations to a different site do create a speculative RenderFrameHost.
|
| @@ -373,7 +381,7 @@
|
| // There should be no pending nor speculative RenderFrameHost; the navigation
|
| // was aborted.
|
| EXPECT_FALSE(DidRenderFrameHostRequestCommit(main_test_rfh()));
|
| - EXPECT_FALSE(node->navigation_request());
|
| + EXPECT_FALSE(GetNavigationRequestForFrameTreeNode(node));
|
| EXPECT_FALSE(node->render_manager()->pending_frame_host());
|
| EXPECT_FALSE(GetSpeculativeRenderFrameHost(node));
|
|
|
| @@ -384,7 +392,7 @@
|
| RequestNavigation(node, kUrl2);
|
| main_test_rfh()->SendBeforeUnloadACK(true);
|
|
|
| - main_request = node->navigation_request();
|
| + main_request = GetNavigationRequestForFrameTreeNode(node);
|
| ASSERT_TRUE(main_request);
|
| EXPECT_TRUE(GetSpeculativeRenderFrameHost(node));
|
|
|
| @@ -399,7 +407,7 @@
|
| // There should be no pending nor speculative RenderFrameHost; the navigation
|
| // was aborted.
|
| EXPECT_FALSE(DidRenderFrameHostRequestCommit(main_test_rfh()));
|
| - EXPECT_FALSE(node->navigation_request());
|
| + EXPECT_FALSE(GetNavigationRequestForFrameTreeNode(node));
|
| EXPECT_FALSE(node->render_manager()->pending_frame_host());
|
| EXPECT_FALSE(GetSpeculativeRenderFrameHost(node));
|
| }
|
| @@ -417,7 +425,7 @@
|
| // Navigate to a different site.
|
| process()->sink().ClearMessages();
|
| RequestNavigation(node, kUrl2);
|
| - NavigationRequest* main_request = node->navigation_request();
|
| + NavigationRequest* main_request = GetNavigationRequestForFrameTreeNode(node);
|
| ASSERT_TRUE(main_request);
|
| EXPECT_FALSE(GetSpeculativeRenderFrameHost(node));
|
|
|
| @@ -457,7 +465,7 @@
|
| process()->sink().ClearMessages();
|
| RequestNavigation(node, kUrl1);
|
| main_test_rfh()->SendBeforeUnloadACK(true);
|
| - NavigationRequest* main_request = node->navigation_request();
|
| + NavigationRequest* main_request = GetNavigationRequestForFrameTreeNode(node);
|
| ASSERT_TRUE(main_request);
|
| EXPECT_FALSE(GetSpeculativeRenderFrameHost(node));
|
|
|
| @@ -507,7 +515,7 @@
|
| process()->sink().ClearMessages();
|
| RequestNavigation(node, kUrl1);
|
| main_test_rfh()->SendBeforeUnloadACK(true);
|
| - NavigationRequest* request1 = node->navigation_request();
|
| + NavigationRequest* request1 = GetNavigationRequestForFrameTreeNode(node);
|
| ASSERT_TRUE(request1);
|
| EXPECT_EQ(kUrl1, request1->common_params().url);
|
| EXPECT_TRUE(request1->browser_initiated());
|
| @@ -525,7 +533,7 @@
|
| // replaced by a new one with a different URL.
|
| RequestNavigation(node, kUrl2);
|
| main_test_rfh()->SendBeforeUnloadACK(true);
|
| - NavigationRequest* request2 = node->navigation_request();
|
| + NavigationRequest* request2 = GetNavigationRequestForFrameTreeNode(node);
|
| ASSERT_TRUE(request2);
|
| EXPECT_EQ(kUrl2, request2->common_params().url);
|
| EXPECT_TRUE(request2->browser_initiated());
|
| @@ -575,7 +583,7 @@
|
| process()->sink().ClearMessages();
|
| RequestNavigation(node, kUrl1);
|
| main_test_rfh()->SendBeforeUnloadACK(true);
|
| - NavigationRequest* request1 = node->navigation_request();
|
| + NavigationRequest* request1 = GetNavigationRequestForFrameTreeNode(node);
|
| ASSERT_TRUE(request1);
|
| EXPECT_EQ(kUrl1, request1->common_params().url);
|
| EXPECT_TRUE(request1->browser_initiated());
|
| @@ -589,7 +597,7 @@
|
| // Now receive a renderer-initiated user-initiated request. It should replace
|
| // the current NavigationRequest.
|
| main_test_rfh()->SendRendererInitiatedNavigationRequest(kUrl2, true);
|
| - NavigationRequest* request2 = node->navigation_request();
|
| + NavigationRequest* request2 = GetNavigationRequestForFrameTreeNode(node);
|
| ASSERT_TRUE(request2);
|
| EXPECT_EQ(kUrl2, request2->common_params().url);
|
| EXPECT_FALSE(request2->browser_initiated());
|
| @@ -631,7 +639,7 @@
|
| // Start a renderer-initiated user-initiated navigation to the 1st URL.
|
| process()->sink().ClearMessages();
|
| main_test_rfh()->SendRendererInitiatedNavigationRequest(kUrl1, true);
|
| - NavigationRequest* request1 = node->navigation_request();
|
| + NavigationRequest* request1 = GetNavigationRequestForFrameTreeNode(node);
|
| ASSERT_TRUE(request1);
|
| EXPECT_EQ(kUrl1, request1->common_params().url);
|
| EXPECT_FALSE(request1->browser_initiated());
|
| @@ -641,7 +649,7 @@
|
| // Now receive a renderer-initiated non-user-initiated request. Nothing should
|
| // change.
|
| main_test_rfh()->SendRendererInitiatedNavigationRequest(kUrl2, false);
|
| - NavigationRequest* request2 = node->navigation_request();
|
| + NavigationRequest* request2 = GetNavigationRequestForFrameTreeNode(node);
|
| ASSERT_TRUE(request2);
|
| EXPECT_EQ(request1, request2);
|
| EXPECT_EQ(kUrl1, request2->common_params().url);
|
| @@ -675,7 +683,7 @@
|
| // Start a browser-initiated navigation to the 1st URL.
|
| process()->sink().ClearMessages();
|
| RequestNavigation(node, kUrl1);
|
| - NavigationRequest* request1 = node->navigation_request();
|
| + NavigationRequest* request1 = GetNavigationRequestForFrameTreeNode(node);
|
| ASSERT_TRUE(request1);
|
| EXPECT_EQ(kUrl1, request1->common_params().url);
|
| EXPECT_TRUE(request1->browser_initiated());
|
| @@ -684,7 +692,7 @@
|
| // Now receive a renderer-initiated non-user-initiated request. Nothing should
|
| // change.
|
| main_test_rfh()->SendRendererInitiatedNavigationRequest(kUrl2, false);
|
| - NavigationRequest* request2 = node->navigation_request();
|
| + NavigationRequest* request2 = GetNavigationRequestForFrameTreeNode(node);
|
| ASSERT_TRUE(request2);
|
| EXPECT_EQ(request1, request2);
|
| EXPECT_EQ(kUrl1, request2->common_params().url);
|
| @@ -724,7 +732,7 @@
|
| // Start a renderer-initiated non-user-initiated navigation to the 1st URL.
|
| process()->sink().ClearMessages();
|
| main_test_rfh()->SendRendererInitiatedNavigationRequest(kUrl1, false);
|
| - NavigationRequest* request1 = node->navigation_request();
|
| + NavigationRequest* request1 = GetNavigationRequestForFrameTreeNode(node);
|
| ASSERT_TRUE(request1);
|
| EXPECT_EQ(kUrl1, request1->common_params().url);
|
| EXPECT_FALSE(request1->browser_initiated());
|
| @@ -736,7 +744,7 @@
|
|
|
| // Now receive a 2nd similar request that should replace the current one.
|
| main_test_rfh()->SendRendererInitiatedNavigationRequest(kUrl2, false);
|
| - NavigationRequest* request2 = node->navigation_request();
|
| + NavigationRequest* request2 = GetNavigationRequestForFrameTreeNode(node);
|
| EXPECT_EQ(kUrl2, request2->common_params().url);
|
| EXPECT_FALSE(request2->browser_initiated());
|
| EXPECT_FALSE(request2->begin_params().has_user_gesture);
|
| @@ -769,7 +777,7 @@
|
| FrameTreeNode* node = main_test_rfh()->frame_tree_node();
|
| controller().Reload(false);
|
| // A NavigationRequest should have been generated.
|
| - NavigationRequest* main_request = node->navigation_request();
|
| + NavigationRequest* main_request = GetNavigationRequestForFrameTreeNode(node);
|
| ASSERT_TRUE(main_request != NULL);
|
| EXPECT_EQ(FrameMsg_Navigate_Type::RELOAD,
|
| main_request->common_params().navigation_type);
|
| @@ -782,7 +790,7 @@
|
| // Now do a shift+reload.
|
| controller().ReloadIgnoringCache(false);
|
| // A NavigationRequest should have been generated.
|
| - main_request = node->navigation_request();
|
| + main_request = GetNavigationRequestForFrameTreeNode(node);
|
| ASSERT_TRUE(main_request != NULL);
|
| EXPECT_EQ(FrameMsg_Navigate_Type::RELOAD_IGNORING_CACHE,
|
| main_request->common_params().navigation_type);
|
| @@ -818,7 +826,7 @@
|
| // Ask Navigator to commit the navigation by simulating a call to
|
| // OnResponseStarted.
|
| scoped_refptr<ResourceResponse> response(new ResourceResponse);
|
| - GetLoaderForNavigationRequest(node->navigation_request())
|
| + GetLoaderForNavigationRequest(GetNavigationRequestForFrameTreeNode(node))
|
| ->CallOnResponseStarted(response, MakeEmptyStream());
|
| speculative_rfh = GetSpeculativeRenderFrameHost(node);
|
| ASSERT_TRUE(speculative_rfh);
|
| @@ -861,7 +869,7 @@
|
| speculative_rfh->GetSiteInstance()->GetSiteURL());
|
|
|
| // It then redirects to yet another site.
|
| - NavigationRequest* main_request = node->navigation_request();
|
| + NavigationRequest* main_request = GetNavigationRequestForFrameTreeNode(node);
|
| ASSERT_TRUE(main_request);
|
| const GURL kUrlRedirect("https://www.google.com/");
|
| GetLoaderForNavigationRequest(main_request)
|
| @@ -942,7 +950,7 @@
|
| GetSpeculativeRenderFrameHost(node)->rfh_state());
|
|
|
| scoped_refptr<ResourceResponse> response(new ResourceResponse);
|
| - GetLoaderForNavigationRequest(node->navigation_request())
|
| + GetLoaderForNavigationRequest(GetNavigationRequestForFrameTreeNode(node))
|
| ->CallOnResponseStarted(response, MakeEmptyStream());
|
| EXPECT_EQ(rfh1, GetSpeculativeRenderFrameHost(node));
|
| EXPECT_EQ(RenderFrameHostImpl::STATE_DEFAULT,
|
| @@ -967,7 +975,8 @@
|
|
|
| // Navigate to a data url.
|
| RequestNavigation(node, kUrl2);
|
| - NavigationRequest* navigation_request = node->navigation_request();
|
| + NavigationRequest* navigation_request =
|
| + GetNavigationRequestForFrameTreeNode(node);
|
| ASSERT_TRUE(navigation_request);
|
| EXPECT_EQ(NavigationRequest::WAITING_FOR_RENDERER_RESPONSE,
|
| navigation_request->state());
|
| @@ -990,7 +999,7 @@
|
| // sent to the IO thread, nor committed.
|
| TestRenderFrameHost* main_rfh = main_test_rfh();
|
| main_rfh->SendRendererInitiatedNavigationRequest(kUrl2, true);
|
| - navigation_request = node->navigation_request();
|
| + navigation_request = GetNavigationRequestForFrameTreeNode(node);
|
| ASSERT_TRUE(navigation_request);
|
| EXPECT_EQ(NavigationRequest::RESPONSE_STARTED,
|
| navigation_request->state());
|
|
|