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 "config.h" | 5 #include "config.h" |
6 #include "modules/fetch/DataConsumerHandleTestUtil.h" | 6 #include "modules/fetch/DataConsumerHandleTestUtil.h" |
7 | 7 |
8 #include "bindings/core/v8/DOMWrapperWorld.h" | 8 #include "bindings/core/v8/DOMWrapperWorld.h" |
9 | 9 |
10 namespace blink { | 10 namespace blink { |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 } else { | 197 } else { |
198 m_offset += size; | 198 m_offset += size; |
199 } | 199 } |
200 } | 200 } |
201 | 201 |
202 void DataConsumerHandleTestUtil::ReplayingHandle::Context::notify() | 202 void DataConsumerHandleTestUtil::ReplayingHandle::Context::notify() |
203 { | 203 { |
204 if (!m_client) | 204 if (!m_client) |
205 return; | 205 return; |
206 ASSERT(m_readerThread); | 206 ASSERT(m_readerThread); |
207 m_readerThread->postTask(FROM_HERE, new Task(threadSafeBind(&Context::notify
Internal, this))); | 207 m_readerThread->taskRunner()->postTask(FROM_HERE, new Task(threadSafeBind(&C
ontext::notifyInternal, this))); |
208 } | 208 } |
209 | 209 |
210 void DataConsumerHandleTestUtil::ReplayingHandle::Context::notifyInternal() | 210 void DataConsumerHandleTestUtil::ReplayingHandle::Context::notifyInternal() |
211 { | 211 { |
212 { | 212 { |
213 MutexLocker locker(m_mutex); | 213 MutexLocker locker(m_mutex); |
214 if (!m_client || !m_readerThread->isCurrentThread()) { | 214 if (!m_client || !m_readerThread->isCurrentThread()) { |
215 // There is no client, or a new reader is attached. | 215 // There is no client, or a new reader is attached. |
216 return; | 216 return; |
217 } | 217 } |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
254 size_t size; | 254 size_t size; |
255 r = m_reader->read(buffer, sizeof(buffer), WebDataConsumerHandle::FlagNo
ne, &size); | 255 r = m_reader->read(buffer, sizeof(buffer), WebDataConsumerHandle::FlagNo
ne, &size); |
256 if (r == WebDataConsumerHandle::ShouldWait) | 256 if (r == WebDataConsumerHandle::ShouldWait) |
257 return; | 257 return; |
258 if (r != WebDataConsumerHandle::Ok) | 258 if (r != WebDataConsumerHandle::Ok) |
259 break; | 259 break; |
260 m_data.append(buffer, size); | 260 m_data.append(buffer, size); |
261 } | 261 } |
262 OwnPtr<HandleReadResult> result = adoptPtr(new HandleReadResult(r, m_data)); | 262 OwnPtr<HandleReadResult> result = adoptPtr(new HandleReadResult(r, m_data)); |
263 m_data.clear(); | 263 m_data.clear(); |
264 Platform::current()->currentThread()->postTask(FROM_HERE, new Task(bind(&Han
dleReader::runOnFinishedReading, this, result.release()))); | 264 Platform::current()->currentThread()->taskRunner()->postTask(FROM_HERE, new
Task(bind(&HandleReader::runOnFinishedReading, this, result.release()))); |
265 m_reader = nullptr; | 265 m_reader = nullptr; |
266 } | 266 } |
267 | 267 |
268 void DataConsumerHandleTestUtil::HandleReader::runOnFinishedReading(PassOwnPtr<H
andleReadResult> result) | 268 void DataConsumerHandleTestUtil::HandleReader::runOnFinishedReading(PassOwnPtr<H
andleReadResult> result) |
269 { | 269 { |
270 ASSERT(m_onFinishedReading); | 270 ASSERT(m_onFinishedReading); |
271 (*m_onFinishedReading.release())(result); | 271 (*m_onFinishedReading.release())(result); |
272 } | 272 } |
273 | 273 |
274 DataConsumerHandleTestUtil::HandleTwoPhaseReader::HandleTwoPhaseReader(PassOwnPt
r<WebDataConsumerHandle> handle, PassOwnPtr<OnFinishedReading> onFinishedReading
) | 274 DataConsumerHandleTestUtil::HandleTwoPhaseReader::HandleTwoPhaseReader(PassOwnPt
r<WebDataConsumerHandle> handle, PassOwnPtr<OnFinishedReading> onFinishedReading
) |
(...skipping 13 matching lines...) Expand all Loading... |
288 return; | 288 return; |
289 if (r != WebDataConsumerHandle::Ok) | 289 if (r != WebDataConsumerHandle::Ok) |
290 break; | 290 break; |
291 // Read smaller than available in order to test |endRead|. | 291 // Read smaller than available in order to test |endRead|. |
292 size_t readSize = std::min(size, std::max(size * 2 / 3, static_cast<size
_t>(1))); | 292 size_t readSize = std::min(size, std::max(size * 2 / 3, static_cast<size
_t>(1))); |
293 m_data.append(static_cast<const char*>(buffer), readSize); | 293 m_data.append(static_cast<const char*>(buffer), readSize); |
294 m_reader->endRead(readSize); | 294 m_reader->endRead(readSize); |
295 } | 295 } |
296 OwnPtr<HandleReadResult> result = adoptPtr(new HandleReadResult(r, m_data)); | 296 OwnPtr<HandleReadResult> result = adoptPtr(new HandleReadResult(r, m_data)); |
297 m_data.clear(); | 297 m_data.clear(); |
298 Platform::current()->currentThread()->postTask(FROM_HERE, new Task(bind(&Han
dleTwoPhaseReader::runOnFinishedReading, this, result.release()))); | 298 Platform::current()->currentThread()->taskRunner()->postTask(FROM_HERE, new
Task(bind(&HandleTwoPhaseReader::runOnFinishedReading, this, result.release())))
; |
299 m_reader = nullptr; | 299 m_reader = nullptr; |
300 } | 300 } |
301 | 301 |
302 void DataConsumerHandleTestUtil::HandleTwoPhaseReader::runOnFinishedReading(Pass
OwnPtr<HandleReadResult> result) | 302 void DataConsumerHandleTestUtil::HandleTwoPhaseReader::runOnFinishedReading(Pass
OwnPtr<HandleReadResult> result) |
303 { | 303 { |
304 ASSERT(m_onFinishedReading); | 304 ASSERT(m_onFinishedReading); |
305 (*m_onFinishedReading.release())(result); | 305 (*m_onFinishedReading.release())(result); |
306 } | 306 } |
307 | 307 |
308 } // namespace blink | 308 } // namespace blink |
OLD | NEW |