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

Side by Side Diff: third_party/WebKit/Source/modules/fetch/FetchFormDataConsumerHandleTest.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 "core/dom/DOMTypedArray.h" 7 #include "core/dom/DOMTypedArray.h"
8 #include "core/html/FormData.h" 8 #include "core/html/FormData.h"
9 #include "core/loader/MockThreadableLoader.h" 9 #include "core/loader/MockThreadableLoader.h"
10 #include "core/loader/ThreadableLoaderClient.h" 10 #include "core/loader/ThreadableLoaderClient.h"
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 explicit LoaderFactory(PassOwnPtr<WebDataConsumerHandle> handle) 53 explicit LoaderFactory(PassOwnPtr<WebDataConsumerHandle> handle)
54 : m_client(nullptr) 54 : m_client(nullptr)
55 , m_handle(std::move(handle)) {} 55 , m_handle(std::move(handle)) {}
56 PassOwnPtr<ThreadableLoader> create(ExecutionContext&, ThreadableLoaderClien t* client, const ThreadableLoaderOptions&, const ResourceLoaderOptions&) overrid e 56 PassOwnPtr<ThreadableLoader> create(ExecutionContext&, ThreadableLoaderClien t* client, const ThreadableLoaderOptions&, const ResourceLoaderOptions&) overrid e
57 { 57 {
58 m_client = client; 58 m_client = client;
59 59
60 OwnPtr<MockThreadableLoader> loader = MockThreadableLoader::create(); 60 OwnPtr<MockThreadableLoader> loader = MockThreadableLoader::create();
61 EXPECT_CALL(*loader, start(_)).WillOnce(InvokeWithoutArgs(this, &LoaderF actory::handleDidReceiveResponse)); 61 EXPECT_CALL(*loader, start(_)).WillOnce(InvokeWithoutArgs(this, &LoaderF actory::handleDidReceiveResponse));
62 EXPECT_CALL(*loader, cancel()).Times(1); 62 EXPECT_CALL(*loader, cancel()).Times(1);
63 return loader.release(); 63 return std::move(loader);
64 } 64 }
65 65
66 private: 66 private:
67 void handleDidReceiveResponse() 67 void handleDidReceiveResponse()
68 { 68 {
69 m_client->didReceiveResponse(0, ResourceResponse(), m_handle.release()); 69 m_client->didReceiveResponse(0, ResourceResponse(), std::move(m_handle)) ;
70 } 70 }
71 71
72 ThreadableLoaderClient* m_client; 72 ThreadableLoaderClient* m_client;
73 OwnPtr<WebDataConsumerHandle> m_handle; 73 OwnPtr<WebDataConsumerHandle> m_handle;
74 }; 74 };
75 75
76 class FetchFormDataConsumerHandleTest : public ::testing::Test { 76 class FetchFormDataConsumerHandleTest : public ::testing::Test {
77 public: 77 public:
78 FetchFormDataConsumerHandleTest() : m_page(DummyPageHolder::create(IntSize(1 , 1))) {} 78 FetchFormDataConsumerHandleTest() : m_page(DummyPageHolder::create(IntSize(1 , 1))) {}
79 79
80 protected: 80 protected:
81 Document* getDocument() { return &m_page->document(); } 81 Document* getDocument() { return &m_page->document(); }
82 82
83 OwnPtr<DummyPageHolder> m_page; 83 OwnPtr<DummyPageHolder> m_page;
84 }; 84 };
85 85
86 PassRefPtr<EncodedFormData> complexFormData() 86 PassRefPtr<EncodedFormData> complexFormData()
87 { 87 {
88 RefPtr<EncodedFormData> data = EncodedFormData::create(); 88 RefPtr<EncodedFormData> data = EncodedFormData::create();
89 89
90 data->appendData("foo", 3); 90 data->appendData("foo", 3);
91 data->appendFileRange("/foo/bar/baz", 3, 4, 5); 91 data->appendFileRange("/foo/bar/baz", 3, 4, 5);
92 data->appendFileSystemURLRange(KURL(KURL(), "file:///foo/bar/baz"), 6, 7, 8) ; 92 data->appendFileSystemURLRange(KURL(KURL(), "file:///foo/bar/baz"), 6, 7, 8) ;
93 OwnPtr<BlobData> blobData = BlobData::create(); 93 OwnPtr<BlobData> blobData = BlobData::create();
94 blobData->appendText("hello", false); 94 blobData->appendText("hello", false);
95 auto size = blobData->length(); 95 auto size = blobData->length();
96 RefPtr<BlobDataHandle> blobDataHandle = BlobDataHandle::create(blobData.rele ase(), size); 96 RefPtr<BlobDataHandle> blobDataHandle = BlobDataHandle::create(std::move(blo bData), size);
97 data->appendBlob(blobDataHandle->uuid(), blobDataHandle); 97 data->appendBlob(blobDataHandle->uuid(), blobDataHandle);
98 Vector<char> boundary; 98 Vector<char> boundary;
99 boundary.append("\0", 1); 99 boundary.append("\0", 1);
100 data->setBoundary(boundary); 100 data->setBoundary(boundary);
101 return data.release(); 101 return data.release();
102 } 102 }
103 103
104 void verifyComplexFormData(EncodedFormData* data) 104 void verifyComplexFormData(EncodedFormData* data)
105 { 105 {
106 const auto& elements = data->elements(); 106 const auto& elements = data->elements();
(...skipping 19 matching lines...) Expand all
126 if (!elements[3].m_optionalBlobDataHandle) { 126 if (!elements[3].m_optionalBlobDataHandle) {
127 FAIL() << "optional BlobDataHandle must be set."; 127 FAIL() << "optional BlobDataHandle must be set.";
128 } 128 }
129 EXPECT_EQ(elements[3].m_blobUUID, elements[3].m_optionalBlobDataHandle->uuid ()); 129 EXPECT_EQ(elements[3].m_blobUUID, elements[3].m_optionalBlobDataHandle->uuid ());
130 EXPECT_EQ(5u, elements[3].m_optionalBlobDataHandle->size()); 130 EXPECT_EQ(5u, elements[3].m_optionalBlobDataHandle->size());
131 } 131 }
132 132
133 TEST_F(FetchFormDataConsumerHandleTest, ReadFromString) 133 TEST_F(FetchFormDataConsumerHandleTest, ReadFromString)
134 { 134 {
135 OwnPtr<FetchDataConsumerHandle> handle = FetchFormDataConsumerHandle::create (String("hello, world")); 135 OwnPtr<FetchDataConsumerHandle> handle = FetchFormDataConsumerHandle::create (String("hello, world"));
136 HandleReaderRunner<HandleReader> runner(handle.release()); 136 HandleReaderRunner<HandleReader> runner(std::move(handle));
137 OwnPtr<HandleReadResult> r = runner.wait(); 137 OwnPtr<HandleReadResult> r = runner.wait();
138 EXPECT_EQ(kDone, r->result()); 138 EXPECT_EQ(kDone, r->result());
139 EXPECT_EQ("hello, world", toString(r->data())); 139 EXPECT_EQ("hello, world", toString(r->data()));
140 } 140 }
141 141
142 TEST_F(FetchFormDataConsumerHandleTest, TwoPhaseReadFromString) 142 TEST_F(FetchFormDataConsumerHandleTest, TwoPhaseReadFromString)
143 { 143 {
144 OwnPtr<FetchDataConsumerHandle> handle = FetchFormDataConsumerHandle::create (String("hello, world")); 144 OwnPtr<FetchDataConsumerHandle> handle = FetchFormDataConsumerHandle::create (String("hello, world"));
145 HandleReaderRunner<HandleTwoPhaseReader> runner(handle.release()); 145 HandleReaderRunner<HandleTwoPhaseReader> runner(std::move(handle));
146 OwnPtr<HandleReadResult> r = runner.wait(); 146 OwnPtr<HandleReadResult> r = runner.wait();
147 EXPECT_EQ(kDone, r->result()); 147 EXPECT_EQ(kDone, r->result());
148 EXPECT_EQ("hello, world", toString(r->data())); 148 EXPECT_EQ("hello, world", toString(r->data()));
149 } 149 }
150 150
151 TEST_F(FetchFormDataConsumerHandleTest, ReadFromStringNonLatin) 151 TEST_F(FetchFormDataConsumerHandleTest, ReadFromStringNonLatin)
152 { 152 {
153 UChar cs[] = {0x3042, 0}; 153 UChar cs[] = {0x3042, 0};
154 OwnPtr<FetchDataConsumerHandle> handle = FetchFormDataConsumerHandle::create (String(cs)); 154 OwnPtr<FetchDataConsumerHandle> handle = FetchFormDataConsumerHandle::create (String(cs));
155 HandleReaderRunner<HandleReader> runner(handle.release()); 155 HandleReaderRunner<HandleReader> runner(std::move(handle));
156 OwnPtr<HandleReadResult> r = runner.wait(); 156 OwnPtr<HandleReadResult> r = runner.wait();
157 EXPECT_EQ(kDone, r->result()); 157 EXPECT_EQ(kDone, r->result());
158 EXPECT_EQ("\xe3\x81\x82", toString(r->data())); 158 EXPECT_EQ("\xe3\x81\x82", toString(r->data()));
159 } 159 }
160 160
161 TEST_F(FetchFormDataConsumerHandleTest, ReadFromArrayBuffer) 161 TEST_F(FetchFormDataConsumerHandleTest, ReadFromArrayBuffer)
162 { 162 {
163 const unsigned char data[] = { 0x21, 0xfe, 0x00, 0x00, 0xff, 0xa3, 0x42, 0x3 0, 0x42, 0x99, 0x88 }; 163 const unsigned char data[] = { 0x21, 0xfe, 0x00, 0x00, 0xff, 0xa3, 0x42, 0x3 0, 0x42, 0x99, 0x88 };
164 DOMArrayBuffer* buffer = DOMArrayBuffer::create(data, WTF_ARRAY_LENGTH(data) ); 164 DOMArrayBuffer* buffer = DOMArrayBuffer::create(data, WTF_ARRAY_LENGTH(data) );
165 OwnPtr<FetchDataConsumerHandle> handle = FetchFormDataConsumerHandle::create (buffer); 165 OwnPtr<FetchDataConsumerHandle> handle = FetchFormDataConsumerHandle::create (buffer);
166 HandleReaderRunner<HandleReader> runner(handle.release()); 166 HandleReaderRunner<HandleReader> runner(std::move(handle));
167 OwnPtr<HandleReadResult> r = runner.wait(); 167 OwnPtr<HandleReadResult> r = runner.wait();
168 EXPECT_EQ(kDone, r->result()); 168 EXPECT_EQ(kDone, r->result());
169 Vector<char> expected; 169 Vector<char> expected;
170 expected.append(data, WTF_ARRAY_LENGTH(data)); 170 expected.append(data, WTF_ARRAY_LENGTH(data));
171 EXPECT_EQ(expected, r->data()); 171 EXPECT_EQ(expected, r->data());
172 } 172 }
173 173
174 TEST_F(FetchFormDataConsumerHandleTest, ReadFromArrayBufferView) 174 TEST_F(FetchFormDataConsumerHandleTest, ReadFromArrayBufferView)
175 { 175 {
176 const unsigned char data[] = { 0x21, 0xfe, 0x00, 0x00, 0xff, 0xa3, 0x42, 0x3 0, 0x42, 0x99, 0x88 }; 176 const unsigned char data[] = { 0x21, 0xfe, 0x00, 0x00, 0xff, 0xa3, 0x42, 0x3 0, 0x42, 0x99, 0x88 };
177 const size_t offset = 1, size = 4; 177 const size_t offset = 1, size = 4;
178 DOMArrayBuffer* buffer = DOMArrayBuffer::create(data, WTF_ARRAY_LENGTH(data) ); 178 DOMArrayBuffer* buffer = DOMArrayBuffer::create(data, WTF_ARRAY_LENGTH(data) );
179 OwnPtr<FetchDataConsumerHandle> handle = FetchFormDataConsumerHandle::create (DOMUint8Array::create(buffer, offset, size)); 179 OwnPtr<FetchDataConsumerHandle> handle = FetchFormDataConsumerHandle::create (DOMUint8Array::create(buffer, offset, size));
180 HandleReaderRunner<HandleReader> runner(handle.release()); 180 HandleReaderRunner<HandleReader> runner(std::move(handle));
181 OwnPtr<HandleReadResult> r = runner.wait(); 181 OwnPtr<HandleReadResult> r = runner.wait();
182 EXPECT_EQ(kDone, r->result()); 182 EXPECT_EQ(kDone, r->result());
183 Vector<char> expected; 183 Vector<char> expected;
184 expected.append(data + offset, size); 184 expected.append(data + offset, size);
185 EXPECT_EQ(expected, r->data()); 185 EXPECT_EQ(expected, r->data());
186 } 186 }
187 187
188 TEST_F(FetchFormDataConsumerHandleTest, ReadFromSimplFormData) 188 TEST_F(FetchFormDataConsumerHandleTest, ReadFromSimplFormData)
189 { 189 {
190 RefPtr<EncodedFormData> data = EncodedFormData::create(); 190 RefPtr<EncodedFormData> data = EncodedFormData::create();
191 data->appendData("foo", 3); 191 data->appendData("foo", 3);
192 data->appendData("hoge", 4); 192 data->appendData("hoge", 4);
193 193
194 OwnPtr<FetchDataConsumerHandle> handle = FetchFormDataConsumerHandle::create (getDocument(), data); 194 OwnPtr<FetchDataConsumerHandle> handle = FetchFormDataConsumerHandle::create (getDocument(), data);
195 HandleReaderRunner<HandleReader> runner(handle.release()); 195 HandleReaderRunner<HandleReader> runner(std::move(handle));
196 testing::runPendingTasks(); 196 testing::runPendingTasks();
197 OwnPtr<HandleReadResult> r = runner.wait(); 197 OwnPtr<HandleReadResult> r = runner.wait();
198 EXPECT_EQ(kDone, r->result()); 198 EXPECT_EQ(kDone, r->result());
199 EXPECT_EQ("foohoge", toString(r->data())); 199 EXPECT_EQ("foohoge", toString(r->data()));
200 } 200 }
201 201
202 TEST_F(FetchFormDataConsumerHandleTest, ReadFromComplexFormData) 202 TEST_F(FetchFormDataConsumerHandleTest, ReadFromComplexFormData)
203 { 203 {
204 RefPtr<EncodedFormData> data = complexFormData(); 204 RefPtr<EncodedFormData> data = complexFormData();
205 OwnPtr<ReplayingHandle> src = ReplayingHandle::create(); 205 OwnPtr<ReplayingHandle> src = ReplayingHandle::create();
206 src->add(Command(Command::Data, "bar")); 206 src->add(Command(Command::Data, "bar"));
207 src->add(Command(Command::Done)); 207 src->add(Command(Command::Done));
208 OwnPtr<FetchDataConsumerHandle> handle = FetchFormDataConsumerHandle::create ForTest(getDocument(), data, new LoaderFactory(src.release())); 208 OwnPtr<FetchDataConsumerHandle> handle = FetchFormDataConsumerHandle::create ForTest(getDocument(), data, new LoaderFactory(std::move(src)));
209 char c; 209 char c;
210 size_t readSize; 210 size_t readSize;
211 EXPECT_EQ(kShouldWait, handle->obtainReader(nullptr)->read(&c, 1, kNone, &re adSize)); 211 EXPECT_EQ(kShouldWait, handle->obtainReader(nullptr)->read(&c, 1, kNone, &re adSize));
212 212
213 HandleReaderRunner<HandleReader> runner(handle.release()); 213 HandleReaderRunner<HandleReader> runner(std::move(handle));
214 testing::runPendingTasks(); 214 testing::runPendingTasks();
215 OwnPtr<HandleReadResult> r = runner.wait(); 215 OwnPtr<HandleReadResult> r = runner.wait();
216 EXPECT_EQ(kDone, r->result()); 216 EXPECT_EQ(kDone, r->result());
217 EXPECT_EQ("bar", toString(r->data())); 217 EXPECT_EQ("bar", toString(r->data()));
218 } 218 }
219 219
220 TEST_F(FetchFormDataConsumerHandleTest, TwoPhaseReadFromComplexFormData) 220 TEST_F(FetchFormDataConsumerHandleTest, TwoPhaseReadFromComplexFormData)
221 { 221 {
222 RefPtr<EncodedFormData> data = complexFormData(); 222 RefPtr<EncodedFormData> data = complexFormData();
223 OwnPtr<ReplayingHandle> src = ReplayingHandle::create(); 223 OwnPtr<ReplayingHandle> src = ReplayingHandle::create();
224 src->add(Command(Command::Data, "bar")); 224 src->add(Command(Command::Data, "bar"));
225 src->add(Command(Command::Done)); 225 src->add(Command(Command::Done));
226 OwnPtr<FetchDataConsumerHandle> handle = FetchFormDataConsumerHandle::create ForTest(getDocument(), data, new LoaderFactory(src.release())); 226 OwnPtr<FetchDataConsumerHandle> handle = FetchFormDataConsumerHandle::create ForTest(getDocument(), data, new LoaderFactory(std::move(src)));
227 char c; 227 char c;
228 size_t readSize; 228 size_t readSize;
229 EXPECT_EQ(kShouldWait, handle->obtainReader(nullptr)->read(&c, 1, kNone, &re adSize)); 229 EXPECT_EQ(kShouldWait, handle->obtainReader(nullptr)->read(&c, 1, kNone, &re adSize));
230 230
231 HandleReaderRunner<HandleTwoPhaseReader> runner(handle.release()); 231 HandleReaderRunner<HandleTwoPhaseReader> runner(std::move(handle));
232 testing::runPendingTasks(); 232 testing::runPendingTasks();
233 OwnPtr<HandleReadResult> r = runner.wait(); 233 OwnPtr<HandleReadResult> r = runner.wait();
234 EXPECT_EQ(kDone, r->result()); 234 EXPECT_EQ(kDone, r->result());
235 EXPECT_EQ("bar", toString(r->data())); 235 EXPECT_EQ("bar", toString(r->data()));
236 } 236 }
237 237
238 TEST_F(FetchFormDataConsumerHandleTest, DrainAsBlobDataHandleFromString) 238 TEST_F(FetchFormDataConsumerHandleTest, DrainAsBlobDataHandleFromString)
239 { 239 {
240 OwnPtr<FetchDataConsumerHandle> handle = FetchFormDataConsumerHandle::create (String("hello, world")); 240 OwnPtr<FetchDataConsumerHandle> handle = FetchFormDataConsumerHandle::create (String("hello, world"));
241 OwnPtr<FetchDataConsumerHandle::Reader> reader = handle->obtainReader(nullpt r); 241 OwnPtr<FetchDataConsumerHandle::Reader> reader = handle->obtainReader(nullpt r);
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 EXPECT_FALSE(reader->drainAsFormData()); 390 EXPECT_FALSE(reader->drainAsFormData());
391 reader->endRead(0); 391 reader->endRead(0);
392 EXPECT_FALSE(reader->drainAsFormData()); 392 EXPECT_FALSE(reader->drainAsFormData());
393 } 393 }
394 394
395 TEST_F(FetchFormDataConsumerHandleTest, ZeroByteReadDoesNotAffectDrainingForComp lexFormData) 395 TEST_F(FetchFormDataConsumerHandleTest, ZeroByteReadDoesNotAffectDrainingForComp lexFormData)
396 { 396 {
397 OwnPtr<ReplayingHandle> src = ReplayingHandle::create(); 397 OwnPtr<ReplayingHandle> src = ReplayingHandle::create();
398 src->add(Command(Command::Data, "bar")); 398 src->add(Command(Command::Data, "bar"));
399 src->add(Command(Command::Done)); 399 src->add(Command(Command::Done));
400 OwnPtr<FetchDataConsumerHandle> handle = FetchFormDataConsumerHandle::create ForTest(getDocument(), complexFormData(), new LoaderFactory(src.release())); 400 OwnPtr<FetchDataConsumerHandle> handle = FetchFormDataConsumerHandle::create ForTest(getDocument(), complexFormData(), new LoaderFactory(std::move(src)));
401 OwnPtr<FetchDataConsumerHandle::Reader> reader = handle->obtainReader(nullpt r); 401 OwnPtr<FetchDataConsumerHandle::Reader> reader = handle->obtainReader(nullpt r);
402 size_t readSize; 402 size_t readSize;
403 EXPECT_EQ(kShouldWait, reader->read(nullptr, 0, kNone, &readSize)); 403 EXPECT_EQ(kShouldWait, reader->read(nullptr, 0, kNone, &readSize));
404 testing::runPendingTasks(); 404 testing::runPendingTasks();
405 EXPECT_EQ(kOk, reader->read(nullptr, 0, kNone, &readSize)); 405 EXPECT_EQ(kOk, reader->read(nullptr, 0, kNone, &readSize));
406 RefPtr<EncodedFormData> formData = reader->drainAsFormData(); 406 RefPtr<EncodedFormData> formData = reader->drainAsFormData();
407 ASSERT_TRUE(formData); 407 ASSERT_TRUE(formData);
408 EXPECT_TRUE(formData->isSafeToSendToAnotherThread()); 408 EXPECT_TRUE(formData->isSafeToSendToAnotherThread());
409 verifyComplexFormData(formData.get()); 409 verifyComplexFormData(formData.get());
410 } 410 }
411 411
412 TEST_F(FetchFormDataConsumerHandleTest, OneByteReadAffectsDrainingForComplexForm Data) 412 TEST_F(FetchFormDataConsumerHandleTest, OneByteReadAffectsDrainingForComplexForm Data)
413 { 413 {
414 OwnPtr<ReplayingHandle> src = ReplayingHandle::create(); 414 OwnPtr<ReplayingHandle> src = ReplayingHandle::create();
415 src->add(Command(Command::Data, "bar")); 415 src->add(Command(Command::Data, "bar"));
416 src->add(Command(Command::Done)); 416 src->add(Command(Command::Done));
417 OwnPtr<FetchDataConsumerHandle> handle = FetchFormDataConsumerHandle::create ForTest(getDocument(), complexFormData(), new LoaderFactory(src.release())); 417 OwnPtr<FetchDataConsumerHandle> handle = FetchFormDataConsumerHandle::create ForTest(getDocument(), complexFormData(), new LoaderFactory(std::move(src)));
418 OwnPtr<FetchDataConsumerHandle::Reader> reader = handle->obtainReader(nullpt r); 418 OwnPtr<FetchDataConsumerHandle::Reader> reader = handle->obtainReader(nullpt r);
419 char c; 419 char c;
420 size_t readSize; 420 size_t readSize;
421 EXPECT_EQ(kShouldWait, reader->read(&c, 1, kNone, &readSize)); 421 EXPECT_EQ(kShouldWait, reader->read(&c, 1, kNone, &readSize));
422 testing::runPendingTasks(); 422 testing::runPendingTasks();
423 EXPECT_EQ(kOk, reader->read(&c, 1, kNone, &readSize)); 423 EXPECT_EQ(kOk, reader->read(&c, 1, kNone, &readSize));
424 EXPECT_EQ(1u, readSize); 424 EXPECT_EQ(1u, readSize);
425 EXPECT_EQ('b', c); 425 EXPECT_EQ('b', c);
426 EXPECT_FALSE(reader->drainAsFormData()); 426 EXPECT_FALSE(reader->drainAsFormData());
427 } 427 }
428 428
429 TEST_F(FetchFormDataConsumerHandleTest, BeginReadAffectsDrainingForComplexFormDa ta) 429 TEST_F(FetchFormDataConsumerHandleTest, BeginReadAffectsDrainingForComplexFormDa ta)
430 { 430 {
431 OwnPtr<ReplayingHandle> src = ReplayingHandle::create(); 431 OwnPtr<ReplayingHandle> src = ReplayingHandle::create();
432 src->add(Command(Command::Data, "bar")); 432 src->add(Command(Command::Data, "bar"));
433 src->add(Command(Command::Done)); 433 src->add(Command(Command::Done));
434 const void* buffer = nullptr; 434 const void* buffer = nullptr;
435 OwnPtr<FetchDataConsumerHandle> handle = FetchFormDataConsumerHandle::create ForTest(getDocument(), complexFormData(), new LoaderFactory(src.release())); 435 OwnPtr<FetchDataConsumerHandle> handle = FetchFormDataConsumerHandle::create ForTest(getDocument(), complexFormData(), new LoaderFactory(std::move(src)));
436 OwnPtr<FetchDataConsumerHandle::Reader> reader = handle->obtainReader(nullpt r); 436 OwnPtr<FetchDataConsumerHandle::Reader> reader = handle->obtainReader(nullpt r);
437 size_t available; 437 size_t available;
438 EXPECT_EQ(kShouldWait, reader->beginRead(&buffer, kNone, &available)); 438 EXPECT_EQ(kShouldWait, reader->beginRead(&buffer, kNone, &available));
439 testing::runPendingTasks(); 439 testing::runPendingTasks();
440 EXPECT_EQ(kOk, reader->beginRead(&buffer, kNone, &available)); 440 EXPECT_EQ(kOk, reader->beginRead(&buffer, kNone, &available));
441 EXPECT_FALSE(reader->drainAsFormData()); 441 EXPECT_FALSE(reader->drainAsFormData());
442 reader->endRead(0); 442 reader->endRead(0);
443 EXPECT_FALSE(reader->drainAsFormData()); 443 EXPECT_FALSE(reader->drainAsFormData());
444 } 444 }
445 445
446 } // namespace 446 } // namespace
447 } // namespace blink 447 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698