OLD | NEW |
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 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 : m_resolver(resolver) {} | 72 : m_resolver(resolver) {} |
73 | 73 |
74 void onSuccess( | 74 void onSuccess( |
75 const WebVector<WebServiceWorkerResponse>& webResponses) override { | 75 const WebVector<WebServiceWorkerResponse>& webResponses) override { |
76 if (!m_resolver->getExecutionContext() || | 76 if (!m_resolver->getExecutionContext() || |
77 m_resolver->getExecutionContext()->isContextDestroyed()) | 77 m_resolver->getExecutionContext()->isContextDestroyed()) |
78 return; | 78 return; |
79 ScriptState::Scope scope(m_resolver->getScriptState()); | 79 ScriptState::Scope scope(m_resolver->getScriptState()); |
80 HeapVector<Member<Response>> responses; | 80 HeapVector<Member<Response>> responses; |
81 for (size_t i = 0; i < webResponses.size(); ++i) | 81 for (size_t i = 0; i < webResponses.size(); ++i) |
82 responses.append( | 82 responses.push_back( |
83 Response::create(m_resolver->getScriptState(), webResponses[i])); | 83 Response::create(m_resolver->getScriptState(), webResponses[i])); |
84 m_resolver->resolve(responses); | 84 m_resolver->resolve(responses); |
85 m_resolver.clear(); | 85 m_resolver.clear(); |
86 } | 86 } |
87 | 87 |
88 void onError(WebServiceWorkerCacheError reason) override { | 88 void onError(WebServiceWorkerCacheError reason) override { |
89 if (!m_resolver->getExecutionContext() || | 89 if (!m_resolver->getExecutionContext() || |
90 m_resolver->getExecutionContext()->isContextDestroyed()) | 90 m_resolver->getExecutionContext()->isContextDestroyed()) |
91 return; | 91 return; |
92 m_resolver->reject(CacheStorageError::createException(reason)); | 92 m_resolver->reject(CacheStorageError::createException(reason)); |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
138 : m_resolver(resolver) {} | 138 : m_resolver(resolver) {} |
139 | 139 |
140 void onSuccess( | 140 void onSuccess( |
141 const WebVector<WebServiceWorkerRequest>& webRequests) override { | 141 const WebVector<WebServiceWorkerRequest>& webRequests) override { |
142 if (!m_resolver->getExecutionContext() || | 142 if (!m_resolver->getExecutionContext() || |
143 m_resolver->getExecutionContext()->isContextDestroyed()) | 143 m_resolver->getExecutionContext()->isContextDestroyed()) |
144 return; | 144 return; |
145 ScriptState::Scope scope(m_resolver->getScriptState()); | 145 ScriptState::Scope scope(m_resolver->getScriptState()); |
146 HeapVector<Member<Request>> requests; | 146 HeapVector<Member<Request>> requests; |
147 for (size_t i = 0; i < webRequests.size(); ++i) | 147 for (size_t i = 0; i < webRequests.size(); ++i) |
148 requests.append( | 148 requests.push_back( |
149 Request::create(m_resolver->getScriptState(), webRequests[i])); | 149 Request::create(m_resolver->getScriptState(), webRequests[i])); |
150 m_resolver->resolve(requests); | 150 m_resolver->resolve(requests); |
151 m_resolver.clear(); | 151 m_resolver.clear(); |
152 } | 152 } |
153 | 153 |
154 void onError(WebServiceWorkerCacheError reason) override { | 154 void onError(WebServiceWorkerCacheError reason) override { |
155 if (!m_resolver->getExecutionContext() || | 155 if (!m_resolver->getExecutionContext() || |
156 m_resolver->getExecutionContext()->isContextDestroyed()) | 156 m_resolver->getExecutionContext()->isContextDestroyed()) |
157 return; | 157 return; |
158 m_resolver->reject(CacheStorageError::createException(reason)); | 158 m_resolver->reject(CacheStorageError::createException(reason)); |
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
417 return ScriptPromise(); | 417 return ScriptPromise(); |
418 return matchAllImpl(scriptState, newRequest, options); | 418 return matchAllImpl(scriptState, newRequest, options); |
419 } | 419 } |
420 | 420 |
421 ScriptPromise Cache::add(ScriptState* scriptState, | 421 ScriptPromise Cache::add(ScriptState* scriptState, |
422 const RequestInfo& request, | 422 const RequestInfo& request, |
423 ExceptionState& exceptionState) { | 423 ExceptionState& exceptionState) { |
424 ASSERT(!request.isNull()); | 424 ASSERT(!request.isNull()); |
425 HeapVector<Member<Request>> requests; | 425 HeapVector<Member<Request>> requests; |
426 if (request.isRequest()) { | 426 if (request.isRequest()) { |
427 requests.append(request.getAsRequest()); | 427 requests.push_back(request.getAsRequest()); |
428 } else { | 428 } else { |
429 requests.append( | 429 requests.push_back( |
430 Request::create(scriptState, request.getAsUSVString(), exceptionState)); | 430 Request::create(scriptState, request.getAsUSVString(), exceptionState)); |
431 if (exceptionState.hadException()) | 431 if (exceptionState.hadException()) |
432 return ScriptPromise(); | 432 return ScriptPromise(); |
433 } | 433 } |
434 | 434 |
435 return addAllImpl(scriptState, requests, exceptionState); | 435 return addAllImpl(scriptState, requests, exceptionState); |
436 } | 436 } |
437 | 437 |
438 ScriptPromise Cache::addAll(ScriptState* scriptState, | 438 ScriptPromise Cache::addAll(ScriptState* scriptState, |
439 const HeapVector<RequestInfo>& rawRequests, | 439 const HeapVector<RequestInfo>& rawRequests, |
440 ExceptionState& exceptionState) { | 440 ExceptionState& exceptionState) { |
441 HeapVector<Member<Request>> requests; | 441 HeapVector<Member<Request>> requests; |
442 for (RequestInfo request : rawRequests) { | 442 for (RequestInfo request : rawRequests) { |
443 if (request.isRequest()) { | 443 if (request.isRequest()) { |
444 requests.append(request.getAsRequest()); | 444 requests.push_back(request.getAsRequest()); |
445 } else { | 445 } else { |
446 requests.append(Request::create(scriptState, request.getAsUSVString(), | 446 requests.push_back(Request::create(scriptState, request.getAsUSVString(), |
447 exceptionState)); | 447 exceptionState)); |
448 if (exceptionState.hadException()) | 448 if (exceptionState.hadException()) |
449 return ScriptPromise(); | 449 return ScriptPromise(); |
450 } | 450 } |
451 } | 451 } |
452 | 452 |
453 return addAllImpl(scriptState, requests, exceptionState); | 453 return addAllImpl(scriptState, requests, exceptionState); |
454 } | 454 } |
455 | 455 |
456 ScriptPromise Cache::deleteFunction(ScriptState* scriptState, | 456 ScriptPromise Cache::deleteFunction(ScriptState* scriptState, |
457 const RequestInfo& request, | 457 const RequestInfo& request, |
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
699 WTF::makeUnique<CacheWithRequestsCallbacks>(resolver), webRequest, | 699 WTF::makeUnique<CacheWithRequestsCallbacks>(resolver), webRequest, |
700 toWebQueryParams(options)); | 700 toWebQueryParams(options)); |
701 return promise; | 701 return promise; |
702 } | 702 } |
703 | 703 |
704 WebServiceWorkerCache* Cache::webCache() const { | 704 WebServiceWorkerCache* Cache::webCache() const { |
705 return m_webCache.get(); | 705 return m_webCache.get(); |
706 } | 706 } |
707 | 707 |
708 } // namespace blink | 708 } // namespace blink |
OLD | NEW |