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

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

Issue 2181213003: Use DCHECK instead of ASSERT in DataConsumerHandle-related stuff (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@data_consumer_handle_unique_ptr
Patch Set: rebase Created 4 years, 4 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 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 85
86 void DataConsumerHandleTestUtil::ReplayingHandle::Context::add(const Command& co mmand) 86 void DataConsumerHandleTestUtil::ReplayingHandle::Context::add(const Command& co mmand)
87 { 87 {
88 MutexLocker locker(m_mutex); 88 MutexLocker locker(m_mutex);
89 m_commands.append(command); 89 m_commands.append(command);
90 } 90 }
91 91
92 void DataConsumerHandleTestUtil::ReplayingHandle::Context::attachReader(WebDataC onsumerHandle::Client* client) 92 void DataConsumerHandleTestUtil::ReplayingHandle::Context::attachReader(WebDataC onsumerHandle::Client* client)
93 { 93 {
94 MutexLocker locker(m_mutex); 94 MutexLocker locker(m_mutex);
95 ASSERT(!m_readerThread); 95 DCHECK(!m_readerThread);
96 ASSERT(!m_client); 96 DCHECK(!m_client);
97 m_readerThread = Platform::current()->currentThread(); 97 m_readerThread = Platform::current()->currentThread();
98 m_client = client; 98 m_client = client;
99 99
100 if (m_client && !(isEmpty() && m_result == ShouldWait)) 100 if (m_client && !(isEmpty() && m_result == ShouldWait))
101 notify(); 101 notify();
102 } 102 }
103 103
104 void DataConsumerHandleTestUtil::ReplayingHandle::Context::detachReader() 104 void DataConsumerHandleTestUtil::ReplayingHandle::Context::detachReader()
105 { 105 {
106 MutexLocker locker(m_mutex); 106 MutexLocker locker(m_mutex);
107 ASSERT(m_readerThread && m_readerThread->isCurrentThread()); 107 DCHECK(m_readerThread && m_readerThread->isCurrentThread());
108 m_readerThread = nullptr; 108 m_readerThread = nullptr;
109 m_client = nullptr; 109 m_client = nullptr;
110 if (!m_isHandleAttached) 110 if (!m_isHandleAttached)
111 m_detached->signal(); 111 m_detached->signal();
112 } 112 }
113 113
114 void DataConsumerHandleTestUtil::ReplayingHandle::Context::detachHandle() 114 void DataConsumerHandleTestUtil::ReplayingHandle::Context::detachHandle()
115 { 115 {
116 MutexLocker locker(m_mutex); 116 MutexLocker locker(m_mutex);
117 m_isHandleAttached = false; 117 m_isHandleAttached = false;
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 , m_readerThread(nullptr) 166 , m_readerThread(nullptr)
167 , m_client(nullptr) 167 , m_client(nullptr)
168 , m_result(ShouldWait) 168 , m_result(ShouldWait)
169 , m_isHandleAttached(true) 169 , m_isHandleAttached(true)
170 , m_detached(wrapUnique(new WaitableEvent())) 170 , m_detached(wrapUnique(new WaitableEvent()))
171 { 171 {
172 } 172 }
173 173
174 const DataConsumerHandleTestUtil::Command& DataConsumerHandleTestUtil::Replaying Handle::Context::top() 174 const DataConsumerHandleTestUtil::Command& DataConsumerHandleTestUtil::Replaying Handle::Context::top()
175 { 175 {
176 ASSERT(!isEmpty()); 176 DCHECK(!isEmpty());
177 return m_commands.first(); 177 return m_commands.first();
178 } 178 }
179 179
180 void DataConsumerHandleTestUtil::ReplayingHandle::Context::consume(size_t size) 180 void DataConsumerHandleTestUtil::ReplayingHandle::Context::consume(size_t size)
181 { 181 {
182 ASSERT(!isEmpty()); 182 DCHECK(!isEmpty());
183 ASSERT(size + m_offset <= top().body().size()); 183 DCHECK(size + m_offset <= top().body().size());
184 bool fullyConsumed = (size + m_offset >= top().body().size()); 184 bool fullyConsumed = (size + m_offset >= top().body().size());
185 if (fullyConsumed) { 185 if (fullyConsumed) {
186 m_offset = 0; 186 m_offset = 0;
187 m_commands.removeFirst(); 187 m_commands.removeFirst();
188 } else { 188 } else {
189 m_offset += size; 189 m_offset += size;
190 } 190 }
191 } 191 }
192 192
193 void DataConsumerHandleTestUtil::ReplayingHandle::Context::notify() 193 void DataConsumerHandleTestUtil::ReplayingHandle::Context::notify()
194 { 194 {
195 if (!m_client) 195 if (!m_client)
196 return; 196 return;
197 ASSERT(m_readerThread); 197 DCHECK(m_readerThread);
198 m_readerThread->getWebTaskRunner()->postTask(BLINK_FROM_HERE, crossThreadBin d(&Context::notifyInternal, wrapPassRefPtr(this))); 198 m_readerThread->getWebTaskRunner()->postTask(BLINK_FROM_HERE, crossThreadBin d(&Context::notifyInternal, wrapPassRefPtr(this)));
199 } 199 }
200 200
201 void DataConsumerHandleTestUtil::ReplayingHandle::Context::notifyInternal() 201 void DataConsumerHandleTestUtil::ReplayingHandle::Context::notifyInternal()
202 { 202 {
203 { 203 {
204 MutexLocker locker(m_mutex); 204 MutexLocker locker(m_mutex);
205 if (!m_client || !m_readerThread->isCurrentThread()) { 205 if (!m_client || !m_readerThread->isCurrentThread()) {
206 // There is no client, or a new reader is attached. 206 // There is no client, or a new reader is attached.
207 return; 207 return;
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
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, WTF::unretained(this), pa ssed(std::move(result)))); 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 DCHECK(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
266 DataConsumerHandleTestUtil::HandleTwoPhaseReader::HandleTwoPhaseReader(std::uniq ue_ptr<WebDataConsumerHandle> handle, std::unique_ptr<OnFinishedReading> onFinis hedReading) 266 DataConsumerHandleTestUtil::HandleTwoPhaseReader::HandleTwoPhaseReader(std::uniq ue_ptr<WebDataConsumerHandle> handle, std::unique_ptr<OnFinishedReading> onFinis hedReading)
267 : m_reader(handle->obtainReader(this)) 267 : m_reader(handle->obtainReader(this))
268 , m_onFinishedReading(std::move(onFinishedReading)) 268 , m_onFinishedReading(std::move(onFinishedReading))
269 { 269 {
270 } 270 }
271 271
(...skipping 14 matching lines...) Expand all
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, WTF::unretained(t his), 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 DCHECK(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