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

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

Issue 2679563002: [WIP] Expose Request.body property
Patch Set: Created 3 years, 10 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/FormDataBytesConsumer.h" 5 #include "modules/fetch/FormDataBytesConsumer.h"
6 6
7 #include "core/dom/DOMArrayBuffer.h" 7 #include "core/dom/DOMArrayBuffer.h"
8 #include "core/dom/DOMArrayBufferView.h" 8 #include "core/dom/DOMArrayBufferView.h"
9 #include "modules/fetch/BlobBytesConsumer.h" 9 #include "modules/fetch/BlobBytesConsumer.h"
10 #include "platform/blob/BlobData.h" 10 #include "platform/blob/BlobData.h"
(...skipping 22 matching lines...) Expand all
33 33
34 // BytesConsumer implementation 34 // BytesConsumer implementation
35 Result beginRead(const char** buffer, size_t* available) override { 35 Result beginRead(const char** buffer, size_t* available) override {
36 *buffer = nullptr; 36 *buffer = nullptr;
37 *available = 0; 37 *available = 0;
38 if (m_formData) { 38 if (m_formData) {
39 m_formData->flatten(m_flattenFormData); 39 m_formData->flatten(m_flattenFormData);
40 m_formData = nullptr; 40 m_formData = nullptr;
41 DCHECK_EQ(m_flattenFormDataOffset, 0u); 41 DCHECK_EQ(m_flattenFormDataOffset, 0u);
42 } 42 }
43 if (m_flattenFormDataOffset == m_flattenFormData.size()) 43 if (m_flattenFormDataOffset == m_flattenFormData.size()) {
44 return Result::Done; 44 return Result::Done;
45 }
45 *buffer = m_flattenFormData.data() + m_flattenFormDataOffset; 46 *buffer = m_flattenFormData.data() + m_flattenFormDataOffset;
46 *available = m_flattenFormData.size() - m_flattenFormDataOffset; 47 *available = m_flattenFormData.size() - m_flattenFormDataOffset;
47 return Result::Ok; 48 return Result::Ok;
48 } 49 }
49 Result endRead(size_t readSize) override { 50 Result endRead(size_t readSize) override {
50 DCHECK(!m_formData); 51 DCHECK(!m_formData);
51 DCHECK_LE(m_flattenFormDataOffset + readSize, m_flattenFormData.size()); 52 DCHECK_LE(m_flattenFormDataOffset + readSize, m_flattenFormData.size());
52 m_flattenFormDataOffset += readSize; 53 m_flattenFormDataOffset += readSize;
53 if (m_flattenFormDataOffset == m_flattenFormData.size()) { 54 if (m_flattenFormDataOffset == m_flattenFormData.size()) {
54 m_state = PublicState::Closed; 55 m_state = PublicState::Closed;
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 BytesConsumer* consumer) 221 BytesConsumer* consumer)
221 : m_impl(isSimple(formData.get()) 222 : m_impl(isSimple(formData.get())
222 ? static_cast<BytesConsumer*>( 223 ? static_cast<BytesConsumer*>(
223 new SimpleFormDataBytesConsumer(std::move(formData))) 224 new SimpleFormDataBytesConsumer(std::move(formData)))
224 : static_cast<BytesConsumer*>( 225 : static_cast<BytesConsumer*>(
225 new ComplexFormDataBytesConsumer(executionContext, 226 new ComplexFormDataBytesConsumer(executionContext,
226 std::move(formData), 227 std::move(formData),
227 consumer))) {} 228 consumer))) {}
228 229
229 } // namespace blink 230 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698