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/ScriptState.h" | 9 #include "bindings/core/v8/ScriptState.h" |
10 #include "bindings/core/v8/V8ArrayBuffer.h" | 10 #include "bindings/core/v8/V8ArrayBuffer.h" |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
128 bodyHandle = FetchBlobDataConsumerHandle::create(executionContext, blob-
>blobDataHandle()); | 128 bodyHandle = FetchBlobDataConsumerHandle::create(executionContext, blob-
>blobDataHandle()); |
129 contentType = blob->type(); | 129 contentType = blob->type(); |
130 } else if (V8ArrayBuffer::hasInstance(body, isolate)) { | 130 } else if (V8ArrayBuffer::hasInstance(body, isolate)) { |
131 bodyHandle = FetchFormDataConsumerHandle::create(V8ArrayBuffer::toImpl(b
ody.As<v8::Object>())); | 131 bodyHandle = FetchFormDataConsumerHandle::create(V8ArrayBuffer::toImpl(b
ody.As<v8::Object>())); |
132 } else if (V8ArrayBufferView::hasInstance(body, isolate)) { | 132 } else if (V8ArrayBufferView::hasInstance(body, isolate)) { |
133 bodyHandle = FetchFormDataConsumerHandle::create(V8ArrayBufferView::toIm
pl(body.As<v8::Object>())); | 133 bodyHandle = FetchFormDataConsumerHandle::create(V8ArrayBufferView::toIm
pl(body.As<v8::Object>())); |
134 } else if (V8FormData::hasInstance(body, isolate)) { | 134 } else if (V8FormData::hasInstance(body, isolate)) { |
135 RefPtr<EncodedFormData> formData = V8FormData::toImpl(body.As<v8::Object
>())->encodeMultiPartFormData(); | 135 RefPtr<EncodedFormData> formData = V8FormData::toImpl(body.As<v8::Object
>())->encodeMultiPartFormData(); |
136 // Here we handle formData->boundary() as a C-style string. See | 136 // Here we handle formData->boundary() as a C-style string. See |
137 // FormDataEncoder::generateUniqueBoundaryString. | 137 // FormDataEncoder::generateUniqueBoundaryString. |
138 contentType = AtomicString("multipart/form-data; boundary=", AtomicStrin
g::ConstructFromLiteral) + formData->boundary().data(); | 138 contentType = AtomicString("multipart/form-data; boundary=") + formData-
>boundary().data(); |
139 bodyHandle = FetchFormDataConsumerHandle::create(executionContext, formD
ata.release()); | 139 bodyHandle = FetchFormDataConsumerHandle::create(executionContext, formD
ata.release()); |
140 } else if (RuntimeEnabledFeatures::responseConstructedWithReadableStreamEnab
led() && ReadableStreamOperations::isReadableStream(scriptState, bodyValue)) { | 140 } else if (RuntimeEnabledFeatures::responseConstructedWithReadableStreamEnab
led() && ReadableStreamOperations::isReadableStream(scriptState, bodyValue)) { |
141 bodyHandle = ReadableStreamDataConsumerHandle::create(scriptState, bodyV
alue); | 141 bodyHandle = ReadableStreamDataConsumerHandle::create(scriptState, bodyV
alue); |
142 reader = ReadableStreamOperations::getReader(scriptState, bodyValue, exc
eptionState); | 142 reader = ReadableStreamOperations::getReader(scriptState, bodyValue, exc
eptionState); |
143 if (exceptionState.hadException()) { | 143 if (exceptionState.hadException()) { |
144 reader = ScriptValue(); | 144 reader = ScriptValue(); |
145 bodyHandle = createFetchDataConsumerHandleFromWebHandle(createUnexpe
ctedErrorDataConsumerHandle()); | 145 bodyHandle = createFetchDataConsumerHandleFromWebHandle(createUnexpe
ctedErrorDataConsumerHandle()); |
146 exceptionState.clearException(); | 146 exceptionState.clearException(); |
147 } else { | 147 } else { |
148 bodyHandle = ReadableStreamDataConsumerHandle::create(scriptState, r
eader); | 148 bodyHandle = ReadableStreamDataConsumerHandle::create(scriptState, r
eader); |
(...skipping 272 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 |