| Index: Source/bindings/tests/results/core/V8TestInterface.cpp
|
| diff --git a/Source/bindings/tests/results/core/V8TestInterface.cpp b/Source/bindings/tests/results/core/V8TestInterface.cpp
|
| index 76cfc1e031770654f621dd7a123a0f4e9d2b7e17..64a071f2e450de42ed97d3df292a8d58d0a5504c 100644
|
| --- a/Source/bindings/tests/results/core/V8TestInterface.cpp
|
| +++ b/Source/bindings/tests/results/core/V8TestInterface.cpp
|
| @@ -1414,6 +1414,32 @@ static void staticPromiseMethodPartialOverload1Method(const v8::FunctionCallback
|
| v8SetReturnValue(info, TestInterfaceImplementation::staticPromiseMethodPartialOverload().v8Value());
|
| }
|
|
|
| +static void methodWithExplicitNullableArgumentMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
|
| +{
|
| + ExceptionState exceptionState(ExceptionState::ExecutionContext, "methodWithExplicitNullableArgument", "TestInterface", info.Holder(), info.GetIsolate());
|
| + TestInterfaceImplementation* impl = V8TestInterface::toImpl(info.Holder());
|
| + Nullable<Vector<ScriptValue>> arguments;
|
| + {
|
| + if (UNLIKELY(info.Length() <= 0)) {
|
| + impl->methodWithExplicitNullableArgument();
|
| + return;
|
| + }
|
| + if (!info[0]->IsNull()) {
|
| + arguments = toImplArray<ScriptValue>(info[0], 1, info.GetIsolate(), exceptionState);
|
| + if (exceptionState.throwIfNeeded())
|
| + return;
|
| + }
|
| + }
|
| + impl->methodWithExplicitNullableArgument(arguments);
|
| +}
|
| +
|
| +static void methodWithExplicitNullableArgumentMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
|
| +{
|
| + TRACE_EVENT_SET_SAMPLING_STATE("blink", "DOMMethod");
|
| + TestInterfaceImplementationV8Internal::methodWithExplicitNullableArgumentMethod(info);
|
| + TRACE_EVENT_SET_SAMPLING_STATE("v8", "V8Execution");
|
| +}
|
| +
|
| static void implementsVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
|
| {
|
| TestInterfaceImplementation* impl = V8TestInterface::toImpl(info.Holder());
|
| @@ -2075,6 +2101,7 @@ static const V8DOMConfiguration::MethodConfiguration V8TestInterfaceMethods[] =
|
| {"voidMethodTestEnumArg", TestInterfaceImplementationV8Internal::voidMethodTestEnumArgMethodCallback, 0, 1, V8DOMConfiguration::ExposedToAllScripts},
|
| {"voidMethod", TestInterfaceImplementationV8Internal::voidMethodMethodCallback, TestInterfaceImplementationV8Internal::voidMethodMethodCallbackForMainWorld, 0, V8DOMConfiguration::ExposedToAllScripts},
|
| {"alwaysExposedMethod", TestInterfaceImplementationV8Internal::alwaysExposedMethodMethodCallback, 0, 0, V8DOMConfiguration::ExposedToAllScripts},
|
| + {"methodWithExplicitNullableArgument", TestInterfaceImplementationV8Internal::methodWithExplicitNullableArgumentMethodCallback, 0, 0, V8DOMConfiguration::ExposedToAllScripts},
|
| {"implementsVoidMethod", TestInterfaceImplementationV8Internal::implementsVoidMethodMethodCallback, 0, 0, V8DOMConfiguration::ExposedToAllScripts},
|
| {"implementsComplexMethod", TestInterfaceImplementationV8Internal::implementsComplexMethodMethodCallback, 0, 2, V8DOMConfiguration::ExposedToAllScripts},
|
| {"implementsCustomVoidMethod", TestInterfaceImplementationV8Internal::implementsCustomVoidMethodMethodCallback, 0, 0, V8DOMConfiguration::ExposedToAllScripts},
|
|
|