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 364 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
375 return; | 375 return; |
376 if (!base::FeatureList::IsEnabled( | 376 if (!base::FeatureList::IsEnabled( |
377 features::kServiceWorkerNavigationPreload)) { | 377 features::kServiceWorkerNavigationPreload)) { |
378 // TODO(horo): Check |version_|'s origin_trial_tokens() here if we use | 378 // TODO(horo): Check |version_|'s origin_trial_tokens() here if we use |
379 // Origin-Trial for NavigationPreload. | 379 // Origin-Trial for NavigationPreload. |
380 return; | 380 return; |
381 } | 381 } |
382 | 382 |
383 ResourceRequestInfoImpl* original_info = | 383 ResourceRequestInfoImpl* original_info = |
384 ResourceRequestInfoImpl::ForRequest(original_request); | 384 ResourceRequestInfoImpl::ForRequest(original_request); |
| 385 ResourceRequesterInfo* requester_info = original_info->requester_info(); |
385 if (IsBrowserSideNavigationEnabled()) { | 386 if (IsBrowserSideNavigationEnabled()) { |
386 // TODO(horo): Support NavigationPreload with PlzNavigate. | 387 DCHECK(requester_info->IsBrowserSideNavigation()); |
387 DCHECK(original_info->requester_info()->IsBrowserSideNavigation()); | 388 } else { |
388 NOTIMPLEMENTED(); | 389 DCHECK(requester_info->IsRenderer()); |
389 return; | 390 if (!requester_info->filter()) |
| 391 return; |
390 } | 392 } |
391 DCHECK(original_info->requester_info()->IsRenderer()); | |
392 if (!original_info->requester_info()->filter()) | |
393 return; | |
394 | 393 |
395 DCHECK(!url_loader_factory_); | 394 DCHECK(!url_loader_factory_); |
396 mojom::URLLoaderFactoryPtr factory; | 395 mojom::URLLoaderFactoryPtr factory; |
397 URLLoaderFactoryImpl::Create(original_info->requester_info(), | 396 URLLoaderFactoryImpl::Create( |
398 mojo::GetProxy(&url_loader_factory_)); | 397 ResourceRequesterInfo::CreateForNavigationPreload(requester_info), |
| 398 mojo::GetProxy(&url_loader_factory_)); |
399 | 399 |
400 preload_handle_ = mojom::FetchEventPreloadHandle::New(); | 400 preload_handle_ = mojom::FetchEventPreloadHandle::New(); |
401 | 401 |
402 ResourceRequest request; | 402 ResourceRequest request; |
403 request.method = original_request->method(); | 403 request.method = original_request->method(); |
404 request.url = original_request->url(); | 404 request.url = original_request->url(); |
405 request.request_initiator = original_request->initiator(); | 405 request.request_initiator = original_request->initiator(); |
406 request.referrer = GURL(original_request->referrer()); | 406 request.referrer = GURL(original_request->referrer()); |
407 request.referrer_policy = original_info->GetReferrerPolicy(); | 407 request.referrer_policy = original_info->GetReferrerPolicy(); |
408 request.visibility_state = original_info->GetVisibilityState(); | 408 request.visibility_state = original_info->GetVisibilityState(); |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
450 } | 450 } |
451 | 451 |
452 ServiceWorkerMetrics::EventType ServiceWorkerFetchDispatcher::GetEventType() | 452 ServiceWorkerMetrics::EventType ServiceWorkerFetchDispatcher::GetEventType() |
453 const { | 453 const { |
454 if (request_->fetch_type == ServiceWorkerFetchType::FOREIGN_FETCH) | 454 if (request_->fetch_type == ServiceWorkerFetchType::FOREIGN_FETCH) |
455 return ServiceWorkerMetrics::EventType::FOREIGN_FETCH; | 455 return ServiceWorkerMetrics::EventType::FOREIGN_FETCH; |
456 return ResourceTypeToEventType(resource_type_); | 456 return ResourceTypeToEventType(resource_type_); |
457 } | 457 } |
458 | 458 |
459 } // namespace content | 459 } // namespace content |
OLD | NEW |