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_url_request_job.h" | 5 #include "content/browser/service_worker/service_worker_url_request_job.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <map> | 10 #include <map> |
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
309 | 309 |
310 ServiceWorkerURLRequestJob::ServiceWorkerURLRequestJob( | 310 ServiceWorkerURLRequestJob::ServiceWorkerURLRequestJob( |
311 net::URLRequest* request, | 311 net::URLRequest* request, |
312 net::NetworkDelegate* network_delegate, | 312 net::NetworkDelegate* network_delegate, |
313 const std::string& client_id, | 313 const std::string& client_id, |
314 base::WeakPtr<storage::BlobStorageContext> blob_storage_context, | 314 base::WeakPtr<storage::BlobStorageContext> blob_storage_context, |
315 const ResourceContext* resource_context, | 315 const ResourceContext* resource_context, |
316 FetchRequestMode request_mode, | 316 FetchRequestMode request_mode, |
317 FetchCredentialsMode credentials_mode, | 317 FetchCredentialsMode credentials_mode, |
318 FetchRedirectMode redirect_mode, | 318 FetchRedirectMode redirect_mode, |
| 319 const std::string& integrity, |
319 ResourceType resource_type, | 320 ResourceType resource_type, |
320 RequestContextType request_context_type, | 321 RequestContextType request_context_type, |
321 RequestContextFrameType frame_type, | 322 RequestContextFrameType frame_type, |
322 scoped_refptr<ResourceRequestBodyImpl> body, | 323 scoped_refptr<ResourceRequestBodyImpl> body, |
323 ServiceWorkerFetchType fetch_type, | 324 ServiceWorkerFetchType fetch_type, |
324 const base::Optional<base::TimeDelta>& timeout, | 325 const base::Optional<base::TimeDelta>& timeout, |
325 Delegate* delegate) | 326 Delegate* delegate) |
326 : net::URLRequestJob(request, network_delegate), | 327 : net::URLRequestJob(request, network_delegate), |
327 delegate_(delegate), | 328 delegate_(delegate), |
328 response_type_(NOT_DETERMINED), | 329 response_type_(NOT_DETERMINED), |
329 is_started_(false), | 330 is_started_(false), |
330 service_worker_response_type_( | 331 service_worker_response_type_( |
331 blink::kWebServiceWorkerResponseTypeDefault), | 332 blink::kWebServiceWorkerResponseTypeDefault), |
332 client_id_(client_id), | 333 client_id_(client_id), |
333 blob_storage_context_(blob_storage_context), | 334 blob_storage_context_(blob_storage_context), |
334 resource_context_(resource_context), | 335 resource_context_(resource_context), |
335 request_mode_(request_mode), | 336 request_mode_(request_mode), |
336 credentials_mode_(credentials_mode), | 337 credentials_mode_(credentials_mode), |
337 redirect_mode_(redirect_mode), | 338 redirect_mode_(redirect_mode), |
| 339 integrity_(integrity), |
338 resource_type_(resource_type), | 340 resource_type_(resource_type), |
339 request_context_type_(request_context_type), | 341 request_context_type_(request_context_type), |
340 frame_type_(frame_type), | 342 frame_type_(frame_type), |
341 fall_back_required_(false), | 343 fall_back_required_(false), |
342 body_(body), | 344 body_(body), |
343 fetch_type_(fetch_type), | 345 fetch_type_(fetch_type), |
344 timeout_(timeout), | 346 timeout_(timeout), |
345 weak_factory_(this) { | 347 weak_factory_(this) { |
346 DCHECK(delegate_) << "ServiceWorkerURLRequestJob requires a delegate"; | 348 DCHECK(delegate_) << "ServiceWorkerURLRequestJob requires a delegate"; |
347 } | 349 } |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
565 const net::HttpRequestHeaders& headers = request_->extra_request_headers(); | 567 const net::HttpRequestHeaders& headers = request_->extra_request_headers(); |
566 for (net::HttpRequestHeaders::Iterator it(headers); it.GetNext();) { | 568 for (net::HttpRequestHeaders::Iterator it(headers); it.GetNext();) { |
567 if (ServiceWorkerContext::IsExcludedHeaderNameForFetchEvent(it.name())) | 569 if (ServiceWorkerContext::IsExcludedHeaderNameForFetchEvent(it.name())) |
568 continue; | 570 continue; |
569 request->headers[it.name()] = it.value(); | 571 request->headers[it.name()] = it.value(); |
570 } | 572 } |
571 request->blob_uuid = blob_uuid; | 573 request->blob_uuid = blob_uuid; |
572 request->blob_size = blob_size; | 574 request->blob_size = blob_size; |
573 request->credentials_mode = credentials_mode_; | 575 request->credentials_mode = credentials_mode_; |
574 request->redirect_mode = redirect_mode_; | 576 request->redirect_mode = redirect_mode_; |
| 577 request->integrity = integrity_; |
575 request->client_id = client_id_; | 578 request->client_id = client_id_; |
576 const ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request_); | 579 const ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request_); |
577 if (info) { | 580 if (info) { |
578 request->is_reload = ui::PageTransitionCoreTypeIs( | 581 request->is_reload = ui::PageTransitionCoreTypeIs( |
579 info->GetPageTransition(), ui::PAGE_TRANSITION_RELOAD); | 582 info->GetPageTransition(), ui::PAGE_TRANSITION_RELOAD); |
580 request->referrer = | 583 request->referrer = |
581 Referrer(GURL(request_->referrer()), info->GetReferrerPolicy()); | 584 Referrer(GURL(request_->referrer()), info->GetReferrerPolicy()); |
582 } else { | 585 } else { |
583 CHECK( | 586 CHECK( |
584 request_->referrer_policy() == | 587 request_->referrer_policy() == |
(...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
993 weak_factory_.GetWeakPtr())); | 996 weak_factory_.GetWeakPtr())); |
994 } | 997 } |
995 fetch_dispatcher_->Run(); | 998 fetch_dispatcher_->Run(); |
996 } | 999 } |
997 | 1000 |
998 void ServiceWorkerURLRequestJob::OnNavigationPreloadResponse() { | 1001 void ServiceWorkerURLRequestJob::OnNavigationPreloadResponse() { |
999 nav_preload_metrics_->ReportNavigationPreloadFinished(); | 1002 nav_preload_metrics_->ReportNavigationPreloadFinished(); |
1000 } | 1003 } |
1001 | 1004 |
1002 } // namespace content | 1005 } // namespace content |
OLD | NEW |