diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.cc')
-rw-r--r-- | chromium/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/chromium/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.cc b/chromium/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.cc index c45aa72eb87..93ba68f8b2a 100644 --- a/chromium/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.cc +++ b/chromium/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.cc @@ -532,6 +532,9 @@ bool SerializedScriptValue::ExtractTransferables( ExceptionState& exception_state) { // Validate the passed array of transferables. wtf_size_t i = 0; + bool transferable_streams_enabled = + RuntimeEnabledFeatures::TransferableStreamsEnabled( + CurrentExecutionContext(isolate)); for (const auto& script_value : object_sequence) { v8::Local<v8::Value> transferable_object = script_value.V8Value(); // Validation of non-null objects, per HTML5 spec 10.3.3. @@ -611,7 +614,7 @@ bool SerializedScriptValue::ExtractTransferables( return false; } transferables.offscreen_canvases.push_back(offscreen_canvas); - } else if (RuntimeEnabledFeatures::TransferableStreamsEnabled() && + } else if (transferable_streams_enabled && V8ReadableStream::HasInstance(transferable_object, isolate)) { ReadableStream* stream = V8ReadableStream::ToImpl( v8::Local<v8::Object>::Cast(transferable_object)); @@ -623,7 +626,7 @@ bool SerializedScriptValue::ExtractTransferables( return false; } transferables.readable_streams.push_back(stream); - } else if (RuntimeEnabledFeatures::TransferableStreamsEnabled() && + } else if (transferable_streams_enabled && V8WritableStream::HasInstance(transferable_object, isolate)) { WritableStream* stream = V8WritableStream::ToImpl( v8::Local<v8::Object>::Cast(transferable_object)); @@ -635,7 +638,7 @@ bool SerializedScriptValue::ExtractTransferables( return false; } transferables.writable_streams.push_back(stream); - } else if (RuntimeEnabledFeatures::TransferableStreamsEnabled() && + } else if (transferable_streams_enabled && V8TransformStream::HasInstance(transferable_object, isolate)) { TransformStream* stream = V8TransformStream::ToImpl( v8::Local<v8::Object>::Cast(transferable_object)); |