Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(18)

Side by Side Diff: content/browser/service_worker/service_worker_fetch_dispatcher.cc

Issue 2497223002: Introduce a new ResourceRequesterInfo type for NavigationPreload. (Closed)
Patch Set: incorporated mmenke's comment Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698