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

Side by Side Diff: content/child/service_worker/service_worker_network_provider.cc

Issue 2023733002: service worker: Remove unused PROVIDER_FOR_SANDBOXED_IFRAME (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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/child/service_worker/service_worker_network_provider.h" 5 #include "content/child/service_worker/service_worker_network_provider.h"
6 6
7 #include "base/atomic_sequence_num.h" 7 #include "base/atomic_sequence_num.h"
8 #include "content/child/child_thread_impl.h" 8 #include "content/child/child_thread_impl.h"
9 #include "content/child/service_worker/service_worker_provider_context.h" 9 #include "content/child/service_worker/service_worker_provider_context.h"
10 #include "content/common/navigation_params.h" 10 #include "content/common/navigation_params.h"
11 #include "content/common/service_worker/service_worker_messages.h" 11 #include "content/common/service_worker/service_worker_messages.h"
12 #include "content/common/service_worker/service_worker_utils.h" 12 #include "content/common/service_worker/service_worker_utils.h"
13 #include "content/public/common/browser_side_navigation_policy.h" 13 #include "content/public/common/browser_side_navigation_policy.h"
14 14
15 namespace content { 15 namespace content {
16 16
17 namespace { 17 namespace {
18 18
19 const char kUserDataKey[] = "SWProviderKey"; 19 const char kUserDataKey[] = "SWProviderKey";
20 20
21 // Must be unique in the child process. 21 // Must be unique in the child process.
22 int GetNextProviderId() { 22 int GetNextProviderId() {
23 static base::StaticAtomicSequenceNumber sequence; 23 static base::StaticAtomicSequenceNumber sequence;
24 return sequence.GetNext(); // We start at zero. 24 return sequence.GetNext(); // We start at zero.
25 } 25 }
26 26
27 // When the provider is for a sandboxed iframe we use
28 // kInvalidServiceWorkerProviderId as the provider type and we don't create
29 // ServiceWorkerProviderContext and ServiceWorkerProviderHost.
30 int GenerateProviderIdForType(const ServiceWorkerProviderType provider_type) {
31 if (provider_type == SERVICE_WORKER_PROVIDER_FOR_SANDBOXED_FRAME)
32 return kInvalidServiceWorkerProviderId;
33 return GetNextProviderId();
34 }
35
36 } // namespace 27 } // namespace
37 28
38 void ServiceWorkerNetworkProvider::AttachToDocumentState( 29 void ServiceWorkerNetworkProvider::AttachToDocumentState(
39 base::SupportsUserData* datasource_userdata, 30 base::SupportsUserData* datasource_userdata,
40 std::unique_ptr<ServiceWorkerNetworkProvider> network_provider) { 31 std::unique_ptr<ServiceWorkerNetworkProvider> network_provider) {
41 datasource_userdata->SetUserData(&kUserDataKey, network_provider.release()); 32 datasource_userdata->SetUserData(&kUserDataKey, network_provider.release());
42 } 33 }
43 34
44 ServiceWorkerNetworkProvider* ServiceWorkerNetworkProvider::FromDocumentState( 35 ServiceWorkerNetworkProvider* ServiceWorkerNetworkProvider::FromDocumentState(
45 base::SupportsUserData* datasource_userdata) { 36 base::SupportsUserData* datasource_userdata) {
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 ChildThreadImpl::current()->thread_safe_sender()); 105 ChildThreadImpl::current()->thread_safe_sender());
115 ChildThreadImpl::current()->Send(new ServiceWorkerHostMsg_ProviderCreated( 106 ChildThreadImpl::current()->Send(new ServiceWorkerHostMsg_ProviderCreated(
116 provider_id_, route_id, provider_type)); 107 provider_id_, route_id, provider_type));
117 } 108 }
118 109
119 ServiceWorkerNetworkProvider::ServiceWorkerNetworkProvider( 110 ServiceWorkerNetworkProvider::ServiceWorkerNetworkProvider(
120 int route_id, 111 int route_id,
121 ServiceWorkerProviderType provider_type) 112 ServiceWorkerProviderType provider_type)
122 : ServiceWorkerNetworkProvider(route_id, 113 : ServiceWorkerNetworkProvider(route_id,
123 provider_type, 114 provider_type,
124 GenerateProviderIdForType(provider_type)) {} 115 GetNextProviderId()) {}
125 116
126 ServiceWorkerNetworkProvider::ServiceWorkerNetworkProvider() 117 ServiceWorkerNetworkProvider::ServiceWorkerNetworkProvider()
127 : provider_id_(kInvalidServiceWorkerProviderId) {} 118 : provider_id_(kInvalidServiceWorkerProviderId) {}
128 119
129 ServiceWorkerNetworkProvider::~ServiceWorkerNetworkProvider() { 120 ServiceWorkerNetworkProvider::~ServiceWorkerNetworkProvider() {
130 if (provider_id_ == kInvalidServiceWorkerProviderId) 121 if (provider_id_ == kInvalidServiceWorkerProviderId)
131 return; 122 return;
132 if (!ChildThreadImpl::current()) 123 if (!ChildThreadImpl::current())
133 return; // May be null in some tests. 124 return; // May be null in some tests.
134 ChildThreadImpl::current()->Send( 125 ChildThreadImpl::current()->Send(
135 new ServiceWorkerHostMsg_ProviderDestroyed(provider_id_)); 126 new ServiceWorkerHostMsg_ProviderDestroyed(provider_id_));
136 } 127 }
137 128
138 void ServiceWorkerNetworkProvider::SetServiceWorkerVersionId( 129 void ServiceWorkerNetworkProvider::SetServiceWorkerVersionId(
139 int64_t version_id) { 130 int64_t version_id) {
140 DCHECK_NE(kInvalidServiceWorkerProviderId, provider_id_); 131 DCHECK_NE(kInvalidServiceWorkerProviderId, provider_id_);
141 if (!ChildThreadImpl::current()) 132 if (!ChildThreadImpl::current())
142 return; // May be null in some tests. 133 return; // May be null in some tests.
143 ChildThreadImpl::current()->Send( 134 ChildThreadImpl::current()->Send(
144 new ServiceWorkerHostMsg_SetVersionId(provider_id_, version_id)); 135 new ServiceWorkerHostMsg_SetVersionId(provider_id_, version_id));
145 } 136 }
146 137
147 bool ServiceWorkerNetworkProvider::IsControlledByServiceWorker() const { 138 bool ServiceWorkerNetworkProvider::IsControlledByServiceWorker() const {
148 return context() && context()->controller(); 139 return context() && context()->controller();
149 } 140 }
150 141
151 } // namespace content 142 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/service_worker/service_worker_provider_host.cc ('k') | content/common/service_worker/service_worker_types.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698