Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(472)

Side by Side Diff: content/test/test_render_frame_host.cc

Issue 1002803002: Classify navigations without page id in parallel to the existing classifier. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: relax the dcheck Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « content/test/test_render_frame_host.h ('k') | content/test/test_render_view_host.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "content/test/test_render_frame_host.h" 5 #include "content/test/test_render_frame_host.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "content/browser/frame_host/frame_tree.h" 8 #include "content/browser/frame_host/frame_tree.h"
9 #include "content/browser/frame_host/navigation_request.h" 9 #include "content/browser/frame_host/navigation_request.h"
10 #include "content/browser/frame_host/navigator.h" 10 #include "content/browser/frame_host/navigator.h"
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 } 72 }
73 73
74 TestRenderFrameHost* TestRenderFrameHost::AppendChild( 74 TestRenderFrameHost* TestRenderFrameHost::AppendChild(
75 const std::string& frame_name) { 75 const std::string& frame_name) {
76 OnCreateChildFrame(GetProcess()->GetNextRoutingID(), frame_name, 76 OnCreateChildFrame(GetProcess()->GetNextRoutingID(), frame_name,
77 SandboxFlags::NONE); 77 SandboxFlags::NONE);
78 return static_cast<TestRenderFrameHost*>( 78 return static_cast<TestRenderFrameHost*>(
79 child_creation_observer_.last_created_frame()); 79 child_creation_observer_.last_created_frame());
80 } 80 }
81 81
82 void TestRenderFrameHost::SendNavigateWithTransition(
83 int page_id,
84 const GURL& url,
85 ui::PageTransition transition) {
86 SendNavigateWithTransitionAndResponseCode(page_id, url, transition, 200);
87 }
88
89 void TestRenderFrameHost::SetContentsMimeType(const std::string& mime_type) { 82 void TestRenderFrameHost::SetContentsMimeType(const std::string& mime_type) {
90 contents_mime_type_ = mime_type; 83 contents_mime_type_ = mime_type;
91 } 84 }
92 85
93 void TestRenderFrameHost::SendBeforeUnloadACK(bool proceed) { 86 void TestRenderFrameHost::SendBeforeUnloadACK(bool proceed) {
94 base::TimeTicks now = base::TimeTicks::Now(); 87 base::TimeTicks now = base::TimeTicks::Now();
95 OnBeforeUnloadACK(proceed, now, now); 88 OnBeforeUnloadACK(proceed, now, now);
96 } 89 }
97 90
98 void TestRenderFrameHost::SimulateSwapOutACK() { 91 void TestRenderFrameHost::SimulateSwapOutACK() {
99 OnSwappedOut(); 92 OnSwappedOut();
100 } 93 }
101 94
102 void TestRenderFrameHost::SendNavigate(int page_id, const GURL& url) { 95 void TestRenderFrameHost::SendNavigate(int page_id,
103 SendNavigateWithTransition(page_id, url, ui::PAGE_TRANSITION_LINK); 96 int nav_entry_id,
97 bool did_create_new_entry,
98 const GURL& url) {
99 SendNavigateWithTransition(page_id, nav_entry_id, did_create_new_entry, url,
100 ui::PAGE_TRANSITION_LINK);
104 } 101 }
105 102
106 void TestRenderFrameHost::SendFailedNavigate(int page_id, const GURL& url) { 103 void TestRenderFrameHost::SendFailedNavigate(int page_id,
104 int nav_entry_id,
105 bool did_create_new_entry,
106 const GURL& url) {
107 SendNavigateWithTransitionAndResponseCode(page_id, nav_entry_id,
108 did_create_new_entry, url,
109 ui::PAGE_TRANSITION_RELOAD, 500);
110 }
111
112 void TestRenderFrameHost::SendNavigateWithTransition(
113 int page_id,
114 int nav_entry_id,
115 bool did_create_new_entry,
116 const GURL& url,
117 ui::PageTransition transition) {
107 SendNavigateWithTransitionAndResponseCode( 118 SendNavigateWithTransitionAndResponseCode(
108 page_id, url, ui::PAGE_TRANSITION_RELOAD, 500); 119 page_id, nav_entry_id, did_create_new_entry, url, transition, 200);
109 } 120 }
110 121
111 void TestRenderFrameHost::SendNavigateWithTransitionAndResponseCode( 122 void TestRenderFrameHost::SendNavigateWithTransitionAndResponseCode(
112 int page_id, 123 int page_id,
113 const GURL& url, ui::PageTransition transition, 124 int nav_entry_id,
125 bool did_create_new_entry,
126 const GURL& url,
127 ui::PageTransition transition,
114 int response_code) { 128 int response_code) {
115 // DidStartProvisionalLoad may delete the pending entry that holds |url|, 129 // DidStartProvisionalLoad may delete the pending entry that holds |url|,
116 // so we keep a copy of it to use in SendNavigateWithParameters. 130 // so we keep a copy of it to use in SendNavigateWithParameters.
117 GURL url_copy(url); 131 GURL url_copy(url);
118 132
119 // Ensure that the RenderFrameCreated notification has been sent to observers 133 // Ensure that the RenderFrameCreated notification has been sent to observers
120 // before navigating the frame. 134 // before navigating the frame.
121 SetRenderFrameCreated(true); 135 SetRenderFrameCreated(true);
122 136
123 OnDidStartProvisionalLoadForFrame(url_copy, false); 137 OnDidStartProvisionalLoadForFrame(url_copy, false);
124 SendNavigateWithParameters(page_id, url_copy, transition, url_copy, 138 SendNavigateWithParameters(page_id, nav_entry_id, did_create_new_entry,
125 response_code, 0, std::vector<GURL>()); 139 url_copy, transition, url_copy, response_code, 0,
140 std::vector<GURL>());
126 } 141 }
127 142
128 void TestRenderFrameHost::SendNavigateWithOriginalRequestURL( 143 void TestRenderFrameHost::SendNavigateWithOriginalRequestURL(
129 int page_id, 144 int page_id,
145 int nav_entry_id,
146 bool did_create_new_entry,
130 const GURL& url, 147 const GURL& url,
131 const GURL& original_request_url) { 148 const GURL& original_request_url) {
132 // Ensure that the RenderFrameCreated notification has been sent to observers 149 // Ensure that the RenderFrameCreated notification has been sent to observers
133 // before navigating the frame. 150 // before navigating the frame.
134 SetRenderFrameCreated(true); 151 SetRenderFrameCreated(true);
135 152
136 OnDidStartProvisionalLoadForFrame(url, false); 153 OnDidStartProvisionalLoadForFrame(url, false);
137 SendNavigateWithParameters(page_id, url, ui::PAGE_TRANSITION_LINK, 154 SendNavigateWithParameters(page_id, nav_entry_id, did_create_new_entry, url,
138 original_request_url, 200, 0, std::vector<GURL>()); 155 ui::PAGE_TRANSITION_LINK, original_request_url,
156 200, 0, std::vector<GURL>());
139 } 157 }
140 158
141 void TestRenderFrameHost::SendNavigateWithFile( 159 void TestRenderFrameHost::SendNavigateWithFile(
142 int page_id, 160 int page_id,
161 int nav_entry_id,
162 bool did_create_new_entry,
143 const GURL& url, 163 const GURL& url,
144 const base::FilePath& file_path) { 164 const base::FilePath& file_path) {
145 SendNavigateWithParameters(page_id, url, ui::PAGE_TRANSITION_LINK, url, 200, 165 SendNavigateWithParameters(page_id, nav_entry_id, did_create_new_entry, url,
146 &file_path, std::vector<GURL>()); 166 ui::PAGE_TRANSITION_LINK, url, 200, &file_path,
167 std::vector<GURL>());
147 } 168 }
148 169
149 void TestRenderFrameHost::SendNavigateWithParams( 170 void TestRenderFrameHost::SendNavigateWithParams(
150 FrameHostMsg_DidCommitProvisionalLoad_Params* params) { 171 FrameHostMsg_DidCommitProvisionalLoad_Params* params) {
151 FrameHostMsg_DidCommitProvisionalLoad msg(GetRoutingID(), *params); 172 FrameHostMsg_DidCommitProvisionalLoad msg(GetRoutingID(), *params);
152 OnDidCommitProvisionalLoad(msg); 173 OnDidCommitProvisionalLoad(msg);
153 } 174 }
154 175
155 void TestRenderFrameHost::SendNavigateWithRedirects( 176 void TestRenderFrameHost::SendNavigateWithRedirects(
156 int page_id, 177 int page_id,
178 int nav_entry_id,
179 bool did_create_new_entry,
157 const GURL& url, 180 const GURL& url,
158 const std::vector<GURL>& redirects) { 181 const std::vector<GURL>& redirects) {
159 SendNavigateWithParameters( 182 SendNavigateWithParameters(page_id, nav_entry_id, did_create_new_entry, url,
160 page_id, url, ui::PAGE_TRANSITION_LINK, url, 200, 0, redirects); 183 ui::PAGE_TRANSITION_LINK, url, 200, 0, redirects);
161 } 184 }
162 185
163 void TestRenderFrameHost::SendNavigateWithParameters( 186 void TestRenderFrameHost::SendNavigateWithParameters(
164 int page_id, 187 int page_id,
188 int nav_entry_id,
189 bool did_create_new_entry,
165 const GURL& url, 190 const GURL& url,
166 ui::PageTransition transition, 191 ui::PageTransition transition,
167 const GURL& original_request_url, 192 const GURL& original_request_url,
168 int response_code, 193 int response_code,
169 const base::FilePath* file_path_for_history_item, 194 const base::FilePath* file_path_for_history_item,
170 const std::vector<GURL>& redirects) { 195 const std::vector<GURL>& redirects) {
171 FrameHostMsg_DidCommitProvisionalLoad_Params params; 196 FrameHostMsg_DidCommitProvisionalLoad_Params params;
172 params.page_id = page_id; 197 params.page_id = page_id;
198 params.nav_entry_id = nav_entry_id;
173 params.url = url; 199 params.url = url;
174 params.referrer = Referrer(); 200 params.referrer = Referrer();
175 params.transition = transition; 201 params.transition = transition;
176 params.redirects = redirects; 202 params.redirects = redirects;
177 params.should_update_history = true; 203 params.should_update_history = true;
178 params.searchable_form_url = GURL(); 204 params.searchable_form_url = GURL();
179 params.searchable_form_encoding = std::string(); 205 params.searchable_form_encoding = std::string();
206 params.did_create_new_entry = did_create_new_entry;
180 params.security_info = std::string(); 207 params.security_info = std::string();
181 params.gesture = NavigationGestureUser; 208 params.gesture = NavigationGestureUser;
182 params.contents_mime_type = contents_mime_type_; 209 params.contents_mime_type = contents_mime_type_;
183 params.is_post = false; 210 params.is_post = false;
184 params.http_status_code = response_code; 211 params.http_status_code = response_code;
185 params.socket_address.set_host("2001:db8::1"); 212 params.socket_address.set_host("2001:db8::1");
186 params.socket_address.set_port(80); 213 params.socket_address.set_port(80);
187 params.history_list_was_cleared = simulate_history_list_was_cleared_; 214 params.history_list_was_cleared = simulate_history_list_was_cleared_;
188 params.original_request_url = original_request_url; 215 params.original_request_url = original_request_url;
189 216
190 url::Replacements<char> replacements; 217 url::Replacements<char> replacements;
191 replacements.ClearRef(); 218 replacements.ClearRef();
192 params.was_within_same_page = transition != ui::PAGE_TRANSITION_RELOAD && 219 params.was_within_same_page = transition != ui::PAGE_TRANSITION_RELOAD &&
193 transition != ui::PAGE_TRANSITION_TYPED && 220 transition != ui::PAGE_TRANSITION_TYPED &&
194 url.ReplaceComponents(replacements) == 221 url.ReplaceComponents(replacements) ==
195 GetLastCommittedURL().ReplaceComponents(replacements); 222 GetLastCommittedURL().ReplaceComponents(replacements);
196 223
197 params.page_state = PageState::CreateForTesting( 224 params.page_state = PageState::CreateForTesting(
198 url, 225 url,
199 false, 226 false,
200 file_path_for_history_item ? "data" : NULL, 227 file_path_for_history_item ? "data" : NULL,
201 file_path_for_history_item); 228 file_path_for_history_item);
202 229
203 FrameHostMsg_DidCommitProvisionalLoad msg(GetRoutingID(), params); 230 FrameHostMsg_DidCommitProvisionalLoad msg(GetRoutingID(), params);
204 OnDidCommitProvisionalLoad(msg); 231 OnDidCommitProvisionalLoad(msg);
205 } 232 }
206 233
207 void TestRenderFrameHost::NavigateAndCommitRendererInitiated(int page_id, 234 void TestRenderFrameHost::NavigateAndCommitRendererInitiated(
208 const GURL& url) { 235 int page_id,
236 bool did_create_new_entry,
237 const GURL& url) {
209 SendRendererInitiatedNavigationRequest(url, false); 238 SendRendererInitiatedNavigationRequest(url, false);
210 PrepareForCommit(); 239 PrepareForCommit();
211 SendNavigate(page_id, url); 240 SendNavigate(page_id, 0, did_create_new_entry, url);
212 } 241 }
213 242
214 void TestRenderFrameHost::SendRendererInitiatedNavigationRequest( 243 void TestRenderFrameHost::SendRendererInitiatedNavigationRequest(
215 const GURL& url, 244 const GURL& url,
216 bool has_user_gesture) { 245 bool has_user_gesture) {
217 if (base::CommandLine::ForCurrentProcess()->HasSwitch( 246 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
218 switches::kEnableBrowserSideNavigation)) { 247 switches::kEnableBrowserSideNavigation)) {
219 BeginNavigationParams begin_params("GET", std::string(), net::LOAD_NORMAL, 248 BeginNavigationParams begin_params("GET", std::string(), net::LOAD_NORMAL,
220 has_user_gesture); 249 has_user_gesture);
221 CommonNavigationParams common_params; 250 CommonNavigationParams common_params;
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 url_loader->SimulateServerRedirect(redirect_url); 301 url_loader->SimulateServerRedirect(redirect_url);
273 302
274 // Simulate the network stack commit. 303 // Simulate the network stack commit.
275 scoped_refptr<ResourceResponse> response(new ResourceResponse); 304 scoped_refptr<ResourceResponse> response(new ResourceResponse);
276 // TODO(carlosk): ideally with PlzNavigate it should be possible someday to 305 // TODO(carlosk): ideally with PlzNavigate it should be possible someday to
277 // fully commit the navigation at this call to CallOnResponseStarted. 306 // fully commit the navigation at this call to CallOnResponseStarted.
278 url_loader->CallOnResponseStarted(response, MakeEmptyStream()); 307 url_loader->CallOnResponseStarted(response, MakeEmptyStream());
279 } 308 }
280 309
281 } // namespace content 310 } // namespace content
OLDNEW
« no previous file with comments | « content/test/test_render_frame_host.h ('k') | content/test/test_render_view_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698