| 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_WRAPPER_H_ | 5 #ifndef CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_CONTEXT_WRAPPER_H_ |
| 6 #define CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_CONTEXT_WRAPPER_H_ | 6 #define CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_CONTEXT_WRAPPER_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 } | 27 } |
| 28 | 28 |
| 29 namespace storage { | 29 namespace storage { |
| 30 class QuotaManagerProxy; | 30 class QuotaManagerProxy; |
| 31 class SpecialStoragePolicy; | 31 class SpecialStoragePolicy; |
| 32 } | 32 } |
| 33 | 33 |
| 34 namespace content { | 34 namespace content { |
| 35 | 35 |
| 36 class BrowserContext; | 36 class BrowserContext; |
| 37 class ChromeBlobStorageContext; |
| 37 class ResourceContext; | 38 class ResourceContext; |
| 38 class ServiceWorkerContextObserver; | 39 class ServiceWorkerContextObserver; |
| 39 class StoragePartitionImpl; | 40 class StoragePartitionImpl; |
| 41 class URLLoaderFactoryGetter; |
| 40 | 42 |
| 41 // A refcounted wrapper class for our core object. Higher level content lib | 43 // A refcounted wrapper class for our core object. Higher level content lib |
| 42 // classes keep references to this class on mutliple threads. The inner core | 44 // classes keep references to this class on mutliple threads. The inner core |
| 43 // instance is strictly single threaded and is not refcounted, the core object | 45 // instance is strictly single threaded and is not refcounted, the core object |
| 44 // is what is used internally in the service worker lib. | 46 // is what is used internally in the service worker lib. |
| 45 class CONTENT_EXPORT ServiceWorkerContextWrapper | 47 class CONTENT_EXPORT ServiceWorkerContextWrapper |
| 46 : NON_EXPORTED_BASE(public ServiceWorkerContext), | 48 : NON_EXPORTED_BASE(public ServiceWorkerContext), |
| 47 public ServiceWorkerContextCoreObserver, | 49 public ServiceWorkerContextCoreObserver, |
| 48 public base::RefCountedThreadSafe<ServiceWorkerContextWrapper> { | 50 public base::RefCountedThreadSafe<ServiceWorkerContextWrapper> { |
| 49 public: | 51 public: |
| 50 using StatusCallback = base::Callback<void(ServiceWorkerStatusCode)>; | 52 using StatusCallback = base::Callback<void(ServiceWorkerStatusCode)>; |
| 51 using BoolCallback = base::Callback<void(bool)>; | 53 using BoolCallback = base::Callback<void(bool)>; |
| 52 using FindRegistrationCallback = | 54 using FindRegistrationCallback = |
| 53 ServiceWorkerStorage::FindRegistrationCallback; | 55 ServiceWorkerStorage::FindRegistrationCallback; |
| 54 using GetRegistrationsInfosCallback = | 56 using GetRegistrationsInfosCallback = |
| 55 ServiceWorkerStorage::GetRegistrationsInfosCallback; | 57 ServiceWorkerStorage::GetRegistrationsInfosCallback; |
| 56 using GetUserDataCallback = ServiceWorkerStorage::GetUserDataCallback; | 58 using GetUserDataCallback = ServiceWorkerStorage::GetUserDataCallback; |
| 57 using GetUserDataForAllRegistrationsCallback = | 59 using GetUserDataForAllRegistrationsCallback = |
| 58 ServiceWorkerStorage::GetUserDataForAllRegistrationsCallback; | 60 ServiceWorkerStorage::GetUserDataForAllRegistrationsCallback; |
| 59 | 61 |
| 60 ServiceWorkerContextWrapper(BrowserContext* browser_context); | 62 ServiceWorkerContextWrapper(BrowserContext* browser_context); |
| 61 | 63 |
| 62 // Init and Shutdown are for use on the UI thread when the profile, | 64 // Init and Shutdown are for use on the UI thread when the profile, |
| 63 // storagepartition is being setup and torn down. | 65 // storagepartition is being setup and torn down. |
| 66 // |blob_context| and |url_loader_factory_getter| are used only |
| 67 // when IsServicificationEnabled is true. |
| 64 void Init(const base::FilePath& user_data_directory, | 68 void Init(const base::FilePath& user_data_directory, |
| 65 storage::QuotaManagerProxy* quota_manager_proxy, | 69 storage::QuotaManagerProxy* quota_manager_proxy, |
| 66 storage::SpecialStoragePolicy* special_storage_policy); | 70 storage::SpecialStoragePolicy* special_storage_policy, |
| 71 ChromeBlobStorageContext* blob_context, |
| 72 URLLoaderFactoryGetter* url_loader_factory_getter); |
| 67 void Shutdown(); | 73 void Shutdown(); |
| 68 | 74 |
| 69 // Must be called on the IO thread. | 75 // Must be called on the IO thread. |
| 70 void InitializeResourceContext(ResourceContext* resource_context); | 76 void InitializeResourceContext(ResourceContext* resource_context); |
| 71 | 77 |
| 72 // Deletes all files on disk and restarts the system asynchronously. This | 78 // Deletes all files on disk and restarts the system asynchronously. This |
| 73 // leaves the system in a disabled state until it's done. This should be | 79 // leaves the system in a disabled state until it's done. This should be |
| 74 // called on the IO thread. | 80 // called on the IO thread. |
| 75 void DeleteAndStartOver(); | 81 void DeleteAndStartOver(); |
| 76 | 82 |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 258 friend class ServiceWorkerVersionBrowserTest; | 264 friend class ServiceWorkerVersionBrowserTest; |
| 259 friend class MockServiceWorkerContextWrapper; | 265 friend class MockServiceWorkerContextWrapper; |
| 260 | 266 |
| 261 ~ServiceWorkerContextWrapper() override; | 267 ~ServiceWorkerContextWrapper() override; |
| 262 | 268 |
| 263 void InitInternal( | 269 void InitInternal( |
| 264 const base::FilePath& user_data_directory, | 270 const base::FilePath& user_data_directory, |
| 265 std::unique_ptr<ServiceWorkerDatabaseTaskManager> database_task_manager, | 271 std::unique_ptr<ServiceWorkerDatabaseTaskManager> database_task_manager, |
| 266 const scoped_refptr<base::SingleThreadTaskRunner>& disk_cache_thread, | 272 const scoped_refptr<base::SingleThreadTaskRunner>& disk_cache_thread, |
| 267 storage::QuotaManagerProxy* quota_manager_proxy, | 273 storage::QuotaManagerProxy* quota_manager_proxy, |
| 268 storage::SpecialStoragePolicy* special_storage_policy); | 274 storage::SpecialStoragePolicy* special_storage_policy, |
| 275 ChromeBlobStorageContext* blob_context, |
| 276 URLLoaderFactoryGetter* url_loader_factory_getter); |
| 269 void ShutdownOnIO(); | 277 void ShutdownOnIO(); |
| 270 | 278 |
| 271 void DidFindRegistrationForFindReady( | 279 void DidFindRegistrationForFindReady( |
| 272 const FindRegistrationCallback& callback, | 280 const FindRegistrationCallback& callback, |
| 273 ServiceWorkerStatusCode status, | 281 ServiceWorkerStatusCode status, |
| 274 scoped_refptr<ServiceWorkerRegistration> registration); | 282 scoped_refptr<ServiceWorkerRegistration> registration); |
| 275 void OnStatusChangedForFindReadyRegistration( | 283 void OnStatusChangedForFindReadyRegistration( |
| 276 const FindRegistrationCallback& callback, | 284 const FindRegistrationCallback& callback, |
| 277 scoped_refptr<ServiceWorkerRegistration> registration); | 285 scoped_refptr<ServiceWorkerRegistration> registration); |
| 278 | 286 |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 331 | 339 |
| 332 // The ResourceContext associated with this context. | 340 // The ResourceContext associated with this context. |
| 333 ResourceContext* resource_context_; | 341 ResourceContext* resource_context_; |
| 334 | 342 |
| 335 DISALLOW_COPY_AND_ASSIGN(ServiceWorkerContextWrapper); | 343 DISALLOW_COPY_AND_ASSIGN(ServiceWorkerContextWrapper); |
| 336 }; | 344 }; |
| 337 | 345 |
| 338 } // namespace content | 346 } // namespace content |
| 339 | 347 |
| 340 #endif // CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_CONTEXT_WRAPPER_H_ | 348 #endif // CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_CONTEXT_WRAPPER_H_ |
| OLD | NEW |