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 403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
414 } else { | 414 } else { |
415 DCHECK(requester_info->IsRenderer()); | 415 DCHECK(requester_info->IsRenderer()); |
416 if (!requester_info->filter()) | 416 if (!requester_info->filter()) |
417 return; | 417 return; |
418 } | 418 } |
419 | 419 |
420 DCHECK(!url_loader_factory_); | 420 DCHECK(!url_loader_factory_); |
421 mojom::URLLoaderFactoryPtr factory; | 421 mojom::URLLoaderFactoryPtr factory; |
422 URLLoaderFactoryImpl::Create( | 422 URLLoaderFactoryImpl::Create( |
423 ResourceRequesterInfo::CreateForNavigationPreload(requester_info), | 423 ResourceRequesterInfo::CreateForNavigationPreload(requester_info), |
424 mojo::GetProxy(&url_loader_factory_)); | 424 mojo::MakeRequest(&url_loader_factory_)); |
425 | 425 |
426 preload_handle_ = mojom::FetchEventPreloadHandle::New(); | 426 preload_handle_ = mojom::FetchEventPreloadHandle::New(); |
427 | 427 |
428 ResourceRequest request; | 428 ResourceRequest request; |
429 request.method = original_request->method(); | 429 request.method = original_request->method(); |
430 request.url = original_request->url(); | 430 request.url = original_request->url(); |
431 request.request_initiator = original_request->initiator(); | 431 request.request_initiator = original_request->initiator(); |
432 request.referrer = GURL(original_request->referrer()); | 432 request.referrer = GURL(original_request->referrer()); |
433 request.referrer_policy = original_info->GetReferrerPolicy(); | 433 request.referrer_policy = original_info->GetReferrerPolicy(); |
434 request.visibility_state = original_info->GetVisibilityState(); | 434 request.visibility_state = original_info->GetVisibilityState(); |
(...skipping 12 matching lines...) Expand all Loading... |
447 version_->navigation_preload_state().header)); | 447 version_->navigation_preload_state().header)); |
448 request.headers = "Service-Worker-Navigation-Preload: " + | 448 request.headers = "Service-Worker-Navigation-Preload: " + |
449 version_->navigation_preload_state().header; | 449 version_->navigation_preload_state().header; |
450 | 450 |
451 const int request_id = ResourceDispatcherHostImpl::Get()->MakeRequestID(); | 451 const int request_id = ResourceDispatcherHostImpl::Get()->MakeRequestID(); |
452 DCHECK_LT(request_id, -1); | 452 DCHECK_LT(request_id, -1); |
453 | 453 |
454 preload_handle_ = mojom::FetchEventPreloadHandle::New(); | 454 preload_handle_ = mojom::FetchEventPreloadHandle::New(); |
455 mojom::URLLoaderClientPtr url_loader_client_ptr; | 455 mojom::URLLoaderClientPtr url_loader_client_ptr; |
456 preload_handle_->url_loader_client_request = | 456 preload_handle_->url_loader_client_request = |
457 mojo::GetProxy(&url_loader_client_ptr); | 457 mojo::MakeRequest(&url_loader_client_ptr); |
458 auto url_loader_client = base::MakeUnique<DelegatingURLLoaderClient>( | 458 auto url_loader_client = base::MakeUnique<DelegatingURLLoaderClient>( |
459 std::move(url_loader_client_ptr)); | 459 std::move(url_loader_client_ptr)); |
460 mojom::URLLoaderClientAssociatedPtrInfo url_loader_client_associated_ptr_info; | 460 mojom::URLLoaderClientAssociatedPtrInfo url_loader_client_associated_ptr_info; |
461 url_loader_client->Bind(&url_loader_client_associated_ptr_info, | 461 url_loader_client->Bind(&url_loader_client_associated_ptr_info, |
462 url_loader_factory_.associated_group()); | 462 url_loader_factory_.associated_group()); |
463 mojom::URLLoaderAssociatedPtr url_loader_associated_ptr; | 463 mojom::URLLoaderAssociatedPtr url_loader_associated_ptr; |
464 | 464 |
465 url_loader_factory_->CreateLoaderAndStart( | 465 url_loader_factory_->CreateLoaderAndStart( |
466 mojo::GetProxy(&url_loader_associated_ptr, | 466 mojo::MakeRequest(&url_loader_associated_ptr, |
467 url_loader_factory_.associated_group()), | 467 url_loader_factory_.associated_group()), |
468 original_info->GetRouteID(), request_id, request, | 468 original_info->GetRouteID(), request_id, request, |
469 std::move(url_loader_client_associated_ptr_info)); | 469 std::move(url_loader_client_associated_ptr_info)); |
470 | 470 |
471 std::unique_ptr<DelegatingURLLoader> url_loader( | 471 std::unique_ptr<DelegatingURLLoader> url_loader( |
472 new DelegatingURLLoader(std::move(url_loader_associated_ptr))); | 472 new DelegatingURLLoader(std::move(url_loader_associated_ptr))); |
473 preload_handle_->url_loader = url_loader->CreateInterfacePtrAndBind(); | 473 preload_handle_->url_loader = url_loader->CreateInterfacePtrAndBind(); |
474 url_loader_ = std::move(url_loader); | 474 url_loader_ = std::move(url_loader); |
475 url_loader_client_ = std::move(url_loader_client); | 475 url_loader_client_ = std::move(url_loader_client); |
476 } | 476 } |
477 | 477 |
478 ServiceWorkerMetrics::EventType ServiceWorkerFetchDispatcher::GetEventType() | 478 ServiceWorkerMetrics::EventType ServiceWorkerFetchDispatcher::GetEventType() |
479 const { | 479 const { |
480 if (request_->fetch_type == ServiceWorkerFetchType::FOREIGN_FETCH) | 480 if (request_->fetch_type == ServiceWorkerFetchType::FOREIGN_FETCH) |
481 return ServiceWorkerMetrics::EventType::FOREIGN_FETCH; | 481 return ServiceWorkerMetrics::EventType::FOREIGN_FETCH; |
482 return ResourceTypeToEventType(resource_type_); | 482 return ResourceTypeToEventType(resource_type_); |
483 } | 483 } |
484 | 484 |
485 } // namespace content | 485 } // namespace content |
OLD | NEW |