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

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

Issue 19510005: [oilpan] Completely move HTMLFormControlElement's hierarchy to the managed heap 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..30e5a512a344a49009b3ba56fcab99b4bac94c92 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
@@ -1655,6 +1662,9 @@ END
my $reflect = $attribute->signature->extendedAttributes->{"Reflect"};
if ($reflect && InheritsInterface($interface, "Node") && IsStringType($attrType)) {
# Generate super-compact call for regular attribute setter:
+ if ($attribute->signature->extendedAttributes->{"ImplementedAs"}) {
+ $attrName = $attribute->signature->extendedAttributes->{"ImplementedAs"};
+ }
my $contentAttributeName = $reflect eq "VALUE_IS_MISSING" ? lc $attrName : $reflect;
my $namespace = NamespaceForAttributeName($interfaceName, $contentAttributeName);
AddToImplIncludes("${namespace}.h");
« no previous file with comments | « Source/WebKit/chromium/src/WebViewImpl.cpp ('k') | Source/bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698