| Index: Source/bindings/scripts/CodeGeneratorV8.pm
|
| diff --git a/Source/bindings/scripts/CodeGeneratorV8.pm b/Source/bindings/scripts/CodeGeneratorV8.pm
|
| index 0aad18a030b23494e8edd8a8b9c808f42347b7be..2f9c9a6341d654564d19c088fe4938228237d37a 100644
|
| --- a/Source/bindings/scripts/CodeGeneratorV8.pm
|
| +++ b/Source/bindings/scripts/CodeGeneratorV8.pm
|
| @@ -96,7 +96,14 @@ my %handlifiedTypeHash = (
|
| "WebKitCSSMatrix" => 1,
|
| );
|
|
|
| -my %partiallyHandlifiedTypeHash = ();
|
| +my %partiallyHandlifiedTypeHash = (
|
| + "HTMLKeygenElement" => 1,
|
| + "HTMLOutputElement" => 1,
|
| + "HTMLSelectElement" => 1,
|
| + "HTMLInputElement" => 1,
|
| + "HTMLTextAreaElement" => 1,
|
| + "HTMLButtonElement" => 1,
|
| +);
|
|
|
| my %svgAnimatedTypeHash = ("SVGAnimatedAngle" => 1, "SVGAnimatedBoolean" => 1,
|
| "SVGAnimatedEnumeration" => 1, "SVGAnimatedInteger" => 1,
|
| @@ -1314,7 +1321,7 @@ END
|
| if ($attribute->signature->extendedAttributes->{"ImplementedBy"}) {
|
| my $implementedBy = $attribute->signature->extendedAttributes->{"ImplementedBy"};
|
| AddInterfaceToImplIncludes($implementedBy);
|
| - unshift(@arguments, "imp") if !$attribute->isStatic;
|
| + unshift(@arguments, $handlified ? "imp.raw()" : "imp") if !$attribute->isStatic;
|
| $functionName = "${implementedBy}::${functionName}";
|
| } elsif ($attribute->isStatic) {
|
| $functionName = "${interfaceName}::${functionName}";
|
| @@ -1485,7 +1492,7 @@ END
|
| return value;
|
| END
|
| } else {
|
| - $code .= " return " . NativeToJSValue($attribute->signature, $expression, "info.Holder()", "info.GetIsolate()", "info", "imp", "ReturnUnsafeHandle", $forMainWorldSuffix).";\n";
|
| + $code .= " return " . NativeToJSValue($attribute->signature, $expression, "info.Holder()", "info.GetIsolate()", "info", $handlified ? "imp.raw()" : "imp", "ReturnUnsafeHandle", $forMainWorldSuffix).";\n";
|
| }
|
|
|
| $code .= "}\n\n"; # end of getter
|
| @@ -1654,7 +1661,6 @@ END
|
| } else {
|
| my $reflect = $attribute->signature->extendedAttributes->{"Reflect"};
|
| if ($reflect && InheritsInterface($interface, "Node") && IsStringType($attrType)) {
|
| - # Generate super-compact call for regular attribute setter:
|
| my $contentAttributeName = $reflect eq "VALUE_IS_MISSING" ? lc $attrName : $reflect;
|
| my $namespace = NamespaceForAttributeName($interfaceName, $contentAttributeName);
|
| AddToImplIncludes("${namespace}.h");
|
|
|