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

Side by Side Diff: content/browser/renderer_host/cross_site_resource_handler.cc

Issue 10073002: TabContents -> WebContentsImpl, part 11. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: missed a few Created 8 years, 8 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 <string> 5 #include <string>
6 6
7 #include "content/browser/renderer_host/cross_site_resource_handler.h" 7 #include "content/browser/renderer_host/cross_site_resource_handler.h"
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 completed_during_transition_ = true; 137 completed_during_transition_ = true;
138 completed_status_ = status; 138 completed_status_ = status;
139 completed_security_info_ = security_info; 139 completed_security_info_ = security_info;
140 140
141 // Return false to tell RDH not to notify the world or clean up the 141 // Return false to tell RDH not to notify the world or clean up the
142 // pending request. We will do so in ResumeResponse. 142 // pending request. We will do so in ResumeResponse.
143 return false; 143 return false;
144 } 144 }
145 145
146 // We can now send the response to the new renderer, which will cause 146 // We can now send the response to the new renderer, which will cause
147 // TabContents to swap in the new renderer and destroy the old one. 147 // WebContentsImpl to swap in the new renderer and destroy the old one.
148 void CrossSiteResourceHandler::ResumeResponse() { 148 void CrossSiteResourceHandler::ResumeResponse() {
149 DCHECK(request_id_ != -1); 149 DCHECK(request_id_ != -1);
150 DCHECK(in_cross_site_transition_); 150 DCHECK(in_cross_site_transition_);
151 in_cross_site_transition_ = false; 151 in_cross_site_transition_ = false;
152 152
153 // Find the request for this response. 153 // Find the request for this response.
154 GlobalRequestID global_id(render_process_host_id_, request_id_); 154 GlobalRequestID global_id(render_process_host_id_, request_id_);
155 net::URLRequest* request = rdh_->GetURLRequest(global_id); 155 net::URLRequest* request = rdh_->GetURLRequest(global_id);
156 if (!request) { 156 if (!request) {
157 DLOG(WARNING) << "Resuming a request that wasn't found"; 157 DLOG(WARNING) << "Resuming a request that wasn't found";
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 207
208 if (has_started_response_) { 208 if (has_started_response_) {
209 // Pause the request until the old renderer is finished and the new 209 // Pause the request until the old renderer is finished and the new
210 // renderer is ready. 210 // renderer is ready.
211 rdh_->PauseRequest(render_process_host_id_, request_id, true); 211 rdh_->PauseRequest(render_process_host_id_, request_id, true);
212 } 212 }
213 // If our OnResponseStarted wasn't called, then we're being called by 213 // If our OnResponseStarted wasn't called, then we're being called by
214 // OnResponseCompleted after a failure. We don't need to pause, because 214 // OnResponseCompleted after a failure. We don't need to pause, because
215 // there will be no reads. 215 // there will be no reads.
216 216
217 // Tell the tab responsible for this request that a cross-site response is 217 // Tell the contents responsible for this request that a cross-site response
218 // starting, so that it can tell its old renderer to run its onunload 218 // is starting, so that it can tell its old renderer to run its onunload
219 // handler now. We will wait to hear the corresponding ClosePage_ACK. 219 // handler now. We will wait to hear the corresponding ClosePage_ACK.
220 BrowserThread::PostTask( 220 BrowserThread::PostTask(
221 BrowserThread::UI, 221 BrowserThread::UI,
222 FROM_HERE, 222 FROM_HERE,
223 base::Bind( 223 base::Bind(
224 &OnCrossSiteResponseHelper, 224 &OnCrossSiteResponseHelper,
225 render_process_host_id_, 225 render_process_host_id_,
226 render_view_id_, 226 render_view_id_,
227 request_id)); 227 request_id));
228 228
229 // TODO(creis): If the above call should fail, then we need to notify the IO 229 // TODO(creis): If the above call should fail, then we need to notify the IO
230 // thread to proceed anyway, using ResourceDispatcherHost::OnClosePageACK. 230 // thread to proceed anyway, using ResourceDispatcherHost::OnClosePageACK.
231 } 231 }
232 232
233 } // namespace content 233 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698