Index: Source/bindings/v8/custom/V8MessagePortCustom.cpp |
diff --git a/Source/bindings/v8/custom/V8MessagePortCustom.cpp b/Source/bindings/v8/custom/V8MessagePortCustom.cpp |
index f8eb9df2abdcfe5bbfb05a53b8a648c7aaec5d4d..d9d2a335424895fb9c6af49677fb795d8ec09ef0 100644 |
--- a/Source/bindings/v8/custom/V8MessagePortCustom.cpp |
+++ b/Source/bindings/v8/custom/V8MessagePortCustom.cpp |
@@ -48,19 +48,14 @@ void V8MessagePort::postMessageMethodCustom(const v8::FunctionCallbackInfo<v8::V |
MessagePortArray portArray; |
ArrayBufferArray arrayBufferArray; |
if (info.Length() > 1) { |
- bool notASequence = false; |
const int transferablesArgIndex = 1; |
- if (!extractTransferables(info[transferablesArgIndex], portArray, arrayBufferArray, notASequence, info.GetIsolate())) { |
- if (notASequence) { |
- exceptionState.throwTypeError(ExceptionMessages::notAnArrayTypeArgumentOrValue(transferablesArgIndex + 1)); |
- exceptionState.throwIfNeeded(); |
- } |
+ if (!extractTransferables(info[transferablesArgIndex], transferablesArgIndex, portArray, arrayBufferArray, exceptionState, info.GetIsolate())) { |
+ exceptionState.throwIfNeeded(); |
return; |
} |
} |
- bool didThrow = false; |
- RefPtr<SerializedScriptValue> message = SerializedScriptValue::create(info[0], &portArray, &arrayBufferArray, didThrow, info.GetIsolate()); |
- if (didThrow) |
+ RefPtr<SerializedScriptValue> message = SerializedScriptValue::create(info[0], &portArray, &arrayBufferArray, exceptionState, info.GetIsolate()); |
+ if (exceptionState.throwIfNeeded()) |
return; |
messagePort->postMessage(message.release(), &portArray, exceptionState); |
exceptionState.throwIfNeeded(); |