Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(395)

Side by Side Diff: content/browser/service_worker/service_worker_controllee_request_handler.cc

Issue 2410333006: Implement ServiceWorkerFetchDispatcher::MaybeStartNavigationPreload(). (Closed)
Patch Set: add comment in service_worker_url_request_job.h Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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)
61 : ServiceWorkerRequestHandler(context, 62 : ServiceWorkerRequestHandler(context,
62 provider_host, 63 provider_host,
63 blob_storage_context, 64 blob_storage_context,
64 resource_type), 65 resource_type),
65 is_main_resource_load_( 66 is_main_resource_load_(
66 ServiceWorkerUtils::IsMainResourceType(resource_type)), 67 ServiceWorkerUtils::IsMainResourceType(resource_type)),
67 is_main_frame_load_(resource_type == RESOURCE_TYPE_MAIN_FRAME), 68 is_main_frame_load_(resource_type == RESOURCE_TYPE_MAIN_FRAME),
68 request_mode_(request_mode), 69 request_mode_(request_mode),
69 credentials_mode_(credentials_mode), 70 credentials_mode_(credentials_mode),
70 redirect_mode_(redirect_mode), 71 redirect_mode_(redirect_mode),
71 request_context_type_(request_context_type), 72 request_context_type_(request_context_type),
72 frame_type_(frame_type), 73 frame_type_(frame_type),
73 body_(body), 74 body_(body),
74 force_update_started_(false), 75 force_update_started_(false),
75 use_network_(false), 76 use_network_(false),
77 url_loader_factory_getter_(url_loader_factory_getter),
76 weak_factory_(this) {} 78 weak_factory_(this) {}
77 79
78 ServiceWorkerControlleeRequestHandler:: 80 ServiceWorkerControlleeRequestHandler::
79 ~ServiceWorkerControlleeRequestHandler() { 81 ~ServiceWorkerControlleeRequestHandler() {
80 // Navigation triggers an update to occur shortly after the page and 82 // Navigation triggers an update to occur shortly after the page and
81 // its initial subresources load. 83 // its initial subresources load.
82 if (provider_host_ && provider_host_->active_version()) { 84 if (provider_host_ && provider_host_->active_version()) {
83 if (is_main_resource_load_ && !force_update_started_) 85 if (is_main_resource_load_ && !force_update_started_)
84 provider_host_->active_version()->ScheduleUpdate(); 86 provider_host_->active_version()->ScheduleUpdate();
85 else 87 else
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 return NULL; 121 return NULL;
120 } 122 }
121 123
122 // It's for original request (A) or redirect case (B-a or B-b). 124 // It's for original request (A) or redirect case (B-a or B-b).
123 std::unique_ptr<ServiceWorkerURLRequestJob> job( 125 std::unique_ptr<ServiceWorkerURLRequestJob> job(
124 new ServiceWorkerURLRequestJob( 126 new ServiceWorkerURLRequestJob(
125 request, network_delegate, provider_host_->client_uuid(), 127 request, network_delegate, provider_host_->client_uuid(),
126 blob_storage_context_, resource_context, request_mode_, 128 blob_storage_context_, resource_context, request_mode_,
127 credentials_mode_, redirect_mode_, resource_type_, 129 credentials_mode_, redirect_mode_, resource_type_,
128 request_context_type_, frame_type_, body_, 130 request_context_type_, frame_type_, body_,
129 ServiceWorkerFetchType::FETCH, this)); 131 ServiceWorkerFetchType::FETCH, url_loader_factory_getter_, this));
130 job_ = job->GetWeakPtr(); 132 job_ = job->GetWeakPtr();
131 133
132 resource_context_ = resource_context; 134 resource_context_ = resource_context;
133 135
134 if (is_main_resource_load_) 136 if (is_main_resource_load_)
135 PrepareForMainResource(request); 137 PrepareForMainResource(request);
136 else 138 else
137 PrepareForSubResource(); 139 PrepareForSubResource();
138 140
139 if (job_->ShouldFallbackToNetwork()) { 141 if (job_->ShouldFallbackToNetwork()) {
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after
431 DCHECK(provider_host_); 433 DCHECK(provider_host_);
432 // Detach the controller so subresource requests also skip the worker. 434 // Detach the controller so subresource requests also skip the worker.
433 provider_host_->NotifyControllerLost(); 435 provider_host_->NotifyControllerLost();
434 } 436 }
435 437
436 void ServiceWorkerControlleeRequestHandler::ClearJob() { 438 void ServiceWorkerControlleeRequestHandler::ClearJob() {
437 job_.reset(); 439 job_.reset();
438 } 440 }
439 441
440 } // namespace content 442 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698