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

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

Issue 2050123002: Remove OwnPtr from Blink. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: First attempt to land. Created 4 years, 6 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/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"
9 #include <memory>
8 10
9 namespace blink { 11 namespace blink {
10 12
11 DataConsumerHandleTestUtil::Thread::Thread(const char* name, InitializationPolic y initializationPolicy) 13 DataConsumerHandleTestUtil::Thread::Thread(const char* name, InitializationPolic y initializationPolicy)
12 : m_thread(WebThreadSupportingGC::create(name)) 14 : m_thread(WebThreadSupportingGC::create(name))
13 , m_initializationPolicy(initializationPolicy) 15 , m_initializationPolicy(initializationPolicy)
14 , m_waitableEvent(adoptPtr(new WaitableEvent())) 16 , m_waitableEvent(wrapUnique(new WaitableEvent()))
15 { 17 {
16 m_thread->postTask(BLINK_FROM_HERE, threadSafeBind(&Thread::initialize, Allo wCrossThreadAccess(this))); 18 m_thread->postTask(BLINK_FROM_HERE, threadSafeBind(&Thread::initialize, Allo wCrossThreadAccess(this)));
17 m_waitableEvent->wait(); 19 m_waitableEvent->wait();
18 } 20 }
19 21
20 DataConsumerHandleTestUtil::Thread::~Thread() 22 DataConsumerHandleTestUtil::Thread::~Thread()
21 { 23 {
22 m_thread->postTask(BLINK_FROM_HERE, threadSafeBind(&Thread::shutdown, AllowC rossThreadAccess(this))); 24 m_thread->postTask(BLINK_FROM_HERE, threadSafeBind(&Thread::shutdown, AllowC rossThreadAccess(this)));
23 m_waitableEvent->wait(); 25 m_waitableEvent->wait();
24 } 26 }
25 27
26 void DataConsumerHandleTestUtil::Thread::initialize() 28 void DataConsumerHandleTestUtil::Thread::initialize()
27 { 29 {
28 if (m_initializationPolicy >= ScriptExecution) { 30 if (m_initializationPolicy >= ScriptExecution) {
29 m_isolateHolder = adoptPtr(new gin::IsolateHolder()); 31 m_isolateHolder = wrapUnique(new gin::IsolateHolder());
30 isolate()->Enter(); 32 isolate()->Enter();
31 } 33 }
32 m_thread->initialize(); 34 m_thread->initialize();
33 if (m_initializationPolicy >= ScriptExecution) { 35 if (m_initializationPolicy >= ScriptExecution) {
34 v8::HandleScope handleScope(isolate()); 36 v8::HandleScope handleScope(isolate());
35 m_scriptState = ScriptState::create(v8::Context::New(isolate()), DOMWrap perWorld::create(isolate())); 37 m_scriptState = ScriptState::create(v8::Context::New(isolate()), DOMWrap perWorld::create(isolate()));
36 } 38 }
37 if (m_initializationPolicy >= WithExecutionContext) { 39 if (m_initializationPolicy >= WithExecutionContext) {
38 m_executionContext = new NullExecutionContext(); 40 m_executionContext = new NullExecutionContext();
39 } 41 }
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 consume(readSize); 160 consume(readSize);
159 return Ok; 161 return Ok;
160 } 162 }
161 163
162 DataConsumerHandleTestUtil::ReplayingHandle::Context::Context() 164 DataConsumerHandleTestUtil::ReplayingHandle::Context::Context()
163 : m_offset(0) 165 : m_offset(0)
164 , m_readerThread(nullptr) 166 , m_readerThread(nullptr)
165 , m_client(nullptr) 167 , m_client(nullptr)
166 , m_result(ShouldWait) 168 , m_result(ShouldWait)
167 , m_isHandleAttached(true) 169 , m_isHandleAttached(true)
168 , m_detached(adoptPtr(new WaitableEvent())) 170 , m_detached(wrapUnique(new WaitableEvent()))
169 { 171 {
170 } 172 }
171 173
172 const DataConsumerHandleTestUtil::Command& DataConsumerHandleTestUtil::Replaying Handle::Context::top() 174 const DataConsumerHandleTestUtil::Command& DataConsumerHandleTestUtil::Replaying Handle::Context::top()
173 { 175 {
174 ASSERT(!isEmpty()); 176 ASSERT(!isEmpty());
175 return m_commands.first(); 177 return m_commands.first();
176 } 178 }
177 179
178 void DataConsumerHandleTestUtil::ReplayingHandle::Context::consume(size_t size) 180 void DataConsumerHandleTestUtil::ReplayingHandle::Context::consume(size_t size)
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 WebDataConsumerHandle::Reader* DataConsumerHandleTestUtil::ReplayingHandle::obta inReaderInternal(Client* client) 224 WebDataConsumerHandle::Reader* DataConsumerHandleTestUtil::ReplayingHandle::obta inReaderInternal(Client* client)
223 { 225 {
224 return new ReaderImpl(m_context, client); 226 return new ReaderImpl(m_context, client);
225 } 227 }
226 228
227 void DataConsumerHandleTestUtil::ReplayingHandle::add(const Command& command) 229 void DataConsumerHandleTestUtil::ReplayingHandle::add(const Command& command)
228 { 230 {
229 m_context->add(command); 231 m_context->add(command);
230 } 232 }
231 233
232 DataConsumerHandleTestUtil::HandleReader::HandleReader(PassOwnPtr<WebDataConsume rHandle> handle, std::unique_ptr<OnFinishedReading> onFinishedReading) 234 DataConsumerHandleTestUtil::HandleReader::HandleReader(std::unique_ptr<WebDataCo nsumerHandle> handle, std::unique_ptr<OnFinishedReading> onFinishedReading)
233 : m_reader(handle->obtainReader(this)) 235 : m_reader(handle->obtainReader(this))
234 , m_onFinishedReading(std::move(onFinishedReading)) 236 , m_onFinishedReading(std::move(onFinishedReading))
235 { 237 {
236 } 238 }
237 239
238 void DataConsumerHandleTestUtil::HandleReader::didGetReadable() 240 void DataConsumerHandleTestUtil::HandleReader::didGetReadable()
239 { 241 {
240 WebDataConsumerHandle::Result r = WebDataConsumerHandle::UnexpectedError; 242 WebDataConsumerHandle::Result r = WebDataConsumerHandle::UnexpectedError;
241 char buffer[3]; 243 char buffer[3];
242 while (true) { 244 while (true) {
243 size_t size; 245 size_t size;
244 r = m_reader->read(buffer, sizeof(buffer), WebDataConsumerHandle::FlagNo ne, &size); 246 r = m_reader->read(buffer, sizeof(buffer), WebDataConsumerHandle::FlagNo ne, &size);
245 if (r == WebDataConsumerHandle::ShouldWait) 247 if (r == WebDataConsumerHandle::ShouldWait)
246 return; 248 return;
247 if (r != WebDataConsumerHandle::Ok) 249 if (r != WebDataConsumerHandle::Ok)
248 break; 250 break;
249 m_data.append(buffer, size); 251 m_data.append(buffer, size);
250 } 252 }
251 OwnPtr<HandleReadResult> result = adoptPtr(new HandleReadResult(r, m_data)); 253 std::unique_ptr<HandleReadResult> result = wrapUnique(new HandleReadResult(r , m_data));
252 m_data.clear(); 254 m_data.clear();
253 Platform::current()->currentThread()->getWebTaskRunner()->postTask(BLINK_FRO M_HERE, bind(&HandleReader::runOnFinishedReading, this, passed(std::move(result) ))); 255 Platform::current()->currentThread()->getWebTaskRunner()->postTask(BLINK_FRO M_HERE, WTF::bind(&HandleReader::runOnFinishedReading, this, passed(std::move(re sult))));
254 m_reader = nullptr; 256 m_reader = nullptr;
255 } 257 }
256 258
257 void DataConsumerHandleTestUtil::HandleReader::runOnFinishedReading(PassOwnPtr<H andleReadResult> result) 259 void DataConsumerHandleTestUtil::HandleReader::runOnFinishedReading(std::unique_ ptr<HandleReadResult> result)
258 { 260 {
259 ASSERT(m_onFinishedReading); 261 ASSERT(m_onFinishedReading);
260 std::unique_ptr<OnFinishedReading> onFinishedReading(std::move(m_onFinishedR eading)); 262 std::unique_ptr<OnFinishedReading> onFinishedReading(std::move(m_onFinishedR eading));
261 (*onFinishedReading)(std::move(result)); 263 (*onFinishedReading)(std::move(result));
262 } 264 }
263 265
264 DataConsumerHandleTestUtil::HandleTwoPhaseReader::HandleTwoPhaseReader(PassOwnPt r<WebDataConsumerHandle> handle, std::unique_ptr<OnFinishedReading> onFinishedRe ading) 266 DataConsumerHandleTestUtil::HandleTwoPhaseReader::HandleTwoPhaseReader(std::uniq ue_ptr<WebDataConsumerHandle> handle, std::unique_ptr<OnFinishedReading> onFinis hedReading)
265 : m_reader(handle->obtainReader(this)) 267 : m_reader(handle->obtainReader(this))
266 , m_onFinishedReading(std::move(onFinishedReading)) 268 , m_onFinishedReading(std::move(onFinishedReading))
267 { 269 {
268 } 270 }
269 271
270 void DataConsumerHandleTestUtil::HandleTwoPhaseReader::didGetReadable() 272 void DataConsumerHandleTestUtil::HandleTwoPhaseReader::didGetReadable()
271 { 273 {
272 WebDataConsumerHandle::Result r = WebDataConsumerHandle::UnexpectedError; 274 WebDataConsumerHandle::Result r = WebDataConsumerHandle::UnexpectedError;
273 while (true) { 275 while (true) {
274 const void* buffer = nullptr; 276 const void* buffer = nullptr;
275 size_t size; 277 size_t size;
276 r = m_reader->beginRead(&buffer, WebDataConsumerHandle::FlagNone, &size) ; 278 r = m_reader->beginRead(&buffer, WebDataConsumerHandle::FlagNone, &size) ;
277 if (r == WebDataConsumerHandle::ShouldWait) 279 if (r == WebDataConsumerHandle::ShouldWait)
278 return; 280 return;
279 if (r != WebDataConsumerHandle::Ok) 281 if (r != WebDataConsumerHandle::Ok)
280 break; 282 break;
281 // Read smaller than available in order to test |endRead|. 283 // Read smaller than available in order to test |endRead|.
282 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)));
283 m_data.append(static_cast<const char*>(buffer), readSize); 285 m_data.append(static_cast<const char*>(buffer), readSize);
284 m_reader->endRead(readSize); 286 m_reader->endRead(readSize);
285 } 287 }
286 OwnPtr<HandleReadResult> result = adoptPtr(new HandleReadResult(r, m_data)); 288 std::unique_ptr<HandleReadResult> result = wrapUnique(new HandleReadResult(r , m_data));
287 m_data.clear(); 289 m_data.clear();
288 Platform::current()->currentThread()->getWebTaskRunner()->postTask(BLINK_FRO M_HERE, bind(&HandleTwoPhaseReader::runOnFinishedReading, this, passed(std::move (result)))); 290 Platform::current()->currentThread()->getWebTaskRunner()->postTask(BLINK_FRO M_HERE, WTF::bind(&HandleTwoPhaseReader::runOnFinishedReading, this, passed(std: :move(result))));
289 m_reader = nullptr; 291 m_reader = nullptr;
290 } 292 }
291 293
292 void DataConsumerHandleTestUtil::HandleTwoPhaseReader::runOnFinishedReading(Pass OwnPtr<HandleReadResult> result) 294 void DataConsumerHandleTestUtil::HandleTwoPhaseReader::runOnFinishedReading(std: :unique_ptr<HandleReadResult> result)
293 { 295 {
294 ASSERT(m_onFinishedReading); 296 ASSERT(m_onFinishedReading);
295 std::unique_ptr<OnFinishedReading> onFinishedReading(std::move(m_onFinishedR eading)); 297 std::unique_ptr<OnFinishedReading> onFinishedReading(std::move(m_onFinishedR eading));
296 (*onFinishedReading)(std::move(result)); 298 (*onFinishedReading)(std::move(result));
297 } 299 }
298 300
299 } // namespace blink 301 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698