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

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: rebase 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 380 matching lines...) Expand 10 before | Expand all | Expand 10 after
391 return; 391 return;
392 if (!base::FeatureList::IsEnabled( 392 if (!base::FeatureList::IsEnabled(
393 features::kServiceWorkerNavigationPreload)) { 393 features::kServiceWorkerNavigationPreload)) {
394 // TODO(horo): Check |version_|'s origin_trial_tokens() here if we use 394 // TODO(horo): Check |version_|'s origin_trial_tokens() here if we use
395 // Origin-Trial for NavigationPreload. 395 // Origin-Trial for NavigationPreload.
396 return; 396 return;
397 } 397 }
398 398
399 ResourceRequestInfoImpl* original_info = 399 ResourceRequestInfoImpl* original_info =
400 ResourceRequestInfoImpl::ForRequest(original_request); 400 ResourceRequestInfoImpl::ForRequest(original_request);
401 ResourceRequesterInfo* requester_info = original_info->requester_info();
401 if (IsBrowserSideNavigationEnabled()) { 402 if (IsBrowserSideNavigationEnabled()) {
402 // TODO(horo): Support NavigationPreload with PlzNavigate. 403 DCHECK(requester_info->IsBrowserSideNavigation());
403 DCHECK(original_info->requester_info()->IsBrowserSideNavigation()); 404 } else {
404 NOTIMPLEMENTED(); 405 DCHECK(requester_info->IsRenderer());
405 return; 406 if (!requester_info->filter())
407 return;
406 } 408 }
407 DCHECK(original_info->requester_info()->IsRenderer());
408 if (!original_info->requester_info()->filter())
409 return;
410 409
411 DCHECK(!url_loader_factory_); 410 DCHECK(!url_loader_factory_);
412 mojom::URLLoaderFactoryPtr factory; 411 mojom::URLLoaderFactoryPtr factory;
413 URLLoaderFactoryImpl::Create(original_info->requester_info(), 412 URLLoaderFactoryImpl::Create(
414 mojo::GetProxy(&url_loader_factory_)); 413 ResourceRequesterInfo::CreateForNavigationPreload(requester_info),
414 mojo::GetProxy(&url_loader_factory_));
415 415
416 preload_handle_ = mojom::FetchEventPreloadHandle::New(); 416 preload_handle_ = mojom::FetchEventPreloadHandle::New();
417 417
418 ResourceRequest request; 418 ResourceRequest request;
419 request.method = original_request->method(); 419 request.method = original_request->method();
420 request.url = original_request->url(); 420 request.url = original_request->url();
421 request.request_initiator = original_request->initiator(); 421 request.request_initiator = original_request->initiator();
422 request.referrer = GURL(original_request->referrer()); 422 request.referrer = GURL(original_request->referrer());
423 request.referrer_policy = original_info->GetReferrerPolicy(); 423 request.referrer_policy = original_info->GetReferrerPolicy();
424 request.visibility_state = original_info->GetVisibilityState(); 424 request.visibility_state = original_info->GetVisibilityState();
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
466 } 466 }
467 467
468 ServiceWorkerMetrics::EventType ServiceWorkerFetchDispatcher::GetEventType() 468 ServiceWorkerMetrics::EventType ServiceWorkerFetchDispatcher::GetEventType()
469 const { 469 const {
470 if (request_->fetch_type == ServiceWorkerFetchType::FOREIGN_FETCH) 470 if (request_->fetch_type == ServiceWorkerFetchType::FOREIGN_FETCH)
471 return ServiceWorkerMetrics::EventType::FOREIGN_FETCH; 471 return ServiceWorkerMetrics::EventType::FOREIGN_FETCH;
472 return ResourceTypeToEventType(resource_type_); 472 return ResourceTypeToEventType(resource_type_);
473 } 473 }
474 474
475 } // namespace content 475 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698