Index: Source/bindings/core/v8/custom/V8MessageEventCustom.cpp |
diff --git a/Source/bindings/core/v8/custom/V8MessageEventCustom.cpp b/Source/bindings/core/v8/custom/V8MessageEventCustom.cpp |
index 8bc5ad18bd0140646cdf2beac519801f9a6ab22f..52b0de23666c93516a82c7cb68550f4136e50e4a 100644 |
--- a/Source/bindings/core/v8/custom/V8MessageEventCustom.cpp |
+++ b/Source/bindings/core/v8/custom/V8MessageEventCustom.cpp |
@@ -114,11 +114,12 @@ void V8MessageEvent::initMessageEventMethodCustom(const v8::FunctionCallbackInfo |
LocalDOMWindow* sourceArg = toDOMWindow(info[6], info.GetIsolate()); |
OwnPtrWillBeRawPtr<MessagePortArray> portArray = nullptr; |
const int portArrayIndex = 7; |
+ |
if (!isUndefinedOrNull(info[portArrayIndex])) { |
+ ExceptionState exceptionState(ExceptionState::ExecutionContext, "initMessageEvent", info.Holder(), info.GetIsolate()); |
portArray = adoptPtrWillBeNoop(new MessagePortArray); |
- bool success = false; |
- *portArray = toRefPtrWillBeMemberNativeArray<MessagePort, V8MessagePort>(info[portArrayIndex], portArrayIndex + 1, info.GetIsolate(), &success); |
- if (!success) |
+ *portArray = toRefPtrWillBeMemberNativeArray<MessagePort, V8MessagePort>(info[portArrayIndex], portArrayIndex + 1, info.GetIsolate(), &exceptionState); |
+ if (exceptionState.throwIfNeeded()) |
return; |
} |
event->initMessageEvent(typeArg, canBubbleArg, cancelableArg, originArg, lastEventIdArg, sourceArg, portArray.release()); |