| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/browser/service_worker/service_worker_fetch_dispatcher.h" | 5 #include "content/browser/service_worker/service_worker_fetch_dispatcher.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 174 client_->OnStartLoadingResponseBody(std::move(body)); | 174 client_->OnStartLoadingResponseBody(std::move(body)); |
| 175 } | 175 } |
| 176 void OnComplete( | 176 void OnComplete( |
| 177 const ResourceRequestCompletionStatus& completion_status) override { | 177 const ResourceRequestCompletionStatus& completion_status) override { |
| 178 client_->OnComplete(completion_status); | 178 client_->OnComplete(completion_status); |
| 179 completed_ = true; | 179 completed_ = true; |
| 180 AddDevToolsCallback( | 180 AddDevToolsCallback( |
| 181 base::Bind(&NotifyNavigationPreloadCompletedOnUI, completion_status)); | 181 base::Bind(&NotifyNavigationPreloadCompletedOnUI, completion_status)); |
| 182 } | 182 } |
| 183 | 183 |
| 184 void Bind(mojom::URLLoaderClientAssociatedPtrInfo* ptr_info, | 184 void Bind(mojom::URLLoaderClientAssociatedPtrInfo* ptr_info) { |
| 185 mojo::AssociatedGroup* associated_group) { | 185 binding_.Bind(ptr_info); |
| 186 binding_.Bind(ptr_info, associated_group); | |
| 187 } | 186 } |
| 188 | 187 |
| 189 private: | 188 private: |
| 190 void MayBeRunDevToolsCallbacks() { | 189 void MayBeRunDevToolsCallbacks() { |
| 191 if (!worker_id_) | 190 if (!worker_id_) |
| 192 return; | 191 return; |
| 193 while (!devtools_callbacks.empty()) { | 192 while (!devtools_callbacks.empty()) { |
| 194 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, | 193 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, |
| 195 base::Bind(std::move(devtools_callbacks.front()), | 194 base::Bind(std::move(devtools_callbacks.front()), |
| 196 *worker_id_, devtools_request_id_)); | 195 *worker_id_, devtools_request_id_)); |
| (...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 579 const int request_id = ResourceDispatcherHostImpl::Get()->MakeRequestID(); | 578 const int request_id = ResourceDispatcherHostImpl::Get()->MakeRequestID(); |
| 580 DCHECK_LT(request_id, -1); | 579 DCHECK_LT(request_id, -1); |
| 581 | 580 |
| 582 preload_handle_ = mojom::FetchEventPreloadHandle::New(); | 581 preload_handle_ = mojom::FetchEventPreloadHandle::New(); |
| 583 mojom::URLLoaderClientPtr url_loader_client_ptr; | 582 mojom::URLLoaderClientPtr url_loader_client_ptr; |
| 584 preload_handle_->url_loader_client_request = | 583 preload_handle_->url_loader_client_request = |
| 585 mojo::MakeRequest(&url_loader_client_ptr); | 584 mojo::MakeRequest(&url_loader_client_ptr); |
| 586 auto url_loader_client = base::MakeUnique<DelegatingURLLoaderClient>( | 585 auto url_loader_client = base::MakeUnique<DelegatingURLLoaderClient>( |
| 587 std::move(url_loader_client_ptr), std::move(on_response), request); | 586 std::move(url_loader_client_ptr), std::move(on_response), request); |
| 588 mojom::URLLoaderClientAssociatedPtrInfo url_loader_client_associated_ptr_info; | 587 mojom::URLLoaderClientAssociatedPtrInfo url_loader_client_associated_ptr_info; |
| 589 url_loader_client->Bind(&url_loader_client_associated_ptr_info, | 588 url_loader_client->Bind(&url_loader_client_associated_ptr_info); |
| 590 url_loader_factory.associated_group()); | |
| 591 mojom::URLLoaderAssociatedPtr url_loader_associated_ptr; | 589 mojom::URLLoaderAssociatedPtr url_loader_associated_ptr; |
| 592 | 590 |
| 593 url_loader_factory->CreateLoaderAndStart( | 591 url_loader_factory->CreateLoaderAndStart( |
| 594 mojo::MakeRequest(&url_loader_associated_ptr, | 592 mojo::MakeRequest(&url_loader_associated_ptr), |
| 595 url_loader_factory.associated_group()), | |
| 596 original_info->GetRouteID(), request_id, request, | 593 original_info->GetRouteID(), request_id, request, |
| 597 std::move(url_loader_client_associated_ptr_info)); | 594 std::move(url_loader_client_associated_ptr_info)); |
| 598 | 595 |
| 599 std::unique_ptr<DelegatingURLLoader> url_loader( | 596 std::unique_ptr<DelegatingURLLoader> url_loader( |
| 600 base::MakeUnique<DelegatingURLLoader>( | 597 base::MakeUnique<DelegatingURLLoader>( |
| 601 std::move(url_loader_associated_ptr))); | 598 std::move(url_loader_associated_ptr))); |
| 602 preload_handle_->url_loader = url_loader->CreateInterfacePtrAndBind(); | 599 preload_handle_->url_loader = url_loader->CreateInterfacePtrAndBind(); |
| 603 url_loader_assets_ = | 600 url_loader_assets_ = |
| 604 new URLLoaderAssets(std::move(url_loader_factory), std::move(url_loader), | 601 new URLLoaderAssets(std::move(url_loader_factory), std::move(url_loader), |
| 605 std::move(url_loader_client)); | 602 std::move(url_loader_client)); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 618 ServiceWorkerVersion* version, | 615 ServiceWorkerVersion* version, |
| 619 int event_finish_id, | 616 int event_finish_id, |
| 620 scoped_refptr<URLLoaderAssets> url_loader_assets, | 617 scoped_refptr<URLLoaderAssets> url_loader_assets, |
| 621 ServiceWorkerStatusCode status, | 618 ServiceWorkerStatusCode status, |
| 622 base::Time dispatch_event_time) { | 619 base::Time dispatch_event_time) { |
| 623 version->FinishRequest(event_finish_id, status != SERVICE_WORKER_ERROR_ABORT, | 620 version->FinishRequest(event_finish_id, status != SERVICE_WORKER_ERROR_ABORT, |
| 624 dispatch_event_time); | 621 dispatch_event_time); |
| 625 } | 622 } |
| 626 | 623 |
| 627 } // namespace content | 624 } // namespace content |
| OLD | NEW |