Modified: trunk/Source/WebCore/ChangeLog (117370 => 117371)
--- trunk/Source/WebCore/ChangeLog 2012-05-17 00:42:17 UTC (rev 117370)
+++ trunk/Source/WebCore/ChangeLog 2012-05-17 00:46:10 UTC (rev 117371)
@@ -1,3 +1,29 @@
+2012-05-16 Kentaro Hara <hara...@chromium.org>
+
+ [V8] Pass Isolate to createV8HTMLWrapper() and createV8SVGWrapper()
+ https://bugs.webkit.org/show_bug.cgi?id=86558
+
+ Reviewed by Nate Chapin.
+
+ The objective is to pass Isolate around in V8 bindings.
+ This patch passes Isolate to createV8HTMLWrapper() and createV8SVGWrapper().
+
+ Basically 'isolate' has been implemented as the last argument
+ but before 'forceNewObject' argument, because 'forceNewObject' is an optional
+ argument and omitted in most cases. Due to the convention,
+ this patch puts 'isolate' before 'forceNewObject'.
+
+ No tests. No change in behavior.
+
+ * bindings/v8/custom/V8HTMLElementCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8SVGElementCustom.cpp:
+ (WebCore::toV8):
+ * dom/make_names.pl:
+ (printWrapperFunctions):
+ (printWrapperFactoryCppFile):
+ (printWrapperFactoryHeaderFile):
+
2012-05-16 Ryosuke Niwa <rn...@webkit.org>
Move showStyle from CSSStyleDeclaration to StylePropertySet
Modified: trunk/Source/WebCore/bindings/v8/custom/V8HTMLElementCustom.cpp (117370 => 117371)
--- trunk/Source/WebCore/bindings/v8/custom/V8HTMLElementCustom.cpp 2012-05-17 00:42:17 UTC (rev 117370)
+++ trunk/Source/WebCore/bindings/v8/custom/V8HTMLElementCustom.cpp 2012-05-17 00:46:10 UTC (rev 117371)
@@ -57,7 +57,7 @@
{
if (!impl)
return v8::Null();
- return createV8HTMLWrapper(impl, forceNewObject);
+ return createV8HTMLWrapper(impl, isolate, forceNewObject);
}
#if ENABLE(MICRODATA)
Modified: trunk/Source/WebCore/bindings/v8/custom/V8SVGElementCustom.cpp (117370 => 117371)
--- trunk/Source/WebCore/bindings/v8/custom/V8SVGElementCustom.cpp 2012-05-17 00:42:17 UTC (rev 117370)
+++ trunk/Source/WebCore/bindings/v8/custom/V8SVGElementCustom.cpp 2012-05-17 00:46:10 UTC (rev 117371)
@@ -41,7 +41,7 @@
{
if (!impl)
return v8::Null();
- return createV8SVGWrapper(impl, forceNewObject);
+ return createV8SVGWrapper(impl, isolate, forceNewObject);
}
} // namespace WebCore
Modified: trunk/Source/WebCore/dom/make_names.pl (117370 => 117371)
--- trunk/Source/WebCore/dom/make_names.pl 2012-05-17 00:42:17 UTC (rev 117370)
+++ trunk/Source/WebCore/dom/make_names.pl 2012-05-17 00:46:10 UTC (rev 117371)
@@ -1035,12 +1035,12 @@
} elsif ($wrapperFactoryType eq "V8") {
if ($enabledTags{$tagName}{wrapperOnlyIfMediaIsAvailable}) {
print F <<END
-static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element)
+static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element, v8::Isolate* isolate)
{
Settings* settings = element->document()->settings();
if (!MediaPlayer::isAvailable() || (settings && !settings->isMediaEnabled()))
- return V8$parameters{namespace}Element::wrap(element);
- return toV8(static_cast<${JSInterfaceName}*>(element));
+ return V8$parameters{namespace}Element::wrap(element, isolate);
+ return toV8(static_cast<${JSInterfaceName}*>(element), isolate);
}
END
@@ -1048,28 +1048,28 @@
} elsif ($enabledTags{$tagName}{runtimeConditional}) {
my $runtimeConditional = $enabledTags{$tagName}{runtimeConditional};
print F <<END
-static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element)
+static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element, v8::Isolate* isolate)
{
if (!RuntimeEnabledFeatures::${runtimeConditional}Enabled())
- return V8$parameters{fallbackInterfaceName}::wrap(to$parameters{fallbackInterfaceName}(element));
- return toV8(static_cast<${JSInterfaceName}*>(element));
+ return V8$parameters{fallbackInterfaceName}::wrap(to$parameters{fallbackInterfaceName}(element), isolate);
+ return toV8(static_cast<${JSInterfaceName}*>(element), isolate);
}
END
;
} elsif (${JSInterfaceName} eq "HTMLElement") {
print F <<END
-static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element)
+static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element, v8::Isolate* isolate)
{
- return V8$parameters{namespace}Element::wrap(element);
+ return V8$parameters{namespace}Element::wrap(element, isolate);
}
END
;
} else {
print F <<END
-static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element)
+static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element, v8::Isolate* isolate)
{
- return toV8(static_cast<${JSInterfaceName}*>(element));
+ return toV8(static_cast<${JSInterfaceName}*>(element), isolate);
}
@@ -1151,7 +1151,7 @@
;
} elsif ($wrapperFactoryType eq "V8") {
print F <<END
-typedef v8::Handle<v8::Value> (*Create$parameters{namespace}ElementWrapperFunction)($parameters{namespace}Element*);
+typedef v8::Handle<v8::Value> (*Create$parameters{namespace}ElementWrapperFunction)($parameters{namespace}Element*, v8::Isolate*);
END
;
@@ -1170,7 +1170,7 @@
;
} elsif ($wrapperFactoryType eq "V8") {
print F <<END
-v8::Handle<v8::Value> createV8$parameters{namespace}Wrapper($parameters{namespace}Element* element, bool forceNewObject)
+v8::Handle<v8::Value> createV8$parameters{namespace}Wrapper($parameters{namespace}Element* element, v8::Isolate* isolate, bool forceNewObject)
{
typedef HashMap<WTF::AtomicStringImpl*, Create$parameters{namespace}ElementWrapperFunction> FunctionMap;
DEFINE_STATIC_LOCAL(FunctionMap, map, ());
@@ -1211,7 +1211,7 @@
;
} elsif ($wrapperFactoryType eq "V8") {
print F <<END
- return createWrapperFunction(element);
+ return createWrapperFunction(element, isolate);
return V8$parameters{fallbackInterfaceName}::wrap(to$parameters{fallbackInterfaceName}(element), 0, forceNewObject);
END
;
@@ -1272,7 +1272,7 @@
class $parameters{namespace}Element;
- v8::Handle<v8::Value> createV8$parameters{namespace}Wrapper($parameters{namespace}Element*, bool);
+ v8::Handle<v8::Value> createV8$parameters{namespace}Wrapper($parameters{namespace}Element*, v8::Isolate*, bool);
}
END
;