OLD | NEW |
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/DataConsumerHandleTestUtil.h" | 5 #include "modules/fetch/DataConsumerHandleTestUtil.h" |
6 | 6 |
7 #include "bindings/core/v8/DOMWrapperWorld.h" | 7 #include "bindings/core/v8/DOMWrapperWorld.h" |
8 #include "wtf/PtrUtil.h" | 8 #include "wtf/PtrUtil.h" |
9 #include <memory> | 9 #include <memory> |
10 | 10 |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
245 size_t size; | 245 size_t size; |
246 r = m_reader->read(buffer, sizeof(buffer), WebDataConsumerHandle::FlagNo
ne, &size); | 246 r = m_reader->read(buffer, sizeof(buffer), WebDataConsumerHandle::FlagNo
ne, &size); |
247 if (r == WebDataConsumerHandle::ShouldWait) | 247 if (r == WebDataConsumerHandle::ShouldWait) |
248 return; | 248 return; |
249 if (r != WebDataConsumerHandle::Ok) | 249 if (r != WebDataConsumerHandle::Ok) |
250 break; | 250 break; |
251 m_data.append(buffer, size); | 251 m_data.append(buffer, size); |
252 } | 252 } |
253 std::unique_ptr<HandleReadResult> result = wrapUnique(new HandleReadResult(r
, m_data)); | 253 std::unique_ptr<HandleReadResult> result = wrapUnique(new HandleReadResult(r
, m_data)); |
254 m_data.clear(); | 254 m_data.clear(); |
255 Platform::current()->currentThread()->getWebTaskRunner()->postTask(BLINK_FRO
M_HERE, WTF::bind(&HandleReader::runOnFinishedReading, this, passed(std::move(re
sult)))); | 255 Platform::current()->currentThread()->getWebTaskRunner()->postTask(BLINK_FRO
M_HERE, WTF::bind(&HandleReader::runOnFinishedReading, WTF::unretained(this), pa
ssed(std::move(result)))); |
256 m_reader = nullptr; | 256 m_reader = nullptr; |
257 } | 257 } |
258 | 258 |
259 void DataConsumerHandleTestUtil::HandleReader::runOnFinishedReading(std::unique_
ptr<HandleReadResult> result) | 259 void DataConsumerHandleTestUtil::HandleReader::runOnFinishedReading(std::unique_
ptr<HandleReadResult> result) |
260 { | 260 { |
261 ASSERT(m_onFinishedReading); | 261 ASSERT(m_onFinishedReading); |
262 std::unique_ptr<OnFinishedReading> onFinishedReading(std::move(m_onFinishedR
eading)); | 262 std::unique_ptr<OnFinishedReading> onFinishedReading(std::move(m_onFinishedR
eading)); |
263 (*onFinishedReading)(std::move(result)); | 263 (*onFinishedReading)(std::move(result)); |
264 } | 264 } |
265 | 265 |
(...skipping 14 matching lines...) Expand all Loading... |
280 return; | 280 return; |
281 if (r != WebDataConsumerHandle::Ok) | 281 if (r != WebDataConsumerHandle::Ok) |
282 break; | 282 break; |
283 // Read smaller than available in order to test |endRead|. | 283 // Read smaller than available in order to test |endRead|. |
284 size_t readSize = std::min(size, std::max(size * 2 / 3, static_cast<size
_t>(1))); | 284 size_t readSize = std::min(size, std::max(size * 2 / 3, static_cast<size
_t>(1))); |
285 m_data.append(static_cast<const char*>(buffer), readSize); | 285 m_data.append(static_cast<const char*>(buffer), readSize); |
286 m_reader->endRead(readSize); | 286 m_reader->endRead(readSize); |
287 } | 287 } |
288 std::unique_ptr<HandleReadResult> result = wrapUnique(new HandleReadResult(r
, m_data)); | 288 std::unique_ptr<HandleReadResult> result = wrapUnique(new HandleReadResult(r
, m_data)); |
289 m_data.clear(); | 289 m_data.clear(); |
290 Platform::current()->currentThread()->getWebTaskRunner()->postTask(BLINK_FRO
M_HERE, WTF::bind(&HandleTwoPhaseReader::runOnFinishedReading, this, passed(std:
:move(result)))); | 290 Platform::current()->currentThread()->getWebTaskRunner()->postTask(BLINK_FRO
M_HERE, WTF::bind(&HandleTwoPhaseReader::runOnFinishedReading, WTF::unretained(t
his), passed(std::move(result)))); |
291 m_reader = nullptr; | 291 m_reader = nullptr; |
292 } | 292 } |
293 | 293 |
294 void DataConsumerHandleTestUtil::HandleTwoPhaseReader::runOnFinishedReading(std:
:unique_ptr<HandleReadResult> result) | 294 void DataConsumerHandleTestUtil::HandleTwoPhaseReader::runOnFinishedReading(std:
:unique_ptr<HandleReadResult> result) |
295 { | 295 { |
296 ASSERT(m_onFinishedReading); | 296 ASSERT(m_onFinishedReading); |
297 std::unique_ptr<OnFinishedReading> onFinishedReading(std::move(m_onFinishedR
eading)); | 297 std::unique_ptr<OnFinishedReading> onFinishedReading(std::move(m_onFinishedR
eading)); |
298 (*onFinishedReading)(std::move(result)); | 298 (*onFinishedReading)(std::move(result)); |
299 } | 299 } |
300 | 300 |
301 } // namespace blink | 301 } // namespace blink |
OLD | NEW |