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

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

Issue 2093603002: Wrap non-GCed raw pointer parameters of WTF::bind with WTF::unretained (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@unretained_wrapper
Patch Set: rebase Created 4 years, 5 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" 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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698