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

Side by Side Diff: Source/modules/serviceworkers/Cache.h

Issue 433793002: Introducing the WebServiceWorkerCache. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: improve and pass tests Created 6 years, 3 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 Cache_h 5 #ifndef Cache_h
6 #define Cache_h 6 #define Cache_h
7 7
8 #include "bindings/core/v8/ScriptPromise.h" 8 #include "bindings/core/v8/ScriptPromise.h"
9 #include "bindings/core/v8/ScriptWrappable.h" 9 #include "bindings/core/v8/ScriptWrappable.h"
10 #include "core/dom/DOMException.h" 10 #include "core/dom/DOMException.h"
11 #include "public/platform/WebServiceWorkerCache.h"
11 #include "public/platform/WebServiceWorkerCacheError.h" 12 #include "public/platform/WebServiceWorkerCacheError.h"
12 #include "wtf/Forward.h" 13 #include "wtf/Forward.h"
13 #include "wtf/Noncopyable.h" 14 #include "wtf/Noncopyable.h"
15 #include "wtf/OwnPtr.h"
14 #include "wtf/Vector.h" 16 #include "wtf/Vector.h"
15 #include "wtf/text/WTFString.h" 17 #include "wtf/text/WTFString.h"
16 #include <v8.h> 18 #include <v8.h>
dominicc (has gone to gerrit) 2014/09/17 12:53:58 Why is this include needed?
gavinp 2014/09/17 15:41:52 It's been there from the start; likely for no good
17 19
18 namespace blink { 20 namespace blink {
19 21
20 class Dictionary; 22 class Dictionary;
21 class Response; 23 class Response;
22 class Request; 24 class Request;
23 class ScriptState; 25 class ScriptState;
24 class WebServiceWorkerCache; 26 class WebServiceWorkerCache;
dominicc (has gone to gerrit) 2014/09/17 12:53:58 This might be redundant with the new include.
gavinp 2014/09/17 15:41:53 Done.
25 27
26 class Cache FINAL : public GarbageCollected<Cache>, public ScriptWrappable { 28 class Cache FINAL : public GarbageCollectedFinalized<Cache>, public ScriptWrappa ble, public WebServiceWorkerCache::ProxyInterface {
27 DEFINE_WRAPPERTYPEINFO(); 29 DEFINE_WRAPPERTYPEINFO();
28 WTF_MAKE_NONCOPYABLE(Cache); 30 WTF_MAKE_NONCOPYABLE(Cache);
29 public: 31 public:
30 static Cache* fromWebServiceWorkerCache(WebServiceWorkerCache*); 32 static Cache* fromWebServiceWorkerCache(WebServiceWorkerCache*);
31 33
32 // From Cache.idl: 34 // From Cache.idl:
33 ScriptPromise match(ScriptState*, Request*, const Dictionary& queryParams); 35 ScriptPromise match(ScriptState*, Request*, const Dictionary& queryParams);
34 ScriptPromise match(ScriptState*, const String&, const Dictionary& queryPara ms); 36 ScriptPromise match(ScriptState*, const String&, const Dictionary& queryPara ms);
35 ScriptPromise matchAll(ScriptState*, Request*, const Dictionary& queryParams ); 37 ScriptPromise matchAll(ScriptState*, Request*, const Dictionary& queryParams );
36 ScriptPromise matchAll(ScriptState*, const String&, const Dictionary& queryP arams); 38 ScriptPromise matchAll(ScriptState*, const String&, const Dictionary& queryP arams);
37 ScriptPromise add(ScriptState*, Request*); 39 ScriptPromise add(ScriptState*, Request*);
38 ScriptPromise add(ScriptState*, const String&); 40 ScriptPromise add(ScriptState*, const String&);
39 ScriptPromise addAll(ScriptState*, const Vector<ScriptValue>&); 41 ScriptPromise addAll(ScriptState*, const Vector<ScriptValue>&);
40 ScriptPromise deleteFunction(ScriptState*, Request*, const Dictionary& query Params); 42 ScriptPromise deleteFunction(ScriptState*, Request*, const Dictionary& query Params);
41 ScriptPromise deleteFunction(ScriptState*, const String&, const Dictionary& queryParams); 43 ScriptPromise deleteFunction(ScriptState*, const String&, const Dictionary& queryParams);
42 ScriptPromise put(ScriptState*, Request*, Response*); 44 ScriptPromise put(ScriptState*, Request*, const Response*);
43 ScriptPromise put(ScriptState*, const String&, Response*); 45 ScriptPromise put(ScriptState*, const String&, const Response*);
44 ScriptPromise keys(ScriptState*); 46 ScriptPromise keys(ScriptState*);
45 ScriptPromise keys(ScriptState*, Request*, const Dictionary& queryParams); 47 ScriptPromise keys(ScriptState*, Request*, const Dictionary& queryParams);
46 ScriptPromise keys(ScriptState*, const String&, const Dictionary& queryParam s); 48 ScriptPromise keys(ScriptState*, const String&, const Dictionary& queryParam s);
47 49
48 void trace(Visitor*) { } 50 void trace(Visitor*) { }
49 51
50 static PassRefPtrWillBeRawPtr<DOMException> domExceptionForCacheError(WebSer viceWorkerCacheError); 52 static PassRefPtrWillBeRawPtr<DOMException> domExceptionForCacheError(WebSer viceWorkerCacheError);
51 53
52 private: 54 private:
53 explicit Cache(WebServiceWorkerCache* webCache); 55 explicit Cache(WebServiceWorkerCache*);
54 56
55 WebServiceWorkerCache const* ALLOW_UNUSED m_webCache; 57 static Cache* create(WebServiceWorkerCache*);
58
59 ScriptPromise matchImpl(ScriptState*, Request*, const Dictionary& queryParam s);
60 ScriptPromise matchAllImpl(ScriptState*, Request*, const Dictionary& queryPa rams);
61 ScriptPromise addImpl(ScriptState*, Request*);
62 ScriptPromise addAllImpl(ScriptState*, Vector<Request*>);
63 ScriptPromise deleteImpl(ScriptState*, Request*, const Dictionary& queryPara ms);
64 ScriptPromise putImpl(ScriptState*, Request*, const Response*);
65 ScriptPromise keysImpl(ScriptState*);
66 ScriptPromise keysImpl(ScriptState*, Request*, const Dictionary& queryParams );
67
68 OwnPtr<WebServiceWorkerCache> m_webCache;
56 }; 69 };
57 70
58 } // namespace blink 71 } // namespace blink
59 72
60 #endif // Cache_h 73 #endif // Cache_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698