| 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_CONTEXT_CORE_H_ | 5 #ifndef CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_CONTEXT_CORE_H_ |
| 6 #define CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_CONTEXT_CORE_H_ | 6 #define CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_CONTEXT_CORE_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 51 // In chromium, there is one instance per storagepartition. This class | 51 // In chromium, there is one instance per storagepartition. This class |
| 52 // is the root of the containment hierarchy for service worker data | 52 // is the root of the containment hierarchy for service worker data |
| 53 // associated with a particular partition. | 53 // associated with a particular partition. |
| 54 class CONTENT_EXPORT ServiceWorkerContextCore | 54 class CONTENT_EXPORT ServiceWorkerContextCore |
| 55 : NON_EXPORTED_BASE(public ServiceWorkerVersion::Listener) { | 55 : NON_EXPORTED_BASE(public ServiceWorkerVersion::Listener) { |
| 56 public: | 56 public: |
| 57 typedef base::Callback<void(ServiceWorkerStatusCode status)> StatusCallback; | 57 typedef base::Callback<void(ServiceWorkerStatusCode status)> StatusCallback; |
| 58 typedef base::Callback<void(ServiceWorkerStatusCode status, | 58 typedef base::Callback<void(ServiceWorkerStatusCode status, |
| 59 const std::string& status_message, | 59 const std::string& status_message, |
| 60 int64 registration_id)> RegistrationCallback; | 60 int64 registration_id)> RegistrationCallback; |
| 61 typedef base::Callback<void(ServiceWorkerStatusCode status, |
| 62 const std::string& status_message, |
| 63 int64 registration_id)> UpdateCallback; |
| 61 typedef base::Callback< | 64 typedef base::Callback< |
| 62 void(ServiceWorkerStatusCode status)> UnregistrationCallback; | 65 void(ServiceWorkerStatusCode status)> UnregistrationCallback; |
| 63 typedef IDMap<ServiceWorkerProviderHost, IDMapOwnPointer> ProviderMap; | 66 typedef IDMap<ServiceWorkerProviderHost, IDMapOwnPointer> ProviderMap; |
| 64 typedef IDMap<ProviderMap, IDMapOwnPointer> ProcessToProviderMap; | 67 typedef IDMap<ProviderMap, IDMapOwnPointer> ProcessToProviderMap; |
| 65 | 68 |
| 66 using ProviderByClientUUIDMap = | 69 using ProviderByClientUUIDMap = |
| 67 std::map<std::string, ServiceWorkerProviderHost*>; | 70 std::map<std::string, ServiceWorkerProviderHost*>; |
| 68 | 71 |
| 69 // Directory for ServiceWorkerStorage and ServiceWorkerCacheManager. | 72 // Directory for ServiceWorkerStorage and ServiceWorkerCacheManager. |
| 70 static const base::FilePath::CharType kServiceWorkerDirectory[]; | 73 static const base::FilePath::CharType kServiceWorkerDirectory[]; |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 175 const RegistrationCallback& callback); | 178 const RegistrationCallback& callback); |
| 176 void UnregisterServiceWorker(const GURL& pattern, | 179 void UnregisterServiceWorker(const GURL& pattern, |
| 177 const UnregistrationCallback& callback); | 180 const UnregistrationCallback& callback); |
| 178 // Callback is called issued after all unregistrations occur. The Status | 181 // Callback is called issued after all unregistrations occur. The Status |
| 179 // is populated as SERVICE_WORKER_OK if all succeed, or SERVICE_WORKER_FAILED | 182 // is populated as SERVICE_WORKER_OK if all succeed, or SERVICE_WORKER_FAILED |
| 180 // if any did not succeed. | 183 // if any did not succeed. |
| 181 void UnregisterServiceWorkers(const GURL& origin, | 184 void UnregisterServiceWorkers(const GURL& origin, |
| 182 const UnregistrationCallback& callback); | 185 const UnregistrationCallback& callback); |
| 183 void UpdateServiceWorker(ServiceWorkerRegistration* registration, | 186 void UpdateServiceWorker(ServiceWorkerRegistration* registration, |
| 184 bool force_bypass_cache); | 187 bool force_bypass_cache); |
| 188 void UpdateServiceWorker(ServiceWorkerRegistration* registration, |
| 189 bool force_bypass_cache, |
| 190 ServiceWorkerProviderHost* provider_host, |
| 191 const UpdateCallback& callback); |
| 185 | 192 |
| 186 // This class maintains collections of live instances, this class | 193 // This class maintains collections of live instances, this class |
| 187 // does not own these object or influence their lifetime. | 194 // does not own these object or influence their lifetime. |
| 188 ServiceWorkerRegistration* GetLiveRegistration(int64 registration_id); | 195 ServiceWorkerRegistration* GetLiveRegistration(int64 registration_id); |
| 189 void AddLiveRegistration(ServiceWorkerRegistration* registration); | 196 void AddLiveRegistration(ServiceWorkerRegistration* registration); |
| 190 void RemoveLiveRegistration(int64 registration_id); | 197 void RemoveLiveRegistration(int64 registration_id); |
| 191 const std::map<int64, ServiceWorkerRegistration*>& GetLiveRegistrations() | 198 const std::map<int64, ServiceWorkerRegistration*>& GetLiveRegistrations() |
| 192 const { | 199 const { |
| 193 return live_registrations_; | 200 return live_registrations_; |
| 194 } | 201 } |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 238 ProviderMap* GetProviderMapForProcess(int process_id) { | 245 ProviderMap* GetProviderMapForProcess(int process_id) { |
| 239 return providers_->Lookup(process_id); | 246 return providers_->Lookup(process_id); |
| 240 } | 247 } |
| 241 | 248 |
| 242 void RegistrationComplete(const GURL& pattern, | 249 void RegistrationComplete(const GURL& pattern, |
| 243 const RegistrationCallback& callback, | 250 const RegistrationCallback& callback, |
| 244 ServiceWorkerStatusCode status, | 251 ServiceWorkerStatusCode status, |
| 245 const std::string& status_message, | 252 const std::string& status_message, |
| 246 ServiceWorkerRegistration* registration); | 253 ServiceWorkerRegistration* registration); |
| 247 | 254 |
| 255 void UpdateComplete(const UpdateCallback& callback, |
| 256 ServiceWorkerStatusCode status, |
| 257 const std::string& status_message, |
| 258 ServiceWorkerRegistration* registration); |
| 259 |
| 248 void UnregistrationComplete(const GURL& pattern, | 260 void UnregistrationComplete(const GURL& pattern, |
| 249 const UnregistrationCallback& callback, | 261 const UnregistrationCallback& callback, |
| 250 int64 registration_id, | 262 int64 registration_id, |
| 251 ServiceWorkerStatusCode status); | 263 ServiceWorkerStatusCode status); |
| 252 | 264 |
| 253 void DidGetAllRegistrationsForUnregisterForOrigin( | 265 void DidGetAllRegistrationsForUnregisterForOrigin( |
| 254 const UnregistrationCallback& result, | 266 const UnregistrationCallback& result, |
| 255 const GURL& origin, | 267 const GURL& origin, |
| 256 const std::vector<ServiceWorkerRegistrationInfo>& registrations); | 268 const std::vector<ServiceWorkerRegistrationInfo>& registrations); |
| 257 | 269 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 272 scoped_refptr<base::ObserverListThreadSafe<ServiceWorkerContextObserver>> | 284 scoped_refptr<base::ObserverListThreadSafe<ServiceWorkerContextObserver>> |
| 273 observer_list_; | 285 observer_list_; |
| 274 base::WeakPtrFactory<ServiceWorkerContextCore> weak_factory_; | 286 base::WeakPtrFactory<ServiceWorkerContextCore> weak_factory_; |
| 275 | 287 |
| 276 DISALLOW_COPY_AND_ASSIGN(ServiceWorkerContextCore); | 288 DISALLOW_COPY_AND_ASSIGN(ServiceWorkerContextCore); |
| 277 }; | 289 }; |
| 278 | 290 |
| 279 } // namespace content | 291 } // namespace content |
| 280 | 292 |
| 281 #endif // CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_CONTEXT_CORE_H_ | 293 #endif // CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_CONTEXT_CORE_H_ |
| OLD | NEW |