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

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

Issue 2804023004: Replace ASSERT with DCHECK in modules/fetch. (Closed)
Patch Set: Use DCHECK_EQ in all but a few instances 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 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 DCHECK(body_value->IsObject()); 124 DCHECK(body_value->IsObject());
125 v8::Local<v8::Object> body = body_value.As<v8::Object>(); 125 v8::Local<v8::Object> body = body_value.As<v8::Object>();
126 return ScriptValue( 126 return ScriptValue(
127 script_state_.Get(), 127 script_state_.Get(),
128 V8PrivateProperty::GetInternalBodyStream(script_state_->GetIsolate()) 128 V8PrivateProperty::GetInternalBodyStream(script_state_->GetIsolate())
129 .GetOrEmpty(body)); 129 .GetOrEmpty(body));
130 } 130 }
131 131
132 PassRefPtr<BlobDataHandle> BodyStreamBuffer::DrainAsBlobDataHandle( 132 PassRefPtr<BlobDataHandle> BodyStreamBuffer::DrainAsBlobDataHandle(
133 BytesConsumer::BlobSizePolicy policy) { 133 BytesConsumer::BlobSizePolicy policy) {
134 ASSERT(!IsStreamLocked()); 134 DCHECK(!IsStreamLocked());
135 ASSERT(!IsStreamDisturbed()); 135 DCHECK(!IsStreamDisturbed());
136 if (IsStreamClosed() || IsStreamErrored()) 136 if (IsStreamClosed() || IsStreamErrored())
137 return nullptr; 137 return nullptr;
138 138
139 if (made_from_readable_stream_) 139 if (made_from_readable_stream_)
140 return nullptr; 140 return nullptr;
141 141
142 RefPtr<BlobDataHandle> blob_data_handle = 142 RefPtr<BlobDataHandle> blob_data_handle =
143 consumer_->DrainAsBlobDataHandle(policy); 143 consumer_->DrainAsBlobDataHandle(policy);
144 if (blob_data_handle) { 144 if (blob_data_handle) {
145 CloseAndLockAndDisturb(); 145 CloseAndLockAndDisturb();
146 return blob_data_handle.Release(); 146 return blob_data_handle.Release();
147 } 147 }
148 return nullptr; 148 return nullptr;
149 } 149 }
150 150
151 PassRefPtr<EncodedFormData> BodyStreamBuffer::DrainAsFormData() { 151 PassRefPtr<EncodedFormData> BodyStreamBuffer::DrainAsFormData() {
152 ASSERT(!IsStreamLocked()); 152 DCHECK(!IsStreamLocked());
153 ASSERT(!IsStreamDisturbed()); 153 DCHECK(!IsStreamDisturbed());
154 if (IsStreamClosed() || IsStreamErrored()) 154 if (IsStreamClosed() || IsStreamErrored())
155 return nullptr; 155 return nullptr;
156 156
157 if (made_from_readable_stream_) 157 if (made_from_readable_stream_)
158 return nullptr; 158 return nullptr;
159 159
160 RefPtr<EncodedFormData> form_data = consumer_->DrainAsFormData(); 160 RefPtr<EncodedFormData> form_data = consumer_->DrainAsFormData();
161 if (form_data) { 161 if (form_data) {
162 CloseAndLockAndDisturb(); 162 CloseAndLockAndDisturb();
163 return form_data.Release(); 163 return form_data.Release();
164 } 164 }
165 return nullptr; 165 return nullptr;
166 } 166 }
167 167
168 void BodyStreamBuffer::StartLoading(FetchDataLoader* loader, 168 void BodyStreamBuffer::StartLoading(FetchDataLoader* loader,
169 FetchDataLoader::Client* client) { 169 FetchDataLoader::Client* client) {
170 ASSERT(!loader_); 170 DCHECK(!loader_);
171 ASSERT(script_state_->ContextIsValid()); 171 DCHECK(script_state_->ContextIsValid());
172 loader_ = loader; 172 loader_ = loader;
173 loader->Start(ReleaseHandle(), 173 loader->Start(ReleaseHandle(),
174 new LoaderClient(ExecutionContext::From(script_state_.Get()), 174 new LoaderClient(ExecutionContext::From(script_state_.Get()),
175 this, client)); 175 this, client));
176 } 176 }
177 177
178 void BodyStreamBuffer::Tee(BodyStreamBuffer** branch1, 178 void BodyStreamBuffer::Tee(BodyStreamBuffer** branch1,
179 BodyStreamBuffer** branch2) { 179 BodyStreamBuffer** branch2) {
180 DCHECK(!IsStreamLocked()); 180 DCHECK(!IsStreamLocked());
181 DCHECK(!IsStreamDisturbed()); 181 DCHECK(!IsStreamDisturbed());
(...skipping 10 matching lines...) Expand all
192 } 192 }
193 BytesConsumer* dest1 = nullptr; 193 BytesConsumer* dest1 = nullptr;
194 BytesConsumer* dest2 = nullptr; 194 BytesConsumer* dest2 = nullptr;
195 BytesConsumer::Tee(ExecutionContext::From(script_state_.Get()), 195 BytesConsumer::Tee(ExecutionContext::From(script_state_.Get()),
196 ReleaseHandle(), &dest1, &dest2); 196 ReleaseHandle(), &dest1, &dest2);
197 *branch1 = new BodyStreamBuffer(script_state_.Get(), dest1); 197 *branch1 = new BodyStreamBuffer(script_state_.Get(), dest1);
198 *branch2 = new BodyStreamBuffer(script_state_.Get(), dest2); 198 *branch2 = new BodyStreamBuffer(script_state_.Get(), dest2);
199 } 199 }
200 200
201 ScriptPromise BodyStreamBuffer::pull(ScriptState* script_state) { 201 ScriptPromise BodyStreamBuffer::pull(ScriptState* script_state) {
202 ASSERT(script_state == script_state_.Get()); 202 DCHECK_EQ(script_state, script_state_.Get());
203 if (stream_needs_more_) 203 if (stream_needs_more_)
204 return ScriptPromise::CastUndefined(script_state); 204 return ScriptPromise::CastUndefined(script_state);
205 stream_needs_more_ = true; 205 stream_needs_more_ = true;
206 ProcessData(); 206 ProcessData();
207 return ScriptPromise::CastUndefined(script_state); 207 return ScriptPromise::CastUndefined(script_state);
208 } 208 }
209 209
210 ScriptPromise BodyStreamBuffer::Cancel(ScriptState* script_state, 210 ScriptPromise BodyStreamBuffer::Cancel(ScriptState* script_state,
211 ScriptValue reason) { 211 ScriptValue reason) {
212 ASSERT(script_state == script_state_.Get()); 212 DCHECK_EQ(script_state, script_state_.Get());
213 Close(); 213 Close();
214 return ScriptPromise::CastUndefined(script_state); 214 return ScriptPromise::CastUndefined(script_state);
215 } 215 }
216 216
217 void BodyStreamBuffer::OnStateChange() { 217 void BodyStreamBuffer::OnStateChange() {
218 if (!consumer_ || !GetExecutionContext() || 218 if (!consumer_ || !GetExecutionContext() ||
219 GetExecutionContext()->IsContextDestroyed()) 219 GetExecutionContext()->IsContextDestroyed())
220 return; 220 return;
221 221
222 switch (consumer_->GetPublicState()) { 222 switch (consumer_->GetPublicState()) {
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
339 NOTREACHED(); 339 NOTREACHED();
340 return; 340 return;
341 case BytesConsumer::Result::kError: 341 case BytesConsumer::Result::kError:
342 GetError(); 342 GetError();
343 return; 343 return;
344 } 344 }
345 } 345 }
346 } 346 }
347 347
348 void BodyStreamBuffer::EndLoading() { 348 void BodyStreamBuffer::EndLoading() {
349 ASSERT(loader_); 349 DCHECK(loader_);
350 loader_ = nullptr; 350 loader_ = nullptr;
351 } 351 }
352 352
353 void BodyStreamBuffer::StopLoading() { 353 void BodyStreamBuffer::StopLoading() {
354 if (!loader_) 354 if (!loader_)
355 return; 355 return;
356 loader_->Cancel(); 356 loader_->Cancel();
357 loader_ = nullptr; 357 loader_ = nullptr;
358 } 358 }
359 359
(...skipping 28 matching lines...) Expand all
388 } 388 }
389 if (is_errored) 389 if (is_errored)
390 return BytesConsumer::CreateErrored(BytesConsumer::Error("error")); 390 return BytesConsumer::CreateErrored(BytesConsumer::Error("error"));
391 391
392 DCHECK(consumer); 392 DCHECK(consumer);
393 consumer->ClearClient(); 393 consumer->ClearClient();
394 return consumer; 394 return consumer;
395 } 395 }
396 396
397 } // namespace blink 397 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/modules/fetch/Body.cpp ('k') | third_party/WebKit/Source/modules/fetch/DataConsumerHandleTestUtil.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698