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

Side by Side Diff: content/child/service_worker/service_worker_dispatcher.h

Issue 2433273003: service worker: Plumb NavigationPreloadManager.enable/disable to browser-side (Closed)
Patch Set: comments Created 4 years, 1 month 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #ifndef CONTENT_CHILD_SERVICE_WORKER_SERVICE_WORKER_DISPATCHER_H_ 5 #ifndef CONTENT_CHILD_SERVICE_WORKER_SERVICE_WORKER_DISPATCHER_H_
6 #define CONTENT_CHILD_SERVICE_WORKER_SERVICE_WORKER_DISPATCHER_H_ 6 #define CONTENT_CHILD_SERVICE_WORKER_SERVICE_WORKER_DISPATCHER_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <map> 10 #include <map>
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 WebServiceWorkerUnregistrationCallbacks; 60 WebServiceWorkerUnregistrationCallbacks;
61 typedef 61 typedef
62 blink::WebServiceWorkerProvider::WebServiceWorkerGetRegistrationCallbacks 62 blink::WebServiceWorkerProvider::WebServiceWorkerGetRegistrationCallbacks
63 WebServiceWorkerGetRegistrationCallbacks; 63 WebServiceWorkerGetRegistrationCallbacks;
64 typedef 64 typedef
65 blink::WebServiceWorkerProvider::WebServiceWorkerGetRegistrationsCallbacks 65 blink::WebServiceWorkerProvider::WebServiceWorkerGetRegistrationsCallbacks
66 WebServiceWorkerGetRegistrationsCallbacks; 66 WebServiceWorkerGetRegistrationsCallbacks;
67 typedef blink::WebServiceWorkerProvider:: 67 typedef blink::WebServiceWorkerProvider::
68 WebServiceWorkerGetRegistrationForReadyCallbacks 68 WebServiceWorkerGetRegistrationForReadyCallbacks
69 WebServiceWorkerGetRegistrationForReadyCallbacks; 69 WebServiceWorkerGetRegistrationForReadyCallbacks;
70 using WebEnableNavigationPreloadCallbacks =
71 blink::WebServiceWorkerRegistration::WebEnableNavigationPreloadCallbacks;
70 72
71 ServiceWorkerDispatcher( 73 ServiceWorkerDispatcher(
72 ThreadSafeSender* thread_safe_sender, 74 ThreadSafeSender* thread_safe_sender,
73 base::SingleThreadTaskRunner* main_thread_task_runner); 75 base::SingleThreadTaskRunner* main_thread_task_runner);
74 ~ServiceWorkerDispatcher() override; 76 ~ServiceWorkerDispatcher() override;
75 77
76 void OnMessageReceived(const IPC::Message& msg); 78 void OnMessageReceived(const IPC::Message& msg);
77 79
78 // Corresponds to navigator.serviceWorker.register(). 80 // Corresponds to navigator.serviceWorker.register().
79 void RegisterServiceWorker( 81 void RegisterServiceWorker(
(...skipping 16 matching lines...) Expand all
96 WebServiceWorkerGetRegistrationCallbacks* callbacks); 98 WebServiceWorkerGetRegistrationCallbacks* callbacks);
97 // Corresponds to navigator.serviceWorker.getRegistrations(). 99 // Corresponds to navigator.serviceWorker.getRegistrations().
98 void GetRegistrations( 100 void GetRegistrations(
99 int provider_id, 101 int provider_id,
100 WebServiceWorkerGetRegistrationsCallbacks* callbacks); 102 WebServiceWorkerGetRegistrationsCallbacks* callbacks);
101 103
102 void GetRegistrationForReady( 104 void GetRegistrationForReady(
103 int provider_id, 105 int provider_id,
104 WebServiceWorkerGetRegistrationForReadyCallbacks* callbacks); 106 WebServiceWorkerGetRegistrationForReadyCallbacks* callbacks);
105 107
108 // Corresponds to NavigationPreloadManager.enable/disable.
109 void EnableNavigationPreload(
110 int provider_id,
111 int64_t registration_id,
112 bool enable,
113 std::unique_ptr<WebEnableNavigationPreloadCallbacks> callbacks);
114
106 // Called when a new provider context for a document is created. Usually 115 // Called when a new provider context for a document is created. Usually
107 // this happens when a new document is being loaded, and is called much 116 // this happens when a new document is being loaded, and is called much
108 // earlier than AddScriptClient. 117 // earlier than AddScriptClient.
109 // (This is attached only to the document thread's ServiceWorkerDispatcher) 118 // (This is attached only to the document thread's ServiceWorkerDispatcher)
110 void AddProviderContext(ServiceWorkerProviderContext* provider_context); 119 void AddProviderContext(ServiceWorkerProviderContext* provider_context);
111 void RemoveProviderContext(ServiceWorkerProviderContext* provider_context); 120 void RemoveProviderContext(ServiceWorkerProviderContext* provider_context);
112 121
113 // Called when navigator.serviceWorker is instantiated or detached 122 // Called when navigator.serviceWorker is instantiated or detached
114 // for a document whose provider can be identified by |provider_id|. 123 // for a document whose provider can be identified by |provider_id|.
115 void AddProviderClient(int provider_id, 124 void AddProviderClient(int provider_id,
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 typedef IDMap<WebServiceWorkerUpdateCallbacks, IDMapOwnPointer> 162 typedef IDMap<WebServiceWorkerUpdateCallbacks, IDMapOwnPointer>
154 UpdateCallbackMap; 163 UpdateCallbackMap;
155 typedef IDMap<WebServiceWorkerUnregistrationCallbacks, 164 typedef IDMap<WebServiceWorkerUnregistrationCallbacks,
156 IDMapOwnPointer> UnregistrationCallbackMap; 165 IDMapOwnPointer> UnregistrationCallbackMap;
157 typedef IDMap<WebServiceWorkerGetRegistrationCallbacks, 166 typedef IDMap<WebServiceWorkerGetRegistrationCallbacks,
158 IDMapOwnPointer> GetRegistrationCallbackMap; 167 IDMapOwnPointer> GetRegistrationCallbackMap;
159 typedef IDMap<WebServiceWorkerGetRegistrationsCallbacks, 168 typedef IDMap<WebServiceWorkerGetRegistrationsCallbacks,
160 IDMapOwnPointer> GetRegistrationsCallbackMap; 169 IDMapOwnPointer> GetRegistrationsCallbackMap;
161 typedef IDMap<WebServiceWorkerGetRegistrationForReadyCallbacks, 170 typedef IDMap<WebServiceWorkerGetRegistrationForReadyCallbacks,
162 IDMapOwnPointer> GetRegistrationForReadyCallbackMap; 171 IDMapOwnPointer> GetRegistrationForReadyCallbackMap;
172 using EnableNavigationPreloadCallbackMap =
173 IDMap<WebEnableNavigationPreloadCallbacks, IDMapOwnPointer>;
163 174
164 typedef std::map<int, blink::WebServiceWorkerProviderClient*> 175 typedef std::map<int, blink::WebServiceWorkerProviderClient*>
165 ProviderClientMap; 176 ProviderClientMap;
166 typedef std::map<int, ServiceWorkerProviderContext*> ProviderContextMap; 177 typedef std::map<int, ServiceWorkerProviderContext*> ProviderContextMap;
167 typedef std::map<int, ServiceWorkerProviderContext*> WorkerToProviderMap; 178 typedef std::map<int, ServiceWorkerProviderContext*> WorkerToProviderMap;
168 typedef std::map<int, WebServiceWorkerImpl*> WorkerObjectMap; 179 typedef std::map<int, WebServiceWorkerImpl*> WorkerObjectMap;
169 typedef std::map<int, WebServiceWorkerRegistrationImpl*> 180 typedef std::map<int, WebServiceWorkerRegistrationImpl*>
170 RegistrationObjectMap; 181 RegistrationObjectMap;
171 182
172 friend class ServiceWorkerDispatcherTest; 183 friend class ServiceWorkerDispatcherTest;
(...skipping 24 matching lines...) Expand all
197 void OnDidGetRegistrations( 208 void OnDidGetRegistrations(
198 int thread_id, 209 int thread_id,
199 int request_id, 210 int request_id,
200 const std::vector<ServiceWorkerRegistrationObjectInfo>& infos, 211 const std::vector<ServiceWorkerRegistrationObjectInfo>& infos,
201 const std::vector<ServiceWorkerVersionAttributes>& attrs); 212 const std::vector<ServiceWorkerVersionAttributes>& attrs);
202 void OnDidGetRegistrationForReady( 213 void OnDidGetRegistrationForReady(
203 int thread_id, 214 int thread_id,
204 int request_id, 215 int request_id,
205 const ServiceWorkerRegistrationObjectInfo& info, 216 const ServiceWorkerRegistrationObjectInfo& info,
206 const ServiceWorkerVersionAttributes& attrs); 217 const ServiceWorkerVersionAttributes& attrs);
218 void OnDidEnableNavigationPreload(int thread_id, int request_id);
207 void OnRegistrationError(int thread_id, 219 void OnRegistrationError(int thread_id,
208 int request_id, 220 int request_id,
209 blink::WebServiceWorkerError::ErrorType error_type, 221 blink::WebServiceWorkerError::ErrorType error_type,
210 const base::string16& message); 222 const base::string16& message);
211 void OnUpdateError(int thread_id, 223 void OnUpdateError(int thread_id,
212 int request_id, 224 int request_id,
213 blink::WebServiceWorkerError::ErrorType error_type, 225 blink::WebServiceWorkerError::ErrorType error_type,
214 const base::string16& message); 226 const base::string16& message);
215 void OnUnregistrationError(int thread_id, 227 void OnUnregistrationError(int thread_id,
216 int request_id, 228 int request_id,
217 blink::WebServiceWorkerError::ErrorType error_type, 229 blink::WebServiceWorkerError::ErrorType error_type,
218 const base::string16& message); 230 const base::string16& message);
219 void OnGetRegistrationError( 231 void OnGetRegistrationError(
220 int thread_id, 232 int thread_id,
221 int request_id, 233 int request_id,
222 blink::WebServiceWorkerError::ErrorType error_type, 234 blink::WebServiceWorkerError::ErrorType error_type,
223 const base::string16& message); 235 const base::string16& message);
224 void OnGetRegistrationsError( 236 void OnGetRegistrationsError(
225 int thread_id, 237 int thread_id,
226 int request_id, 238 int request_id,
227 blink::WebServiceWorkerError::ErrorType error_type, 239 blink::WebServiceWorkerError::ErrorType error_type,
228 const base::string16& message); 240 const base::string16& message);
241 void OnEnableNavigationPreloadError(
242 int thread_id,
243 int request_id,
244 blink::WebServiceWorkerError::ErrorType error_type,
245 const std::string& message);
229 void OnServiceWorkerStateChanged(int thread_id, 246 void OnServiceWorkerStateChanged(int thread_id,
230 int handle_id, 247 int handle_id,
231 blink::WebServiceWorkerState state); 248 blink::WebServiceWorkerState state);
232 void OnSetVersionAttributes(int thread_id, 249 void OnSetVersionAttributes(int thread_id,
233 int registration_handle_id, 250 int registration_handle_id,
234 int changed_mask, 251 int changed_mask,
235 const ServiceWorkerVersionAttributes& attributes); 252 const ServiceWorkerVersionAttributes& attributes);
236 void OnUpdateFound(int thread_id, 253 void OnUpdateFound(int thread_id,
237 int registration_handle_id); 254 int registration_handle_id);
238 void OnSetControllerServiceWorker(int thread_id, 255 void OnSetControllerServiceWorker(int thread_id,
(...skipping 19 matching lines...) Expand all
258 const ServiceWorkerRegistrationObjectInfo& info); 275 const ServiceWorkerRegistrationObjectInfo& info);
259 std::unique_ptr<ServiceWorkerHandleReference> Adopt( 276 std::unique_ptr<ServiceWorkerHandleReference> Adopt(
260 const ServiceWorkerObjectInfo& info); 277 const ServiceWorkerObjectInfo& info);
261 278
262 RegistrationCallbackMap pending_registration_callbacks_; 279 RegistrationCallbackMap pending_registration_callbacks_;
263 UpdateCallbackMap pending_update_callbacks_; 280 UpdateCallbackMap pending_update_callbacks_;
264 UnregistrationCallbackMap pending_unregistration_callbacks_; 281 UnregistrationCallbackMap pending_unregistration_callbacks_;
265 GetRegistrationCallbackMap pending_get_registration_callbacks_; 282 GetRegistrationCallbackMap pending_get_registration_callbacks_;
266 GetRegistrationsCallbackMap pending_get_registrations_callbacks_; 283 GetRegistrationsCallbackMap pending_get_registrations_callbacks_;
267 GetRegistrationForReadyCallbackMap get_for_ready_callbacks_; 284 GetRegistrationForReadyCallbackMap get_for_ready_callbacks_;
285 EnableNavigationPreloadCallbackMap enable_navigation_preload_callbacks_;
268 286
269 ProviderClientMap provider_clients_; 287 ProviderClientMap provider_clients_;
270 ProviderContextMap provider_contexts_; 288 ProviderContextMap provider_contexts_;
271 289
272 WorkerObjectMap service_workers_; 290 WorkerObjectMap service_workers_;
273 RegistrationObjectMap registrations_; 291 RegistrationObjectMap registrations_;
274 292
275 scoped_refptr<ThreadSafeSender> thread_safe_sender_; 293 scoped_refptr<ThreadSafeSender> thread_safe_sender_;
276 scoped_refptr<base::SingleThreadTaskRunner> main_thread_task_runner_; 294 scoped_refptr<base::SingleThreadTaskRunner> main_thread_task_runner_;
277 295
278 DISALLOW_COPY_AND_ASSIGN(ServiceWorkerDispatcher); 296 DISALLOW_COPY_AND_ASSIGN(ServiceWorkerDispatcher);
279 }; 297 };
280 298
281 } // namespace content 299 } // namespace content
282 300
283 #endif // CONTENT_CHILD_SERVICE_WORKER_SERVICE_WORKER_DISPATCHER_H_ 301 #endif // CONTENT_CHILD_SERVICE_WORKER_SERVICE_WORKER_DISPATCHER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698