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

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

Issue 1177983007: Cache Storage: restrict access to secure origins (Blink-side) (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: DevTools: Skip enumeration if access denied Created 5 years, 4 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
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 static bool canAccessCacheStorage(ExecutionContext*, String* errorMessage = nullptr);
30
29 ~CacheStorage(); 31 ~CacheStorage();
30 void dispose(); 32 void dispose();
31 33
32 ScriptPromise open(ScriptState*, const String& cacheName); 34 ScriptPromise open(ScriptState*, const String& cacheName, ExceptionState&);
33 ScriptPromise has(ScriptState*, const String& cacheName); 35 ScriptPromise has(ScriptState*, const String& cacheName, ExceptionState&);
34 ScriptPromise deleteFunction(ScriptState*, const String& cacheName); 36 ScriptPromise deleteFunction(ScriptState*, const String& cacheName, Exceptio nState&);
35 ScriptPromise keys(ScriptState*); 37 ScriptPromise keys(ScriptState*, ExceptionState&);
36 ScriptPromise match(ScriptState*, const RequestInfo&, const CacheQueryOption s&, ExceptionState&); 38 ScriptPromise match(ScriptState*, const RequestInfo&, const CacheQueryOption s&, ExceptionState&);
37 39
38 DECLARE_TRACE(); 40 DECLARE_TRACE();
39 41
40 private: 42 private:
41 class Callbacks; 43 class Callbacks;
42 class WithCacheCallbacks; 44 class WithCacheCallbacks;
43 class DeleteCallbacks; 45 class DeleteCallbacks;
44 class KeysCallbacks; 46 class KeysCallbacks;
45 class MatchCallbacks; 47 class MatchCallbacks;
46 48
47 friend class WithCacheCallbacks; 49 friend class WithCacheCallbacks;
48 friend class DeleteCallbacks; 50 friend class DeleteCallbacks;
49 51
50 CacheStorage(WeakPtr<GlobalFetch::ScopedFetcher>, PassOwnPtr<WebServiceWorke rCacheStorage>); 52 CacheStorage(WeakPtr<GlobalFetch::ScopedFetcher>, PassOwnPtr<WebServiceWorke rCacheStorage>);
51 ScriptPromise matchImpl(ScriptState*, const Request*, const CacheQueryOption s&); 53 ScriptPromise matchImpl(ScriptState*, const Request*, const CacheQueryOption s&);
52 54
53 WeakPtr<GlobalFetch::ScopedFetcher> m_scopedFetcher; 55 WeakPtr<GlobalFetch::ScopedFetcher> m_scopedFetcher;
54 OwnPtr<WebServiceWorkerCacheStorage> m_webCacheStorage; 56 OwnPtr<WebServiceWorkerCacheStorage> m_webCacheStorage;
55 HeapHashMap<String, Member<Cache>> m_nameToCacheMap; 57 HeapHashMap<String, Member<Cache>> m_nameToCacheMap;
56 }; 58 };
57 59
58 } // namespace blink 60 } // namespace blink
59 61
60 #endif // CacheStorage_h 62 #endif // CacheStorage_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698