| OLD | NEW |
| 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/browser/loader/resource_dispatcher_host_impl.h" | 7 #include "content/browser/loader/resource_dispatcher_host_impl.h" |
| 8 | 8 |
| 9 #include <set> | 9 #include <set> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 491 } | 491 } |
| 492 | 492 |
| 493 net::Error ResourceDispatcherHostImpl::BeginDownload( | 493 net::Error ResourceDispatcherHostImpl::BeginDownload( |
| 494 scoped_ptr<net::URLRequest> request, | 494 scoped_ptr<net::URLRequest> request, |
| 495 bool is_content_initiated, | 495 bool is_content_initiated, |
| 496 ResourceContext* context, | 496 ResourceContext* context, |
| 497 int child_id, | 497 int child_id, |
| 498 int route_id, | 498 int route_id, |
| 499 bool prefer_cache, | 499 bool prefer_cache, |
| 500 scoped_ptr<DownloadSaveInfo> save_info, | 500 scoped_ptr<DownloadSaveInfo> save_info, |
| 501 content::DownloadId download_id, |
| 501 const DownloadStartedCallback& started_callback) { | 502 const DownloadStartedCallback& started_callback) { |
| 502 if (is_shutdown_) | 503 if (is_shutdown_) |
| 503 return CallbackAndReturn(started_callback, net::ERR_INSUFFICIENT_RESOURCES); | 504 return CallbackAndReturn(started_callback, net::ERR_INSUFFICIENT_RESOURCES); |
| 504 | 505 |
| 505 const GURL& url = request->original_url(); | 506 const GURL& url = request->original_url(); |
| 506 | 507 |
| 507 // http://crbug.com/90971 | 508 // http://crbug.com/90971 |
| 508 char url_buf[128]; | 509 char url_buf[128]; |
| 509 base::strlcpy(url_buf, url.spec().c_str(), arraysize(url_buf)); | 510 base::strlcpy(url_buf, url.spec().c_str(), arraysize(url_buf)); |
| 510 base::debug::Alias(url_buf); | 511 base::debug::Alias(url_buf); |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 543 } | 544 } |
| 544 | 545 |
| 545 ResourceRequestInfoImpl* extra_info = | 546 ResourceRequestInfoImpl* extra_info = |
| 546 CreateRequestInfo(child_id, route_id, true, context); | 547 CreateRequestInfo(child_id, route_id, true, context); |
| 547 extra_info->AssociateWithRequest(request.get()); // Request takes ownership. | 548 extra_info->AssociateWithRequest(request.get()); // Request takes ownership. |
| 548 | 549 |
| 549 // From this point forward, the |DownloadResourceHandler| is responsible for | 550 // From this point forward, the |DownloadResourceHandler| is responsible for |
| 550 // |started_callback|. | 551 // |started_callback|. |
| 551 scoped_ptr<ResourceHandler> handler( | 552 scoped_ptr<ResourceHandler> handler( |
| 552 CreateResourceHandlerForDownload(request.get(), is_content_initiated, | 553 CreateResourceHandlerForDownload(request.get(), is_content_initiated, |
| 553 true, save_info.Pass(), | 554 true, download_id, save_info.Pass(), |
| 554 started_callback)); | 555 started_callback)); |
| 555 | 556 |
| 556 BeginRequestInternal(request.Pass(), handler.Pass()); | 557 BeginRequestInternal(request.Pass(), handler.Pass()); |
| 557 | 558 |
| 558 return net::OK; | 559 return net::OK; |
| 559 } | 560 } |
| 560 | 561 |
| 561 void ResourceDispatcherHostImpl::ClearLoginDelegateForRequest( | 562 void ResourceDispatcherHostImpl::ClearLoginDelegateForRequest( |
| 562 net::URLRequest* request) { | 563 net::URLRequest* request) { |
| 563 ResourceRequestInfoImpl* info = ResourceRequestInfoImpl::ForRequest(request); | 564 ResourceRequestInfoImpl* info = ResourceRequestInfoImpl::ForRequest(request); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 574 FROM_HERE, | 575 FROM_HERE, |
| 575 base::Bind(&ResourceDispatcherHostImpl::OnShutdown, | 576 base::Bind(&ResourceDispatcherHostImpl::OnShutdown, |
| 576 base::Unretained(this))); | 577 base::Unretained(this))); |
| 577 } | 578 } |
| 578 | 579 |
| 579 scoped_ptr<ResourceHandler> | 580 scoped_ptr<ResourceHandler> |
| 580 ResourceDispatcherHostImpl::CreateResourceHandlerForDownload( | 581 ResourceDispatcherHostImpl::CreateResourceHandlerForDownload( |
| 581 net::URLRequest* request, | 582 net::URLRequest* request, |
| 582 bool is_content_initiated, | 583 bool is_content_initiated, |
| 583 bool must_download, | 584 bool must_download, |
| 585 DownloadId id, |
| 584 scoped_ptr<DownloadSaveInfo> save_info, | 586 scoped_ptr<DownloadSaveInfo> save_info, |
| 585 const DownloadResourceHandler::OnStartedCallback& started_cb) { | 587 const DownloadResourceHandler::OnStartedCallback& started_cb) { |
| 586 scoped_ptr<ResourceHandler> handler( | 588 scoped_ptr<ResourceHandler> handler( |
| 587 new DownloadResourceHandler(request, started_cb, save_info.Pass())); | 589 new DownloadResourceHandler(id, request, started_cb, save_info.Pass())); |
| 588 if (delegate_) { | 590 if (delegate_) { |
| 589 const ResourceRequestInfo* request_info( | 591 const ResourceRequestInfo* request_info( |
| 590 ResourceRequestInfo::ForRequest(request)); | 592 ResourceRequestInfo::ForRequest(request)); |
| 591 | 593 |
| 592 ScopedVector<ResourceThrottle> throttles; | 594 ScopedVector<ResourceThrottle> throttles; |
| 593 delegate_->DownloadStarting( | 595 delegate_->DownloadStarting( |
| 594 request, request_info->GetContext(), request_info->GetChildID(), | 596 request, request_info->GetContext(), request_info->GetChildID(), |
| 595 request_info->GetRouteID(), request_info->GetRequestID(), | 597 request_info->GetRouteID(), request_info->GetRequestID(), |
| 596 is_content_initiated, must_download, &throttles); | 598 is_content_initiated, must_download, &throttles); |
| 597 if (!throttles.empty()) { | 599 if (!throttles.empty()) { |
| (...skipping 1124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1722 | 1724 |
| 1723 return i->second.get(); | 1725 return i->second.get(); |
| 1724 } | 1726 } |
| 1725 | 1727 |
| 1726 ResourceLoader* ResourceDispatcherHostImpl::GetLoader(int child_id, | 1728 ResourceLoader* ResourceDispatcherHostImpl::GetLoader(int child_id, |
| 1727 int request_id) const { | 1729 int request_id) const { |
| 1728 return GetLoader(GlobalRequestID(child_id, request_id)); | 1730 return GetLoader(GlobalRequestID(child_id, request_id)); |
| 1729 } | 1731 } |
| 1730 | 1732 |
| 1731 } // namespace content | 1733 } // namespace content |
| OLD | NEW |