| 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/fetch/Response.h" | 6 #include "modules/fetch/Response.h" |
| 7 | 7 |
| 8 #include "bindings/core/v8/Dictionary.h" | 8 #include "bindings/core/v8/Dictionary.h" |
| 9 #include "bindings/core/v8/ExceptionState.h" | 9 #include "bindings/core/v8/ExceptionState.h" |
| 10 #include "core/dom/DOMArrayBuffer.h" | 10 #include "core/dom/DOMArrayBuffer.h" |
| (...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 292 Response* Response::clone(ExceptionState& exceptionState) | 292 Response* Response::clone(ExceptionState& exceptionState) |
| 293 { | 293 { |
| 294 if (bodyUsed()) { | 294 if (bodyUsed()) { |
| 295 exceptionState.throwTypeError("Response body is already used"); | 295 exceptionState.throwTypeError("Response body is already used"); |
| 296 return nullptr; | 296 return nullptr; |
| 297 } | 297 } |
| 298 if (streamAccessed()) { | 298 if (streamAccessed()) { |
| 299 BodyStreamBuffer* drainingStream = createDrainingStream(); | 299 BodyStreamBuffer* drainingStream = createDrainingStream(); |
| 300 m_response->replaceBodyStreamBuffer(drainingStream); | 300 m_response->replaceBodyStreamBuffer(drainingStream); |
| 301 } | 301 } |
| 302 // Lock the old body and set |body| property to the new one. |
| 303 lockBody(); |
| 304 refreshBody(); |
| 305 |
| 302 FetchResponseData* response = m_response->clone(); | 306 FetchResponseData* response = m_response->clone(); |
| 303 Headers* headers = Headers::create(response->headerList()); | 307 Headers* headers = Headers::create(response->headerList()); |
| 304 headers->setGuard(m_headers->guard()); | 308 headers->setGuard(m_headers->guard()); |
| 305 Response* r = new Response(executionContext(), response, headers); | 309 Response* r = new Response(executionContext(), response, headers); |
| 306 r->suspendIfNeeded(); | 310 r->suspendIfNeeded(); |
| 307 return r; | 311 return r; |
| 308 } | 312 } |
| 309 | 313 |
| 310 void Response::populateWebServiceWorkerResponse(WebServiceWorkerResponse& respon
se) | 314 void Response::populateWebServiceWorkerResponse(WebServiceWorkerResponse& respon
se) |
| 311 { | 315 { |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 367 } | 371 } |
| 368 | 372 |
| 369 DEFINE_TRACE(Response) | 373 DEFINE_TRACE(Response) |
| 370 { | 374 { |
| 371 Body::trace(visitor); | 375 Body::trace(visitor); |
| 372 visitor->trace(m_response); | 376 visitor->trace(m_response); |
| 373 visitor->trace(m_headers); | 377 visitor->trace(m_headers); |
| 374 } | 378 } |
| 375 | 379 |
| 376 } // namespace blink | 380 } // namespace blink |
| OLD | NEW |