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

Side by Side Diff: content/common/resource_dispatcher.cc

Issue 10640019: Remove the HANDLED_EXTERNALLY status code. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: fixed some minor issues Created 8 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
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 // See http://dev.chromium.org/developers/design-documents/multi-process-resourc e-loading 5 // See http://dev.chromium.org/developers/design-documents/multi-process-resourc e-loading
6 6
7 #include "content/common/resource_dispatcher.h" 7 #include "content/common/resource_dispatcher.h"
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 NOTREACHED() << "Trying to (un)defer an unstarted request"; 221 NOTREACHED() << "Trying to (un)defer an unstarted request";
222 return; 222 return;
223 } 223 }
224 224
225 dispatcher_->SetDefersLoading(request_id_, value); 225 dispatcher_->SetDefersLoading(request_id_, value);
226 } 226 }
227 227
228 void IPCResourceLoaderBridge::SyncLoad(SyncLoadResponse* response) { 228 void IPCResourceLoaderBridge::SyncLoad(SyncLoadResponse* response) {
229 if (request_id_ != -1) { 229 if (request_id_ != -1) {
230 NOTREACHED() << "Starting a request twice"; 230 NOTREACHED() << "Starting a request twice";
231 response->status.set_status(net::URLRequestStatus::FAILED); 231 response->error_code = net::ERR_FAILED;
232 return; 232 return;
233 } 233 }
234 234
235 request_id_ = MakeRequestID(); 235 request_id_ = MakeRequestID();
236 is_synchronous_request_ = true; 236 is_synchronous_request_ = true;
237 237
238 content::SyncLoadResult result; 238 content::SyncLoadResult result;
239 IPC::SyncMessage* msg = new ResourceHostMsg_SyncLoad(routing_id_, request_id_, 239 IPC::SyncMessage* msg = new ResourceHostMsg_SyncLoad(routing_id_, request_id_,
240 request_, &result); 240 request_, &result);
241 // NOTE: This may pump events (see RenderThread::Send). 241 // NOTE: This may pump events (see RenderThread::Send).
242 if (!dispatcher_->message_sender()->Send(msg)) { 242 if (!dispatcher_->message_sender()->Send(msg)) {
243 response->status.set_status(net::URLRequestStatus::FAILED); 243 response->error_code = net::ERR_FAILED;
244 return; 244 return;
245 } 245 }
246 246
247 response->status = result.status; 247 response->error_code = result.error_code;
248 response->url = result.final_url; 248 response->url = result.final_url;
249 response->headers = result.headers; 249 response->headers = result.headers;
250 response->mime_type = result.mime_type; 250 response->mime_type = result.mime_type;
251 response->charset = result.charset; 251 response->charset = result.charset;
252 response->request_time = result.request_time; 252 response->request_time = result.request_time;
253 response->response_time = result.response_time; 253 response->response_time = result.response_time;
254 response->encoded_data_length = result.encoded_data_length; 254 response->encoded_data_length = result.encoded_data_length;
255 response->connection_id = result.connection_id; 255 response->connection_id = result.connection_id;
256 response->connection_reused = result.connection_reused; 256 response->connection_reused = result.connection_reused;
257 response->load_timing = result.load_timing; 257 response->load_timing = result.load_timing;
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
444 void ResourceDispatcher::FollowPendingRedirect( 444 void ResourceDispatcher::FollowPendingRedirect(
445 int request_id, 445 int request_id,
446 PendingRequestInfo& request_info) { 446 PendingRequestInfo& request_info) {
447 IPC::Message* msg = request_info.pending_redirect_message.release(); 447 IPC::Message* msg = request_info.pending_redirect_message.release();
448 if (msg) 448 if (msg)
449 message_sender()->Send(msg); 449 message_sender()->Send(msg);
450 } 450 }
451 451
452 void ResourceDispatcher::OnRequestComplete( 452 void ResourceDispatcher::OnRequestComplete(
453 int request_id, 453 int request_id,
454 const net::URLRequestStatus& status, 454 int error_code,
455 const std::string& security_info, 455 const std::string& security_info,
456 const base::TimeTicks& browser_completion_time) { 456 const base::TimeTicks& browser_completion_time) {
457 PendingRequestInfo* request_info = GetPendingRequestInfo(request_id); 457 PendingRequestInfo* request_info = GetPendingRequestInfo(request_id);
458 if (!request_info) 458 if (!request_info)
459 return; 459 return;
460 request_info->completion_time = base::TimeTicks::Now(); 460 request_info->completion_time = base::TimeTicks::Now();
461 461
462 webkit_glue::ResourceLoaderBridge::Peer* peer = request_info->peer; 462 webkit_glue::ResourceLoaderBridge::Peer* peer = request_info->peer;
463 463
464 if (delegate_) { 464 if (delegate_) {
465 webkit_glue::ResourceLoaderBridge::Peer* new_peer = 465 webkit_glue::ResourceLoaderBridge::Peer* new_peer =
466 delegate_->OnRequestComplete( 466 delegate_->OnRequestComplete(
467 request_info->peer, request_info->resource_type, status); 467 request_info->peer, request_info->resource_type, error_code);
468 if (new_peer) 468 if (new_peer)
469 request_info->peer = new_peer; 469 request_info->peer = new_peer;
470 } 470 }
471 471
472 base::TimeTicks renderer_completion_time = ToRendererCompletionTime( 472 base::TimeTicks renderer_completion_time = ToRendererCompletionTime(
473 *request_info, browser_completion_time); 473 *request_info, browser_completion_time);
474 // The request ID will be removed from our pending list in the destructor. 474 // The request ID will be removed from our pending list in the destructor.
475 // Normally, dispatching this message causes the reference-counted request to 475 // Normally, dispatching this message causes the reference-counted request to
476 // die immediately. 476 // die immediately.
477 peer->OnCompletedRequest(status, security_info, renderer_completion_time); 477 peer->OnCompletedRequest(error_code, security_info,
478 renderer_completion_time);
478 } 479 }
479 480
480 int ResourceDispatcher::AddPendingRequest( 481 int ResourceDispatcher::AddPendingRequest(
481 webkit_glue::ResourceLoaderBridge::Peer* callback, 482 webkit_glue::ResourceLoaderBridge::Peer* callback,
482 ResourceType::Type resource_type, 483 ResourceType::Type resource_type,
483 const GURL& request_url) { 484 const GURL& request_url) {
484 // Compute a unique request_id for this renderer process. 485 // Compute a unique request_id for this renderer process.
485 int id = MakeRequestID(); 486 int id = MakeRequestID();
486 pending_requests_[id] = 487 pending_requests_[id] =
487 PendingRequestInfo(callback, resource_type, request_url); 488 PendingRequestInfo(callback, resource_type, request_url);
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
687 688
688 // static 689 // static
689 void ResourceDispatcher::ReleaseResourcesInMessageQueue(MessageQueue* queue) { 690 void ResourceDispatcher::ReleaseResourcesInMessageQueue(MessageQueue* queue) {
690 while (!queue->empty()) { 691 while (!queue->empty()) {
691 IPC::Message* message = queue->front(); 692 IPC::Message* message = queue->front();
692 ReleaseResourcesInDataMessage(*message); 693 ReleaseResourcesInDataMessage(*message);
693 queue->pop_front(); 694 queue->pop_front();
694 delete message; 695 delete message;
695 } 696 }
696 } 697 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698