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

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

Issue 546153002: Patch on top of https://codereview.chromium.org/433793002/ (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: 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
« no previous file with comments | « Source/modules/serviceworkers/Cache.h ('k') | Source/modules/serviceworkers/CacheTest.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 #include "config.h" 5 #include "config.h"
6 #include "modules/serviceworkers/Cache.h" 6 #include "modules/serviceworkers/Cache.h"
7 7
8 #include "bindings/core/v8/Dictionary.h" 8 #include "bindings/core/v8/Dictionary.h"
9 #include "bindings/core/v8/ScriptPromiseResolver.h" 9 #include "bindings/core/v8/ScriptPromiseResolver.h"
10 #include "bindings/core/v8/ScriptState.h" 10 #include "bindings/core/v8/ScriptState.h"
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 }; 56 };
57 57
58 class CacheWithResponsesCallbacks : public WebServiceWorkerCache::CacheWithRespo nsesCallbacks { 58 class CacheWithResponsesCallbacks : public WebServiceWorkerCache::CacheWithRespo nsesCallbacks {
59 WTF_MAKE_NONCOPYABLE(CacheWithResponsesCallbacks); 59 WTF_MAKE_NONCOPYABLE(CacheWithResponsesCallbacks);
60 public: 60 public:
61 CacheWithResponsesCallbacks(PassRefPtr<ScriptPromiseResolver> resolver) 61 CacheWithResponsesCallbacks(PassRefPtr<ScriptPromiseResolver> resolver)
62 : m_resolver(resolver) { } 62 : m_resolver(resolver) { }
63 63
64 virtual void onSuccess(WebVector<WebServiceWorkerResponse>* webResponses) OV ERRIDE 64 virtual void onSuccess(WebVector<WebServiceWorkerResponse>* webResponses) OV ERRIDE
65 { 65 {
66 Vector<RefPtrWillBeRawPtr<Response> > responses; 66 Vector<Response*> responses;
67 for (size_t i = 0; i < webResponses->size(); ++i) 67 for (size_t i = 0; i < webResponses->size(); ++i)
68 responses.append(Response::create((*webResponses)[i])); 68 responses.append(Response::create((*webResponses)[i]));
69 m_resolver->resolve(responses); 69 m_resolver->resolve(responses);
70 m_resolver.clear(); 70 m_resolver.clear();
71 } 71 }
72 72
73 virtual void onError(WebServiceWorkerCacheError* reason) OVERRIDE 73 virtual void onError(WebServiceWorkerCacheError* reason) OVERRIDE
74 { 74 {
75 m_resolver->reject(Cache::domExceptionForCacheError(*reason)); 75 m_resolver->reject(Cache::domExceptionForCacheError(*reason));
76 m_resolver.clear(); 76 m_resolver.clear();
77 } 77 }
78 78
79 private: 79 private:
80 RefPtr<ScriptPromiseResolver> m_resolver; 80 RefPtr<ScriptPromiseResolver> m_resolver;
81 }; 81 };
82 82
83 class CacheWithRequestsCallbacks : public WebServiceWorkerCache::CacheWithReques tsCallbacks { 83 class CacheWithRequestsCallbacks : public WebServiceWorkerCache::CacheWithReques tsCallbacks {
84 WTF_MAKE_NONCOPYABLE(CacheWithRequestsCallbacks); 84 WTF_MAKE_NONCOPYABLE(CacheWithRequestsCallbacks);
85 public: 85 public:
86 CacheWithRequestsCallbacks(PassRefPtr<ScriptPromiseResolver> resolver) 86 CacheWithRequestsCallbacks(PassRefPtr<ScriptPromiseResolver> resolver)
87 : m_resolver(resolver) { } 87 : m_resolver(resolver) { }
88 88
89 virtual void onSuccess(WebVector<WebServiceWorkerRequest>* webRequests) OVER RIDE 89 virtual void onSuccess(WebVector<WebServiceWorkerRequest>* webRequests) OVER RIDE
90 { 90 {
91 Vector<RefPtrWillBeRawPtr<Request> > requests; 91 Vector<Request*> requests;
92 for (size_t i = 0; i < webRequests->size(); ++i) 92 for (size_t i = 0; i < webRequests->size(); ++i)
93 requests.append(Request::create((*webRequests)[i])); 93 requests.append(Request::create((*webRequests)[i]));
94 m_resolver->resolve(requests); 94 m_resolver->resolve(requests);
95 m_resolver.clear(); 95 m_resolver.clear();
96 } 96 }
97 97
98 virtual void onError(WebServiceWorkerCacheError* reason) OVERRIDE 98 virtual void onError(WebServiceWorkerCacheError* reason) OVERRIDE
99 { 99 {
100 m_resolver->reject(Cache::domExceptionForCacheError(*reason)); 100 m_resolver->reject(Cache::domExceptionForCacheError(*reason));
101 m_resolver.clear(); 101 m_resolver.clear();
(...skipping 15 matching lines...) Expand all
117 117
118 } // namespace 118 } // namespace
119 119
120 Cache* Cache::fromWebServiceWorkerCache(WebServiceWorkerCache* webCache) 120 Cache* Cache::fromWebServiceWorkerCache(WebServiceWorkerCache* webCache)
121 { 121 {
122 if (Cache* cache = static_cast<Cache*>(webCache->proxyInterface())) 122 if (Cache* cache = static_cast<Cache*>(webCache->proxyInterface()))
123 return cache; 123 return cache;
124 return create(webCache); 124 return create(webCache);
125 } 125 }
126 126
127 ScriptPromise Cache::match(ScriptState* scriptState, Request* originalRequest, c onst Dictionary& queryParamsDict) 127 ScriptPromise Cache::match(ScriptState* scriptState, const Request* originalRequ est, const Dictionary& queryParamsDict)
128 { 128 {
129 TrackExceptionState exceptionState; 129 TrackExceptionState exceptionState;
130 RefPtrWillBeRawPtr<Request> request = Request::create(scriptState->execution Context(), originalRequest, exceptionState); 130 Request* request = Request::create(scriptState->executionContext(), original Request, exceptionState);
131 if (exceptionState.hadException()) 131 if (exceptionState.hadException())
132 return rejectForCacheError(scriptState, WebServiceWorkerCacheErrorNotFou nd); 132 return rejectForCacheError(scriptState, WebServiceWorkerCacheErrorNotFou nd);
133 return matchImpl(scriptState, request, queryParamsDict); 133 return matchImpl(scriptState, request, queryParamsDict);
134 } 134 }
135 135
136 ScriptPromise Cache::match(ScriptState* scriptState, const String& requestString , const Dictionary& queryParamsDict) 136 ScriptPromise Cache::match(ScriptState* scriptState, const String& requestString , const Dictionary& queryParamsDict)
137 { 137 {
138 TrackExceptionState exceptionState; 138 TrackExceptionState exceptionState;
139 RefPtrWillBeRawPtr<Request> request = Request::create(scriptState->execution Context(), requestString, exceptionState); 139 Request* request = Request::create(scriptState->executionContext(), requestS tring, exceptionState);
140 if (exceptionState.hadException()) 140 if (exceptionState.hadException())
141 return rejectForCacheError(scriptState, WebServiceWorkerCacheErrorNotFou nd); 141 return rejectForCacheError(scriptState, WebServiceWorkerCacheErrorNotFou nd);
142 return matchImpl(scriptState, request, queryParamsDict); 142 return matchImpl(scriptState, request, queryParamsDict);
143 } 143 }
144 144
145 ScriptPromise Cache::matchAll(ScriptState* scriptState, Request* originalRequest , const Dictionary& queryParamsDict) 145 ScriptPromise Cache::matchAll(ScriptState* scriptState, const Request* originalR equest, const Dictionary& queryParamsDict)
146 { 146 {
147 TrackExceptionState exceptionState; 147 TrackExceptionState exceptionState;
148 RefPtrWillBeRawPtr<Request> request = Request::create(scriptState->execution Context(), originalRequest, exceptionState); 148 Request* request = Request::create(scriptState->executionContext(), original Request, exceptionState);
149 if (exceptionState.hadException()) 149 if (exceptionState.hadException())
150 return rejectForCacheError(scriptState, WebServiceWorkerCacheErrorNotFou nd); 150 return rejectForCacheError(scriptState, WebServiceWorkerCacheErrorNotFou nd);
151 return matchAllImpl(scriptState, request, queryParamsDict); 151 return matchAllImpl(scriptState, request, queryParamsDict);
152 } 152 }
153 153
154 ScriptPromise Cache::matchAll(ScriptState* scriptState, const String& requestStr ing, const Dictionary& queryParamsDict) 154 ScriptPromise Cache::matchAll(ScriptState* scriptState, const String& requestStr ing, const Dictionary& queryParamsDict)
155 { 155 {
156 TrackExceptionState exceptionState; 156 TrackExceptionState exceptionState;
157 RefPtrWillBeRawPtr<Request> request = Request::create(scriptState->execution Context(), requestString, exceptionState); 157 Request* request = Request::create(scriptState->executionContext(), requestS tring, exceptionState);
158 if (exceptionState.hadException()) 158 if (exceptionState.hadException())
159 return rejectForCacheError(scriptState, WebServiceWorkerCacheErrorNotFou nd); 159 return rejectForCacheError(scriptState, WebServiceWorkerCacheErrorNotFou nd);
160 return matchAllImpl(scriptState, request, queryParamsDict); 160 return matchAllImpl(scriptState, request, queryParamsDict);
161 } 161 }
162 162
163 ScriptPromise Cache::add(ScriptState* scriptState, Request* originalRequest) 163 ScriptPromise Cache::add(ScriptState* scriptState, const Request* originalReques t)
164 { 164 {
165 TrackExceptionState exceptionState; 165 TrackExceptionState exceptionState;
166 RefPtrWillBeRawPtr<Request> request = Request::create(scriptState->execution Context(), originalRequest, exceptionState); 166 Request* request = Request::create(scriptState->executionContext(), original Request, exceptionState);
167 if (exceptionState.hadException()) 167 if (exceptionState.hadException())
168 return rejectForCacheError(scriptState, WebServiceWorkerCacheErrorNotFou nd); 168 return rejectForCacheError(scriptState, WebServiceWorkerCacheErrorNotFou nd);
169 return addImpl(scriptState, request); 169 return addImpl(scriptState, request);
170 } 170 }
171 171
172 ScriptPromise Cache::add(ScriptState* scriptState, const String& requestString) 172 ScriptPromise Cache::add(ScriptState* scriptState, const String& requestString)
173 { 173 {
174 TrackExceptionState exceptionState; 174 TrackExceptionState exceptionState;
175 RefPtrWillBeRawPtr<Request> request = Request::create(scriptState->execution Context(), requestString, exceptionState); 175 Request* request = Request::create(scriptState->executionContext(), requestS tring, exceptionState);
176 if (exceptionState.hadException()) 176 if (exceptionState.hadException())
177 return rejectForCacheError(scriptState, WebServiceWorkerCacheErrorNotFou nd); 177 return rejectForCacheError(scriptState, WebServiceWorkerCacheErrorNotFou nd);
178 return addImpl(scriptState, request); 178 return addImpl(scriptState, request);
179 } 179 }
180 180
181 ScriptPromise Cache::addAll(ScriptState* scriptState, const Vector<ScriptValue>& rawRequests) 181 ScriptPromise Cache::addAll(ScriptState* scriptState, const Vector<ScriptValue>& rawRequests)
182 { 182 {
183 // FIXME: Implement this. 183 // FIXME: Implement this.
184 return rejectAsNotImplemented(scriptState); 184 return rejectAsNotImplemented(scriptState);
185 } 185 }
186 186
187 ScriptPromise Cache::deleteFunction(ScriptState* scriptState, Request* originalR equest, const Dictionary& queryParamsDict) 187 ScriptPromise Cache::deleteFunction(ScriptState* scriptState, const Request* ori ginalRequest, const Dictionary& queryParamsDict)
188 { 188 {
189 TrackExceptionState exceptionState; 189 TrackExceptionState exceptionState;
190 RefPtrWillBeRawPtr<Request> request = Request::create(scriptState->execution Context(), originalRequest, exceptionState); 190 Request* request = Request::create(scriptState->executionContext(), original Request, exceptionState);
191 if (exceptionState.hadException()) 191 if (exceptionState.hadException())
192 return rejectForCacheError(scriptState, WebServiceWorkerCacheErrorNotFou nd); 192 return rejectForCacheError(scriptState, WebServiceWorkerCacheErrorNotFou nd);
193 return deleteImpl(scriptState, request, queryParamsDict); 193 return deleteImpl(scriptState, request, queryParamsDict);
194 } 194 }
195 195
196 ScriptPromise Cache::deleteFunction(ScriptState* scriptState, const String& requ estString, const Dictionary& queryParamsDict) 196 ScriptPromise Cache::deleteFunction(ScriptState* scriptState, const String& requ estString, const Dictionary& queryParamsDict)
197 { 197 {
198 TrackExceptionState exceptionState; 198 TrackExceptionState exceptionState;
199 RefPtrWillBeRawPtr<Request> request = Request::create(scriptState->execution Context(), requestString, exceptionState); 199 Request* request = Request::create(scriptState->executionContext(), requestS tring, exceptionState);
200 if (exceptionState.hadException()) 200 if (exceptionState.hadException())
201 return rejectForCacheError(scriptState, WebServiceWorkerCacheErrorNotFou nd); 201 return rejectForCacheError(scriptState, WebServiceWorkerCacheErrorNotFou nd);
202 return deleteImpl(scriptState, request, queryParamsDict); 202 return deleteImpl(scriptState, request, queryParamsDict);
203 } 203 }
204 204
205 ScriptPromise Cache::put(ScriptState* scriptState, Request* originalRequest, Res ponse* response) 205 ScriptPromise Cache::put(ScriptState* scriptState, const Request* originalReques t, const Response* response)
206 { 206 {
207 TrackExceptionState exceptionState; 207 TrackExceptionState exceptionState;
208 RefPtrWillBeRawPtr<Request> request = Request::create(scriptState->execution Context(), originalRequest, exceptionState); 208 Request* request = Request::create(scriptState->executionContext(), original Request, exceptionState);
209 if (exceptionState.hadException()) 209 if (exceptionState.hadException())
210 return rejectForCacheError(scriptState, WebServiceWorkerCacheErrorNotFou nd); 210 return rejectForCacheError(scriptState, WebServiceWorkerCacheErrorNotFou nd);
211 return putImpl(scriptState, request, response); 211 return putImpl(scriptState, request, response);
212 } 212 }
213 213
214 ScriptPromise Cache::put(ScriptState* scriptState, const String& requestString, Response* response) 214 ScriptPromise Cache::put(ScriptState* scriptState, const String& requestString, const Response* response)
215 { 215 {
216 TrackExceptionState exceptionState; 216 TrackExceptionState exceptionState;
217 RefPtrWillBeRawPtr<Request> request = Request::create(scriptState->execution Context(), requestString, exceptionState); 217 Request* request = Request::create(scriptState->executionContext(), requestS tring, exceptionState);
218 if (exceptionState.hadException()) 218 if (exceptionState.hadException())
219 return rejectForCacheError(scriptState, WebServiceWorkerCacheErrorNotFou nd); 219 return rejectForCacheError(scriptState, WebServiceWorkerCacheErrorNotFou nd);
220 return putImpl(scriptState, request, response); 220 return putImpl(scriptState, request, response);
221 } 221 }
222 222
223 ScriptPromise Cache::keys(ScriptState* scriptState) 223 ScriptPromise Cache::keys(ScriptState* scriptState)
224 { 224 {
225 return keysImpl(scriptState); 225 return keysImpl(scriptState);
226 } 226 }
227 227
228 ScriptPromise Cache::keys(ScriptState* scriptState, Request* originalRequest, co nst Dictionary& queryParamsDict) 228 ScriptPromise Cache::keys(ScriptState* scriptState, const Request* originalReque st, const Dictionary& queryParamsDict)
229 { 229 {
230 TrackExceptionState exceptionState; 230 TrackExceptionState exceptionState;
231 RefPtrWillBeRawPtr<Request> request = Request::create(scriptState->execution Context(), originalRequest, exceptionState); 231 Request* request = Request::create(scriptState->executionContext(), original Request, exceptionState);
232 if (exceptionState.hadException()) 232 if (exceptionState.hadException())
233 return rejectForCacheError(scriptState, WebServiceWorkerCacheErrorNotFou nd); 233 return rejectForCacheError(scriptState, WebServiceWorkerCacheErrorNotFou nd);
234 return keysImpl(scriptState); 234 return keysImpl(scriptState, request, queryParamsDict);
235 } 235 }
236 236
237 ScriptPromise Cache::keys(ScriptState* scriptState, const String& requestString, const Dictionary& queryParamsDict) 237 ScriptPromise Cache::keys(ScriptState* scriptState, const String& requestString, const Dictionary& queryParamsDict)
238 { 238 {
239 TrackExceptionState exceptionState; 239 TrackExceptionState exceptionState;
240 RefPtrWillBeRawPtr<Request> request = Request::create(scriptState->execution Context(), requestString, exceptionState); 240 Request* request = Request::create(scriptState->executionContext(), requestS tring, exceptionState);
241 if (exceptionState.hadException()) 241 if (exceptionState.hadException())
242 return rejectForCacheError(scriptState, WebServiceWorkerCacheErrorNotFou nd); 242 return rejectForCacheError(scriptState, WebServiceWorkerCacheErrorNotFou nd);
243 return keysImpl(scriptState, request, queryParamsDict); 243 return keysImpl(scriptState, request, queryParamsDict);
244 } 244 }
245 245
246 Cache::Cache(WebServiceWorkerCache* webCache) 246 Cache::Cache(WebServiceWorkerCache* webCache)
247 : m_webCache(adoptPtr(webCache)) 247 : m_webCache(adoptPtr(webCache))
248 { 248 {
249 ScriptWrappable::init(this); 249 ScriptWrappable::init(this);
250 ASSERT(!m_webCache->proxyInterface()); 250 ASSERT(!m_webCache->proxyInterface());
251 m_webCache->setProxyInterface(this); 251 m_webCache->setProxyInterface(this);
252 } 252 }
253 253
254 PassRefPtrWillBeRawPtr<Cache> Cache::create(WebServiceWorkerCache* webCache) 254 Cache* Cache::create(WebServiceWorkerCache* webCache)
255 { 255 {
256 return adoptRefWillBeNoop(new Cache(webCache)); 256 return new Cache(webCache);
257 } 257 }
258 258
259 ScriptPromise Cache::matchImpl(ScriptState* scriptState, PassRefPtrWillBeRawPtr< Request> request, const Dictionary& queryParamsDict) 259 ScriptPromise Cache::matchImpl(ScriptState* scriptState, Request* request, const Dictionary& queryParamsDict)
260 { 260 {
261 WebServiceWorkerRequest webRequest; 261 WebServiceWorkerRequest webRequest;
262 request->populateWebServiceWorkerRequest(webRequest); 262 request->populateWebServiceWorkerRequest(webRequest);
263 263
264 RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scrip tState); 264 RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scrip tState);
265 const ScriptPromise promise = resolver->promise(); 265 const ScriptPromise promise = resolver->promise();
266 m_webCache->dispatchMatch(new CacheMatchCallbacks(resolver), webRequest, que ryParamsFromDictionary(queryParamsDict)); 266 m_webCache->dispatchMatch(new CacheMatchCallbacks(resolver), webRequest, que ryParamsFromDictionary(queryParamsDict));
267 return promise; 267 return promise;
268 } 268 }
269 269
270 ScriptPromise Cache::matchAllImpl(ScriptState* scriptState, PassRefPtrWillBeRawP tr<Request> request, const Dictionary& queryParamsDict) 270 ScriptPromise Cache::matchAllImpl(ScriptState* scriptState, Request* request, co nst Dictionary& queryParamsDict)
271 { 271 {
272 WebServiceWorkerRequest webRequest; 272 WebServiceWorkerRequest webRequest;
273 request->populateWebServiceWorkerRequest(webRequest); 273 request->populateWebServiceWorkerRequest(webRequest);
274 274
275 RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scrip tState); 275 RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scrip tState);
276 const ScriptPromise promise = resolver->promise(); 276 const ScriptPromise promise = resolver->promise();
277 m_webCache->dispatchMatchAll(new CacheWithResponsesCallbacks(resolver), webR equest, queryParamsFromDictionary(queryParamsDict)); 277 m_webCache->dispatchMatchAll(new CacheWithResponsesCallbacks(resolver), webR equest, queryParamsFromDictionary(queryParamsDict));
278 return promise; 278 return promise;
279 } 279 }
280 280
281 ScriptPromise Cache::addImpl(ScriptState* scriptState, PassRefPtrWillBeRawPtr<Re quest>) 281 ScriptPromise Cache::addImpl(ScriptState* scriptState, Request*)
282 { 282 {
283 // FIXME: Implement this. 283 // FIXME: Implement this.
284 return rejectAsNotImplemented(scriptState); 284 return rejectAsNotImplemented(scriptState);
285 } 285 }
286 286
287 ScriptPromise Cache::addAllImpl(ScriptState* scriptState, Vector<RefPtrWillBeRaw Ptr<Request> >) 287 ScriptPromise Cache::addAllImpl(ScriptState* scriptState, Vector<Request*>)
288 { 288 {
289 // FIXME: Implement this. 289 // FIXME: Implement this.
290 return rejectAsNotImplemented(scriptState); 290 return rejectAsNotImplemented(scriptState);
291 } 291 }
292 292
293 PassRefPtrWillBeRawPtr<DOMException> Cache::domExceptionForCacheError(WebService WorkerCacheError reason) 293 PassRefPtrWillBeRawPtr<DOMException> Cache::domExceptionForCacheError(WebService WorkerCacheError reason)
294 { 294 {
295 switch (reason) { 295 switch (reason) {
296 case WebServiceWorkerCacheErrorNotImplemented: 296 case WebServiceWorkerCacheErrorNotImplemented:
297 return DOMException::create(NotSupportedError, "Method is not implemente d."); 297 return DOMException::create(NotSupportedError, "Method is not implemente d.");
298 case WebServiceWorkerCacheErrorNotFound: 298 case WebServiceWorkerCacheErrorNotFound:
299 return DOMException::create(NotFoundError, "Entry was not found."); 299 return DOMException::create(NotFoundError, "Entry was not found.");
300 case WebServiceWorkerCacheErrorExists: 300 case WebServiceWorkerCacheErrorExists:
301 return DOMException::create(InvalidAccessError, "Entry already exists.") ; 301 return DOMException::create(InvalidAccessError, "Entry already exists.") ;
302 default: 302 default:
303 ASSERT_NOT_REACHED(); 303 ASSERT_NOT_REACHED();
304 return DOMException::create(NotSupportedError, "Unknown error."); 304 return DOMException::create(NotSupportedError, "Unknown error.");
305 } 305 }
306 } 306 }
307 307
308 ScriptPromise Cache::deleteImpl(ScriptState* scriptState, PassRefPtrWillBeRawPtr <Request> request, const Dictionary& queryParamsDict) 308 ScriptPromise Cache::deleteImpl(ScriptState* scriptState, Request* request, cons t Dictionary& queryParamsDict)
309 { 309 {
310 WebVector<WebServiceWorkerCache::BatchOperation> batchOperations(size_t(1)); 310 WebVector<WebServiceWorkerCache::BatchOperation> batchOperations(size_t(1));
311 batchOperations[0].operationType = WebServiceWorkerCache::WebServiceWorkerCa cheOperationTypeDelete; 311 batchOperations[0].operationType = WebServiceWorkerCache::WebServiceWorkerCa cheOperationTypeDelete;
312 request->populateWebServiceWorkerRequest(batchOperations[0].request); 312 request->populateWebServiceWorkerRequest(batchOperations[0].request);
313 batchOperations[0].matchParams = queryParamsFromDictionary(queryParamsDict); 313 batchOperations[0].matchParams = queryParamsFromDictionary(queryParamsDict);
314 314
315 RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scrip tState); 315 RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scrip tState);
316 const ScriptPromise promise = resolver->promise(); 316 const ScriptPromise promise = resolver->promise();
317 m_webCache->dispatchBatch(new CacheWithResponsesCallbacks(resolver), batchOp erations); 317 m_webCache->dispatchBatch(new CacheWithResponsesCallbacks(resolver), batchOp erations);
318 return promise; 318 return promise;
319 } 319 }
320 320
321 ScriptPromise Cache::putImpl(ScriptState* scriptState, PassRefPtrWillBeRawPtr<Re quest> request, Response* response) 321 ScriptPromise Cache::putImpl(ScriptState* scriptState, Request* request, const R esponse* response)
322 { 322 {
323 WebVector<WebServiceWorkerCache::BatchOperation> batchOperations(size_t(1)); 323 WebVector<WebServiceWorkerCache::BatchOperation> batchOperations(size_t(1));
324 batchOperations[0].operationType = WebServiceWorkerCache::WebServiceWorkerCa cheOperationTypePut; 324 batchOperations[0].operationType = WebServiceWorkerCache::WebServiceWorkerCa cheOperationTypePut;
325 request->populateWebServiceWorkerRequest(batchOperations[0].request); 325 request->populateWebServiceWorkerRequest(batchOperations[0].request);
326 response->populateWebServiceWorkerResponse(batchOperations[0].response); 326 response->populateWebServiceWorkerResponse(batchOperations[0].response);
327 327
328 RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scrip tState); 328 RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scrip tState);
329 const ScriptPromise promise = resolver->promise(); 329 const ScriptPromise promise = resolver->promise();
330 m_webCache->dispatchBatch(new CacheWithResponsesCallbacks(resolver), batchOp erations); 330 m_webCache->dispatchBatch(new CacheWithResponsesCallbacks(resolver), batchOp erations);
331 return promise; 331 return promise;
332 } 332 }
333 333
334 ScriptPromise Cache::keysImpl(ScriptState* scriptState) 334 ScriptPromise Cache::keysImpl(ScriptState* scriptState)
335 { 335 {
336 RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scrip tState); 336 RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scrip tState);
337 const ScriptPromise promise = resolver->promise(); 337 const ScriptPromise promise = resolver->promise();
338 m_webCache->dispatchKeys(new CacheWithRequestsCallbacks(resolver), 0, WebSer viceWorkerCache::QueryParams()); 338 m_webCache->dispatchKeys(new CacheWithRequestsCallbacks(resolver), 0, WebSer viceWorkerCache::QueryParams());
339 return promise; 339 return promise;
340 } 340 }
341 341
342 ScriptPromise Cache::keysImpl(ScriptState* scriptState, PassRefPtrWillBeRawPtr<R equest> request, const Dictionary& queryParamsDict) 342 ScriptPromise Cache::keysImpl(ScriptState* scriptState, Request* request, const Dictionary& queryParamsDict)
343 { 343 {
344 WebServiceWorkerRequest webRequest; 344 WebServiceWorkerRequest webRequest;
345 request->populateWebServiceWorkerRequest(webRequest); 345 request->populateWebServiceWorkerRequest(webRequest);
346 346
347 RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scrip tState); 347 RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scrip tState);
348 const ScriptPromise promise = resolver->promise(); 348 const ScriptPromise promise = resolver->promise();
349 m_webCache->dispatchKeys(new CacheWithRequestsCallbacks(resolver), 0, queryP aramsFromDictionary(queryParamsDict)); 349 m_webCache->dispatchKeys(new CacheWithRequestsCallbacks(resolver), 0, queryP aramsFromDictionary(queryParamsDict));
350 return promise; 350 return promise;
351 } 351 }
352 352
353 } // namespace blink 353 } // namespace blink
OLDNEW
« no previous file with comments | « Source/modules/serviceworkers/Cache.h ('k') | Source/modules/serviceworkers/CacheTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698