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

Side by Side Diff: Source/modules/cachestorage/CacheStorage.h

Issue 1183373006: Promptly finalize CacheStorage's embedder object. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 6 months 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | Source/modules/cachestorage/CacheStorage.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 CacheStorage_h 5 #ifndef CacheStorage_h
6 #define CacheStorage_h 6 #define CacheStorage_h
7 7
8 #include "bindings/core/v8/ScriptPromise.h" 8 #include "bindings/core/v8/ScriptPromise.h"
9 #include "bindings/core/v8/ScriptState.h" 9 #include "bindings/core/v8/ScriptState.h"
10 #include "bindings/core/v8/ScriptWrappable.h" 10 #include "bindings/core/v8/ScriptWrappable.h"
11 #include "modules/cachestorage/Cache.h" 11 #include "modules/cachestorage/Cache.h"
12 #include "modules/cachestorage/CacheQueryOptions.h" 12 #include "modules/cachestorage/CacheQueryOptions.h"
13 #include "modules/fetch/GlobalFetch.h" 13 #include "modules/fetch/GlobalFetch.h"
14 #include "public/platform/WebServiceWorkerCacheStorage.h" 14 #include "public/platform/WebServiceWorkerCacheStorage.h"
15 #include "wtf/Forward.h" 15 #include "wtf/Forward.h"
16 #include "wtf/HashMap.h" 16 #include "wtf/HashMap.h"
17 #include "wtf/Noncopyable.h" 17 #include "wtf/Noncopyable.h"
18 18
19 namespace blink { 19 namespace blink {
20 20
21 class Cache; 21 class Cache;
22 class WebServiceWorkerCacheStorage; 22 class WebServiceWorkerCacheStorage;
23 23
24 class CacheStorage final : public GarbageCollectedFinalized<CacheStorage>, publi c ScriptWrappable { 24 class CacheStorage final : public GarbageCollectedFinalized<CacheStorage>, publi c ScriptWrappable {
25 DEFINE_WRAPPERTYPEINFO(); 25 DEFINE_WRAPPERTYPEINFO();
26 WTF_MAKE_NONCOPYABLE(CacheStorage); 26 WTF_MAKE_NONCOPYABLE(CacheStorage);
27 public: 27 public:
28 static CacheStorage* create(WeakPtr<GlobalFetch::ScopedFetcher>, WebServiceW orkerCacheStorage*); 28 static CacheStorage* create(WeakPtr<GlobalFetch::ScopedFetcher>, WebServiceW orkerCacheStorage*);
29 ~CacheStorage();
30 void dispose();
29 31
30 ScriptPromise open(ScriptState*, const String& cacheName); 32 ScriptPromise open(ScriptState*, const String& cacheName);
31 ScriptPromise has(ScriptState*, const String& cacheName); 33 ScriptPromise has(ScriptState*, const String& cacheName);
32 ScriptPromise deleteFunction(ScriptState*, const String& cacheName); 34 ScriptPromise deleteFunction(ScriptState*, const String& cacheName);
33 ScriptPromise keys(ScriptState*); 35 ScriptPromise keys(ScriptState*);
34 ScriptPromise match(ScriptState*, const RequestInfo&, const CacheQueryOption s&, ExceptionState&); 36 ScriptPromise match(ScriptState*, const RequestInfo&, const CacheQueryOption s&, ExceptionState&);
35 37
36
37 DECLARE_TRACE(); 38 DECLARE_TRACE();
38 39
39 private: 40 private:
40 class Callbacks; 41 class Callbacks;
41 class WithCacheCallbacks; 42 class WithCacheCallbacks;
42 class DeleteCallbacks; 43 class DeleteCallbacks;
43 class KeysCallbacks; 44 class KeysCallbacks;
44 class MatchCallbacks; 45 class MatchCallbacks;
45 46
46 friend class WithCacheCallbacks; 47 friend class WithCacheCallbacks;
47 friend class DeleteCallbacks; 48 friend class DeleteCallbacks;
48 49
49 CacheStorage(WeakPtr<GlobalFetch::ScopedFetcher>, PassOwnPtr<WebServiceWorke rCacheStorage>); 50 CacheStorage(WeakPtr<GlobalFetch::ScopedFetcher>, PassOwnPtr<WebServiceWorke rCacheStorage>);
50 ScriptPromise matchImpl(ScriptState*, const Request*, const CacheQueryOption s&); 51 ScriptPromise matchImpl(ScriptState*, const Request*, const CacheQueryOption s&);
51 52
52 WeakPtr<GlobalFetch::ScopedFetcher> m_scopedFetcher; 53 WeakPtr<GlobalFetch::ScopedFetcher> m_scopedFetcher;
53 OwnPtr<WebServiceWorkerCacheStorage> m_webCacheStorage; 54 OwnPtr<WebServiceWorkerCacheStorage> m_webCacheStorage;
54 HeapHashMap<String, Member<Cache>> m_nameToCacheMap; 55 HeapHashMap<String, Member<Cache>> m_nameToCacheMap;
55 }; 56 };
56 57
57 } // namespace blink 58 } // namespace blink
58 59
59 #endif // CacheStorage_h 60 #endif // CacheStorage_h
OLDNEW
« no previous file with comments | « no previous file | Source/modules/cachestorage/CacheStorage.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698