Changeset 117371 in webkit


Ignore:
Timestamp:
May 16, 2012 5:46:10 PM (12 years ago)
Author:
haraken@chromium.org
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):

Location:
trunk/Source/WebCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r117369 r117371  
     12012-05-16  Kentaro Hara  <haraken@chromium.org>
     2
     3        [V8] Pass Isolate to createV8HTMLWrapper() and createV8SVGWrapper()
     4        https://bugs.webkit.org/show_bug.cgi?id=86558
     5
     6        Reviewed by Nate Chapin.
     7
     8        The objective is to pass Isolate around in V8 bindings.
     9        This patch passes Isolate to createV8HTMLWrapper() and createV8SVGWrapper().
     10
     11        Basically 'isolate' has been implemented as the last argument
     12        but before 'forceNewObject' argument, because 'forceNewObject' is an optional
     13        argument and omitted in most cases. Due to the convention,
     14        this patch puts 'isolate' before 'forceNewObject'.
     15
     16        No tests. No change in behavior.
     17
     18        * bindings/v8/custom/V8HTMLElementCustom.cpp:
     19        (WebCore::toV8):
     20        * bindings/v8/custom/V8SVGElementCustom.cpp:
     21        (WebCore::toV8):
     22        * dom/make_names.pl:
     23        (printWrapperFunctions):
     24        (printWrapperFactoryCppFile):
     25        (printWrapperFactoryHeaderFile):
     26
    1272012-05-16  Ryosuke Niwa  <rniwa@webkit.org>
    228
  • trunk/Source/WebCore/bindings/v8/custom/V8HTMLElementCustom.cpp

    r115068 r117371  
    5858    if (!impl)
    5959        return v8::Null();
    60     return createV8HTMLWrapper(impl, forceNewObject);
     60    return createV8HTMLWrapper(impl, isolate, forceNewObject);
    6161}
    6262
  • trunk/Source/WebCore/bindings/v8/custom/V8SVGElementCustom.cpp

    r114907 r117371  
    4242    if (!impl)
    4343        return v8::Null();
    44     return createV8SVGWrapper(impl, forceNewObject);
     44    return createV8SVGWrapper(impl, isolate, forceNewObject);
    4545}
    4646
  • trunk/Source/WebCore/dom/make_names.pl

    r114911 r117371  
    10361036            if ($enabledTags{$tagName}{wrapperOnlyIfMediaIsAvailable}) {
    10371037                print F <<END
    1038 static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element)
     1038static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element, v8::Isolate* isolate)
    10391039{
    10401040    Settings* settings = element->document()->settings();
    10411041    if (!MediaPlayer::isAvailable() || (settings && !settings->isMediaEnabled()))
    1042         return V8$parameters{namespace}Element::wrap(element);
    1043     return toV8(static_cast<${JSInterfaceName}*>(element));
     1042        return V8$parameters{namespace}Element::wrap(element, isolate);
     1043    return toV8(static_cast<${JSInterfaceName}*>(element), isolate);
    10441044}
    10451045
     
    10491049                my $runtimeConditional = $enabledTags{$tagName}{runtimeConditional};
    10501050                print F <<END
    1051 static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element)
     1051static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element, v8::Isolate* isolate)
    10521052{
    10531053    if (!RuntimeEnabledFeatures::${runtimeConditional}Enabled())
    1054         return V8$parameters{fallbackInterfaceName}::wrap(to$parameters{fallbackInterfaceName}(element));
    1055     return toV8(static_cast<${JSInterfaceName}*>(element));
     1054        return V8$parameters{fallbackInterfaceName}::wrap(to$parameters{fallbackInterfaceName}(element), isolate);
     1055    return toV8(static_cast<${JSInterfaceName}*>(element), isolate);
    10561056}
    10571057END
     
    10591059            } elsif (${JSInterfaceName} eq "HTMLElement") {
    10601060                print F <<END
    1061 static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element)
    1062 {
    1063     return V8$parameters{namespace}Element::wrap(element);
     1061static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element, v8::Isolate* isolate)
     1062{
     1063    return V8$parameters{namespace}Element::wrap(element, isolate);
    10641064}
    10651065
     
    10681068             } else {
    10691069            print F <<END
    1070 static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element)
    1071 {
    1072     return toV8(static_cast<${JSInterfaceName}*>(element));
     1070static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element, v8::Isolate* isolate)
     1071{
     1072    return toV8(static_cast<${JSInterfaceName}*>(element), isolate);
    10731073}
    10741074
     
    11521152    } elsif ($wrapperFactoryType eq "V8") {
    11531153        print F <<END
    1154 typedef v8::Handle<v8::Value> (*Create$parameters{namespace}ElementWrapperFunction)($parameters{namespace}Element*);
     1154typedef v8::Handle<v8::Value> (*Create$parameters{namespace}ElementWrapperFunction)($parameters{namespace}Element*, v8::Isolate*);
    11551155
    11561156END
     
    11711171    } elsif ($wrapperFactoryType eq "V8") {
    11721172        print F <<END
    1173 v8::Handle<v8::Value> createV8$parameters{namespace}Wrapper($parameters{namespace}Element* element, bool forceNewObject)
     1173v8::Handle<v8::Value> createV8$parameters{namespace}Wrapper($parameters{namespace}Element* element, v8::Isolate* isolate, bool forceNewObject)
    11741174{
    11751175    typedef HashMap<WTF::AtomicStringImpl*, Create$parameters{namespace}ElementWrapperFunction> FunctionMap;
     
    12121212    } elsif ($wrapperFactoryType eq "V8") {
    12131213        print F <<END
    1214         return createWrapperFunction(element);
     1214        return createWrapperFunction(element, isolate);
    12151215    return V8$parameters{fallbackInterfaceName}::wrap(to$parameters{fallbackInterfaceName}(element), 0, forceNewObject);
    12161216END
     
    12731273    class $parameters{namespace}Element;
    12741274
    1275     v8::Handle<v8::Value> createV8$parameters{namespace}Wrapper($parameters{namespace}Element*, bool);
     1275    v8::Handle<v8::Value> createV8$parameters{namespace}Wrapper($parameters{namespace}Element*, v8::Isolate*, bool);
    12761276}
    12771277END
Note: See TracChangeset for help on using the changeset viewer.