| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/command_line.h" | 5 #include "base/command_line.h" |
| 6 #include "base/guid.h" | 6 #include "base/guid.h" |
| 7 #include "base/macros.h" | 7 #include "base/macros.h" |
| 8 #include "base/test/histogram_tester.h" | 8 #include "base/test/histogram_tester.h" |
| 9 #include "base/time/time.h" | 9 #include "base/time/time.h" |
| 10 #include "content/browser/frame_host/navigation_controller_impl.h" | 10 #include "content/browser/frame_host/navigation_controller_impl.h" |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 92 TEST_F(NavigatorTest, BrowserSideNavigationBeginNavigation) { | 92 TEST_F(NavigatorTest, BrowserSideNavigationBeginNavigation) { |
| 93 const GURL kUrl1("http://www.google.com/"); | 93 const GURL kUrl1("http://www.google.com/"); |
| 94 const GURL kUrl2("http://www.chromium.org/"); | 94 const GURL kUrl2("http://www.chromium.org/"); |
| 95 const GURL kUrl3("http://www.gmail.com/"); | 95 const GURL kUrl3("http://www.gmail.com/"); |
| 96 | 96 |
| 97 contents()->NavigateAndCommit(kUrl1); | 97 contents()->NavigateAndCommit(kUrl1); |
| 98 | 98 |
| 99 EnableBrowserSideNavigation(); | 99 EnableBrowserSideNavigation(); |
| 100 | 100 |
| 101 // Add a subframe. | 101 // Add a subframe. |
| 102 FrameTreeNode* root = contents()->GetFrameTree()->root(); |
| 102 TestRenderFrameHost* subframe_rfh = static_cast<TestRenderFrameHost*>( | 103 TestRenderFrameHost* subframe_rfh = static_cast<TestRenderFrameHost*>( |
| 103 contents()->GetFrameTree()->AddFrame( | 104 contents()->GetFrameTree()->AddFrame( |
| 104 contents()->GetFrameTree()->root(), 14, "Child")); | 105 root, root->current_frame_host()->GetProcess()->GetID(), 14, |
| 106 "Child")); |
| 107 EXPECT_TRUE(subframe_rfh); |
| 105 | 108 |
| 106 FrameTreeNode* subframe_node = subframe_rfh->frame_tree_node(); | 109 FrameTreeNode* subframe_node = subframe_rfh->frame_tree_node(); |
| 107 SendRequestNavigation(subframe_rfh->frame_tree_node(), kUrl2); | 110 SendRequestNavigation(subframe_rfh->frame_tree_node(), kUrl2); |
| 108 // There is no previous renderer in the subframe, so BeginNavigation is | 111 // There is no previous renderer in the subframe, so BeginNavigation is |
| 109 // handled already. | 112 // handled already. |
| 110 NavigationRequest* subframe_request = | 113 NavigationRequest* subframe_request = |
| 111 GetNavigationRequestForFrameTreeNode(subframe_node); | 114 GetNavigationRequestForFrameTreeNode(subframe_node); |
| 112 ASSERT_TRUE(subframe_request); | 115 ASSERT_TRUE(subframe_request); |
| 113 EXPECT_EQ(kUrl2, subframe_request->common_params().url); | 116 EXPECT_EQ(kUrl2, subframe_request->common_params().url); |
| 114 // First party for cookies url should be that of the main frame. | 117 // First party for cookies url should be that of the main frame. |
| 115 EXPECT_EQ(kUrl1, subframe_request->info_for_test()->first_party_for_cookies); | 118 EXPECT_EQ(kUrl1, subframe_request->info_for_test()->first_party_for_cookies); |
| 116 EXPECT_FALSE(subframe_request->info_for_test()->is_main_frame); | 119 EXPECT_FALSE(subframe_request->info_for_test()->is_main_frame); |
| 117 EXPECT_TRUE(subframe_request->info_for_test()->parent_is_main_frame); | 120 EXPECT_TRUE(subframe_request->info_for_test()->parent_is_main_frame); |
| 118 | 121 |
| 119 FrameTreeNode* main_frame_node = | 122 SendRequestNavigation(root, kUrl3); |
| 120 contents()->GetMainFrame()->frame_tree_node(); | |
| 121 SendRequestNavigation(main_frame_node, kUrl3); | |
| 122 // Simulate a BeginNavigation IPC on the main frame. | 123 // Simulate a BeginNavigation IPC on the main frame. |
| 123 contents()->GetMainFrame()->SendBeginNavigationWithURL(kUrl3); | 124 contents()->GetMainFrame()->SendBeginNavigationWithURL(kUrl3); |
| 124 NavigationRequest* main_request = | 125 NavigationRequest* main_request = GetNavigationRequestForFrameTreeNode(root); |
| 125 GetNavigationRequestForFrameTreeNode(main_frame_node); | |
| 126 ASSERT_TRUE(main_request); | 126 ASSERT_TRUE(main_request); |
| 127 EXPECT_EQ(kUrl3, main_request->common_params().url); | 127 EXPECT_EQ(kUrl3, main_request->common_params().url); |
| 128 EXPECT_EQ(kUrl3, main_request->info_for_test()->first_party_for_cookies); | 128 EXPECT_EQ(kUrl3, main_request->info_for_test()->first_party_for_cookies); |
| 129 EXPECT_TRUE(main_request->info_for_test()->is_main_frame); | 129 EXPECT_TRUE(main_request->info_for_test()->is_main_frame); |
| 130 EXPECT_FALSE(main_request->info_for_test()->parent_is_main_frame); | 130 EXPECT_FALSE(main_request->info_for_test()->parent_is_main_frame); |
| 131 } | 131 } |
| 132 | 132 |
| 133 // PlzNavigate: Test that RequestNavigation creates a NavigationRequest and that | 133 // PlzNavigate: Test that RequestNavigation creates a NavigationRequest and that |
| 134 // RenderFrameHost is not modified when the navigation commits. | 134 // RenderFrameHost is not modified when the navigation commits. |
| 135 TEST_F(NavigatorTest, BrowserSideNavigationRequestNavigationNoLiveRenderer) { | 135 TEST_F(NavigatorTest, BrowserSideNavigationRequestNavigationNoLiveRenderer) { |
| (...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 329 NavigationController::RELOAD_IGNORING_CACHE); | 329 NavigationController::RELOAD_IGNORING_CACHE); |
| 330 contents()->GetMainFrame()->SendBeginNavigationWithURL(kUrl); | 330 contents()->GetMainFrame()->SendBeginNavigationWithURL(kUrl); |
| 331 // A NavigationRequest should have been generated. | 331 // A NavigationRequest should have been generated. |
| 332 main_request = GetNavigationRequestForFrameTreeNode(node); | 332 main_request = GetNavigationRequestForFrameTreeNode(node); |
| 333 ASSERT_TRUE(main_request != NULL); | 333 ASSERT_TRUE(main_request != NULL); |
| 334 EXPECT_EQ(FrameMsg_Navigate_Type::RELOAD_IGNORING_CACHE, | 334 EXPECT_EQ(FrameMsg_Navigate_Type::RELOAD_IGNORING_CACHE, |
| 335 main_request->common_params().navigation_type); | 335 main_request->common_params().navigation_type); |
| 336 } | 336 } |
| 337 | 337 |
| 338 } // namespace content | 338 } // namespace content |
| OLD | NEW |