Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(166)

Unified Diff: Source/bindings/scripts/CodeGeneratorV8.pm

Issue 19509003: [oilpan] Completely move HTMLFormControlElement's hierarchy to the managed heap (Closed) Base URL: svn://svn.chromium.org/blink/branches/oilpan
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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");

Powered by Google App Engine
This is Rietveld 408576698