| 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 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 ServiceWorkerControlleeRequestHandler::ServiceWorkerControlleeRequestHandler( | 50 ServiceWorkerControlleeRequestHandler::ServiceWorkerControlleeRequestHandler( |
| 51 base::WeakPtr<ServiceWorkerContextCore> context, | 51 base::WeakPtr<ServiceWorkerContextCore> context, |
| 52 base::WeakPtr<ServiceWorkerProviderHost> provider_host, | 52 base::WeakPtr<ServiceWorkerProviderHost> provider_host, |
| 53 base::WeakPtr<storage::BlobStorageContext> blob_storage_context, | 53 base::WeakPtr<storage::BlobStorageContext> blob_storage_context, |
| 54 FetchRequestMode request_mode, | 54 FetchRequestMode request_mode, |
| 55 FetchCredentialsMode credentials_mode, | 55 FetchCredentialsMode credentials_mode, |
| 56 FetchRedirectMode redirect_mode, | 56 FetchRedirectMode redirect_mode, |
| 57 ResourceType resource_type, | 57 ResourceType resource_type, |
| 58 RequestContextType request_context_type, | 58 RequestContextType request_context_type, |
| 59 RequestContextFrameType frame_type, | 59 RequestContextFrameType frame_type, |
| 60 scoped_refptr<ResourceRequestBodyImpl> body, | 60 scoped_refptr<ResourceRequestBodyImpl> body) |
| 61 const MojoURLLoaderFactoryGetter& url_loader_factory_getter) | |
| 62 : ServiceWorkerRequestHandler(context, | 61 : ServiceWorkerRequestHandler(context, |
| 63 provider_host, | 62 provider_host, |
| 64 blob_storage_context, | 63 blob_storage_context, |
| 65 resource_type), | 64 resource_type), |
| 66 is_main_resource_load_( | 65 is_main_resource_load_( |
| 67 ServiceWorkerUtils::IsMainResourceType(resource_type)), | 66 ServiceWorkerUtils::IsMainResourceType(resource_type)), |
| 68 is_main_frame_load_(resource_type == RESOURCE_TYPE_MAIN_FRAME), | 67 is_main_frame_load_(resource_type == RESOURCE_TYPE_MAIN_FRAME), |
| 69 request_mode_(request_mode), | 68 request_mode_(request_mode), |
| 70 credentials_mode_(credentials_mode), | 69 credentials_mode_(credentials_mode), |
| 71 redirect_mode_(redirect_mode), | 70 redirect_mode_(redirect_mode), |
| 72 request_context_type_(request_context_type), | 71 request_context_type_(request_context_type), |
| 73 frame_type_(frame_type), | 72 frame_type_(frame_type), |
| 74 body_(body), | 73 body_(body), |
| 75 force_update_started_(false), | 74 force_update_started_(false), |
| 76 use_network_(false), | 75 use_network_(false), |
| 77 url_loader_factory_getter_(url_loader_factory_getter), | |
| 78 weak_factory_(this) {} | 76 weak_factory_(this) {} |
| 79 | 77 |
| 80 ServiceWorkerControlleeRequestHandler:: | 78 ServiceWorkerControlleeRequestHandler:: |
| 81 ~ServiceWorkerControlleeRequestHandler() { | 79 ~ServiceWorkerControlleeRequestHandler() { |
| 82 // Navigation triggers an update to occur shortly after the page and | 80 // Navigation triggers an update to occur shortly after the page and |
| 83 // its initial subresources load. | 81 // its initial subresources load. |
| 84 if (provider_host_ && provider_host_->active_version()) { | 82 if (provider_host_ && provider_host_->active_version()) { |
| 85 if (is_main_resource_load_ && !force_update_started_) | 83 if (is_main_resource_load_ && !force_update_started_) |
| 86 provider_host_->active_version()->ScheduleUpdate(); | 84 provider_host_->active_version()->ScheduleUpdate(); |
| 87 else | 85 else |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 121 return NULL; | 119 return NULL; |
| 122 } | 120 } |
| 123 | 121 |
| 124 // It's for original request (A) or redirect case (B-a or B-b). | 122 // It's for original request (A) or redirect case (B-a or B-b). |
| 125 std::unique_ptr<ServiceWorkerURLRequestJob> job( | 123 std::unique_ptr<ServiceWorkerURLRequestJob> job( |
| 126 new ServiceWorkerURLRequestJob( | 124 new ServiceWorkerURLRequestJob( |
| 127 request, network_delegate, provider_host_->client_uuid(), | 125 request, network_delegate, provider_host_->client_uuid(), |
| 128 blob_storage_context_, resource_context, request_mode_, | 126 blob_storage_context_, resource_context, request_mode_, |
| 129 credentials_mode_, redirect_mode_, resource_type_, | 127 credentials_mode_, redirect_mode_, resource_type_, |
| 130 request_context_type_, frame_type_, body_, | 128 request_context_type_, frame_type_, body_, |
| 131 ServiceWorkerFetchType::FETCH, url_loader_factory_getter_, this)); | 129 ServiceWorkerFetchType::FETCH, this)); |
| 132 job_ = job->GetWeakPtr(); | 130 job_ = job->GetWeakPtr(); |
| 133 | 131 |
| 134 resource_context_ = resource_context; | 132 resource_context_ = resource_context; |
| 135 | 133 |
| 136 if (is_main_resource_load_) | 134 if (is_main_resource_load_) |
| 137 PrepareForMainResource(request); | 135 PrepareForMainResource(request); |
| 138 else | 136 else |
| 139 PrepareForSubResource(); | 137 PrepareForSubResource(); |
| 140 | 138 |
| 141 if (job_->ShouldFallbackToNetwork()) { | 139 if (job_->ShouldFallbackToNetwork()) { |
| (...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 433 DCHECK(provider_host_); | 431 DCHECK(provider_host_); |
| 434 // Detach the controller so subresource requests also skip the worker. | 432 // Detach the controller so subresource requests also skip the worker. |
| 435 provider_host_->NotifyControllerLost(); | 433 provider_host_->NotifyControllerLost(); |
| 436 } | 434 } |
| 437 | 435 |
| 438 void ServiceWorkerControlleeRequestHandler::ClearJob() { | 436 void ServiceWorkerControlleeRequestHandler::ClearJob() { |
| 439 job_.reset(); | 437 job_.reset(); |
| 440 } | 438 } |
| 441 | 439 |
| 442 } // namespace content | 440 } // namespace content |
| OLD | NEW |