OLD | NEW |
---|---|
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 #ifndef WebServiceWorkerCacheStorage_h | 5 #ifndef WebServiceWorkerCacheStorage_h |
6 #define WebServiceWorkerCacheStorage_h | 6 #define WebServiceWorkerCacheStorage_h |
7 | 7 |
8 #include "WebCommon.h" | 8 #include "WebCommon.h" |
9 #include "public/platform/WebCallbacks.h" | 9 #include "public/platform/WebCallbacks.h" |
10 #include "public/platform/WebServiceWorkerCacheError.h" | 10 #include "public/platform/WebServiceWorkerCacheError.h" |
11 #include "public/platform/WebString.h" | 11 #include "public/platform/WebString.h" |
12 #include "public/platform/WebVector.h" | 12 #include "public/platform/WebVector.h" |
13 | 13 |
14 namespace blink { | 14 namespace blink { |
15 | 15 |
16 class WebServiceWorkerCache; | 16 class WebServiceWorkerCache; |
17 | 17 |
18 // An interface to the CacheStorage API, implemented by the embedder and passed in to blink. Blink's implementation | 18 // An interface to the CacheStorage API, implemented by the embedder and passed in to Blink. Blink's implementation |
19 // of the ServiceWorker spec will call these methods to create/open caches, and expect callbacks from the embedder | 19 // of the ServiceWorker spec will call these methods to create/open caches, and expect callbacks from the embedder |
20 // after operations complete. | 20 // after operations complete. |
21 class WebServiceWorkerCacheStorage { | 21 class WebServiceWorkerCacheStorage { |
22 public: | 22 public: |
23 typedef WebCallbacks<void, WebServiceWorkerCacheError> CacheStorageCallbacks ; | 23 typedef WebCallbacks<void, WebServiceWorkerCacheError> CacheStorageCallbacks ; |
24 typedef WebCallbacks<WebServiceWorkerCache, WebServiceWorkerCacheError> Cach eStorageWithCacheCallbacks; | 24 typedef WebCallbacks<WebServiceWorkerCache, WebServiceWorkerCacheError> Cach eStorageWithCacheCallbacks; |
25 typedef WebCallbacks<WebVector<WebString>, WebServiceWorkerCacheError> Cache StorageKeysCallbacks; | 25 typedef WebCallbacks<WebVector<WebString>, WebServiceWorkerCacheError> Cache StorageKeysCallbacks; |
26 | 26 |
27 virtual ~WebServiceWorkerCacheStorage() { } | 27 virtual ~WebServiceWorkerCacheStorage() { } |
28 | 28 |
29 // Ownership of the CacheStorage*Callbacks methods passes to the WebServiceW orkerCacheStorage | 29 // Ownership of the CacheStorage*Callbacks methods passes to the WebServiceW orkerCacheStorage instance, which |
30 // instance, which will delete it after calling onSuccess or onFailure. | 30 // will delete it after calling onSuccess or onFailure. |
31 | |
32 // dispatchGet() or dispatchCreate() can return a WebServiceWorkerCache obje ct, and these objects are owned by | |
33 // Blink, and should be destroyed when they are no longer needed. However, t he implementation also will return | |
34 // the same WebServiceWorkerCache* object if the user opens the same Cache a gain. | |
dominicc (has gone to gerrit)
2014/08/15 06:20:24
This seems fraught; how is the ownership transferr
gavinp
2014/08/19 21:09:37
I think we spoke about this offline: if the blink
| |
31 virtual void dispatchGet(CacheStorageWithCacheCallbacks*, const WebString& c acheName) = 0; | 35 virtual void dispatchGet(CacheStorageWithCacheCallbacks*, const WebString& c acheName) = 0; |
32 virtual void dispatchHas(CacheStorageCallbacks*, const WebString& cacheName) = 0; | 36 virtual void dispatchHas(CacheStorageCallbacks*, const WebString& cacheName) = 0; |
33 virtual void dispatchCreate(CacheStorageWithCacheCallbacks*, const WebString & cacheName) = 0; | 37 virtual void dispatchCreate(CacheStorageWithCacheCallbacks*, const WebString & cacheName) = 0; |
34 virtual void dispatchDelete(CacheStorageCallbacks*, const WebString& cacheNa me) = 0; | 38 virtual void dispatchDelete(CacheStorageCallbacks*, const WebString& cacheNa me) = 0; |
35 virtual void dispatchKeys(CacheStorageKeysCallbacks*) = 0; | 39 virtual void dispatchKeys(CacheStorageKeysCallbacks*) = 0; |
36 }; | 40 }; |
37 | 41 |
38 } // namespace blink | 42 } // namespace blink |
39 | 43 |
40 #endif // WebServiceWorkerCacheStorage_h | 44 #endif // WebServiceWorkerCacheStorage_h |
OLD | NEW |