OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "chrome/common/resource_dispatcher.h" | 7 #include "chrome/common/resource_dispatcher.h" |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
11 #include "base/file_path.h" | 11 #include "base/file_path.h" |
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
206 NOTREACHED() << "Trying to (un)defer an unstarted request"; | 206 NOTREACHED() << "Trying to (un)defer an unstarted request"; |
207 return; | 207 return; |
208 } | 208 } |
209 | 209 |
210 dispatcher_->SetDefersLoading(request_id_, value); | 210 dispatcher_->SetDefersLoading(request_id_, value); |
211 } | 211 } |
212 | 212 |
213 void IPCResourceLoaderBridge::SyncLoad(SyncLoadResponse* response) { | 213 void IPCResourceLoaderBridge::SyncLoad(SyncLoadResponse* response) { |
214 if (request_id_ != -1) { | 214 if (request_id_ != -1) { |
215 NOTREACHED() << "Starting a request twice"; | 215 NOTREACHED() << "Starting a request twice"; |
216 response->status.set_status(URLRequestStatus::FAILED); | 216 response->status.set_status(net::URLRequestStatus::FAILED); |
217 return; | 217 return; |
218 } | 218 } |
219 | 219 |
220 request_id_ = MakeRequestID(); | 220 request_id_ = MakeRequestID(); |
221 | 221 |
222 SyncLoadResult result; | 222 SyncLoadResult result; |
223 IPC::SyncMessage* msg = new ViewHostMsg_SyncLoad(routing_id_, request_id_, | 223 IPC::SyncMessage* msg = new ViewHostMsg_SyncLoad(routing_id_, request_id_, |
224 request_, &result); | 224 request_, &result); |
225 // NOTE: This may pump events (see RenderThread::Send). | 225 // NOTE: This may pump events (see RenderThread::Send). |
226 if (!dispatcher_->message_sender()->Send(msg)) { | 226 if (!dispatcher_->message_sender()->Send(msg)) { |
227 response->status.set_status(URLRequestStatus::FAILED); | 227 response->status.set_status(net::URLRequestStatus::FAILED); |
228 return; | 228 return; |
229 } | 229 } |
230 | 230 |
231 response->status = result.status; | 231 response->status = result.status; |
232 response->url = result.final_url; | 232 response->url = result.final_url; |
233 response->headers = result.headers; | 233 response->headers = result.headers; |
234 response->mime_type = result.mime_type; | 234 response->mime_type = result.mime_type; |
235 response->charset = result.charset; | 235 response->charset = result.charset; |
236 response->request_time = result.request_time; | 236 response->request_time = result.request_time; |
237 response->response_time = result.response_time; | 237 response->response_time = result.response_time; |
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
416 | 416 |
417 void ResourceDispatcher::FollowPendingRedirect( | 417 void ResourceDispatcher::FollowPendingRedirect( |
418 int request_id, | 418 int request_id, |
419 PendingRequestInfo& request_info) { | 419 PendingRequestInfo& request_info) { |
420 IPC::Message* msg = request_info.pending_redirect_message.release(); | 420 IPC::Message* msg = request_info.pending_redirect_message.release(); |
421 if (msg) | 421 if (msg) |
422 message_sender()->Send(msg); | 422 message_sender()->Send(msg); |
423 } | 423 } |
424 | 424 |
425 void ResourceDispatcher::OnRequestComplete(int request_id, | 425 void ResourceDispatcher::OnRequestComplete(int request_id, |
426 const URLRequestStatus& status, | 426 const net::URLRequestStatus& status, |
427 const std::string& security_info, | 427 const std::string& security_info, |
428 const base::Time& completion_time) { | 428 const base::Time& completion_time) { |
429 PendingRequestInfo* request_info = GetPendingRequestInfo(request_id); | 429 PendingRequestInfo* request_info = GetPendingRequestInfo(request_id); |
430 if (!request_info) | 430 if (!request_info) |
431 return; | 431 return; |
432 | 432 |
433 webkit_glue::ResourceLoaderBridge::Peer* peer = request_info->peer; | 433 webkit_glue::ResourceLoaderBridge::Peer* peer = request_info->peer; |
434 | 434 |
435 if (status.status() == URLRequestStatus::CANCELED && | 435 if (status.status() == net::URLRequestStatus::CANCELED && |
436 status.os_error() != net::ERR_ABORTED) { | 436 status.os_error() != net::ERR_ABORTED) { |
437 // Resource canceled with a specific error are filtered. | 437 // Resource canceled with a specific error are filtered. |
438 SecurityFilterPeer* new_peer = | 438 SecurityFilterPeer* new_peer = |
439 SecurityFilterPeer::CreateSecurityFilterPeerForDeniedRequest( | 439 SecurityFilterPeer::CreateSecurityFilterPeerForDeniedRequest( |
440 request_info->resource_type, | 440 request_info->resource_type, |
441 request_info->peer, | 441 request_info->peer, |
442 status.os_error()); | 442 status.os_error()); |
443 if (new_peer) { | 443 if (new_peer) { |
444 request_info->peer = new_peer; | 444 request_info->peer = new_peer; |
445 peer = new_peer; | 445 peer = new_peer; |
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
609 | 609 |
610 // static | 610 // static |
611 void ResourceDispatcher::ReleaseResourcesInMessageQueue(MessageQueue* queue) { | 611 void ResourceDispatcher::ReleaseResourcesInMessageQueue(MessageQueue* queue) { |
612 while (!queue->empty()) { | 612 while (!queue->empty()) { |
613 IPC::Message* message = queue->front(); | 613 IPC::Message* message = queue->front(); |
614 ReleaseResourcesInDataMessage(*message); | 614 ReleaseResourcesInDataMessage(*message); |
615 queue->pop_front(); | 615 queue->pop_front(); |
616 delete message; | 616 delete message; |
617 } | 617 } |
618 } | 618 } |
OLD | NEW |