OLD | NEW |
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_BROWSER_SERVICE_WORKER_SERVICE_WORKER_VERSION_H_ | 5 #ifndef CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_VERSION_H_ |
6 #define CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_VERSION_H_ | 6 #define CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_VERSION_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 // Registers status change callback. (This is for one-off observation, | 111 // Registers status change callback. (This is for one-off observation, |
112 // the consumer needs to re-register if it wants to continue observing | 112 // the consumer needs to re-register if it wants to continue observing |
113 // status changes) | 113 // status changes) |
114 void RegisterStatusChangeCallback(const base::Closure& callback); | 114 void RegisterStatusChangeCallback(const base::Closure& callback); |
115 | 115 |
116 // Starts an embedded worker for this version. | 116 // Starts an embedded worker for this version. |
117 // This returns OK (success) if the worker is already running. | 117 // This returns OK (success) if the worker is already running. |
118 void StartWorker(const StatusCallback& callback); | 118 void StartWorker(const StatusCallback& callback); |
119 | 119 |
120 // Starts an embedded worker for this version. | 120 // Starts an embedded worker for this version. |
| 121 // |potential_process_ids| is a list of processes in which to start the |
| 122 // worker. |
| 123 // This returns OK (success) if the worker is already running. |
| 124 void StartWorkerWithCandidateProcesses( |
| 125 const std::vector<int>& potential_process_ids, |
| 126 const StatusCallback& callback); |
| 127 |
| 128 // Starts an embedded worker for this version. |
121 // This returns OK (success) if the worker is already stopped. | 129 // This returns OK (success) if the worker is already stopped. |
122 void StopWorker(const StatusCallback& callback); | 130 void StopWorker(const StatusCallback& callback); |
123 | 131 |
124 // Sends an IPC message to the worker. | 132 // Sends an IPC message to the worker. |
125 // If the worker is not running this first tries to start it by | 133 // If the worker is not running this first tries to start it by |
126 // calling StartWorker internally. | 134 // calling StartWorker internally. |
127 // |callback| can be null if the sender does not need to know if the | 135 // |callback| can be null if the sender does not need to know if the |
128 // message is successfully sent or not. | 136 // message is successfully sent or not. |
129 void SendMessage(const IPC::Message& message, const StatusCallback& callback); | 137 void SendMessage(const IPC::Message& message, const StatusCallback& callback); |
130 | 138 |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
205 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; | 213 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; |
206 | 214 |
207 private: | 215 private: |
208 typedef ServiceWorkerVersion self; | 216 typedef ServiceWorkerVersion self; |
209 typedef std::map<ServiceWorkerProviderHost*, int> ControlleeMap; | 217 typedef std::map<ServiceWorkerProviderHost*, int> ControlleeMap; |
210 typedef IDMap<ServiceWorkerProviderHost> ControlleeByIDMap; | 218 typedef IDMap<ServiceWorkerProviderHost> ControlleeByIDMap; |
211 friend class base::RefCounted<ServiceWorkerVersion>; | 219 friend class base::RefCounted<ServiceWorkerVersion>; |
212 | 220 |
213 virtual ~ServiceWorkerVersion(); | 221 virtual ~ServiceWorkerVersion(); |
214 | 222 |
| 223 void RunStartWorkerCallbacksOnError(ServiceWorkerStatusCode status); |
| 224 |
| 225 void DispatchInstallEventAfterStartWorker(int active_version_id, |
| 226 const StatusCallback& callback); |
| 227 void DispatchActivateEventAfterStartWorker(const StatusCallback& callback); |
| 228 |
215 // Message handlers. | 229 // Message handlers. |
216 void OnGetClientDocuments(int request_id); | 230 void OnGetClientDocuments(int request_id); |
217 void OnActivateEventFinished(int request_id, | 231 void OnActivateEventFinished(int request_id, |
218 blink::WebServiceWorkerEventResult result); | 232 blink::WebServiceWorkerEventResult result); |
219 void OnInstallEventFinished(int request_id, | 233 void OnInstallEventFinished(int request_id, |
220 blink::WebServiceWorkerEventResult result); | 234 blink::WebServiceWorkerEventResult result); |
221 void OnFetchEventFinished(int request_id, | 235 void OnFetchEventFinished(int request_id, |
222 ServiceWorkerFetchEventResult result, | 236 ServiceWorkerFetchEventResult result, |
223 const ServiceWorkerResponse& response); | 237 const ServiceWorkerResponse& response); |
224 void OnSyncEventFinished(int request_id); | 238 void OnSyncEventFinished(int request_id); |
(...skipping 20 matching lines...) Expand all Loading... |
245 ObserverList<Listener> listeners_; | 259 ObserverList<Listener> listeners_; |
246 | 260 |
247 base::WeakPtrFactory<ServiceWorkerVersion> weak_factory_; | 261 base::WeakPtrFactory<ServiceWorkerVersion> weak_factory_; |
248 | 262 |
249 DISALLOW_COPY_AND_ASSIGN(ServiceWorkerVersion); | 263 DISALLOW_COPY_AND_ASSIGN(ServiceWorkerVersion); |
250 }; | 264 }; |
251 | 265 |
252 } // namespace content | 266 } // namespace content |
253 | 267 |
254 #endif // CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_VERSION_H_ | 268 #endif // CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_VERSION_H_ |
OLD | NEW |