| Index: Source/bindings/v8/custom/V8WorkerCustom.cpp
|
| diff --git a/Source/bindings/v8/custom/V8WorkerCustom.cpp b/Source/bindings/v8/custom/V8WorkerCustom.cpp
|
| index 19440578be31f36968a2b8c56baa1cd16a3b8fc3..6c09af45e1741815842bf3c3c8f7aa375060ca3e 100644
|
| --- a/Source/bindings/v8/custom/V8WorkerCustom.cpp
|
| +++ b/Source/bindings/v8/custom/V8WorkerCustom.cpp
|
| @@ -50,18 +50,13 @@ void V8Worker::postMessageMethodCustom(const v8::FunctionCallbackInfo<v8::Value>
|
| ArrayBufferArray arrayBuffers;
|
| if (info.Length() > 1) {
|
| const int transferablesArgIndex = 1;
|
| - bool notASequence = false;
|
| - if (!extractTransferables(info[transferablesArgIndex], ports, arrayBuffers, notASequence, info.GetIsolate())) {
|
| - if (notASequence) {
|
| - exceptionState.throwTypeError(ExceptionMessages::notAnArrayTypeArgumentOrValue(transferablesArgIndex + 1));
|
| - exceptionState.throwIfNeeded();
|
| - }
|
| + if (!extractTransferables(info[transferablesArgIndex], transferablesArgIndex, ports, arrayBuffers, exceptionState, info.GetIsolate())) {
|
| + exceptionState.throwIfNeeded();
|
| return;
|
| }
|
| }
|
| - bool didThrow = false;
|
| - RefPtr<SerializedScriptValue> message = SerializedScriptValue::create(info[0], &ports, &arrayBuffers, didThrow, info.GetIsolate());
|
| - if (didThrow)
|
| + RefPtr<SerializedScriptValue> message = SerializedScriptValue::create(info[0], &ports, &arrayBuffers, exceptionState, info.GetIsolate());
|
| + if (exceptionState.throwIfNeeded())
|
| return;
|
| worker->postMessage(message.release(), &ports, exceptionState);
|
| exceptionState.throwIfNeeded();
|
|
|