| Index: Source/bindings/v8/custom/V8WindowCustom.cpp
|
| diff --git a/Source/bindings/v8/custom/V8WindowCustom.cpp b/Source/bindings/v8/custom/V8WindowCustom.cpp
|
| index 4260d3be5aaf37bca1c517c1c0876a7affd1974b..f12a12b93d53d647225db9eb5ad3ad77e653db12 100644
|
| --- a/Source/bindings/v8/custom/V8WindowCustom.cpp
|
| +++ b/Source/bindings/v8/custom/V8WindowCustom.cpp
|
| @@ -34,6 +34,7 @@
|
| #include "V8HTMLCollection.h"
|
| #include "V8Node.h"
|
| #include "bindings/v8/BindingSecurity.h"
|
| +#include "bindings/v8/ExceptionMessages.h"
|
| #include "bindings/v8/ExceptionState.h"
|
| #include "bindings/v8/ScheduledAction.h"
|
| #include "bindings/v8/ScriptController.h"
|
| @@ -262,8 +263,12 @@ void V8Window::postMessageMethodCustom(const v8::FunctionCallbackInfo<v8::Value>
|
| targetOriginArgIndex = 2;
|
| transferablesArgIndex = 1;
|
| }
|
| - if (!extractTransferables(args[transferablesArgIndex], portArray, arrayBufferArray, args.GetIsolate()))
|
| + bool notASequence = false;
|
| + if (!extractTransferables(args[transferablesArgIndex], portArray, arrayBufferArray, notASequence, args.GetIsolate())) {
|
| + if (notASequence)
|
| + throwTypeError(ExceptionMessages::failedToExecute("postMessage", "Window", ExceptionMessages::notASequenceType(transferablesArgIndex == 1 ? "Second" : "Third")), args.GetIsolate());
|
| return;
|
| + }
|
| }
|
| V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<WithUndefinedOrNullCheck>, targetOrigin, args[targetOriginArgIndex]);
|
|
|
|
|