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_controllee_request_handl
er.h" | 5 #include "content/browser/service_worker/service_worker_controllee_request_handl
er.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 | 77 |
78 } // namespace | 78 } // namespace |
79 | 79 |
80 ServiceWorkerControlleeRequestHandler::ServiceWorkerControlleeRequestHandler( | 80 ServiceWorkerControlleeRequestHandler::ServiceWorkerControlleeRequestHandler( |
81 base::WeakPtr<ServiceWorkerContextCore> context, | 81 base::WeakPtr<ServiceWorkerContextCore> context, |
82 base::WeakPtr<ServiceWorkerProviderHost> provider_host, | 82 base::WeakPtr<ServiceWorkerProviderHost> provider_host, |
83 base::WeakPtr<storage::BlobStorageContext> blob_storage_context, | 83 base::WeakPtr<storage::BlobStorageContext> blob_storage_context, |
84 FetchRequestMode request_mode, | 84 FetchRequestMode request_mode, |
85 FetchCredentialsMode credentials_mode, | 85 FetchCredentialsMode credentials_mode, |
86 FetchRedirectMode redirect_mode, | 86 FetchRedirectMode redirect_mode, |
| 87 const std::string& integrity, |
87 ResourceType resource_type, | 88 ResourceType resource_type, |
88 RequestContextType request_context_type, | 89 RequestContextType request_context_type, |
89 RequestContextFrameType frame_type, | 90 RequestContextFrameType frame_type, |
90 scoped_refptr<ResourceRequestBody> body) | 91 scoped_refptr<ResourceRequestBody> body) |
91 : ServiceWorkerRequestHandler(context, | 92 : ServiceWorkerRequestHandler(context, |
92 provider_host, | 93 provider_host, |
93 blob_storage_context, | 94 blob_storage_context, |
94 resource_type), | 95 resource_type), |
95 is_main_resource_load_( | 96 is_main_resource_load_( |
96 ServiceWorkerUtils::IsMainResourceType(resource_type)), | 97 ServiceWorkerUtils::IsMainResourceType(resource_type)), |
97 is_main_frame_load_(resource_type == RESOURCE_TYPE_MAIN_FRAME), | 98 is_main_frame_load_(resource_type == RESOURCE_TYPE_MAIN_FRAME), |
98 request_mode_(request_mode), | 99 request_mode_(request_mode), |
99 credentials_mode_(credentials_mode), | 100 credentials_mode_(credentials_mode), |
100 redirect_mode_(redirect_mode), | 101 redirect_mode_(redirect_mode), |
| 102 integrity_(integrity), |
101 request_context_type_(request_context_type), | 103 request_context_type_(request_context_type), |
102 frame_type_(frame_type), | 104 frame_type_(frame_type), |
103 body_(body), | 105 body_(body), |
104 force_update_started_(false), | 106 force_update_started_(false), |
105 use_network_(false), | 107 use_network_(false), |
106 weak_factory_(this) {} | 108 weak_factory_(this) {} |
107 | 109 |
108 ServiceWorkerControlleeRequestHandler:: | 110 ServiceWorkerControlleeRequestHandler:: |
109 ~ServiceWorkerControlleeRequestHandler() { | 111 ~ServiceWorkerControlleeRequestHandler() { |
110 // Navigation triggers an update to occur shortly after the page and | 112 // Navigation triggers an update to occur shortly after the page and |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
154 // snapshot of the page if required. | 156 // snapshot of the page if required. |
155 if (ShouldFallbackToLoadOfflinePage(request->extra_request_headers())) | 157 if (ShouldFallbackToLoadOfflinePage(request->extra_request_headers())) |
156 return nullptr; | 158 return nullptr; |
157 #endif // BUILDFLAG(ENABLE_OFFLINE_PAGES) | 159 #endif // BUILDFLAG(ENABLE_OFFLINE_PAGES) |
158 | 160 |
159 // It's for original request (A) or redirect case (B-a or B-b). | 161 // It's for original request (A) or redirect case (B-a or B-b). |
160 std::unique_ptr<ServiceWorkerURLRequestJob> job( | 162 std::unique_ptr<ServiceWorkerURLRequestJob> job( |
161 new ServiceWorkerURLRequestJob( | 163 new ServiceWorkerURLRequestJob( |
162 request, network_delegate, provider_host_->client_uuid(), | 164 request, network_delegate, provider_host_->client_uuid(), |
163 blob_storage_context_, resource_context, request_mode_, | 165 blob_storage_context_, resource_context, request_mode_, |
164 credentials_mode_, redirect_mode_, resource_type_, | 166 credentials_mode_, redirect_mode_, integrity_, resource_type_, |
165 request_context_type_, frame_type_, body_, | 167 request_context_type_, frame_type_, body_, |
166 ServiceWorkerFetchType::FETCH, base::nullopt, this)); | 168 ServiceWorkerFetchType::FETCH, base::nullopt, this)); |
167 url_job_ = base::MakeUnique<ServiceWorkerURLJobWrapper>(job->GetWeakPtr()); | 169 url_job_ = base::MakeUnique<ServiceWorkerURLJobWrapper>(job->GetWeakPtr()); |
168 | 170 |
169 resource_context_ = resource_context; | 171 resource_context_ = resource_context; |
170 | 172 |
171 if (is_main_resource_load_) | 173 if (is_main_resource_load_) |
172 PrepareForMainResource(request->url(), request->first_party_for_cookies()); | 174 PrepareForMainResource(request->url(), request->first_party_for_cookies()); |
173 else | 175 else |
174 PrepareForSubResource(); | 176 PrepareForSubResource(); |
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
539 | 541 |
540 void ServiceWorkerControlleeRequestHandler::ClearJob() { | 542 void ServiceWorkerControlleeRequestHandler::ClearJob() { |
541 url_job_.reset(); | 543 url_job_.reset(); |
542 } | 544 } |
543 | 545 |
544 bool ServiceWorkerControlleeRequestHandler::JobWasCanceled() const { | 546 bool ServiceWorkerControlleeRequestHandler::JobWasCanceled() const { |
545 return !url_job_ || url_job_->WasCanceled(); | 547 return !url_job_ || url_job_->WasCanceled(); |
546 } | 548 } |
547 | 549 |
548 } // namespace content | 550 } // namespace content |
OLD | NEW |