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

Side by Side Diff: third_party/WebKit/Source/modules/cachestorage/CacheStorage.cpp

Issue 1773813007: blink: Rename modules/ method to prefix with get when they collide. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: clash-modules: rebase-fixes Created 4 years, 9 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
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 #include "modules/cachestorage/CacheStorage.h" 5 #include "modules/cachestorage/CacheStorage.h"
6 6
7 #include "bindings/core/v8/ScriptPromiseResolver.h" 7 #include "bindings/core/v8/ScriptPromiseResolver.h"
8 #include "bindings/core/v8/ScriptState.h" 8 #include "bindings/core/v8/ScriptState.h"
9 #include "core/dom/DOMException.h" 9 #include "core/dom/DOMException.h"
10 #include "core/dom/ExceptionCode.h" 10 #include "core/dom/ExceptionCode.h"
11 #include "core/inspector/ConsoleMessage.h" 11 #include "core/inspector/ConsoleMessage.h"
12 #include "modules/cachestorage/CacheStorageError.h" 12 #include "modules/cachestorage/CacheStorageError.h"
13 #include "modules/fetch/Request.h" 13 #include "modules/fetch/Request.h"
14 #include "modules/fetch/Response.h" 14 #include "modules/fetch/Response.h"
15 #include "platform/RuntimeEnabledFeatures.h" 15 #include "platform/RuntimeEnabledFeatures.h"
16 #include "public/platform/modules/serviceworker/WebServiceWorkerCacheError.h" 16 #include "public/platform/modules/serviceworker/WebServiceWorkerCacheError.h"
17 #include "public/platform/modules/serviceworker/WebServiceWorkerCacheStorage.h" 17 #include "public/platform/modules/serviceworker/WebServiceWorkerCacheStorage.h"
18 18
19 namespace blink { 19 namespace blink {
20 20
21 namespace { 21 namespace {
22 22
23 DOMException* createNoImplementationException() 23 DOMException* createNoImplementationException()
24 { 24 {
25 return DOMException::create(NotSupportedError, "No CacheStorage implementati on provided."); 25 return DOMException::create(NotSupportedError, "No CacheStorage implementati on provided.");
26 } 26 }
27 27
28 bool commonChecks(ScriptState* scriptState, ExceptionState& exceptionState) 28 bool commonChecks(ScriptState* scriptState, ExceptionState& exceptionState)
29 { 29 {
30 ExecutionContext* executionContext = scriptState->executionContext(); 30 ExecutionContext* executionContext = scriptState->getExecutionContext();
31 // FIXME: May be null due to worker termination: http://crbug.com/413518. 31 // FIXME: May be null due to worker termination: http://crbug.com/413518.
32 if (!executionContext) 32 if (!executionContext)
33 return false; 33 return false;
34 34
35 String errorMessage; 35 String errorMessage;
36 if (!executionContext->isSecureContext(errorMessage)) { 36 if (!executionContext->isSecureContext(errorMessage)) {
37 exceptionState.throwSecurityError(errorMessage); 37 exceptionState.throwSecurityError(errorMessage);
38 return false; 38 return false;
39 } 39 }
40 return true; 40 return true;
(...skipping 14 matching lines...) Expand all
55 // FIXME: Consider using CallbackPromiseAdapter. 55 // FIXME: Consider using CallbackPromiseAdapter.
56 class CacheStorage::Callbacks final : public WebServiceWorkerCacheStorage::Cache StorageCallbacks { 56 class CacheStorage::Callbacks final : public WebServiceWorkerCacheStorage::Cache StorageCallbacks {
57 WTF_MAKE_NONCOPYABLE(Callbacks); 57 WTF_MAKE_NONCOPYABLE(Callbacks);
58 public: 58 public:
59 explicit Callbacks(ScriptPromiseResolver* resolver) 59 explicit Callbacks(ScriptPromiseResolver* resolver)
60 : m_resolver(resolver) { } 60 : m_resolver(resolver) { }
61 ~Callbacks() override { } 61 ~Callbacks() override { }
62 62
63 void onSuccess() override 63 void onSuccess() override
64 { 64 {
65 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 65 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
66 return; 66 return;
67 m_resolver->resolve(true); 67 m_resolver->resolve(true);
68 m_resolver.clear(); 68 m_resolver.clear();
69 } 69 }
70 70
71 void onError(WebServiceWorkerCacheError reason) override 71 void onError(WebServiceWorkerCacheError reason) override
72 { 72 {
73 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 73 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
74 return; 74 return;
75 if (reason == WebServiceWorkerCacheErrorNotFound) 75 if (reason == WebServiceWorkerCacheErrorNotFound)
76 m_resolver->resolve(false); 76 m_resolver->resolve(false);
77 else 77 else
78 m_resolver->reject(CacheStorageError::createException(reason)); 78 m_resolver->reject(CacheStorageError::createException(reason));
79 m_resolver.clear(); 79 m_resolver.clear();
80 } 80 }
81 81
82 private: 82 private:
83 Persistent<ScriptPromiseResolver> m_resolver; 83 Persistent<ScriptPromiseResolver> m_resolver;
84 }; 84 };
85 85
86 // FIXME: Consider using CallbackPromiseAdapter. 86 // FIXME: Consider using CallbackPromiseAdapter.
87 class CacheStorage::WithCacheCallbacks final : public WebServiceWorkerCacheStora ge::CacheStorageWithCacheCallbacks { 87 class CacheStorage::WithCacheCallbacks final : public WebServiceWorkerCacheStora ge::CacheStorageWithCacheCallbacks {
88 WTF_MAKE_NONCOPYABLE(WithCacheCallbacks); 88 WTF_MAKE_NONCOPYABLE(WithCacheCallbacks);
89 public: 89 public:
90 WithCacheCallbacks(const String& cacheName, CacheStorage* cacheStorage, Scri ptPromiseResolver* resolver) 90 WithCacheCallbacks(const String& cacheName, CacheStorage* cacheStorage, Scri ptPromiseResolver* resolver)
91 : m_cacheName(cacheName), m_cacheStorage(cacheStorage), m_resolver(resol ver) { } 91 : m_cacheName(cacheName), m_cacheStorage(cacheStorage), m_resolver(resol ver) { }
92 ~WithCacheCallbacks() override { } 92 ~WithCacheCallbacks() override { }
93 93
94 void onSuccess(WebPassOwnPtr<WebServiceWorkerCache> webCache) override 94 void onSuccess(WebPassOwnPtr<WebServiceWorkerCache> webCache) override
95 { 95 {
96 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 96 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
97 return; 97 return;
98 Cache* cache = Cache::create(m_cacheStorage->m_scopedFetcher, webCache.r elease()); 98 Cache* cache = Cache::create(m_cacheStorage->m_scopedFetcher, webCache.r elease());
99 m_cacheStorage->m_nameToCacheMap.set(m_cacheName, cache); 99 m_cacheStorage->m_nameToCacheMap.set(m_cacheName, cache);
100 m_resolver->resolve(cache); 100 m_resolver->resolve(cache);
101 m_resolver.clear(); 101 m_resolver.clear();
102 } 102 }
103 103
104 void onError(WebServiceWorkerCacheError reason) override 104 void onError(WebServiceWorkerCacheError reason) override
105 { 105 {
106 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 106 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
107 return; 107 return;
108 if (reason == WebServiceWorkerCacheErrorNotFound) 108 if (reason == WebServiceWorkerCacheErrorNotFound)
109 m_resolver->resolve(); 109 m_resolver->resolve();
110 else 110 else
111 m_resolver->reject(CacheStorageError::createException(reason)); 111 m_resolver->reject(CacheStorageError::createException(reason));
112 m_resolver.clear(); 112 m_resolver.clear();
113 } 113 }
114 114
115 private: 115 private:
116 String m_cacheName; 116 String m_cacheName;
117 Persistent<CacheStorage> m_cacheStorage; 117 Persistent<CacheStorage> m_cacheStorage;
118 Persistent<ScriptPromiseResolver> m_resolver; 118 Persistent<ScriptPromiseResolver> m_resolver;
119 }; 119 };
120 120
121 // FIXME: Consider using CallbackPromiseAdapter. 121 // FIXME: Consider using CallbackPromiseAdapter.
122 class CacheStorage::MatchCallbacks : public WebServiceWorkerCacheStorage::CacheS torageMatchCallbacks { 122 class CacheStorage::MatchCallbacks : public WebServiceWorkerCacheStorage::CacheS torageMatchCallbacks {
123 WTF_MAKE_NONCOPYABLE(MatchCallbacks); 123 WTF_MAKE_NONCOPYABLE(MatchCallbacks);
124 public: 124 public:
125 explicit MatchCallbacks(ScriptPromiseResolver* resolver) 125 explicit MatchCallbacks(ScriptPromiseResolver* resolver)
126 : m_resolver(resolver) { } 126 : m_resolver(resolver) { }
127 127
128 void onSuccess(const WebServiceWorkerResponse& webResponse) override 128 void onSuccess(const WebServiceWorkerResponse& webResponse) override
129 { 129 {
130 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 130 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
131 return; 131 return;
132 m_resolver->resolve(Response::create(m_resolver->scriptState()->executio nContext(), webResponse)); 132 m_resolver->resolve(Response::create(m_resolver->getScriptState()->getEx ecutionContext(), webResponse));
133 m_resolver.clear(); 133 m_resolver.clear();
134 } 134 }
135 135
136 void onError(WebServiceWorkerCacheError reason) override 136 void onError(WebServiceWorkerCacheError reason) override
137 { 137 {
138 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 138 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
139 return; 139 return;
140 if (reason == WebServiceWorkerCacheErrorNotFound) 140 if (reason == WebServiceWorkerCacheErrorNotFound)
141 m_resolver->resolve(); 141 m_resolver->resolve();
142 else 142 else
143 m_resolver->reject(CacheStorageError::createException(reason)); 143 m_resolver->reject(CacheStorageError::createException(reason));
144 m_resolver.clear(); 144 m_resolver.clear();
145 } 145 }
146 146
147 private: 147 private:
148 Persistent<ScriptPromiseResolver> m_resolver; 148 Persistent<ScriptPromiseResolver> m_resolver;
149 }; 149 };
150 150
151 151
152 // FIXME: Consider using CallbackPromiseAdapter. 152 // FIXME: Consider using CallbackPromiseAdapter.
153 class CacheStorage::DeleteCallbacks final : public WebServiceWorkerCacheStorage: :CacheStorageCallbacks { 153 class CacheStorage::DeleteCallbacks final : public WebServiceWorkerCacheStorage: :CacheStorageCallbacks {
154 WTF_MAKE_NONCOPYABLE(DeleteCallbacks); 154 WTF_MAKE_NONCOPYABLE(DeleteCallbacks);
155 public: 155 public:
156 DeleteCallbacks(const String& cacheName, CacheStorage* cacheStorage, ScriptP romiseResolver* resolver) 156 DeleteCallbacks(const String& cacheName, CacheStorage* cacheStorage, ScriptP romiseResolver* resolver)
157 : m_cacheName(cacheName), m_cacheStorage(cacheStorage), m_resolver(resol ver) { } 157 : m_cacheName(cacheName), m_cacheStorage(cacheStorage), m_resolver(resol ver) { }
158 ~DeleteCallbacks() override { } 158 ~DeleteCallbacks() override { }
159 159
160 void onSuccess() override 160 void onSuccess() override
161 { 161 {
162 m_cacheStorage->m_nameToCacheMap.remove(m_cacheName); 162 m_cacheStorage->m_nameToCacheMap.remove(m_cacheName);
163 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 163 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
164 return; 164 return;
165 m_resolver->resolve(true); 165 m_resolver->resolve(true);
166 m_resolver.clear(); 166 m_resolver.clear();
167 } 167 }
168 168
169 void onError(WebServiceWorkerCacheError reason) override 169 void onError(WebServiceWorkerCacheError reason) override
170 { 170 {
171 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 171 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
172 return; 172 return;
173 if (reason == WebServiceWorkerCacheErrorNotFound) 173 if (reason == WebServiceWorkerCacheErrorNotFound)
174 m_resolver->resolve(false); 174 m_resolver->resolve(false);
175 else 175 else
176 m_resolver->reject(CacheStorageError::createException(reason)); 176 m_resolver->reject(CacheStorageError::createException(reason));
177 m_resolver.clear(); 177 m_resolver.clear();
178 } 178 }
179 179
180 private: 180 private:
181 String m_cacheName; 181 String m_cacheName;
182 Persistent<CacheStorage> m_cacheStorage; 182 Persistent<CacheStorage> m_cacheStorage;
183 Persistent<ScriptPromiseResolver> m_resolver; 183 Persistent<ScriptPromiseResolver> m_resolver;
184 }; 184 };
185 185
186 // FIXME: Consider using CallbackPromiseAdapter. 186 // FIXME: Consider using CallbackPromiseAdapter.
187 class CacheStorage::KeysCallbacks final : public WebServiceWorkerCacheStorage::C acheStorageKeysCallbacks { 187 class CacheStorage::KeysCallbacks final : public WebServiceWorkerCacheStorage::C acheStorageKeysCallbacks {
188 WTF_MAKE_NONCOPYABLE(KeysCallbacks); 188 WTF_MAKE_NONCOPYABLE(KeysCallbacks);
189 public: 189 public:
190 explicit KeysCallbacks(ScriptPromiseResolver* resolver) 190 explicit KeysCallbacks(ScriptPromiseResolver* resolver)
191 : m_resolver(resolver) { } 191 : m_resolver(resolver) { }
192 ~KeysCallbacks() override { } 192 ~KeysCallbacks() override { }
193 193
194 void onSuccess(const WebVector<WebString>& keys) override 194 void onSuccess(const WebVector<WebString>& keys) override
195 { 195 {
196 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 196 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
197 return; 197 return;
198 Vector<String> wtfKeys; 198 Vector<String> wtfKeys;
199 for (size_t i = 0; i < keys.size(); ++i) 199 for (size_t i = 0; i < keys.size(); ++i)
200 wtfKeys.append(keys[i]); 200 wtfKeys.append(keys[i]);
201 m_resolver->resolve(wtfKeys); 201 m_resolver->resolve(wtfKeys);
202 m_resolver.clear(); 202 m_resolver.clear();
203 } 203 }
204 204
205 void onError(WebServiceWorkerCacheError reason) override 205 void onError(WebServiceWorkerCacheError reason) override
206 { 206 {
207 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 207 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
208 return; 208 return;
209 m_resolver->reject(CacheStorageError::createException(reason)); 209 m_resolver->reject(CacheStorageError::createException(reason));
210 m_resolver.clear(); 210 m_resolver.clear();
211 } 211 }
212 212
213 private: 213 private:
214 Persistent<ScriptPromiseResolver> m_resolver; 214 Persistent<ScriptPromiseResolver> m_resolver;
215 }; 215 };
216 216
217 CacheStorage* CacheStorage::create(WeakPtrWillBeRawPtr<GlobalFetch::ScopedFetche r> fetcher, WebServiceWorkerCacheStorage* webCacheStorage) 217 CacheStorage* CacheStorage::create(WeakPtrWillBeRawPtr<GlobalFetch::ScopedFetche r> fetcher, WebServiceWorkerCacheStorage* webCacheStorage)
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
305 Request* newRequest = Request::create(scriptState, request.getAsUSVString(), exceptionState); 305 Request* newRequest = Request::create(scriptState, request.getAsUSVString(), exceptionState);
306 if (exceptionState.hadException()) 306 if (exceptionState.hadException())
307 return ScriptPromise(); 307 return ScriptPromise();
308 return matchImpl(scriptState, newRequest, options); 308 return matchImpl(scriptState, newRequest, options);
309 } 309 }
310 310
311 ScriptPromise CacheStorage::matchImpl(ScriptState* scriptState, const Request* r equest, const CacheQueryOptions& options) 311 ScriptPromise CacheStorage::matchImpl(ScriptState* scriptState, const Request* r equest, const CacheQueryOptions& options)
312 { 312 {
313 WebServiceWorkerRequest webRequest; 313 WebServiceWorkerRequest webRequest;
314 request->populateWebServiceWorkerRequest(webRequest); 314 request->populateWebServiceWorkerRequest(webRequest);
315 checkCacheQueryOptions(options, scriptState->executionContext()); 315 checkCacheQueryOptions(options, scriptState->getExecutionContext());
316 316
317 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState) ; 317 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState) ;
318 const ScriptPromise promise = resolver->promise(); 318 const ScriptPromise promise = resolver->promise();
319 319
320 if (m_webCacheStorage) 320 if (m_webCacheStorage)
321 m_webCacheStorage->dispatchMatch(new MatchCallbacks(resolver), webReques t, Cache::toWebQueryParams(options)); 321 m_webCacheStorage->dispatchMatch(new MatchCallbacks(resolver), webReques t, Cache::toWebQueryParams(options));
322 else 322 else
323 resolver->reject(createNoImplementationException()); 323 resolver->reject(createNoImplementationException());
324 324
325 return promise; 325 return promise;
(...skipping 14 matching lines...) Expand all
340 m_webCacheStorage.clear(); 340 m_webCacheStorage.clear();
341 } 341 }
342 342
343 DEFINE_TRACE(CacheStorage) 343 DEFINE_TRACE(CacheStorage)
344 { 344 {
345 visitor->trace(m_scopedFetcher); 345 visitor->trace(m_scopedFetcher);
346 visitor->trace(m_nameToCacheMap); 346 visitor->trace(m_nameToCacheMap);
347 } 347 }
348 348
349 } // namespace blink 349 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/modules/cachestorage/Cache.cpp ('k') | third_party/WebKit/Source/modules/cachestorage/CacheTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698