Index: Source/bindings/v8/custom/V8MessagePortCustom.cpp |
diff --git a/Source/bindings/v8/custom/V8MessagePortCustom.cpp b/Source/bindings/v8/custom/V8MessagePortCustom.cpp |
index cedf23f3274ff44d92382051c786a3a1ce722334..f78dd17211efcc6be29313c948ce8d3c217ec8bb 100644 |
--- a/Source/bindings/v8/custom/V8MessagePortCustom.cpp |
+++ b/Source/bindings/v8/custom/V8MessagePortCustom.cpp |
@@ -31,6 +31,7 @@ |
#include "config.h" |
#include "V8MessagePort.h" |
+#include "bindings/v8/ExceptionMessages.h" |
#include "bindings/v8/ExceptionState.h" |
#include "bindings/v8/SerializedScriptValue.h" |
#include "bindings/v8/V8Binding.h" |
@@ -46,8 +47,12 @@ void V8MessagePort::postMessageMethodCustom(const v8::FunctionCallbackInfo<v8::V |
MessagePortArray portArray; |
ArrayBufferArray arrayBufferArray; |
if (args.Length() > 1) { |
- if (!extractTransferables(args[1], portArray, arrayBufferArray, args.GetIsolate())) |
+ bool notASequence = false; |
+ if (!extractTransferables(args[1], portArray, arrayBufferArray, notASequence, args.GetIsolate())) { |
+ if (notASequence) |
+ throwTypeError(ExceptionMessages::failedToExecute("postMessage", "MessagePort", ExceptionMessages::notASequenceType("Second")), args.GetIsolate()); |
return; |
+ } |
} |
bool didThrow = false; |
RefPtr<SerializedScriptValue> message = |