Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(31)

Side by Side Diff: third_party/WebKit/Source/modules/fetch/Response.cpp

Issue 1844223002: Literal AtomicString construction can rely on strlen optimization. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698