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

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

Issue 1983783002: Remove OwnPtr::release() calls in modules/ (part 1). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/FetchFormDataConsumerHandle.h" 5 #include "modules/fetch/FetchFormDataConsumerHandle.h"
6 6
7 #include "modules/fetch/DataConsumerHandleUtil.h" 7 #include "modules/fetch/DataConsumerHandleUtil.h"
8 #include "modules/fetch/FetchBlobDataConsumerHandle.h" 8 #include "modules/fetch/FetchBlobDataConsumerHandle.h"
9 #include "wtf/ThreadingPrimitives.h" 9 #include "wtf/ThreadingPrimitives.h"
10 #include "wtf/Vector.h" 10 #include "wtf/Vector.h"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 58
59 PassRefPtr<BlobDataHandle> drainAsBlobDataHandle() 59 PassRefPtr<BlobDataHandle> drainAsBlobDataHandle()
60 { 60 {
61 if (!m_formData) 61 if (!m_formData)
62 return nullptr; 62 return nullptr;
63 flatten(); 63 flatten();
64 OwnPtr<BlobData> blobData = BlobData::create(); 64 OwnPtr<BlobData> blobData = BlobData::create();
65 blobData->appendBytes(m_flattenFormData.data(), m_flattenFormData.size() ); 65 blobData->appendBytes(m_flattenFormData.data(), m_flattenFormData.size() );
66 m_flattenFormData.clear(); 66 m_flattenFormData.clear();
67 auto length = blobData->length(); 67 auto length = blobData->length();
68 return BlobDataHandle::create(blobData.release(), length); 68 return BlobDataHandle::create(std::move(blobData), length);
69 } 69 }
70 70
71 PassRefPtr<EncodedFormData> drainFormData() 71 PassRefPtr<EncodedFormData> drainFormData()
72 { 72 {
73 ASSERT(!m_formData || m_formData->isSafeToSendToAnotherThread()); 73 ASSERT(!m_formData || m_formData->isSafeToSendToAnotherThread());
74 return m_formData.release(); 74 return m_formData.release();
75 } 75 }
76 76
77 Result read(void* data, size_t size, Flags flags, size_t* readSize) 77 Result read(void* data, size_t size, Flags flags, size_t* readSize)
78 { 78 {
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 blobData->appendFileSystemURL(element.m_fileSystemURL, element.m _fileStart, element.m_fileLength, element.m_expectedFileModificationTime); 261 blobData->appendFileSystemURL(element.m_fileSystemURL, element.m _fileStart, element.m_fileLength, element.m_expectedFileModificationTime);
262 break; 262 break;
263 } 263 }
264 } 264 }
265 // Here we handle body->boundary() as a C-style string. See 265 // Here we handle body->boundary() as a C-style string. See
266 // FormDataEncoder::generateUniqueBoundaryString. 266 // FormDataEncoder::generateUniqueBoundaryString.
267 blobData->setContentType(AtomicString("multipart/form-data; boundary=") + body->boundary().data()); 267 blobData->setContentType(AtomicString("multipart/form-data; boundary=") + body->boundary().data());
268 auto size = blobData->length(); 268 auto size = blobData->length();
269 if (factory) { 269 if (factory) {
270 // For testing 270 // For testing
271 m_handle = FetchBlobDataConsumerHandle::create(executionContext, Blo bDataHandle::create(blobData.release(), size), factory); 271 m_handle = FetchBlobDataConsumerHandle::create(executionContext, Blo bDataHandle::create(std::move(blobData), size), factory);
272 } else { 272 } else {
273 m_handle = FetchBlobDataConsumerHandle::create(executionContext, Blo bDataHandle::create(blobData.release(), size)); 273 m_handle = FetchBlobDataConsumerHandle::create(executionContext, Blo bDataHandle::create(std::move(blobData), size));
274 } 274 }
275 // It is important to initialize |m_formData| here, because even 275 // It is important to initialize |m_formData| here, because even
276 // read-only operations may make the form data unsharable with implicit 276 // read-only operations may make the form data unsharable with implicit
277 // ref-counting. 277 // ref-counting.
278 m_formData = body->deepCopy(); 278 m_formData = body->deepCopy();
279 } 279 }
280 PassRefPtr<EncodedFormData> drainFormData() 280 PassRefPtr<EncodedFormData> drainFormData()
281 { 281 {
282 ASSERT(!m_formData || m_formData->isSafeToSendToAnotherThread()); 282 ASSERT(!m_formData || m_formData->isSafeToSendToAnotherThread());
283 return m_formData.release(); 283 return m_formData.release();
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 } 328 }
329 } 329 }
330 FetchFormDataConsumerHandle::~FetchFormDataConsumerHandle() {} 330 FetchFormDataConsumerHandle::~FetchFormDataConsumerHandle() {}
331 331
332 FetchDataConsumerHandle::Reader* FetchFormDataConsumerHandle::obtainReaderIntern al(Client* client) 332 FetchDataConsumerHandle::Reader* FetchFormDataConsumerHandle::obtainReaderIntern al(Client* client)
333 { 333 {
334 return m_context->obtainReader(client).leakPtr(); 334 return m_context->obtainReader(client).leakPtr();
335 } 335 }
336 336
337 } // namespace blink 337 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698