summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/fetch/readable_stream_bytes_consumer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/core/fetch/readable_stream_bytes_consumer.cc')
-rw-r--r--chromium/third_party/blink/renderer/core/fetch/readable_stream_bytes_consumer.cc15
1 files changed, 11 insertions, 4 deletions
diff --git a/chromium/third_party/blink/renderer/core/fetch/readable_stream_bytes_consumer.cc b/chromium/third_party/blink/renderer/core/fetch/readable_stream_bytes_consumer.cc
index abf67b31626..6b755eb52f9 100644
--- a/chromium/third_party/blink/renderer/core/fetch/readable_stream_bytes_consumer.cc
+++ b/chromium/third_party/blink/renderer/core/fetch/readable_stream_bytes_consumer.cc
@@ -33,10 +33,17 @@ class ReadableStreamBytesConsumer::OnFulfilled final : public ScriptFunction {
ScriptValue Call(ScriptValue v) override {
bool done;
v8::Local<v8::Value> item = v.V8Value();
- DCHECK(item->IsObject());
- v8::Local<v8::Value> value =
- V8UnpackIteratorResult(v.GetScriptState(), item.As<v8::Object>(), &done)
- .ToLocalChecked();
+ if (!item->IsObject()) {
+ consumer_->OnRejected();
+ return ScriptValue();
+ }
+ v8::Local<v8::Value> value;
+ if (!V8UnpackIteratorResult(v.GetScriptState(), item.As<v8::Object>(),
+ &done)
+ .ToLocal(&value)) {
+ consumer_->OnRejected();
+ return ScriptValue();
+ }
if (done) {
consumer_->OnReadDone();
return v;