| 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 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 126 } else if (V8ArrayBuffer::hasInstance(body, isolate)) { | 126 } else if (V8ArrayBuffer::hasInstance(body, isolate)) { |
| 127 bodyHandle = FetchFormDataConsumerHandle::create(V8ArrayBuffer::toImpl(b
ody.As<v8::Object>())); | 127 bodyHandle = FetchFormDataConsumerHandle::create(V8ArrayBuffer::toImpl(b
ody.As<v8::Object>())); |
| 128 } else if (V8ArrayBufferView::hasInstance(body, isolate)) { | 128 } else if (V8ArrayBufferView::hasInstance(body, isolate)) { |
| 129 bodyHandle = FetchFormDataConsumerHandle::create(V8ArrayBufferView::toIm
pl(body.As<v8::Object>())); | 129 bodyHandle = FetchFormDataConsumerHandle::create(V8ArrayBufferView::toIm
pl(body.As<v8::Object>())); |
| 130 } else if (V8FormData::hasInstance(body, isolate)) { | 130 } else if (V8FormData::hasInstance(body, isolate)) { |
| 131 RefPtr<EncodedFormData> formData = V8FormData::toImpl(body.As<v8::Object
>())->encodeMultiPartFormData(); | 131 RefPtr<EncodedFormData> formData = V8FormData::toImpl(body.As<v8::Object
>())->encodeMultiPartFormData(); |
| 132 // Here we handle formData->boundary() as a C-style string. See | 132 // Here we handle formData->boundary() as a C-style string. See |
| 133 // FormDataEncoder::generateUniqueBoundaryString. | 133 // FormDataEncoder::generateUniqueBoundaryString. |
| 134 contentType = AtomicString("multipart/form-data; boundary=", AtomicStrin
g::ConstructFromLiteral) + formData->boundary().data(); | 134 contentType = AtomicString("multipart/form-data; boundary=", AtomicStrin
g::ConstructFromLiteral) + formData->boundary().data(); |
| 135 bodyHandle = FetchFormDataConsumerHandle::create(executionContext, formD
ata.release()); | 135 bodyHandle = FetchFormDataConsumerHandle::create(executionContext, formD
ata.release()); |
| 136 } else if (RuntimeEnabledFeatures::responseConstructedWithReadableStreamEnab
led() && ReadableStreamOperations::isReadableStream(scriptState, body)) { | 136 } else if (RuntimeEnabledFeatures::responseConstructedWithReadableStreamEnab
led() && ReadableStreamOperations::isReadableStream(scriptState, bodyValue)) { |
| 137 bodyHandle = ReadableStreamDataConsumerHandle::create(scriptState, body)
; | 137 bodyHandle = ReadableStreamDataConsumerHandle::create(scriptState, bodyV
alue); |
| 138 } else { | 138 } else { |
| 139 String string = toUSVString(isolate, body, exceptionState); | 139 String string = toUSVString(isolate, body, exceptionState); |
| 140 if (exceptionState.hadException()) | 140 if (exceptionState.hadException()) |
| 141 return nullptr; | 141 return nullptr; |
| 142 bodyHandle = FetchFormDataConsumerHandle::create(string); | 142 bodyHandle = FetchFormDataConsumerHandle::create(string); |
| 143 contentType = "text/plain;charset=UTF-8"; | 143 contentType = "text/plain;charset=UTF-8"; |
| 144 } | 144 } |
| 145 // TODO(yhirano): Add the URLSearchParams case. | 145 // TODO(yhirano): Add the URLSearchParams case. |
| 146 return create(executionContext, bodyHandle.release(), contentType, ResponseI
nit(init, exceptionState), exceptionState); | 146 return create(executionContext, bodyHandle.release(), contentType, ResponseI
nit(init, exceptionState), exceptionState); |
| 147 } | 147 } |
| (...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 396 } | 396 } |
| 397 | 397 |
| 398 DEFINE_TRACE(Response) | 398 DEFINE_TRACE(Response) |
| 399 { | 399 { |
| 400 Body::trace(visitor); | 400 Body::trace(visitor); |
| 401 visitor->trace(m_response); | 401 visitor->trace(m_response); |
| 402 visitor->trace(m_headers); | 402 visitor->trace(m_headers); |
| 403 } | 403 } |
| 404 | 404 |
| 405 } // namespace blink | 405 } // namespace blink |
| OLD | NEW |