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

Side by Side Diff: third_party/WebKit/Source/modules/cachestorage/Cache.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/Cache.h" 5 #include "modules/cachestorage/Cache.h"
6 6
7 #include "bindings/core/v8/CallbackPromiseAdapter.h" 7 #include "bindings/core/v8/CallbackPromiseAdapter.h"
8 #include "bindings/core/v8/ExceptionState.h" 8 #include "bindings/core/v8/ExceptionState.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 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 42
43 // FIXME: Consider using CallbackPromiseAdapter. 43 // FIXME: Consider using CallbackPromiseAdapter.
44 class CacheMatchCallbacks : public WebServiceWorkerCache::CacheMatchCallbacks { 44 class CacheMatchCallbacks : public WebServiceWorkerCache::CacheMatchCallbacks {
45 WTF_MAKE_NONCOPYABLE(CacheMatchCallbacks); 45 WTF_MAKE_NONCOPYABLE(CacheMatchCallbacks);
46 public: 46 public:
47 explicit CacheMatchCallbacks(ScriptPromiseResolver* resolver) 47 explicit CacheMatchCallbacks(ScriptPromiseResolver* resolver)
48 : m_resolver(resolver) { } 48 : m_resolver(resolver) { }
49 49
50 void onSuccess(const WebServiceWorkerResponse& webResponse) override 50 void onSuccess(const WebServiceWorkerResponse& webResponse) override
51 { 51 {
52 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 52 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
53 return; 53 return;
54 m_resolver->resolve(Response::create(m_resolver->scriptState()->executio nContext(), webResponse)); 54 m_resolver->resolve(Response::create(m_resolver->getScriptState()->getEx ecutionContext(), webResponse));
55 m_resolver.clear(); 55 m_resolver.clear();
56 } 56 }
57 57
58 void onError(WebServiceWorkerCacheError reason) override 58 void onError(WebServiceWorkerCacheError reason) override
59 { 59 {
60 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 60 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
61 return; 61 return;
62 if (reason == WebServiceWorkerCacheErrorNotFound) 62 if (reason == WebServiceWorkerCacheErrorNotFound)
63 m_resolver->resolve(); 63 m_resolver->resolve();
64 else 64 else
65 m_resolver->reject(CacheStorageError::createException(reason)); 65 m_resolver->reject(CacheStorageError::createException(reason));
66 m_resolver.clear(); 66 m_resolver.clear();
67 } 67 }
68 68
69 private: 69 private:
70 Persistent<ScriptPromiseResolver> m_resolver; 70 Persistent<ScriptPromiseResolver> m_resolver;
71 }; 71 };
72 72
73 // FIXME: Consider using CallbackPromiseAdapter. 73 // FIXME: Consider using CallbackPromiseAdapter.
74 class CacheWithResponsesCallbacks : public WebServiceWorkerCache::CacheWithRespo nsesCallbacks { 74 class CacheWithResponsesCallbacks : public WebServiceWorkerCache::CacheWithRespo nsesCallbacks {
75 WTF_MAKE_NONCOPYABLE(CacheWithResponsesCallbacks); 75 WTF_MAKE_NONCOPYABLE(CacheWithResponsesCallbacks);
76 public: 76 public:
77 explicit CacheWithResponsesCallbacks(ScriptPromiseResolver* resolver) 77 explicit CacheWithResponsesCallbacks(ScriptPromiseResolver* resolver)
78 : m_resolver(resolver) { } 78 : m_resolver(resolver) { }
79 79
80 void onSuccess(const WebVector<WebServiceWorkerResponse>& webResponses) over ride 80 void onSuccess(const WebVector<WebServiceWorkerResponse>& webResponses) over ride
81 { 81 {
82 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 82 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
83 return; 83 return;
84 HeapVector<Member<Response>> responses; 84 HeapVector<Member<Response>> responses;
85 for (size_t i = 0; i < webResponses.size(); ++i) 85 for (size_t i = 0; i < webResponses.size(); ++i)
86 responses.append(Response::create(m_resolver->scriptState()->executi onContext(), webResponses[i])); 86 responses.append(Response::create(m_resolver->getScriptState()->getE xecutionContext(), webResponses[i]));
87 m_resolver->resolve(responses); 87 m_resolver->resolve(responses);
88 m_resolver.clear(); 88 m_resolver.clear();
89 } 89 }
90 90
91 void onError(WebServiceWorkerCacheError reason) override 91 void onError(WebServiceWorkerCacheError reason) override
92 { 92 {
93 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 93 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
94 return; 94 return;
95 m_resolver->reject(CacheStorageError::createException(reason)); 95 m_resolver->reject(CacheStorageError::createException(reason));
96 m_resolver.clear(); 96 m_resolver.clear();
97 } 97 }
98 98
99 protected: 99 protected:
100 Persistent<ScriptPromiseResolver> m_resolver; 100 Persistent<ScriptPromiseResolver> m_resolver;
101 }; 101 };
102 102
103 // FIXME: Consider using CallbackPromiseAdapter. 103 // FIXME: Consider using CallbackPromiseAdapter.
104 class CacheDeleteCallback : public WebServiceWorkerCache::CacheBatchCallbacks { 104 class CacheDeleteCallback : public WebServiceWorkerCache::CacheBatchCallbacks {
105 WTF_MAKE_NONCOPYABLE(CacheDeleteCallback); 105 WTF_MAKE_NONCOPYABLE(CacheDeleteCallback);
106 public: 106 public:
107 explicit CacheDeleteCallback(ScriptPromiseResolver* resolver) 107 explicit CacheDeleteCallback(ScriptPromiseResolver* resolver)
108 : m_resolver(resolver) { } 108 : m_resolver(resolver) { }
109 109
110 void onSuccess() override 110 void onSuccess() override
111 { 111 {
112 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 112 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
113 return; 113 return;
114 m_resolver->resolve(true); 114 m_resolver->resolve(true);
115 m_resolver.clear(); 115 m_resolver.clear();
116 } 116 }
117 117
118 void onError(WebServiceWorkerCacheError reason) override 118 void onError(WebServiceWorkerCacheError reason) override
119 { 119 {
120 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 120 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
121 return; 121 return;
122 if (reason == WebServiceWorkerCacheErrorNotFound) 122 if (reason == WebServiceWorkerCacheErrorNotFound)
123 m_resolver->resolve(false); 123 m_resolver->resolve(false);
124 else 124 else
125 m_resolver->reject(CacheStorageError::createException(reason)); 125 m_resolver->reject(CacheStorageError::createException(reason));
126 m_resolver.clear(); 126 m_resolver.clear();
127 } 127 }
128 128
129 private: 129 private:
130 Persistent<ScriptPromiseResolver> m_resolver; 130 Persistent<ScriptPromiseResolver> m_resolver;
131 }; 131 };
132 132
133 // FIXME: Consider using CallbackPromiseAdapter. 133 // FIXME: Consider using CallbackPromiseAdapter.
134 class CacheWithRequestsCallbacks : public WebServiceWorkerCache::CacheWithReques tsCallbacks { 134 class CacheWithRequestsCallbacks : public WebServiceWorkerCache::CacheWithReques tsCallbacks {
135 WTF_MAKE_NONCOPYABLE(CacheWithRequestsCallbacks); 135 WTF_MAKE_NONCOPYABLE(CacheWithRequestsCallbacks);
136 public: 136 public:
137 explicit CacheWithRequestsCallbacks(ScriptPromiseResolver* resolver) 137 explicit CacheWithRequestsCallbacks(ScriptPromiseResolver* resolver)
138 : m_resolver(resolver) { } 138 : m_resolver(resolver) { }
139 139
140 void onSuccess(const WebVector<WebServiceWorkerRequest>& webRequests) overri de 140 void onSuccess(const WebVector<WebServiceWorkerRequest>& webRequests) overri de
141 { 141 {
142 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 142 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
143 return; 143 return;
144 HeapVector<Member<Request>> requests; 144 HeapVector<Member<Request>> requests;
145 for (size_t i = 0; i < webRequests.size(); ++i) 145 for (size_t i = 0; i < webRequests.size(); ++i)
146 requests.append(Request::create(m_resolver->scriptState()->execution Context(), webRequests[i])); 146 requests.append(Request::create(m_resolver->getScriptState()->getExe cutionContext(), webRequests[i]));
147 m_resolver->resolve(requests); 147 m_resolver->resolve(requests);
148 m_resolver.clear(); 148 m_resolver.clear();
149 } 149 }
150 150
151 void onError(WebServiceWorkerCacheError reason) override 151 void onError(WebServiceWorkerCacheError reason) override
152 { 152 {
153 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 153 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
154 return; 154 return;
155 m_resolver->reject(CacheStorageError::createException(reason)); 155 m_resolver->reject(CacheStorageError::createException(reason));
156 m_resolver.clear(); 156 m_resolver.clear();
157 } 157 }
158 158
159 private: 159 private:
160 Persistent<ScriptPromiseResolver> m_resolver; 160 Persistent<ScriptPromiseResolver> m_resolver;
161 }; 161 };
162 162
163 // Used for UMA. Append only. 163 // Used for UMA. Append only.
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 public: 223 public:
224 static v8::Local<v8::Function> create(ScriptState* scriptState, Cache* cache , const HeapVector<Member<Request>>& requests) 224 static v8::Local<v8::Function> create(ScriptState* scriptState, Cache* cache , const HeapVector<Member<Request>>& requests)
225 { 225 {
226 FetchResolvedForAdd* self = new FetchResolvedForAdd(scriptState, cache, requests); 226 FetchResolvedForAdd* self = new FetchResolvedForAdd(scriptState, cache, requests);
227 return self->bindToV8Function(); 227 return self->bindToV8Function();
228 } 228 }
229 229
230 ScriptValue call(ScriptValue value) override 230 ScriptValue call(ScriptValue value) override
231 { 231 {
232 NonThrowableExceptionState exceptionState; 232 NonThrowableExceptionState exceptionState;
233 HeapVector<Member<Response>> responses = toMemberNativeArray<Response, V 8Response>(value.v8Value(), m_requests.size(), scriptState()->isolate(), excepti onState); 233 HeapVector<Member<Response>> responses = toMemberNativeArray<Response, V 8Response>(value.v8Value(), m_requests.size(), getScriptState()->isolate(), exce ptionState);
234 234
235 for (const auto& response : responses) { 235 for (const auto& response : responses) {
236 if (!response->ok()) { 236 if (!response->ok()) {
237 ScriptPromise rejection = ScriptPromise::reject(scriptState(), V 8ThrowException::createTypeError(scriptState()->isolate(), "Request failed")); 237 ScriptPromise rejection = ScriptPromise::reject(getScriptState() , V8ThrowException::createTypeError(getScriptState()->isolate(), "Request failed "));
238 return ScriptValue(scriptState(), rejection.v8Value()); 238 return ScriptValue(getScriptState(), rejection.v8Value());
239 } 239 }
240 if (varyHeaderContainsAsterisk(response)) { 240 if (varyHeaderContainsAsterisk(response)) {
241 ScriptPromise rejection = ScriptPromise::reject(scriptState(), V 8ThrowException::createTypeError(scriptState()->isolate(), "Vary header contains *")); 241 ScriptPromise rejection = ScriptPromise::reject(getScriptState() , V8ThrowException::createTypeError(getScriptState()->isolate(), "Vary header co ntains *"));
242 return ScriptValue(scriptState(), rejection.v8Value()); 242 return ScriptValue(getScriptState(), rejection.v8Value());
243 } 243 }
244 } 244 }
245 245
246 for (const auto& response : responses) 246 for (const auto& response : responses)
247 RecordResponseTypeForAdd(response); 247 RecordResponseTypeForAdd(response);
248 248
249 ScriptPromise putPromise = m_cache->putImpl(scriptState(), m_requests, r esponses); 249 ScriptPromise putPromise = m_cache->putImpl(getScriptState(), m_requests , responses);
250 return ScriptValue(scriptState(), putPromise.v8Value()); 250 return ScriptValue(getScriptState(), putPromise.v8Value());
251 } 251 }
252 252
253 DEFINE_INLINE_VIRTUAL_TRACE() 253 DEFINE_INLINE_VIRTUAL_TRACE()
254 { 254 {
255 visitor->trace(m_cache); 255 visitor->trace(m_cache);
256 visitor->trace(m_requests); 256 visitor->trace(m_requests);
257 ScriptFunction::trace(visitor); 257 ScriptFunction::trace(visitor);
258 } 258 }
259 259
260 private: 260 private:
(...skipping 17 matching lines...) Expand all
278 { 278 {
279 ASSERT(0 < m_numberOfRemainingOperations); 279 ASSERT(0 < m_numberOfRemainingOperations);
280 m_batchOperations.resize(numberOfOperations); 280 m_batchOperations.resize(numberOfOperations);
281 } 281 }
282 282
283 void onSuccess(size_t index, const WebServiceWorkerCache::BatchOperation& ba tchOperation) 283 void onSuccess(size_t index, const WebServiceWorkerCache::BatchOperation& ba tchOperation)
284 { 284 {
285 ASSERT(index < m_batchOperations.size()); 285 ASSERT(index < m_batchOperations.size());
286 if (m_completed) 286 if (m_completed)
287 return; 287 return;
288 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 288 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
289 return; 289 return;
290 m_batchOperations[index] = batchOperation; 290 m_batchOperations[index] = batchOperation;
291 if (--m_numberOfRemainingOperations != 0) 291 if (--m_numberOfRemainingOperations != 0)
292 return; 292 return;
293 m_cache->webCache()->dispatchBatch(new CallbackPromiseAdapter<void, Cach eStorageError>(m_resolver), m_batchOperations); 293 m_cache->webCache()->dispatchBatch(new CallbackPromiseAdapter<void, Cach eStorageError>(m_resolver), m_batchOperations);
294 } 294 }
295 295
296 void onError(const String& errorMessage) 296 void onError(const String& errorMessage)
297 { 297 {
298 if (m_completed) 298 if (m_completed)
299 return; 299 return;
300 m_completed = true; 300 m_completed = true;
301 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 301 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
302 return; 302 return;
303 ScriptState* state = m_resolver->scriptState(); 303 ScriptState* state = m_resolver->getScriptState();
304 ScriptState::Scope scope(state); 304 ScriptState::Scope scope(state);
305 m_resolver->reject(V8ThrowException::createTypeError(state->isolate(), e rrorMessage)); 305 m_resolver->reject(V8ThrowException::createTypeError(state->isolate(), e rrorMessage));
306 } 306 }
307 307
308 DEFINE_INLINE_VIRTUAL_TRACE() 308 DEFINE_INLINE_VIRTUAL_TRACE()
309 { 309 {
310 visitor->trace(m_cache); 310 visitor->trace(m_cache);
311 visitor->trace(m_resolver); 311 visitor->trace(m_resolver);
312 } 312 }
313 313
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
480 480
481 DEFINE_TRACE(Cache) 481 DEFINE_TRACE(Cache)
482 { 482 {
483 visitor->trace(m_scopedFetcher); 483 visitor->trace(m_scopedFetcher);
484 } 484 }
485 485
486 ScriptPromise Cache::matchImpl(ScriptState* scriptState, const Request* request, const CacheQueryOptions& options) 486 ScriptPromise Cache::matchImpl(ScriptState* scriptState, const Request* request, const CacheQueryOptions& options)
487 { 487 {
488 WebServiceWorkerRequest webRequest; 488 WebServiceWorkerRequest webRequest;
489 request->populateWebServiceWorkerRequest(webRequest); 489 request->populateWebServiceWorkerRequest(webRequest);
490 checkCacheQueryOptions(options, scriptState->executionContext()); 490 checkCacheQueryOptions(options, scriptState->getExecutionContext());
491 491
492 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState) ; 492 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState) ;
493 const ScriptPromise promise = resolver->promise(); 493 const ScriptPromise promise = resolver->promise();
494 m_webCache->dispatchMatch(new CacheMatchCallbacks(resolver), webRequest, toW ebQueryParams(options)); 494 m_webCache->dispatchMatch(new CacheMatchCallbacks(resolver), webRequest, toW ebQueryParams(options));
495 return promise; 495 return promise;
496 } 496 }
497 497
498 ScriptPromise Cache::matchAllImpl(ScriptState* scriptState) 498 ScriptPromise Cache::matchAllImpl(ScriptState* scriptState)
499 { 499 {
500 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState) ; 500 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState) ;
501 const ScriptPromise promise = resolver->promise(); 501 const ScriptPromise promise = resolver->promise();
502 m_webCache->dispatchMatchAll(new CacheWithResponsesCallbacks(resolver), WebS erviceWorkerRequest(), WebServiceWorkerCache::QueryParams()); 502 m_webCache->dispatchMatchAll(new CacheWithResponsesCallbacks(resolver), WebS erviceWorkerRequest(), WebServiceWorkerCache::QueryParams());
503 return promise; 503 return promise;
504 } 504 }
505 505
506 ScriptPromise Cache::matchAllImpl(ScriptState* scriptState, const Request* reque st, const CacheQueryOptions& options) 506 ScriptPromise Cache::matchAllImpl(ScriptState* scriptState, const Request* reque st, const CacheQueryOptions& options)
507 { 507 {
508 WebServiceWorkerRequest webRequest; 508 WebServiceWorkerRequest webRequest;
509 request->populateWebServiceWorkerRequest(webRequest); 509 request->populateWebServiceWorkerRequest(webRequest);
510 checkCacheQueryOptions(options, scriptState->executionContext()); 510 checkCacheQueryOptions(options, scriptState->getExecutionContext());
511 511
512 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState) ; 512 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState) ;
513 const ScriptPromise promise = resolver->promise(); 513 const ScriptPromise promise = resolver->promise();
514 m_webCache->dispatchMatchAll(new CacheWithResponsesCallbacks(resolver), webR equest, toWebQueryParams(options)); 514 m_webCache->dispatchMatchAll(new CacheWithResponsesCallbacks(resolver), webR equest, toWebQueryParams(options));
515 return promise; 515 return promise;
516 } 516 }
517 517
518 ScriptPromise Cache::addAllImpl(ScriptState* scriptState, const HeapVector<Membe r<Request>>& requests, ExceptionState& exceptionState) 518 ScriptPromise Cache::addAllImpl(ScriptState* scriptState, const HeapVector<Membe r<Request>>& requests, ExceptionState& exceptionState)
519 { 519 {
520 if (requests.isEmpty()) 520 if (requests.isEmpty())
(...skipping 14 matching lines...) Expand all
535 } 535 }
536 536
537 return ScriptPromise::all(scriptState, promises).then(FetchResolvedForAdd::c reate(scriptState, this, requests)); 537 return ScriptPromise::all(scriptState, promises).then(FetchResolvedForAdd::c reate(scriptState, this, requests));
538 } 538 }
539 539
540 ScriptPromise Cache::deleteImpl(ScriptState* scriptState, const Request* request , const CacheQueryOptions& options) 540 ScriptPromise Cache::deleteImpl(ScriptState* scriptState, const Request* request , const CacheQueryOptions& options)
541 { 541 {
542 WebVector<WebServiceWorkerCache::BatchOperation> batchOperations(size_t(1)); 542 WebVector<WebServiceWorkerCache::BatchOperation> batchOperations(size_t(1));
543 batchOperations[0].operationType = WebServiceWorkerCache::OperationTypeDelet e; 543 batchOperations[0].operationType = WebServiceWorkerCache::OperationTypeDelet e;
544 request->populateWebServiceWorkerRequest(batchOperations[0].request); 544 request->populateWebServiceWorkerRequest(batchOperations[0].request);
545 checkCacheQueryOptions(options, scriptState->executionContext()); 545 checkCacheQueryOptions(options, scriptState->getExecutionContext());
546 batchOperations[0].matchParams = toWebQueryParams(options); 546 batchOperations[0].matchParams = toWebQueryParams(options);
547 547
548 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState) ; 548 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState) ;
549 const ScriptPromise promise = resolver->promise(); 549 const ScriptPromise promise = resolver->promise();
550 m_webCache->dispatchBatch(new CacheDeleteCallback(resolver), batchOperations ); 550 m_webCache->dispatchBatch(new CacheDeleteCallback(resolver), batchOperations );
551 return promise; 551 return promise;
552 } 552 }
553 553
554 ScriptPromise Cache::putImpl(ScriptState* scriptState, const HeapVector<Member<R equest>>& requests, const HeapVector<Member<Response>>& responses) 554 ScriptPromise Cache::putImpl(ScriptState* scriptState, const HeapVector<Member<R equest>>& requests, const HeapVector<Member<Response>>& responses)
555 { 555 {
(...skipping 21 matching lines...) Expand all
577 if (responses[i]->isBodyLocked() || responses[i]->bodyUsed()) { 577 if (responses[i]->isBodyLocked() || responses[i]->bodyUsed()) {
578 barrierCallback->onError("Response body is already used"); 578 barrierCallback->onError("Response body is already used");
579 return promise; 579 return promise;
580 } 580 }
581 581
582 BodyStreamBuffer* buffer = responses[i]->internalBodyBuffer(); 582 BodyStreamBuffer* buffer = responses[i]->internalBodyBuffer();
583 if (buffer) { 583 if (buffer) {
584 // If the response has body, read the all data and create 584 // If the response has body, read the all data and create
585 // the blob handle and dispatch the put batch asynchronously. 585 // the blob handle and dispatch the put batch asynchronously.
586 FetchDataLoader* loader = FetchDataLoader::createLoaderAsBlobHandle( responses[i]->internalMIMEType()); 586 FetchDataLoader* loader = FetchDataLoader::createLoaderAsBlobHandle( responses[i]->internalMIMEType());
587 buffer->startLoading(scriptState->executionContext(), loader, new Bl obHandleCallbackForPut(i, barrierCallback, requests[i], responses[i])); 587 buffer->startLoading(scriptState->getExecutionContext(), loader, new BlobHandleCallbackForPut(i, barrierCallback, requests[i], responses[i]));
588 continue; 588 continue;
589 } 589 }
590 590
591 WebServiceWorkerCache::BatchOperation batchOperation; 591 WebServiceWorkerCache::BatchOperation batchOperation;
592 batchOperation.operationType = WebServiceWorkerCache::OperationTypePut; 592 batchOperation.operationType = WebServiceWorkerCache::OperationTypePut;
593 requests[i]->populateWebServiceWorkerRequest(batchOperation.request); 593 requests[i]->populateWebServiceWorkerRequest(batchOperation.request);
594 responses[i]->populateWebServiceWorkerResponse(batchOperation.response); 594 responses[i]->populateWebServiceWorkerResponse(batchOperation.response);
595 barrierCallback->onSuccess(i, batchOperation); 595 barrierCallback->onSuccess(i, batchOperation);
596 } 596 }
597 597
598 return promise; 598 return promise;
599 } 599 }
600 600
601 ScriptPromise Cache::keysImpl(ScriptState* scriptState) 601 ScriptPromise Cache::keysImpl(ScriptState* scriptState)
602 { 602 {
603 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState) ; 603 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState) ;
604 const ScriptPromise promise = resolver->promise(); 604 const ScriptPromise promise = resolver->promise();
605 m_webCache->dispatchKeys(new CacheWithRequestsCallbacks(resolver), 0, WebSer viceWorkerCache::QueryParams()); 605 m_webCache->dispatchKeys(new CacheWithRequestsCallbacks(resolver), 0, WebSer viceWorkerCache::QueryParams());
606 return promise; 606 return promise;
607 } 607 }
608 608
609 ScriptPromise Cache::keysImpl(ScriptState* scriptState, const Request* request, const CacheQueryOptions& options) 609 ScriptPromise Cache::keysImpl(ScriptState* scriptState, const Request* request, const CacheQueryOptions& options)
610 { 610 {
611 WebServiceWorkerRequest webRequest; 611 WebServiceWorkerRequest webRequest;
612 request->populateWebServiceWorkerRequest(webRequest); 612 request->populateWebServiceWorkerRequest(webRequest);
613 checkCacheQueryOptions(options, scriptState->executionContext()); 613 checkCacheQueryOptions(options, scriptState->getExecutionContext());
614 614
615 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState) ; 615 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState) ;
616 const ScriptPromise promise = resolver->promise(); 616 const ScriptPromise promise = resolver->promise();
617 m_webCache->dispatchKeys(new CacheWithRequestsCallbacks(resolver), 0, toWebQ ueryParams(options)); 617 m_webCache->dispatchKeys(new CacheWithRequestsCallbacks(resolver), 0, toWebQ ueryParams(options));
618 return promise; 618 return promise;
619 } 619 }
620 620
621 WebServiceWorkerCache* Cache::webCache() const 621 WebServiceWorkerCache* Cache::webCache() const
622 { 622 {
623 return m_webCache.get(); 623 return m_webCache.get();
624 } 624 }
625 625
626 } // namespace blink 626 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698