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

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

Issue 2804023004: Replace ASSERT with DCHECK in modules/fetch. (Closed)
Patch Set: Created 3 years, 8 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/BodyStreamBuffer.h" 5 #include "modules/fetch/BodyStreamBuffer.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include "bindings/core/v8/ScriptState.h" 8 #include "bindings/core/v8/ScriptState.h"
9 #include "bindings/core/v8/V8PrivateProperty.h" 9 #include "bindings/core/v8/V8PrivateProperty.h"
10 #include "bindings/core/v8/V8ThrowException.h" 10 #include "bindings/core/v8/V8ThrowException.h"
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 DCHECK(bodyValue->IsObject()); 117 DCHECK(bodyValue->IsObject());
118 v8::Local<v8::Object> body = bodyValue.As<v8::Object>(); 118 v8::Local<v8::Object> body = bodyValue.As<v8::Object>();
119 return ScriptValue( 119 return ScriptValue(
120 m_scriptState.get(), 120 m_scriptState.get(),
121 V8PrivateProperty::getInternalBodyStream(m_scriptState->isolate()) 121 V8PrivateProperty::getInternalBodyStream(m_scriptState->isolate())
122 .getOrEmpty(body)); 122 .getOrEmpty(body));
123 } 123 }
124 124
125 PassRefPtr<BlobDataHandle> BodyStreamBuffer::drainAsBlobDataHandle( 125 PassRefPtr<BlobDataHandle> BodyStreamBuffer::drainAsBlobDataHandle(
126 BytesConsumer::BlobSizePolicy policy) { 126 BytesConsumer::BlobSizePolicy policy) {
127 ASSERT(!isStreamLocked()); 127 DCHECK(!isStreamLocked());
128 ASSERT(!isStreamDisturbed()); 128 DCHECK(!isStreamDisturbed());
129 if (isStreamClosed() || isStreamErrored()) 129 if (isStreamClosed() || isStreamErrored())
130 return nullptr; 130 return nullptr;
131 131
132 if (m_madeFromReadableStream) 132 if (m_madeFromReadableStream)
133 return nullptr; 133 return nullptr;
134 134
135 RefPtr<BlobDataHandle> blobDataHandle = 135 RefPtr<BlobDataHandle> blobDataHandle =
136 m_consumer->drainAsBlobDataHandle(policy); 136 m_consumer->drainAsBlobDataHandle(policy);
137 if (blobDataHandle) { 137 if (blobDataHandle) {
138 closeAndLockAndDisturb(); 138 closeAndLockAndDisturb();
139 return blobDataHandle.release(); 139 return blobDataHandle.release();
140 } 140 }
141 return nullptr; 141 return nullptr;
142 } 142 }
143 143
144 PassRefPtr<EncodedFormData> BodyStreamBuffer::drainAsFormData() { 144 PassRefPtr<EncodedFormData> BodyStreamBuffer::drainAsFormData() {
145 ASSERT(!isStreamLocked()); 145 DCHECK(!isStreamLocked());
146 ASSERT(!isStreamDisturbed()); 146 DCHECK(!isStreamDisturbed());
147 if (isStreamClosed() || isStreamErrored()) 147 if (isStreamClosed() || isStreamErrored())
148 return nullptr; 148 return nullptr;
149 149
150 if (m_madeFromReadableStream) 150 if (m_madeFromReadableStream)
151 return nullptr; 151 return nullptr;
152 152
153 RefPtr<EncodedFormData> formData = m_consumer->drainAsFormData(); 153 RefPtr<EncodedFormData> formData = m_consumer->drainAsFormData();
154 if (formData) { 154 if (formData) {
155 closeAndLockAndDisturb(); 155 closeAndLockAndDisturb();
156 return formData.release(); 156 return formData.release();
157 } 157 }
158 return nullptr; 158 return nullptr;
159 } 159 }
160 160
161 void BodyStreamBuffer::startLoading(FetchDataLoader* loader, 161 void BodyStreamBuffer::startLoading(FetchDataLoader* loader,
162 FetchDataLoader::Client* client) { 162 FetchDataLoader::Client* client) {
163 ASSERT(!m_loader); 163 DCHECK(!m_loader);
164 ASSERT(m_scriptState->contextIsValid()); 164 DCHECK(m_scriptState->contextIsValid());
165 m_loader = loader; 165 m_loader = loader;
166 loader->start( 166 loader->start(
167 releaseHandle(), 167 releaseHandle(),
168 new LoaderClient(m_scriptState->getExecutionContext(), this, client)); 168 new LoaderClient(m_scriptState->getExecutionContext(), this, client));
169 } 169 }
170 170
171 void BodyStreamBuffer::tee(BodyStreamBuffer** branch1, 171 void BodyStreamBuffer::tee(BodyStreamBuffer** branch1,
172 BodyStreamBuffer** branch2) { 172 BodyStreamBuffer** branch2) {
173 DCHECK(!isStreamLocked()); 173 DCHECK(!isStreamLocked());
174 DCHECK(!isStreamDisturbed()); 174 DCHECK(!isStreamDisturbed());
(...skipping 10 matching lines...) Expand all
185 } 185 }
186 BytesConsumer* dest1 = nullptr; 186 BytesConsumer* dest1 = nullptr;
187 BytesConsumer* dest2 = nullptr; 187 BytesConsumer* dest2 = nullptr;
188 BytesConsumer::tee(m_scriptState->getExecutionContext(), releaseHandle(), 188 BytesConsumer::tee(m_scriptState->getExecutionContext(), releaseHandle(),
189 &dest1, &dest2); 189 &dest1, &dest2);
190 *branch1 = new BodyStreamBuffer(m_scriptState.get(), dest1); 190 *branch1 = new BodyStreamBuffer(m_scriptState.get(), dest1);
191 *branch2 = new BodyStreamBuffer(m_scriptState.get(), dest2); 191 *branch2 = new BodyStreamBuffer(m_scriptState.get(), dest2);
192 } 192 }
193 193
194 ScriptPromise BodyStreamBuffer::pull(ScriptState* scriptState) { 194 ScriptPromise BodyStreamBuffer::pull(ScriptState* scriptState) {
195 ASSERT(scriptState == m_scriptState.get()); 195 DCHECK(scriptState == m_scriptState.get());
tkent 2017/04/08 02:29:54 Use DCHECK_EQ if it doesn't cause a build failure.
196 if (m_streamNeedsMore) 196 if (m_streamNeedsMore)
197 return ScriptPromise::castUndefined(scriptState); 197 return ScriptPromise::castUndefined(scriptState);
198 m_streamNeedsMore = true; 198 m_streamNeedsMore = true;
199 processData(); 199 processData();
200 return ScriptPromise::castUndefined(scriptState); 200 return ScriptPromise::castUndefined(scriptState);
201 } 201 }
202 202
203 ScriptPromise BodyStreamBuffer::cancel(ScriptState* scriptState, 203 ScriptPromise BodyStreamBuffer::cancel(ScriptState* scriptState,
204 ScriptValue reason) { 204 ScriptValue reason) {
205 ASSERT(scriptState == m_scriptState.get()); 205 DCHECK(scriptState == m_scriptState.get());
tkent 2017/04/08 02:29:54 Use DCHECK_EQ if it doesn't cause a build failure.
206 close(); 206 close();
207 return ScriptPromise::castUndefined(scriptState); 207 return ScriptPromise::castUndefined(scriptState);
208 } 208 }
209 209
210 void BodyStreamBuffer::onStateChange() { 210 void BodyStreamBuffer::onStateChange() {
211 if (!m_consumer || !getExecutionContext() || 211 if (!m_consumer || !getExecutionContext() ||
212 getExecutionContext()->isContextDestroyed()) 212 getExecutionContext()->isContextDestroyed())
213 return; 213 return;
214 214
215 switch (m_consumer->getPublicState()) { 215 switch (m_consumer->getPublicState()) {
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
332 NOTREACHED(); 332 NOTREACHED();
333 return; 333 return;
334 case BytesConsumer::Result::Error: 334 case BytesConsumer::Result::Error:
335 error(); 335 error();
336 return; 336 return;
337 } 337 }
338 } 338 }
339 } 339 }
340 340
341 void BodyStreamBuffer::endLoading() { 341 void BodyStreamBuffer::endLoading() {
342 ASSERT(m_loader); 342 DCHECK(m_loader);
343 m_loader = nullptr; 343 m_loader = nullptr;
344 } 344 }
345 345
346 void BodyStreamBuffer::stopLoading() { 346 void BodyStreamBuffer::stopLoading() {
347 if (!m_loader) 347 if (!m_loader)
348 return; 348 return;
349 m_loader->cancel(); 349 m_loader->cancel();
350 m_loader = nullptr; 350 m_loader = nullptr;
351 } 351 }
352 352
(...skipping 28 matching lines...) Expand all
381 } 381 }
382 if (isErrored) 382 if (isErrored)
383 return BytesConsumer::createErrored(BytesConsumer::Error("error")); 383 return BytesConsumer::createErrored(BytesConsumer::Error("error"));
384 384
385 DCHECK(consumer); 385 DCHECK(consumer);
386 consumer->clearClient(); 386 consumer->clearClient();
387 return consumer; 387 return consumer;
388 } 388 }
389 389
390 } // namespace blink 390 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698