| 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/fetch/Response.h" | 5 #include "modules/fetch/Response.h" |
| 6 | 6 |
| 7 #include "bindings/core/v8/Dictionary.h" | 7 #include "bindings/core/v8/Dictionary.h" |
| 8 #include "bindings/core/v8/ExceptionState.h" | 8 #include "bindings/core/v8/ExceptionState.h" |
| 9 #include "bindings/core/v8/ReadableStreamOperations.h" | 9 #include "bindings/core/v8/ReadableStreamOperations.h" |
| 10 #include "bindings/core/v8/ScriptState.h" | 10 #include "bindings/core/v8/ScriptState.h" |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 101 || (0x80 <= c && c <= 0xFF))) // obs-text | 101 || (0x80 <= c && c <= 0xFF))) // obs-text |
| 102 return false; | 102 return false; |
| 103 } | 103 } |
| 104 return true; | 104 return true; |
| 105 } | 105 } |
| 106 | 106 |
| 107 } // namespace | 107 } // namespace |
| 108 | 108 |
| 109 Response* Response::create(ScriptState* scriptState, ExceptionState& exceptionSt
ate) | 109 Response* Response::create(ScriptState* scriptState, ExceptionState& exceptionSt
ate) |
| 110 { | 110 { |
| 111 return create(scriptState->executionContext(), nullptr, String(), ResponseIn
it(), exceptionState); | 111 return create(scriptState->getExecutionContext(), nullptr, String(), Respons
eInit(), exceptionState); |
| 112 } | 112 } |
| 113 | 113 |
| 114 Response* Response::create(ScriptState* scriptState, ScriptValue bodyValue, cons
t Dictionary& init, ExceptionState& exceptionState) | 114 Response* Response::create(ScriptState* scriptState, ScriptValue bodyValue, cons
t Dictionary& init, ExceptionState& exceptionState) |
| 115 { | 115 { |
| 116 v8::Local<v8::Value> body = bodyValue.v8Value(); | 116 v8::Local<v8::Value> body = bodyValue.v8Value(); |
| 117 ScriptValue reader; | 117 ScriptValue reader; |
| 118 v8::Isolate* isolate = scriptState->isolate(); | 118 v8::Isolate* isolate = scriptState->isolate(); |
| 119 ExecutionContext* executionContext = scriptState->executionContext(); | 119 ExecutionContext* executionContext = scriptState->getExecutionContext(); |
| 120 | 120 |
| 121 OwnPtr<FetchDataConsumerHandle> bodyHandle; | 121 OwnPtr<FetchDataConsumerHandle> bodyHandle; |
| 122 String contentType; | 122 String contentType; |
| 123 if (bodyValue.isUndefined() || bodyValue.isNull()) { | 123 if (bodyValue.isUndefined() || bodyValue.isNull()) { |
| 124 // Note: The IDL processor cannot handle this situation. See | 124 // Note: The IDL processor cannot handle this situation. See |
| 125 // https://crbug.com/335871. | 125 // https://crbug.com/335871. |
| 126 } else if (V8Blob::hasInstance(body, isolate)) { | 126 } else if (V8Blob::hasInstance(body, isolate)) { |
| 127 Blob* blob = V8Blob::toImpl(body.As<v8::Object>()); | 127 Blob* blob = V8Blob::toImpl(body.As<v8::Object>()); |
| 128 bodyHandle = FetchBlobDataConsumerHandle::create(executionContext, blob-
>blobDataHandle()); | 128 bodyHandle = FetchBlobDataConsumerHandle::create(executionContext, blob-
>blobDataHandle()); |
| 129 contentType = blob->type(); | 129 contentType = blob->type(); |
| (...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 346 return m_headers; | 346 return m_headers; |
| 347 } | 347 } |
| 348 | 348 |
| 349 Response* Response::clone(ExceptionState& exceptionState) | 349 Response* Response::clone(ExceptionState& exceptionState) |
| 350 { | 350 { |
| 351 if (isBodyLocked() || bodyUsed()) { | 351 if (isBodyLocked() || bodyUsed()) { |
| 352 exceptionState.throwTypeError("Response body is already used"); | 352 exceptionState.throwTypeError("Response body is already used"); |
| 353 return nullptr; | 353 return nullptr; |
| 354 } | 354 } |
| 355 | 355 |
| 356 FetchResponseData* response = m_response->clone(executionContext()); | 356 FetchResponseData* response = m_response->clone(getExecutionContext()); |
| 357 Headers* headers = Headers::create(response->headerList()); | 357 Headers* headers = Headers::create(response->headerList()); |
| 358 headers->setGuard(m_headers->getGuard()); | 358 headers->setGuard(m_headers->getGuard()); |
| 359 return new Response(executionContext(), response, headers); | 359 return new Response(getExecutionContext(), response, headers); |
| 360 } | 360 } |
| 361 | 361 |
| 362 bool Response::hasPendingActivity() const | 362 bool Response::hasPendingActivity() const |
| 363 { | 363 { |
| 364 if (!executionContext() || executionContext()->activeDOMObjectsAreStopped()) | 364 if (!getExecutionContext() || getExecutionContext()->activeDOMObjectsAreStop
ped()) |
| 365 return false; | 365 return false; |
| 366 if (!internalBodyBuffer()) | 366 if (!internalBodyBuffer()) |
| 367 return false; | 367 return false; |
| 368 if (internalBodyBuffer()->hasPendingActivity()) | 368 if (internalBodyBuffer()->hasPendingActivity()) |
| 369 return true; | 369 return true; |
| 370 return Body::hasPendingActivity(); | 370 return Body::hasPendingActivity(); |
| 371 } | 371 } |
| 372 | 372 |
| 373 void Response::stop() | 373 void Response::stop() |
| 374 { | 374 { |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 421 } | 421 } |
| 422 | 422 |
| 423 DEFINE_TRACE(Response) | 423 DEFINE_TRACE(Response) |
| 424 { | 424 { |
| 425 Body::trace(visitor); | 425 Body::trace(visitor); |
| 426 visitor->trace(m_response); | 426 visitor->trace(m_response); |
| 427 visitor->trace(m_headers); | 427 visitor->trace(m_headers); |
| 428 } | 428 } |
| 429 | 429 |
| 430 } // namespace blink | 430 } // namespace blink |
| OLD | NEW |