Title: [117371] trunk/Source/WebCore
Revision
117371
Author
hara...@chromium.org
Date
2012-05-16 17:46:10 -0700 (Wed, 16 May 2012)

Log Message

[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):

Modified Paths

Diff

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
 ;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to