| 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 "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/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 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 364 return ScriptPromise::reject(scriptState, V8ThrowException::createTypeEr
ror(scriptState->isolate(), "Response body is already used")); | 364 return ScriptPromise::reject(scriptState, V8ThrowException::createTypeEr
ror(scriptState->isolate(), "Response body is already used")); |
| 365 | 365 |
| 366 if (request->hasBody()) | 366 if (request->hasBody()) |
| 367 request->lockBody(Body::PassBody); | 367 request->lockBody(Body::PassBody); |
| 368 if (response->hasBody()) | 368 if (response->hasBody()) |
| 369 response->lockBody(Body::PassBody); | 369 response->lockBody(Body::PassBody); |
| 370 | 370 |
| 371 RefPtrWillBeRawPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::
create(scriptState); | 371 RefPtrWillBeRawPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::
create(scriptState); |
| 372 const ScriptPromise promise = resolver->promise(); | 372 const ScriptPromise promise = resolver->promise(); |
| 373 if (BodyStreamBuffer* buffer = response->internalBuffer()) { | 373 if (BodyStreamBuffer* buffer = response->internalBuffer()) { |
| 374 if (buffer == response->buffer() && response->streamAccessed()) | 374 if (buffer == response->buffer() && response->isBodyConsumed()) |
| 375 buffer = response->createDrainingStream(); | 375 buffer = response->createDrainingStream(); |
| 376 // If the response body type is stream, read the all data and create the | 376 // If the response body type is stream, read the all data and create the |
| 377 // blob handle and dispatch the put batch asynchronously. | 377 // blob handle and dispatch the put batch asynchronously. |
| 378 buffer->readAllAndCreateBlobHandle(response->internalMIMEType(), new Asy
ncPutBatch(resolver, this, request, response)); | 378 buffer->readAllAndCreateBlobHandle(response->internalMIMEType(), new Asy
ncPutBatch(resolver, this, request, response)); |
| 379 return promise; | 379 return promise; |
| 380 } | 380 } |
| 381 WebVector<WebServiceWorkerCache::BatchOperation> batchOperations(size_t(1)); | 381 WebVector<WebServiceWorkerCache::BatchOperation> batchOperations(size_t(1)); |
| 382 batchOperations[0].operationType = WebServiceWorkerCache::OperationTypePut; | 382 batchOperations[0].operationType = WebServiceWorkerCache::OperationTypePut; |
| 383 request->populateWebServiceWorkerRequest(batchOperations[0].request); | 383 request->populateWebServiceWorkerRequest(batchOperations[0].request); |
| 384 response->populateWebServiceWorkerResponse(batchOperations[0].response); | 384 response->populateWebServiceWorkerResponse(batchOperations[0].response); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 405 m_webCache->dispatchKeys(new CacheWithRequestsCallbacks(resolver), 0, toWebQ
ueryParams(options)); | 405 m_webCache->dispatchKeys(new CacheWithRequestsCallbacks(resolver), 0, toWebQ
ueryParams(options)); |
| 406 return promise; | 406 return promise; |
| 407 } | 407 } |
| 408 | 408 |
| 409 WebServiceWorkerCache* Cache::webCache() const | 409 WebServiceWorkerCache* Cache::webCache() const |
| 410 { | 410 { |
| 411 return m_webCache.get(); | 411 return m_webCache.get(); |
| 412 } | 412 } |
| 413 | 413 |
| 414 } // namespace blink | 414 } // namespace blink |
| OLD | NEW |