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