| 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 #include <limits> | 9 #include <limits> |
| 10 #include <map> | 10 #include <map> |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 102 } // namespace | 102 } // namespace |
| 103 | 103 |
| 104 bool ServiceWorkerURLRequestJob::Delegate::RequestStillValid( | 104 bool ServiceWorkerURLRequestJob::Delegate::RequestStillValid( |
| 105 ServiceWorkerMetrics::URLRequestJobResult* result) { | 105 ServiceWorkerMetrics::URLRequestJobResult* result) { |
| 106 return true; | 106 return true; |
| 107 } | 107 } |
| 108 | 108 |
| 109 ServiceWorkerURLRequestJob::ServiceWorkerURLRequestJob( | 109 ServiceWorkerURLRequestJob::ServiceWorkerURLRequestJob( |
| 110 net::URLRequest* request, | 110 net::URLRequest* request, |
| 111 net::NetworkDelegate* network_delegate, | 111 net::NetworkDelegate* network_delegate, |
| 112 const std::string& client_id, | |
| 113 base::WeakPtr<storage::BlobStorageContext> blob_storage_context, | 112 base::WeakPtr<storage::BlobStorageContext> blob_storage_context, |
| 114 const ResourceContext* resource_context, | 113 const ResourceContext* resource_context, |
| 115 FetchRequestMode request_mode, | 114 FetchRequestMode request_mode, |
| 116 FetchCredentialsMode credentials_mode, | 115 FetchCredentialsMode credentials_mode, |
| 117 FetchRedirectMode redirect_mode, | 116 FetchRedirectMode redirect_mode, |
| 118 bool is_main_resource_load, | 117 bool is_main_resource_load, |
| 119 RequestContextType request_context_type, | 118 RequestContextType request_context_type, |
| 120 RequestContextFrameType frame_type, | 119 RequestContextFrameType frame_type, |
| 121 scoped_refptr<ResourceRequestBody> body, | 120 scoped_refptr<ResourceRequestBody> body, |
| 122 Delegate* delegate) | 121 Delegate* delegate) |
| 123 : net::URLRequestJob(request, network_delegate), | 122 : net::URLRequestJob(request, network_delegate), |
| 124 delegate_(delegate), | 123 delegate_(delegate), |
| 125 response_type_(NOT_DETERMINED), | 124 response_type_(NOT_DETERMINED), |
| 126 is_started_(false), | 125 is_started_(false), |
| 127 service_worker_response_type_(blink::WebServiceWorkerResponseTypeDefault), | 126 service_worker_response_type_(blink::WebServiceWorkerResponseTypeDefault), |
| 128 client_id_(client_id), | |
| 129 blob_storage_context_(blob_storage_context), | 127 blob_storage_context_(blob_storage_context), |
| 130 resource_context_(resource_context), | 128 resource_context_(resource_context), |
| 131 stream_pending_buffer_size_(0), | 129 stream_pending_buffer_size_(0), |
| 132 request_mode_(request_mode), | 130 request_mode_(request_mode), |
| 133 credentials_mode_(credentials_mode), | 131 credentials_mode_(credentials_mode), |
| 134 redirect_mode_(redirect_mode), | 132 redirect_mode_(redirect_mode), |
| 135 is_main_resource_load_(is_main_resource_load), | 133 is_main_resource_load_(is_main_resource_load), |
| 136 request_context_type_(request_context_type), | 134 request_context_type_(request_context_type), |
| 137 frame_type_(frame_type), | 135 frame_type_(frame_type), |
| 138 fall_back_required_(false), | 136 fall_back_required_(false), |
| (...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 443 } | 441 } |
| 444 | 442 |
| 445 scoped_ptr<ServiceWorkerFetchRequest> | 443 scoped_ptr<ServiceWorkerFetchRequest> |
| 446 ServiceWorkerURLRequestJob::CreateFetchRequest() { | 444 ServiceWorkerURLRequestJob::CreateFetchRequest() { |
| 447 std::string blob_uuid; | 445 std::string blob_uuid; |
| 448 uint64_t blob_size = 0; | 446 uint64_t blob_size = 0; |
| 449 CreateRequestBodyBlob(&blob_uuid, &blob_size); | 447 CreateRequestBodyBlob(&blob_uuid, &blob_size); |
| 450 scoped_ptr<ServiceWorkerFetchRequest> request( | 448 scoped_ptr<ServiceWorkerFetchRequest> request( |
| 451 new ServiceWorkerFetchRequest()); | 449 new ServiceWorkerFetchRequest()); |
| 452 request->mode = request_mode_; | 450 request->mode = request_mode_; |
| 453 request->is_main_resource_load = is_main_resource_load_; | |
| 454 request->request_context_type = request_context_type_; | 451 request->request_context_type = request_context_type_; |
| 455 request->frame_type = frame_type_; | 452 request->frame_type = frame_type_; |
| 456 request->url = request_->url(); | 453 request->url = request_->url(); |
| 457 request->method = request_->method(); | 454 request->method = request_->method(); |
| 458 const net::HttpRequestHeaders& headers = request_->extra_request_headers(); | 455 const net::HttpRequestHeaders& headers = request_->extra_request_headers(); |
| 459 for (net::HttpRequestHeaders::Iterator it(headers); it.GetNext();) { | 456 for (net::HttpRequestHeaders::Iterator it(headers); it.GetNext();) { |
| 460 if (ServiceWorkerContext::IsExcludedHeaderNameForFetchEvent(it.name())) | 457 if (ServiceWorkerContext::IsExcludedHeaderNameForFetchEvent(it.name())) |
| 461 continue; | 458 continue; |
| 462 request->headers[it.name()] = it.value(); | 459 request->headers[it.name()] = it.value(); |
| 463 } | 460 } |
| 464 request->blob_uuid = blob_uuid; | 461 request->blob_uuid = blob_uuid; |
| 465 request->blob_size = blob_size; | 462 request->blob_size = blob_size; |
| 466 request->credentials_mode = credentials_mode_; | 463 request->credentials_mode = credentials_mode_; |
| 467 request->redirect_mode = redirect_mode_; | 464 request->redirect_mode = redirect_mode_; |
| 468 request->client_id = client_id_; | |
| 469 const ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request_); | 465 const ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request_); |
| 470 if (info) { | 466 if (info) { |
| 471 request->is_reload = ui::PageTransitionCoreTypeIs( | 467 request->is_reload = ui::PageTransitionCoreTypeIs( |
| 472 info->GetPageTransition(), ui::PAGE_TRANSITION_RELOAD); | 468 info->GetPageTransition(), ui::PAGE_TRANSITION_RELOAD); |
| 473 request->referrer = | 469 request->referrer = |
| 474 Referrer(GURL(request_->referrer()), info->GetReferrerPolicy()); | 470 Referrer(GURL(request_->referrer()), info->GetReferrerPolicy()); |
| 475 } else { | 471 } else { |
| 476 CHECK( | 472 CHECK( |
| 477 request_->referrer_policy() == | 473 request_->referrer_policy() == |
| 478 net::URLRequest::CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE); | 474 net::URLRequest::CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE); |
| (...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 826 base::TimeTicks() /* service_worker_ready_time */); | 822 base::TimeTicks() /* service_worker_ready_time */); |
| 827 return; | 823 return; |
| 828 } | 824 } |
| 829 delegate_->OnStartCompleted(true /* was_fetched_via_service_worker */, | 825 delegate_->OnStartCompleted(true /* was_fetched_via_service_worker */, |
| 830 fall_back_required_, response_url_, | 826 fall_back_required_, response_url_, |
| 831 service_worker_response_type_, worker_start_time_, | 827 service_worker_response_type_, worker_start_time_, |
| 832 worker_ready_time_); | 828 worker_ready_time_); |
| 833 } | 829 } |
| 834 | 830 |
| 835 } // namespace content | 831 } // namespace content |
| OLD | NEW |