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

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

Issue 1146403009: Revert of Bring RFH/RVH unit tests closer to reality of how RF/RV are initialized (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 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.cc » ('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 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 render_view_host, 49 render_view_host,
50 delegate, 50 delegate,
51 rwh_delegate, 51 rwh_delegate,
52 frame_tree, 52 frame_tree,
53 frame_tree_node, 53 frame_tree_node,
54 routing_id, 54 routing_id,
55 flags), 55 flags),
56 child_creation_observer_(delegate ? delegate->GetAsWebContents() : NULL), 56 child_creation_observer_(delegate ? delegate->GetAsWebContents() : NULL),
57 contents_mime_type_("text/html"), 57 contents_mime_type_("text/html"),
58 simulate_history_list_was_cleared_(false) { 58 simulate_history_list_was_cleared_(false) {
59 if (frame_tree_node_->IsMainFrame())
60 SetRenderFrameCreated(true);
59 } 61 }
60 62
61 TestRenderFrameHost::~TestRenderFrameHost() { 63 TestRenderFrameHost::~TestRenderFrameHost() {
64 SetRenderFrameCreated(false);
62 } 65 }
63 66
64 TestRenderViewHost* TestRenderFrameHost::GetRenderViewHost() { 67 TestRenderViewHost* TestRenderFrameHost::GetRenderViewHost() {
65 return static_cast<TestRenderViewHost*>( 68 return static_cast<TestRenderViewHost*>(
66 RenderFrameHostImpl::GetRenderViewHost()); 69 RenderFrameHostImpl::GetRenderViewHost());
67 } 70 }
68 71
69 MockRenderProcessHost* TestRenderFrameHost::GetProcess() { 72 MockRenderProcessHost* TestRenderFrameHost::GetProcess() {
70 return static_cast<MockRenderProcessHost*>(RenderFrameHostImpl::GetProcess()); 73 return static_cast<MockRenderProcessHost*>(RenderFrameHostImpl::GetProcess());
71 } 74 }
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 void TestRenderFrameHost::SendNavigateWithTransitionAndResponseCode( 125 void TestRenderFrameHost::SendNavigateWithTransitionAndResponseCode(
123 int page_id, 126 int page_id,
124 int nav_entry_id, 127 int nav_entry_id,
125 bool did_create_new_entry, 128 bool did_create_new_entry,
126 const GURL& url, 129 const GURL& url,
127 ui::PageTransition transition, 130 ui::PageTransition transition,
128 int response_code) { 131 int response_code) {
129 // DidStartProvisionalLoad may delete the pending entry that holds |url|, 132 // DidStartProvisionalLoad may delete the pending entry that holds |url|,
130 // so we keep a copy of it to use in SendNavigateWithParameters. 133 // so we keep a copy of it to use in SendNavigateWithParameters.
131 GURL url_copy(url); 134 GURL url_copy(url);
135
136 // Ensure that the RenderFrameCreated notification has been sent to observers
137 // before navigating the frame.
138 SetRenderFrameCreated(true);
139
132 OnDidStartProvisionalLoadForFrame(url_copy); 140 OnDidStartProvisionalLoadForFrame(url_copy);
133 SendNavigateWithParameters(page_id, nav_entry_id, did_create_new_entry, 141 SendNavigateWithParameters(page_id, nav_entry_id, did_create_new_entry,
134 url_copy, transition, url_copy, response_code, 0, 142 url_copy, transition, url_copy, response_code, 0,
135 std::vector<GURL>()); 143 std::vector<GURL>());
136 } 144 }
137 145
138 void TestRenderFrameHost::SendNavigateWithOriginalRequestURL( 146 void TestRenderFrameHost::SendNavigateWithOriginalRequestURL(
139 int page_id, 147 int page_id,
140 int nav_entry_id, 148 int nav_entry_id,
141 bool did_create_new_entry, 149 bool did_create_new_entry,
142 const GURL& url, 150 const GURL& url,
143 const GURL& original_request_url) { 151 const GURL& original_request_url) {
152 // Ensure that the RenderFrameCreated notification has been sent to observers
153 // before navigating the frame.
154 SetRenderFrameCreated(true);
155
144 OnDidStartProvisionalLoadForFrame(url); 156 OnDidStartProvisionalLoadForFrame(url);
145 SendNavigateWithParameters(page_id, nav_entry_id, did_create_new_entry, url, 157 SendNavigateWithParameters(page_id, nav_entry_id, did_create_new_entry, url,
146 ui::PAGE_TRANSITION_LINK, original_request_url, 158 ui::PAGE_TRANSITION_LINK, original_request_url,
147 200, 0, std::vector<GURL>()); 159 200, 0, std::vector<GURL>());
148 } 160 }
149 161
150 void TestRenderFrameHost::SendNavigateWithFile( 162 void TestRenderFrameHost::SendNavigateWithFile(
151 int page_id, 163 int page_id,
152 int nav_entry_id, 164 int nav_entry_id,
153 bool did_create_new_entry, 165 bool did_create_new_entry,
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 bool did_create_new_entry, 239 bool did_create_new_entry,
228 const GURL& url) { 240 const GURL& url) {
229 SendRendererInitiatedNavigationRequest(url, false); 241 SendRendererInitiatedNavigationRequest(url, false);
230 PrepareForCommit(); 242 PrepareForCommit();
231 SendNavigate(page_id, 0, did_create_new_entry, url); 243 SendNavigate(page_id, 0, did_create_new_entry, url);
232 } 244 }
233 245
234 void TestRenderFrameHost::SendRendererInitiatedNavigationRequest( 246 void TestRenderFrameHost::SendRendererInitiatedNavigationRequest(
235 const GURL& url, 247 const GURL& url,
236 bool has_user_gesture) { 248 bool has_user_gesture) {
237 // Since this is renderer-initiated navigation, the RenderFrame must be
238 // initialized. Do it if it hasn't happened yet.
239 InitializeRenderFrameIfNeeded();
240
241 if (base::CommandLine::ForCurrentProcess()->HasSwitch( 249 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
242 switches::kEnableBrowserSideNavigation)) { 250 switches::kEnableBrowserSideNavigation)) {
243 BeginNavigationParams begin_params("GET", std::string(), net::LOAD_NORMAL, 251 BeginNavigationParams begin_params("GET", std::string(), net::LOAD_NORMAL,
244 has_user_gesture); 252 has_user_gesture);
245 CommonNavigationParams common_params; 253 CommonNavigationParams common_params;
246 common_params.url = url; 254 common_params.url = url;
247 common_params.referrer = Referrer(GURL(), blink::WebReferrerPolicyDefault); 255 common_params.referrer = Referrer(GURL(), blink::WebReferrerPolicyDefault);
248 common_params.transition = ui::PAGE_TRANSITION_LINK; 256 common_params.transition = ui::PAGE_TRANSITION_LINK;
249 OnBeginNavigation(common_params, begin_params, 257 OnBeginNavigation(common_params, begin_params,
250 scoped_refptr<ResourceRequestBody>()); 258 scoped_refptr<ResourceRequestBody>());
251 } 259 }
252 } 260 }
253 261
254 void TestRenderFrameHost::DidDisownOpener() { 262 void TestRenderFrameHost::DidDisownOpener() {
255 OnDidDisownOpener(); 263 OnDidDisownOpener();
256 } 264 }
257 265
258 void TestRenderFrameHost::InitializeRenderFrameIfNeeded() {
259 if (!render_view_host()->IsRenderViewLive()) {
260 RenderViewHostTester::For(render_view_host())->CreateRenderView(
261 base::string16(), MSG_ROUTING_NONE, MSG_ROUTING_NONE, -1, false);
262 }
263 }
264
265 void TestRenderFrameHost::PrepareForCommit() { 266 void TestRenderFrameHost::PrepareForCommit() {
266 PrepareForCommitWithServerRedirect(GURL()); 267 PrepareForCommitWithServerRedirect(GURL());
267 } 268 }
268 269
269 void TestRenderFrameHost::PrepareForCommitWithServerRedirect( 270 void TestRenderFrameHost::PrepareForCommitWithServerRedirect(
270 const GURL& redirect_url) { 271 const GURL& redirect_url) {
271 if (!base::CommandLine::ForCurrentProcess()->HasSwitch( 272 if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
272 switches::kEnableBrowserSideNavigation)) { 273 switches::kEnableBrowserSideNavigation)) {
273 // Non PlzNavigate 274 // Non PlzNavigate
274 if (IsWaitingForBeforeUnloadACK()) 275 if (IsWaitingForBeforeUnloadACK())
(...skipping 28 matching lines...) Expand all
303 url_loader->SimulateServerRedirect(redirect_url); 304 url_loader->SimulateServerRedirect(redirect_url);
304 305
305 // Simulate the network stack commit. 306 // Simulate the network stack commit.
306 scoped_refptr<ResourceResponse> response(new ResourceResponse); 307 scoped_refptr<ResourceResponse> response(new ResourceResponse);
307 // TODO(carlosk): ideally with PlzNavigate it should be possible someday to 308 // TODO(carlosk): ideally with PlzNavigate it should be possible someday to
308 // fully commit the navigation at this call to CallOnResponseStarted. 309 // fully commit the navigation at this call to CallOnResponseStarted.
309 url_loader->CallOnResponseStarted(response, MakeEmptyStream()); 310 url_loader->CallOnResponseStarted(response, MakeEmptyStream());
310 } 311 }
311 312
312 } // namespace content 313 } // namespace content
OLDNEW
« no previous file with comments | « content/test/test_render_frame_host.h ('k') | content/test/test_render_view_host.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698