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

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

Issue 1906403002: Revert of Make Response::body return v8-extra based stream behind flag (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@notify-locked-released
Patch Set: Created 4 years, 8 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 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 class CacheMatchCallbacks : public WebServiceWorkerCache::CacheMatchCallbacks { 45 class CacheMatchCallbacks : public WebServiceWorkerCache::CacheMatchCallbacks {
46 WTF_MAKE_NONCOPYABLE(CacheMatchCallbacks); 46 WTF_MAKE_NONCOPYABLE(CacheMatchCallbacks);
47 public: 47 public:
48 explicit CacheMatchCallbacks(ScriptPromiseResolver* resolver) 48 explicit CacheMatchCallbacks(ScriptPromiseResolver* resolver)
49 : m_resolver(resolver) { } 49 : m_resolver(resolver) { }
50 50
51 void onSuccess(const WebServiceWorkerResponse& webResponse) override 51 void onSuccess(const WebServiceWorkerResponse& webResponse) override
52 { 52 {
53 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped()) 53 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
54 return; 54 return;
55 m_resolver->resolve(Response::create(m_resolver->getScriptState(), webRe sponse)); 55 m_resolver->resolve(Response::create(m_resolver->getScriptState()->getEx ecutionContext(), webResponse));
56 m_resolver.clear(); 56 m_resolver.clear();
57 } 57 }
58 58
59 void onError(WebServiceWorkerCacheError reason) override 59 void onError(WebServiceWorkerCacheError reason) override
60 { 60 {
61 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped()) 61 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
62 return; 62 return;
63 if (reason == WebServiceWorkerCacheErrorNotFound) 63 if (reason == WebServiceWorkerCacheErrorNotFound)
64 m_resolver->resolve(); 64 m_resolver->resolve();
65 else 65 else
(...skipping 11 matching lines...) Expand all
77 public: 77 public:
78 explicit CacheWithResponsesCallbacks(ScriptPromiseResolver* resolver) 78 explicit CacheWithResponsesCallbacks(ScriptPromiseResolver* resolver)
79 : m_resolver(resolver) { } 79 : m_resolver(resolver) { }
80 80
81 void onSuccess(const WebVector<WebServiceWorkerResponse>& webResponses) over ride 81 void onSuccess(const WebVector<WebServiceWorkerResponse>& webResponses) over ride
82 { 82 {
83 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped()) 83 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
84 return; 84 return;
85 HeapVector<Member<Response>> responses; 85 HeapVector<Member<Response>> responses;
86 for (size_t i = 0; i < webResponses.size(); ++i) 86 for (size_t i = 0; i < webResponses.size(); ++i)
87 responses.append(Response::create(m_resolver->getScriptState(), webR esponses[i])); 87 responses.append(Response::create(m_resolver->getScriptState()->getE xecutionContext(), webResponses[i]));
88 m_resolver->resolve(responses); 88 m_resolver->resolve(responses);
89 m_resolver.clear(); 89 m_resolver.clear();
90 } 90 }
91 91
92 void onError(WebServiceWorkerCacheError reason) override 92 void onError(WebServiceWorkerCacheError reason) override
93 { 93 {
94 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped()) 94 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
95 return; 95 return;
96 m_resolver->reject(CacheStorageError::createException(reason)); 96 m_resolver->reject(CacheStorageError::createException(reason));
97 m_resolver.clear(); 97 m_resolver.clear();
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 public: 137 public:
138 explicit CacheWithRequestsCallbacks(ScriptPromiseResolver* resolver) 138 explicit CacheWithRequestsCallbacks(ScriptPromiseResolver* resolver)
139 : m_resolver(resolver) { } 139 : m_resolver(resolver) { }
140 140
141 void onSuccess(const WebVector<WebServiceWorkerRequest>& webRequests) overri de 141 void onSuccess(const WebVector<WebServiceWorkerRequest>& webRequests) overri de
142 { 142 {
143 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped()) 143 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
144 return; 144 return;
145 HeapVector<Member<Request>> requests; 145 HeapVector<Member<Request>> requests;
146 for (size_t i = 0; i < webRequests.size(); ++i) 146 for (size_t i = 0; i < webRequests.size(); ++i)
147 requests.append(Request::create(m_resolver->getScriptState(), webReq uests[i])); 147 requests.append(Request::create(m_resolver->getScriptState()->getExe cutionContext(), webRequests[i]));
148 m_resolver->resolve(requests); 148 m_resolver->resolve(requests);
149 m_resolver.clear(); 149 m_resolver.clear();
150 } 150 }
151 151
152 void onError(WebServiceWorkerCacheError reason) override 152 void onError(WebServiceWorkerCacheError reason) override
153 { 153 {
154 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped()) 154 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
155 return; 155 return;
156 m_resolver->reject(CacheStorageError::createException(reason)); 156 m_resolver->reject(CacheStorageError::createException(reason));
157 m_resolver.clear(); 157 m_resolver.clear();
(...skipping 420 matching lines...) Expand 10 before | Expand all | Expand 10 after
578 if (responses[i]->isBodyLocked() || responses[i]->bodyUsed()) { 578 if (responses[i]->isBodyLocked() || responses[i]->bodyUsed()) {
579 barrierCallback->onError("Response body is already used"); 579 barrierCallback->onError("Response body is already used");
580 return promise; 580 return promise;
581 } 581 }
582 582
583 BodyStreamBuffer* buffer = responses[i]->internalBodyBuffer(); 583 BodyStreamBuffer* buffer = responses[i]->internalBodyBuffer();
584 if (buffer) { 584 if (buffer) {
585 // If the response has body, read the all data and create 585 // If the response has body, read the all data and create
586 // the blob handle and dispatch the put batch asynchronously. 586 // the blob handle and dispatch the put batch asynchronously.
587 FetchDataLoader* loader = FetchDataLoader::createLoaderAsBlobHandle( responses[i]->internalMIMEType()); 587 FetchDataLoader* loader = FetchDataLoader::createLoaderAsBlobHandle( responses[i]->internalMIMEType());
588 buffer->startLoading(loader, new BlobHandleCallbackForPut(i, barrier Callback, requests[i], responses[i])); 588 buffer->startLoading(scriptState->getExecutionContext(), loader, new BlobHandleCallbackForPut(i, barrierCallback, requests[i], responses[i]));
589 continue; 589 continue;
590 } 590 }
591 591
592 WebServiceWorkerCache::BatchOperation batchOperation; 592 WebServiceWorkerCache::BatchOperation batchOperation;
593 batchOperation.operationType = WebServiceWorkerCache::OperationTypePut; 593 batchOperation.operationType = WebServiceWorkerCache::OperationTypePut;
594 requests[i]->populateWebServiceWorkerRequest(batchOperation.request); 594 requests[i]->populateWebServiceWorkerRequest(batchOperation.request);
595 responses[i]->populateWebServiceWorkerResponse(batchOperation.response); 595 responses[i]->populateWebServiceWorkerResponse(batchOperation.response);
596 barrierCallback->onSuccess(i, batchOperation); 596 barrierCallback->onSuccess(i, batchOperation);
597 } 597 }
598 598
(...skipping 19 matching lines...) Expand all
618 m_webCache->dispatchKeys(new CacheWithRequestsCallbacks(resolver), 0, toWebQ ueryParams(options)); 618 m_webCache->dispatchKeys(new CacheWithRequestsCallbacks(resolver), 0, toWebQ ueryParams(options));
619 return promise; 619 return promise;
620 } 620 }
621 621
622 WebServiceWorkerCache* Cache::webCache() const 622 WebServiceWorkerCache* Cache::webCache() const
623 { 623 {
624 return m_webCache.get(); 624 return m_webCache.get();
625 } 625 }
626 626
627 } // namespace blink 627 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698