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 24 matching lines...) Expand all Loading... |
35 }; | 35 }; |
36 | 36 |
37 } // namespace | 37 } // namespace |
38 | 38 |
39 DataConsumerHandleTestUtil::Thread::Thread( | 39 DataConsumerHandleTestUtil::Thread::Thread( |
40 const char* name, | 40 const char* name, |
41 InitializationPolicy initializationPolicy) | 41 InitializationPolicy initializationPolicy) |
42 : m_thread( | 42 : m_thread( |
43 WebThreadSupportingGC::create(name, BlinkGC::MainThreadHeapMode)), | 43 WebThreadSupportingGC::create(name, BlinkGC::MainThreadHeapMode)), |
44 m_initializationPolicy(initializationPolicy), | 44 m_initializationPolicy(initializationPolicy), |
45 m_waitableEvent(makeUnique<WaitableEvent>()) { | 45 m_waitableEvent(WTF::makeUnique<WaitableEvent>()) { |
46 m_thread->postTask( | 46 m_thread->postTask( |
47 BLINK_FROM_HERE, | 47 BLINK_FROM_HERE, |
48 crossThreadBind(&Thread::initialize, crossThreadUnretained(this))); | 48 crossThreadBind(&Thread::initialize, crossThreadUnretained(this))); |
49 m_waitableEvent->wait(); | 49 m_waitableEvent->wait(); |
50 } | 50 } |
51 | 51 |
52 DataConsumerHandleTestUtil::Thread::~Thread() { | 52 DataConsumerHandleTestUtil::Thread::~Thread() { |
53 m_thread->postTask( | 53 m_thread->postTask( |
54 BLINK_FROM_HERE, | 54 BLINK_FROM_HERE, |
55 crossThreadBind(&Thread::shutdown, crossThreadUnretained(this))); | 55 crossThreadBind(&Thread::shutdown, crossThreadUnretained(this))); |
56 m_waitableEvent->wait(); | 56 m_waitableEvent->wait(); |
57 } | 57 } |
58 | 58 |
59 void DataConsumerHandleTestUtil::Thread::initialize() { | 59 void DataConsumerHandleTestUtil::Thread::initialize() { |
60 if (m_initializationPolicy >= ScriptExecution) { | 60 if (m_initializationPolicy >= ScriptExecution) { |
61 m_isolateHolder = makeUnique<gin::IsolateHolder>(); | 61 m_isolateHolder = WTF::makeUnique<gin::IsolateHolder>(); |
62 isolate()->Enter(); | 62 isolate()->Enter(); |
63 } | 63 } |
64 m_thread->initialize(); | 64 m_thread->initialize(); |
65 if (m_initializationPolicy >= ScriptExecution) { | 65 if (m_initializationPolicy >= ScriptExecution) { |
66 v8::HandleScope handleScope(isolate()); | 66 v8::HandleScope handleScope(isolate()); |
67 m_scriptState = ScriptState::create(v8::Context::New(isolate()), | 67 m_scriptState = ScriptState::create(v8::Context::New(isolate()), |
68 DOMWrapperWorld::create(isolate())); | 68 DOMWrapperWorld::create(isolate())); |
69 } | 69 } |
70 if (m_initializationPolicy >= WithExecutionContext) { | 70 if (m_initializationPolicy >= WithExecutionContext) { |
71 m_executionContext = new NullExecutionContext(); | 71 m_executionContext = new NullExecutionContext(); |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
188 consume(readSize); | 188 consume(readSize); |
189 return Ok; | 189 return Ok; |
190 } | 190 } |
191 | 191 |
192 DataConsumerHandleTestUtil::ReplayingHandle::Context::Context() | 192 DataConsumerHandleTestUtil::ReplayingHandle::Context::Context() |
193 : m_offset(0), | 193 : m_offset(0), |
194 m_readerThread(nullptr), | 194 m_readerThread(nullptr), |
195 m_client(nullptr), | 195 m_client(nullptr), |
196 m_result(ShouldWait), | 196 m_result(ShouldWait), |
197 m_isHandleAttached(true), | 197 m_isHandleAttached(true), |
198 m_detached(makeUnique<WaitableEvent>()) {} | 198 m_detached(WTF::makeUnique<WaitableEvent>()) {} |
199 | 199 |
200 const DataConsumerHandleTestUtil::Command& | 200 const DataConsumerHandleTestUtil::Command& |
201 DataConsumerHandleTestUtil::ReplayingHandle::Context::top() { | 201 DataConsumerHandleTestUtil::ReplayingHandle::Context::top() { |
202 DCHECK(!isEmpty()); | 202 DCHECK(!isEmpty()); |
203 return m_commands.first(); | 203 return m_commands.first(); |
204 } | 204 } |
205 | 205 |
206 void DataConsumerHandleTestUtil::ReplayingHandle::Context::consume( | 206 void DataConsumerHandleTestUtil::ReplayingHandle::Context::consume( |
207 size_t size) { | 207 size_t size) { |
208 DCHECK(!isEmpty()); | 208 DCHECK(!isEmpty()); |
(...skipping 30 matching lines...) Expand all Loading... |
239 | 239 |
240 DataConsumerHandleTestUtil::ReplayingHandle::ReplayingHandle() | 240 DataConsumerHandleTestUtil::ReplayingHandle::ReplayingHandle() |
241 : m_context(Context::create()) {} | 241 : m_context(Context::create()) {} |
242 | 242 |
243 DataConsumerHandleTestUtil::ReplayingHandle::~ReplayingHandle() { | 243 DataConsumerHandleTestUtil::ReplayingHandle::~ReplayingHandle() { |
244 m_context->detachHandle(); | 244 m_context->detachHandle(); |
245 } | 245 } |
246 | 246 |
247 std::unique_ptr<WebDataConsumerHandle::Reader> | 247 std::unique_ptr<WebDataConsumerHandle::Reader> |
248 DataConsumerHandleTestUtil::ReplayingHandle::obtainReader(Client* client) { | 248 DataConsumerHandleTestUtil::ReplayingHandle::obtainReader(Client* client) { |
249 return makeUnique<ReaderImpl>(m_context, client); | 249 return WTF::makeUnique<ReaderImpl>(m_context, client); |
250 } | 250 } |
251 | 251 |
252 void DataConsumerHandleTestUtil::ReplayingHandle::add(const Command& command) { | 252 void DataConsumerHandleTestUtil::ReplayingHandle::add(const Command& command) { |
253 m_context->add(command); | 253 m_context->add(command); |
254 } | 254 } |
255 | 255 |
256 DataConsumerHandleTestUtil::HandleReader::HandleReader( | 256 DataConsumerHandleTestUtil::HandleReader::HandleReader( |
257 std::unique_ptr<WebDataConsumerHandle> handle, | 257 std::unique_ptr<WebDataConsumerHandle> handle, |
258 std::unique_ptr<OnFinishedReading> onFinishedReading) | 258 std::unique_ptr<OnFinishedReading> onFinishedReading) |
259 : m_reader(handle->obtainReader(this)), | 259 : m_reader(handle->obtainReader(this)), |
260 m_onFinishedReading(std::move(onFinishedReading)) {} | 260 m_onFinishedReading(std::move(onFinishedReading)) {} |
261 | 261 |
262 void DataConsumerHandleTestUtil::HandleReader::didGetReadable() { | 262 void DataConsumerHandleTestUtil::HandleReader::didGetReadable() { |
263 WebDataConsumerHandle::Result r = WebDataConsumerHandle::UnexpectedError; | 263 WebDataConsumerHandle::Result r = WebDataConsumerHandle::UnexpectedError; |
264 char buffer[3]; | 264 char buffer[3]; |
265 while (true) { | 265 while (true) { |
266 size_t size; | 266 size_t size; |
267 r = m_reader->read(buffer, sizeof(buffer), WebDataConsumerHandle::FlagNone, | 267 r = m_reader->read(buffer, sizeof(buffer), WebDataConsumerHandle::FlagNone, |
268 &size); | 268 &size); |
269 if (r == WebDataConsumerHandle::ShouldWait) | 269 if (r == WebDataConsumerHandle::ShouldWait) |
270 return; | 270 return; |
271 if (r != WebDataConsumerHandle::Ok) | 271 if (r != WebDataConsumerHandle::Ok) |
272 break; | 272 break; |
273 m_data.append(buffer, size); | 273 m_data.append(buffer, size); |
274 } | 274 } |
275 std::unique_ptr<HandleReadResult> result = | 275 std::unique_ptr<HandleReadResult> result = |
276 makeUnique<HandleReadResult>(r, m_data); | 276 WTF::makeUnique<HandleReadResult>(r, m_data); |
277 m_data.clear(); | 277 m_data.clear(); |
278 Platform::current()->currentThread()->getWebTaskRunner()->postTask( | 278 Platform::current()->currentThread()->getWebTaskRunner()->postTask( |
279 BLINK_FROM_HERE, | 279 BLINK_FROM_HERE, |
280 WTF::bind(&HandleReader::runOnFinishedReading, WTF::unretained(this), | 280 WTF::bind(&HandleReader::runOnFinishedReading, WTF::unretained(this), |
281 passed(std::move(result)))); | 281 WTF::passed(std::move(result)))); |
282 m_reader = nullptr; | 282 m_reader = nullptr; |
283 } | 283 } |
284 | 284 |
285 void DataConsumerHandleTestUtil::HandleReader::runOnFinishedReading( | 285 void DataConsumerHandleTestUtil::HandleReader::runOnFinishedReading( |
286 std::unique_ptr<HandleReadResult> result) { | 286 std::unique_ptr<HandleReadResult> result) { |
287 DCHECK(m_onFinishedReading); | 287 DCHECK(m_onFinishedReading); |
288 std::unique_ptr<OnFinishedReading> onFinishedReading( | 288 std::unique_ptr<OnFinishedReading> onFinishedReading( |
289 std::move(m_onFinishedReading)); | 289 std::move(m_onFinishedReading)); |
290 (*onFinishedReading)(std::move(result)); | 290 (*onFinishedReading)(std::move(result)); |
291 } | 291 } |
(...skipping 14 matching lines...) Expand all Loading... |
306 return; | 306 return; |
307 if (r != WebDataConsumerHandle::Ok) | 307 if (r != WebDataConsumerHandle::Ok) |
308 break; | 308 break; |
309 // Read smaller than available in order to test |endRead|. | 309 // Read smaller than available in order to test |endRead|. |
310 size_t readSize = | 310 size_t readSize = |
311 std::min(size, std::max(size * 2 / 3, static_cast<size_t>(1))); | 311 std::min(size, std::max(size * 2 / 3, static_cast<size_t>(1))); |
312 m_data.append(static_cast<const char*>(buffer), readSize); | 312 m_data.append(static_cast<const char*>(buffer), readSize); |
313 m_reader->endRead(readSize); | 313 m_reader->endRead(readSize); |
314 } | 314 } |
315 std::unique_ptr<HandleReadResult> result = | 315 std::unique_ptr<HandleReadResult> result = |
316 makeUnique<HandleReadResult>(r, m_data); | 316 WTF::makeUnique<HandleReadResult>(r, m_data); |
317 m_data.clear(); | 317 m_data.clear(); |
318 Platform::current()->currentThread()->getWebTaskRunner()->postTask( | 318 Platform::current()->currentThread()->getWebTaskRunner()->postTask( |
319 BLINK_FROM_HERE, | 319 BLINK_FROM_HERE, |
320 WTF::bind(&HandleTwoPhaseReader::runOnFinishedReading, | 320 WTF::bind(&HandleTwoPhaseReader::runOnFinishedReading, |
321 WTF::unretained(this), passed(std::move(result)))); | 321 WTF::unretained(this), WTF::passed(std::move(result)))); |
322 m_reader = nullptr; | 322 m_reader = nullptr; |
323 } | 323 } |
324 | 324 |
325 void DataConsumerHandleTestUtil::HandleTwoPhaseReader::runOnFinishedReading( | 325 void DataConsumerHandleTestUtil::HandleTwoPhaseReader::runOnFinishedReading( |
326 std::unique_ptr<HandleReadResult> result) { | 326 std::unique_ptr<HandleReadResult> result) { |
327 DCHECK(m_onFinishedReading); | 327 DCHECK(m_onFinishedReading); |
328 std::unique_ptr<OnFinishedReading> onFinishedReading( | 328 std::unique_ptr<OnFinishedReading> onFinishedReading( |
329 std::move(m_onFinishedReading)); | 329 std::move(m_onFinishedReading)); |
330 (*onFinishedReading)(std::move(result)); | 330 (*onFinishedReading)(std::move(result)); |
331 } | 331 } |
332 | 332 |
333 std::unique_ptr<WebDataConsumerHandle> | 333 std::unique_ptr<WebDataConsumerHandle> |
334 DataConsumerHandleTestUtil::createWaitingDataConsumerHandle() { | 334 DataConsumerHandleTestUtil::createWaitingDataConsumerHandle() { |
335 return wrapUnique(new WaitingHandle); | 335 return WTF::wrapUnique(new WaitingHandle); |
336 } | 336 } |
337 | 337 |
338 } // namespace blink | 338 } // namespace blink |
OLD | NEW |