| Index: Source/bindings/scripts/deprecated_code_generator_v8.pm
|
| diff --git a/Source/bindings/scripts/deprecated_code_generator_v8.pm b/Source/bindings/scripts/deprecated_code_generator_v8.pm
|
| index 509aef934798ea65d3b26a22d1522d1eaae1c768..ee8ac669ec20e87a11bbc9fa9bfac41f00a581b4 100644
|
| --- a/Source/bindings/scripts/deprecated_code_generator_v8.pm
|
| +++ b/Source/bindings/scripts/deprecated_code_generator_v8.pm
|
| @@ -2327,11 +2327,19 @@ sub GenerateParametersCheck
|
| $parameterCheckString .= " $parameterName = ${v8ClassName}::create(args[$paramIndex], getScriptExecutionContext());\n";
|
| $parameterCheckString .= " }\n";
|
| } else {
|
| - $parameterCheckString .= " if (args.Length() <= $paramIndex || !args[$paramIndex]->IsFunction()) {\n";
|
| + $parameterCheckString .= " if (args.Length() <= $paramIndex || ";
|
| + if ($parameter->isNullable) {
|
| + $parameterCheckString .= "!(args[$paramIndex]->IsFunction() || args[$paramIndex]->IsNull())";
|
| + } else {
|
| + $parameterCheckString .= "!args[$paramIndex]->IsFunction()";
|
| + }
|
| + $parameterCheckString .= ") {\n";
|
| $parameterCheckString .= " throwTypeError(args.GetIsolate());\n";
|
| $parameterCheckString .= " return;\n";
|
| $parameterCheckString .= " }\n";
|
| - $parameterCheckString .= " RefPtr<" . $parameter->type . "> $parameterName = ${v8ClassName}::create(args[$paramIndex], getScriptExecutionContext());\n";
|
| + $parameterCheckString .= " RefPtr<" . $parameter->type . "> $parameterName = ";
|
| + $parameterCheckString .= "args[$paramIndex]->IsNull() ? 0 : " if $parameter->isNullable;
|
| + $parameterCheckString .= "${v8ClassName}::create(args[$paramIndex], getScriptExecutionContext());\n";
|
| }
|
| } elsif ($parameter->extendedAttributes->{"Clamp"}) {
|
| my $nativeValue = "${parameterName}NativeValue";
|
|
|