Chromium Code Reviews| Index: Source/bindings/scripts/code_generator_v8.pm |
| diff --git a/Source/bindings/scripts/code_generator_v8.pm b/Source/bindings/scripts/code_generator_v8.pm |
| index ec6302f779373588a4dedb74d686b780cc20d97c..dd1072a0234c146775be32341f18854c2ddf4448 100644 |
| --- a/Source/bindings/scripts/code_generator_v8.pm |
| +++ b/Source/bindings/scripts/code_generator_v8.pm |
| @@ -1908,7 +1908,7 @@ END |
| $code .= " return;\n"; |
| } |
| } else { |
| - $code .= JSValueToNativeStatement($attribute->type, $attribute->extendedAttributes, "jsValue", "cppValue", " ", "info.GetIsolate()"); |
| + $code .= JSValueToNativeStatement($attribute->type, $attribute->extendedAttributes, 0, "jsValue", "cppValue", " ", "info.GetIsolate()"); |
|
Mike West
2013/10/24 07:08:54
Is this argument 0-based, or 1-based? It looks lik
sof
2013/10/24 21:16:41
This is in the context of a setter; made less magi
|
| } |
| if (IsEnumType($attrType)) { |
| @@ -2503,7 +2503,7 @@ sub GenerateParametersCheck |
| $parameterCheckString .= " bool ${parameterName}IsNull = $jsValue->IsNull();\n"; |
| $stringResourceParameterName .= "StringResource"; |
| } |
| - $parameterCheckString .= JSValueToNativeStatement($parameter->type, $parameter->extendedAttributes, $jsValue, $stringResourceParameterName, " ", "args.GetIsolate()"); |
| + $parameterCheckString .= JSValueToNativeStatement($parameter->type, $parameter->extendedAttributes, $humanFriendlyIndex, $jsValue, $stringResourceParameterName, " ", "args.GetIsolate()"); |
| $parameterCheckString .= " String $parameterName = $stringResourceParameterName;\n" if $isNullable; |
| if (IsEnumType($parameter->type)) { |
| my @enumValues = ValidEnumValues($parameter->type); |
| @@ -2539,7 +2539,7 @@ sub GenerateParametersCheck |
| my $jsValue = $parameter->isOptional && $default eq "NullString" ? "argumentOrNull(args, $paramIndex)" : "args[$paramIndex]"; |
| my $isNullable = $parameter->isNullable && !IsRefPtrType($parameter->type); |
| $parameterCheckString .= " bool ${parameterName}IsNull = $jsValue->IsNull();\n" if $isNullable; |
| - $parameterCheckString .= JSValueToNativeStatement($parameter->type, $parameter->extendedAttributes, $jsValue, $parameterName, " ", "args.GetIsolate()"); |
| + $parameterCheckString .= JSValueToNativeStatement($parameter->type, $parameter->extendedAttributes, $humanFriendlyIndex, $jsValue, $parameterName, " ", "args.GetIsolate()"); |
| if ($nativeType eq 'Dictionary' or $nativeType eq 'ScriptPromise') { |
| $parameterCheckString .= " if (!$parameterName.isUndefinedOrNull() && !$parameterName.isObject()) {\n"; |
| if ($functionName eq "Constructor") { |
| @@ -3502,7 +3502,7 @@ sub GenerateImplementationIndexedPropertySetter |
| my $code = "static void indexedPropertySetter(uint32_t index, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<v8::Value>& info)\n"; |
| $code .= "{\n"; |
| $code .= " ${implClassName}* collection = ${v8ClassName}::toNative(info.Holder());\n"; |
| - $code .= JSValueToNativeStatement($indexedSetterFunction->parameters->[1]->type, $indexedSetterFunction->extendedAttributes, "jsValue", "propertyValue", " ", "info.GetIsolate()"); |
| + $code .= JSValueToNativeStatement($indexedSetterFunction->parameters->[1]->type, $indexedSetterFunction->extendedAttributes, 0, "jsValue", "propertyValue", " ", "info.GetIsolate()"); |
| my $extraArguments = ""; |
| if ($raisesExceptions) { |
| @@ -3813,8 +3813,8 @@ sub GenerateImplementationNamedPropertySetter |
| $code .= " return;\n"; |
| } |
| $code .= " ${implClassName}* collection = ${v8ClassName}::toNative(info.Holder());\n"; |
| - $code .= JSValueToNativeStatement($namedSetterFunction->parameters->[0]->type, $namedSetterFunction->extendedAttributes, "name", "propertyName", " ", "info.GetIsolate()"); |
| - $code .= JSValueToNativeStatement($namedSetterFunction->parameters->[1]->type, $namedSetterFunction->extendedAttributes, "jsValue", "propertyValue", " ", "info.GetIsolate()"); |
| + $code .= JSValueToNativeStatement($namedSetterFunction->parameters->[0]->type, $namedSetterFunction->extendedAttributes, 0, "name", "propertyName", " ", "info.GetIsolate()"); |
| + $code .= JSValueToNativeStatement($namedSetterFunction->parameters->[1]->type, $namedSetterFunction->extendedAttributes, 0, "jsValue", "propertyValue", " ", "info.GetIsolate()"); |
| my $extraArguments = ""; |
| if ($raisesExceptions) { |
| $code .= " ExceptionState es(info.GetIsolate());\n"; |
| @@ -5246,13 +5246,14 @@ sub JSValueToNativeStatement |
| { |
| my $type = shift; |
| my $extendedAttributes = shift; |
| + my $argIndex = shift; |
| my $jsValue = shift; |
| my $variableName = shift; |
| my $indent = shift; |
| my $getIsolate = shift; |
| my $nativeType = GetNativeType($type, $extendedAttributes, "parameter"); |
| - my $native_value = JSValueToNative($type, $extendedAttributes, $jsValue, $getIsolate); |
| + my $native_value = JSValueToNative($type, $extendedAttributes, $argIndex, $jsValue, $getIsolate); |
| my $code = ""; |
| if ($type eq "DOMString" || IsEnumType($type)) { |
| die "Wrong native type passed: $nativeType" unless $nativeType =~ /^V8StringResource/; |
| @@ -5274,6 +5275,7 @@ sub JSValueToNative |
| { |
| my $type = shift; |
| my $extendedAttributes = shift; |
| + my $argIndex = shift; |
| my $value = shift; |
| my $getIsolate = shift; |
| @@ -5352,9 +5354,9 @@ sub JSValueToNative |
| if ($arrayOrSequenceType) { |
| if (IsRefPtrType($arrayOrSequenceType)) { |
| AddToImplIncludes("V8${arrayOrSequenceType}.h"); |
| - return "(toRefPtrNativeArray<${arrayOrSequenceType}, V8${arrayOrSequenceType}>($value, $getIsolate))"; |
| + return "(toRefPtrNativeArray<${arrayOrSequenceType}, V8${arrayOrSequenceType}>($value, $argIndex, $getIsolate))"; |
| } |
| - return "toNativeArray<" . GetNativeType($arrayOrSequenceType) . ">($value, $getIsolate)"; |
| + return "toNativeArray<" . GetNativeType($arrayOrSequenceType) . ">($value, $argIndex, $getIsolate)"; |
| } |
| AddIncludesForType($type); |