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 |