Changeset 141721 in webkit


Ignore:
Timestamp:
Feb 3, 2013 4:43:25 PM (11 years ago)
Author:
haraken@chromium.org
Message:

[V8] Pass an Isolate to HasInstance() (part 1)
https://bugs.webkit.org/show_bug.cgi?id=108617

Reviewed by Adam Barth.

This is one of efforts to pass an Isolate to GetTemplate().

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(JSValueToNative):

  • bindings/scripts/test/V8/V8Float64Array.cpp:

(WebCore::Float64ArrayV8Internal::fooCallback):

  • bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:

(WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):

  • bindings/scripts/test/V8/V8TestEventTarget.cpp:

(WebCore::TestEventTargetV8Internal::dispatchEventCallback):

  • bindings/scripts/test/V8/V8TestInterface.cpp:

(WebCore::TestInterfaceV8Internal::supplementalNodeAttrSetter):
(WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):

  • bindings/scripts/test/V8/V8TestObj.cpp:

(WebCore::TestObjV8Internal::testObjAttrAttrSetter):
(WebCore::TestObjV8Internal::XMLObjAttrAttrSetter):
(WebCore::TestObjV8Internal::typedArrayAttrAttrSetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrSetter):
(WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter):
(WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetter):
(WebCore::TestObjV8Internal::mutablePointAttrSetter):
(WebCore::TestObjV8Internal::immutablePointAttrSetter):
(WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
(WebCore::TestObjV8Internal::longMethodWithArgsCallback):
(WebCore::TestObjV8Internal::objMethodWithArgsCallback):
(WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
(WebCore::TestObjV8Internal::overloadedMethod1Callback):
(WebCore::TestObjV8Internal::overloadedMethod2Callback):
(WebCore::TestObjV8Internal::overloadedMethod8Callback):
(WebCore::TestObjV8Internal::convert1Callback):
(WebCore::TestObjV8Internal::convert2Callback):
(WebCore::TestObjV8Internal::convert4Callback):
(WebCore::TestObjV8Internal::convert5Callback):
(WebCore::TestObjV8Internal::variadicNodeMethodCallback):

  • bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:

(WebCore::V8TestOverloadedConstructors::constructor1Callback):
(WebCore::V8TestOverloadedConstructors::constructor2Callback):
(WebCore::V8TestOverloadedConstructors::constructor3Callback):

  • bindings/v8/Dictionary.cpp:

(WebCore::Dictionary::get):

  • bindings/v8/ScriptProfiler.cpp:

(WebCore::ScriptProfiler::visitNodeWrappers):

  • bindings/v8/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValue::SerializedScriptValue):
(WebCore::SerializedScriptValue::deserialize):

  • bindings/v8/V8Binding.cpp:

(WebCore::toDOMStringList):
(WebCore::toXPathNSResolver):

  • bindings/v8/V8Binding.h:

(WebCore):

  • bindings/v8/V8Collection.cpp:

(WebCore::toOptionsCollectionSetter):

  • bindings/v8/V8GCController.cpp:

(WebCore::WrapperVisitor::WrapperVisitor):
(WrapperVisitor):
(WebCore::V8GCController::majorGCPrologue):

  • bindings/v8/V8NPObject.cpp:

(WebCore::npObjectInvokeImpl):

  • bindings/v8/V8Utilities.cpp:

(WebCore::extractTransferables):

  • bindings/v8/custom/V8DocumentCustom.cpp:

(WebCore::V8Document::evaluateCallback):

Location:
trunk/Source/WebCore
Files:
18 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r141720 r141721  
     12013-02-03  Kentaro Hara  <haraken@chromium.org>
     2
     3        [V8] Pass an Isolate to HasInstance() (part 1)
     4        https://bugs.webkit.org/show_bug.cgi?id=108617
     5
     6        Reviewed by Adam Barth.
     7
     8        This is one of efforts to pass an Isolate to GetTemplate().
     9
     10        No tests. No change in behavior.
     11
     12        * bindings/scripts/CodeGeneratorV8.pm:
     13        (JSValueToNative):
     14        * bindings/scripts/test/V8/V8Float64Array.cpp:
     15        (WebCore::Float64ArrayV8Internal::fooCallback):
     16        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
     17        (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):
     18        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
     19        (WebCore::TestEventTargetV8Internal::dispatchEventCallback):
     20        * bindings/scripts/test/V8/V8TestInterface.cpp:
     21        (WebCore::TestInterfaceV8Internal::supplementalNodeAttrSetter):
     22        (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
     23        * bindings/scripts/test/V8/V8TestObj.cpp:
     24        (WebCore::TestObjV8Internal::testObjAttrAttrSetter):
     25        (WebCore::TestObjV8Internal::XMLObjAttrAttrSetter):
     26        (WebCore::TestObjV8Internal::typedArrayAttrAttrSetter):
     27        (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrSetter):
     28        (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetter):
     29        (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetter):
     30        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetter):
     31        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
     32        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter):
     33        (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetter):
     34        (WebCore::TestObjV8Internal::mutablePointAttrSetter):
     35        (WebCore::TestObjV8Internal::immutablePointAttrSetter):
     36        (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
     37        (WebCore::TestObjV8Internal::longMethodWithArgsCallback):
     38        (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
     39        (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
     40        (WebCore::TestObjV8Internal::overloadedMethod1Callback):
     41        (WebCore::TestObjV8Internal::overloadedMethod2Callback):
     42        (WebCore::TestObjV8Internal::overloadedMethod8Callback):
     43        (WebCore::TestObjV8Internal::convert1Callback):
     44        (WebCore::TestObjV8Internal::convert2Callback):
     45        (WebCore::TestObjV8Internal::convert4Callback):
     46        (WebCore::TestObjV8Internal::convert5Callback):
     47        (WebCore::TestObjV8Internal::variadicNodeMethodCallback):
     48        * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
     49        (WebCore::V8TestOverloadedConstructors::constructor1Callback):
     50        (WebCore::V8TestOverloadedConstructors::constructor2Callback):
     51        (WebCore::V8TestOverloadedConstructors::constructor3Callback):
     52        * bindings/v8/Dictionary.cpp:
     53        (WebCore::Dictionary::get):
     54        * bindings/v8/ScriptProfiler.cpp:
     55        (WebCore::ScriptProfiler::visitNodeWrappers):
     56        * bindings/v8/SerializedScriptValue.cpp:
     57        (WebCore::SerializedScriptValue::SerializedScriptValue):
     58        (WebCore::SerializedScriptValue::deserialize):
     59        * bindings/v8/V8Binding.cpp:
     60        (WebCore::toDOMStringList):
     61        (WebCore::toXPathNSResolver):
     62        * bindings/v8/V8Binding.h:
     63        (WebCore):
     64        * bindings/v8/V8Collection.cpp:
     65        (WebCore::toOptionsCollectionSetter):
     66        * bindings/v8/V8GCController.cpp:
     67        (WebCore::WrapperVisitor::WrapperVisitor):
     68        (WrapperVisitor):
     69        (WebCore::V8GCController::majorGCPrologue):
     70        * bindings/v8/V8NPObject.cpp:
     71        (WebCore::npObjectInvokeImpl):
     72        * bindings/v8/V8Utilities.cpp:
     73        (WebCore::extractTransferables):
     74        * bindings/v8/custom/V8DocumentCustom.cpp:
     75        (WebCore::V8Document::evaluateCallback):
     76
    1772013-02-03  Joanmarie Diggs  <jdiggs@igalia.com>
    278
  • trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm

    r141564 r141721  
    40034003
    40044004        # EventTarget is not in DOM hierarchy, but all Nodes are EventTarget.
    4005         return "V8Node::HasInstance($value) ? V8Node::toNative(v8::Handle<v8::Object>::Cast($value)) : 0";
     4005        return "V8Node::HasInstance($value, $getIsolate) ? V8Node::toNative(v8::Handle<v8::Object>::Cast($value)) : 0";
    40064006    }
    40074007
    40084008    if ($type eq "XPathNSResolver") {
    4009         return "toXPathNSResolver($value)";
     4009        return "toXPathNSResolver($value, $getIsolate)";
    40104010    }
    40114011
     
    40254025
    40264026    AddToImplIncludes("V8${type}.h");
    4027     return "V8${type}::HasInstance($value) ? V8${type}::toNative(v8::Handle<v8::Object>::Cast($value)) : 0";
     4027    return "V8${type}::HasInstance($value, $getIsolate) ? V8${type}::toNative(v8::Handle<v8::Object>::Cast($value)) : 0";
    40284028}
    40294029
  • trunk/Source/WebCore/bindings/scripts/test/V8/V8Float64Array.cpp

    r141564 r141721  
    7777        return throwNotEnoughArgumentsError(args.GetIsolate());
    7878    Float64Array* imp = V8Float64Array::toNative(args.Holder());
    79     V8TRYCATCH(Float32Array*, array, V8Float32Array::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)) ? V8Float32Array::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
     79    V8TRYCATCH(Float32Array*, array, V8Float32Array::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8Float32Array::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
    8080    return toV8(imp->foo(array), args.Holder(), args.GetIsolate());
    8181}
  • trunk/Source/WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.cpp

    r141564 r141721  
    7676    if (!BindingSecurity::shouldAllowAccessToFrame(BindingState::instance(), imp->frame()))
    7777        return v8Undefined();
    78     V8TRYCATCH(Node*, nextChild, V8Node::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
     78    V8TRYCATCH(Node*, nextChild, V8Node::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
    7979    imp->excitingFunction(nextChild);
    8080    return v8Undefined();
  • trunk/Source/WebCore/bindings/scripts/test/V8/V8TestEventTarget.cpp

    r141564 r141721  
    113113    ExceptionCode ec = 0;
    114114    {
    115     V8TRYCATCH(Event*, evt, V8Event::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)) ? V8Event::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
     115    V8TRYCATCH(Event*, evt, V8Event::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8Event::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
    116116    bool result = imp->dispatchEvent(evt, ec);
    117117    if (UNLIKELY(ec))
  • trunk/Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp

    r141564 r141721  
    146146{
    147147    TestInterface* imp = V8TestInterface::toNative(info.Holder());
    148     Node* v = V8Node::HasInstance(value) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;
     148    Node* v = V8Node::HasInstance(value, info.GetIsolate()) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;
    149149    TestSupplemental::setSupplementalNode(imp, WTF::getPtr(v));
    150150    return;
     
    174174    {
    175175    V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined));
    176     V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined)) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined))) : 0);
     176    V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined), args.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined))) : 0);
    177177    ScriptExecutionContext* scriptContext = getScriptExecutionContext();
    178178    RefPtr<TestObj> result = TestSupplemental::supplementalMethod2(scriptContext, imp, strArg, objArg, ec);
  • trunk/Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp

    r141564 r141721  
    258258    FeatureObserver::observe(activeDOMWindow(BindingState::instance()), FeatureObserver::TestFeature);
    259259    TestObj* imp = V8TestObj::toNative(info.Holder());
    260     TestObj* v = V8TestObj::HasInstance(value) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;
     260    TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;
    261261    imp->setTestObjAttr(WTF::getPtr(v));
    262262    return;
     
    272272{
    273273    TestObj* imp = V8TestObj::toNative(info.Holder());
    274     TestObj* v = V8TestObj::HasInstance(value) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;
     274    TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;
    275275    imp->setXMLObjAttr(WTF::getPtr(v));
    276276    return;
     
    426426{
    427427    TestObj* imp = V8TestObj::toNative(info.Holder());
    428     Float32Array* v = V8Float32Array::HasInstance(value) ? V8Float32Array::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;
     428    Float32Array* v = V8Float32Array::HasInstance(value, info.GetIsolate()) ? V8Float32Array::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;
    429429    imp->setTypedArrayAttr(WTF::getPtr(v));
    430430    return;
     
    535535{
    536536    TestObj* imp = V8TestObj::toNative(info.Holder());
    537     TestObj* v = V8TestObj::HasInstance(value) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;
     537    TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;
    538538    ScriptExecutionContext* scriptContext = getScriptExecutionContext();
    539539    imp->setWithScriptExecutionContextAttribute(scriptContext, WTF::getPtr(v));
     
    560560{
    561561    TestObj* imp = V8TestObj::toNative(info.Holder());
    562     TestObj* v = V8TestObj::HasInstance(value) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;
     562    TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;
    563563    ScriptState* currentState = ScriptState::current();
    564564    if (!currentState)
     
    585585{
    586586    TestObj* imp = V8TestObj::toNative(info.Holder());
    587     TestObj* v = V8TestObj::HasInstance(value) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;
     587    TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;
    588588    ScriptExecutionContext* scriptContext = getScriptExecutionContext();
    589589    imp->setWithScriptExecutionContextAttributeRaises(scriptContext, WTF::getPtr(v));
     
    605605{
    606606    TestObj* imp = V8TestObj::toNative(info.Holder());
    607     TestObj* v = V8TestObj::HasInstance(value) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;
     607    TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;
    608608    ScriptState* currentState = ScriptState::current();
    609609    if (!currentState)
     
    637637{
    638638    TestObj* imp = V8TestObj::toNative(info.Holder());
    639     TestObj* v = V8TestObj::HasInstance(value) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;
     639    TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;
    640640    ScriptState* currentState = ScriptState::current();
    641641    if (!currentState)
     
    663663{
    664664    TestObj* imp = V8TestObj::toNative(info.Holder());
    665     TestObj* v = V8TestObj::HasInstance(value) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;
     665    TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;
    666666    ScriptState* currentState = ScriptState::current();
    667667    if (!currentState)
     
    684684{
    685685    TestObj* imp = V8TestObj::toNative(info.Holder());
    686     TestObj* v = V8TestObj::HasInstance(value) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;
     686    TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;
    687687    imp->setWithScriptArgumentsAndCallStackAttribute(WTF::getPtr(v));
    688688    return;
     
    883883{
    884884    TestObj* imp = V8TestObj::toNative(info.Holder());
    885     RefPtr<SVGPropertyTearOff<FloatPoint> > v = V8SVGPoint::HasInstance(value) ? V8SVGPoint::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;
     885    RefPtr<SVGPropertyTearOff<FloatPoint> > v = V8SVGPoint::HasInstance(value, info.GetIsolate()) ? V8SVGPoint::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;
    886886    imp->setMutablePoint(WTF::getPtr(v));
    887887    return;
     
    897897{
    898898    TestObj* imp = V8TestObj::toNative(info.Holder());
    899     RefPtr<SVGPropertyTearOff<FloatPoint> > v = V8SVGPoint::HasInstance(value) ? V8SVGPoint::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;
     899    RefPtr<SVGPropertyTearOff<FloatPoint> > v = V8SVGPoint::HasInstance(value, info.GetIsolate()) ? V8SVGPoint::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;
    900900    imp->setImmutablePoint(WTF::getPtr(v));
    901901    return;
     
    990990    V8TRYCATCH(int, longArg, toInt32(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));
    991991    V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined));
    992     V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 2, DefaultIsUndefined)) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 2, DefaultIsUndefined))) : 0);
     992    V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 2, DefaultIsUndefined), args.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 2, DefaultIsUndefined))) : 0);
    993993    imp->voidMethodWithArgs(longArg, strArg, objArg);
    994994    return v8Undefined();
     
    10081008    V8TRYCATCH(int, longArg, toInt32(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));
    10091009    V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined));
    1010     V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 2, DefaultIsUndefined)) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 2, DefaultIsUndefined))) : 0);
     1010    V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 2, DefaultIsUndefined), args.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 2, DefaultIsUndefined))) : 0);
    10111011    return v8Integer(imp->longMethodWithArgs(longArg, strArg, objArg), args.GetIsolate());
    10121012}
     
    10261026    V8TRYCATCH(int, longArg, toInt32(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));
    10271027    V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined));
    1028     V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 2, DefaultIsUndefined)) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 2, DefaultIsUndefined))) : 0);
     1028    V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 2, DefaultIsUndefined), args.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 2, DefaultIsUndefined))) : 0);
    10291029    return toV8(imp->objMethodWithArgs(longArg, strArg, objArg), args.Holder(), args.GetIsolate());
    10301030}
     
    10571057    {
    10581058    V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined));
    1059     V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined)) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined))) : 0);
     1059    V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined), args.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined))) : 0);
    10601060    RefPtr<TestObj> result = imp->methodThatRequiresAllArgsAndThrows(strArg, objArg, ec);
    10611061    if (UNLIKELY(ec))
     
    14331433        return throwNotEnoughArgumentsError(args.GetIsolate());
    14341434    TestObj* imp = V8TestObj::toNative(args.Holder());
    1435     V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
     1435    V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
    14361436    V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined));
    14371437    imp->overloadedMethod(objArg, strArg);
     
    14441444        return throwNotEnoughArgumentsError(args.GetIsolate());
    14451445    TestObj* imp = V8TestObj::toNative(args.Holder());
    1446     V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
     1446    V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
    14471447    if (args.Length() <= 1) {
    14481448        imp->overloadedMethod(objArg);
     
    15111511        return throwNotEnoughArgumentsError(args.GetIsolate());
    15121512    TestObj* imp = V8TestObj::toNative(args.Holder());
    1513     V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
     1513    V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
    15141514    imp->overloadedMethod(objArg);
    15151515    return v8Undefined();
     
    17431743        return throwNotEnoughArgumentsError(args.GetIsolate());
    17441744    TestObj* imp = V8TestObj::toNative(args.Holder());
    1745     V8TRYCATCH(a*, value, V8a::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)) ? V8a::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
     1745    V8TRYCATCH(a*, value, V8a::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8a::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
    17461746    imp->convert1(value);
    17471747    return v8Undefined();
     
    17531753        return throwNotEnoughArgumentsError(args.GetIsolate());
    17541754    TestObj* imp = V8TestObj::toNative(args.Holder());
    1755     V8TRYCATCH(b*, value, V8b::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)) ? V8b::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
     1755    V8TRYCATCH(b*, value, V8b::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8b::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
    17561756    imp->convert2(value);
    17571757    return v8Undefined();
     
    17631763        return throwNotEnoughArgumentsError(args.GetIsolate());
    17641764    TestObj* imp = V8TestObj::toNative(args.Holder());
    1765     V8TRYCATCH(d*, value, V8d::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)) ? V8d::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
     1765    V8TRYCATCH(d*, value, V8d::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8d::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
    17661766    imp->convert4(value);
    17671767    return v8Undefined();
     
    17731773        return throwNotEnoughArgumentsError(args.GetIsolate());
    17741774    TestObj* imp = V8TestObj::toNative(args.Holder());
    1775     V8TRYCATCH(e*, value, V8e::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)) ? V8e::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
     1775    V8TRYCATCH(e*, value, V8e::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8e::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
    17761776    imp->convert5(value);
    17771777    return v8Undefined();
     
    18431843        return throwNotEnoughArgumentsError(args.GetIsolate());
    18441844    TestObj* imp = V8TestObj::toNative(args.Holder());
    1845     V8TRYCATCH(Node*, head, V8Node::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
     1845    V8TRYCATCH(Node*, head, V8Node::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
    18461846    Vector<RefPtr<Node> > tail;
    18471847    for (int i = 1; i < args.Length(); ++i) {
  • trunk/Source/WebCore/bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp

    r141564 r141721  
    7272{
    7373   
    74     V8TRYCATCH(ArrayBuffer*, arrayBuffer, V8ArrayBuffer::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)) ? V8ArrayBuffer::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
     74    V8TRYCATCH(ArrayBuffer*, arrayBuffer, V8ArrayBuffer::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8ArrayBuffer::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
    7575
    7676    RefPtr<TestOverloadedConstructors> impl = TestOverloadedConstructors::create(arrayBuffer);
     
    8484{
    8585   
    86     V8TRYCATCH(ArrayBufferView*, arrayBufferView, V8ArrayBufferView::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)) ? V8ArrayBufferView::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
     86    V8TRYCATCH(ArrayBufferView*, arrayBufferView, V8ArrayBufferView::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8ArrayBufferView::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
    8787
    8888    RefPtr<TestOverloadedConstructors> impl = TestOverloadedConstructors::create(arrayBufferView);
     
    9696{
    9797   
    98     V8TRYCATCH(Blob*, blob, V8Blob::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)) ? V8Blob::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
     98    V8TRYCATCH(Blob*, blob, V8Blob::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined), args.GetIsolate()) ? V8Blob::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
    9999
    100100    RefPtr<TestOverloadedConstructors> impl = TestOverloadedConstructors::create(blob);
  • trunk/Source/WebCore/bindings/v8/Dictionary.cpp

    r141509 r141721  
    274274
    275275    value = 0;
    276     if (V8Storage::HasInstance(v8Value))
     276    if (V8Storage::HasInstance(v8Value, m_isolate))
    277277        value = V8Storage::toNative(v8::Handle<v8::Object>::Cast(v8Value));
    278278    return true;
     
    332332
    333333    value = 0;
    334     if (V8Uint8Array::HasInstance(v8Value))
     334    if (V8Uint8Array::HasInstance(v8Value, m_isolate))
    335335        value = V8Uint8Array::toNative(v8::Handle<v8::Object>::Cast(v8Value));
    336336    return true;
     
    345345
    346346    value = 0;
    347     if (V8MediaKeyError::HasInstance(v8Value))
     347    if (V8MediaKeyError::HasInstance(v8Value, m_isolate))
    348348        value = V8MediaKeyError::toNative(v8::Handle<v8::Object>::Cast(v8Value));
    349349    return true;
     
    381381
    382382    value = 0;
    383     if (V8SpeechRecognitionError::HasInstance(v8Value))
     383    if (V8SpeechRecognitionError::HasInstance(v8Value, m_isolate))
    384384        value = V8SpeechRecognitionError::toNative(v8::Handle<v8::Object>::Cast(v8Value));
    385385    return true;
     
    393393
    394394    value = 0;
    395     if (V8SpeechRecognitionResult::HasInstance(v8Value))
     395    if (V8SpeechRecognitionResult::HasInstance(v8Value, m_isolate))
    396396        value = V8SpeechRecognitionResult::toNative(v8::Handle<v8::Object>::Cast(v8Value));
    397397    return true;
     
    405405
    406406    value = 0;
    407     if (V8SpeechRecognitionResultList::HasInstance(v8Value))
     407    if (V8SpeechRecognitionResultList::HasInstance(v8Value, m_isolate))
    408408        value = V8SpeechRecognitionResultList::toNative(v8::Handle<v8::Object>::Cast(v8Value));
    409409    return true;
     
    420420
    421421    value = 0;
    422     if (V8MediaStream::HasInstance(v8Value))
     422    if (V8MediaStream::HasInstance(v8Value, m_isolate))
    423423        value = V8MediaStream::toNative(v8::Handle<v8::Object>::Cast(v8Value));
    424424    return true;
  • trunk/Source/WebCore/bindings/v8/ScriptProfiler.cpp

    r141368 r141721  
    218218    v8::HandleScope scope;
    219219
     220    // visitNodeWrappers() should receive a ScriptState and retrieve an Isolate
     221    // from the ScriptState.
     222    v8::Isolate* isolate = v8::Isolate::GetCurrent();
     223
    220224    class DOMNodeWrapperVisitor : public v8::PersistentHandleVisitor {
    221225    public:
    222         explicit DOMNodeWrapperVisitor(WrappedNodeVisitor* visitor)
     226        DOMNodeWrapperVisitor(WrappedNodeVisitor* visitor, v8::Isolate* isolate)
    223227            : m_visitor(visitor)
     228            , m_isolate(isolate)
    224229        {
    225230        }
     
    229234            if (classId != v8DOMNodeClassId)
    230235                return;
    231             ASSERT(V8Node::HasInstance(value));
     236            UNUSED_PARAM(m_isolate);
     237            ASSERT(V8Node::HasInstance(value, m_isolate));
    232238            ASSERT(value->IsObject());
    233239            v8::Persistent<v8::Object> wrapper = v8::Persistent<v8::Object>::Cast(value);
     
    237243    private:
    238244        WrappedNodeVisitor* m_visitor;
    239     } wrapperVisitor(visitor);
     245        v8::Isolate* m_isolate;
     246    } wrapperVisitor(visitor, isolate);
    240247
    241248    v8::V8::VisitHandlesWithClassIds(&wrapperVisitor);
  • trunk/Source/WebCore/bindings/v8/SerializedScriptValue.cpp

    r140911 r141721  
    711711    };
    712712
    713     Serializer(Writer& writer, MessagePortArray* messagePorts, ArrayBufferArray* arrayBuffers, Vector<String>& blobURLs, v8::TryCatch& tryCatch)
     713    Serializer(Writer& writer, MessagePortArray* messagePorts, ArrayBufferArray* arrayBuffers, Vector<String>& blobURLs, v8::TryCatch& tryCatch, v8::Isolate* isolate)
    714714        : m_writer(writer)
    715715        , m_tryCatch(tryCatch)
     
    719719        , m_nextObjectReference(0)
    720720        , m_blobURLs(blobURLs)
     721        , m_isolate(isolate)
    721722    {
    722723        ASSERT(!tryCatch.HasCaught());
     
    12391240    uint32_t m_nextObjectReference;
    12401241    Vector<String>& m_blobURLs;
     1242    v8::Isolate* m_isolate;
    12411243};
    12421244
     
    12721274    else if (value->IsNumber())
    12731275        m_writer.writeNumber(value.As<v8::Number>()->Value());
    1274     else if (V8ArrayBufferView::HasInstance(value))
     1276    else if (V8ArrayBufferView::HasInstance(value, m_isolate))
    12751277        return writeAndGreyArrayBufferView(value.As<v8::Object>(), next);
    12761278    else if (value->IsString())
    12771279        writeString(value);
    1278     else if (V8MessagePort::HasInstance(value)) {
     1280    else if (V8MessagePort::HasInstance(value, m_isolate)) {
    12791281        uint32_t messagePortIndex;
    12801282        if (m_transferredMessagePorts.tryGet(value.As<v8::Object>(), &messagePortIndex))
     
    12821284            else
    12831285                return handleError(DataCloneError, next);
    1284     } else if (V8ArrayBuffer::HasInstance(value) && m_transferredArrayBuffers.tryGet(value.As<v8::Object>(), &arrayBufferIndex))
     1286    } else if (V8ArrayBuffer::HasInstance(value, m_isolate) && m_transferredArrayBuffers.tryGet(value.As<v8::Object>(), &arrayBufferIndex))
    12851287        return writeTransferredArrayBuffer(value, arrayBufferIndex, next);
    12861288    else {
     
    12991301        else if (value->IsArray()) {
    13001302            return startArrayState(value.As<v8::Array>(), next);
    1301         } else if (V8File::HasInstance(value))
     1303        } else if (V8File::HasInstance(value, m_isolate))
    13021304            writeFile(value);
    1303         else if (V8Blob::HasInstance(value))
     1305        else if (V8Blob::HasInstance(value, m_isolate))
    13041306            writeBlob(value);
    13051307#if ENABLE(FILE_SYSTEM)
    1306         else if (V8DOMFileSystem::HasInstance(value))
     1308        else if (V8DOMFileSystem::HasInstance(value, m_isolate))
    13071309            return writeDOMFileSystem(value, next);
    13081310#endif
    1309         else if (V8FileList::HasInstance(value))
     1311        else if (V8FileList::HasInstance(value, m_isolate))
    13101312            writeFileList(value);
    1311         else if (V8ImageData::HasInstance(value))
     1313        else if (V8ImageData::HasInstance(value, m_isolate))
    13121314            writeImageData(value);
    13131315        else if (value->IsRegExp())
    13141316            writeRegExp(value);
    1315         else if (V8ArrayBuffer::HasInstance(value))
     1317        else if (V8ArrayBuffer::HasInstance(value, m_isolate))
    13161318            return writeArrayBuffer(value, next);
    13171319        else if (value->IsObject()) {
     
    19841986class Deserializer : public CompositeCreator {
    19851987public:
    1986     explicit Deserializer(Reader& reader,
    1987                           MessagePortArray* messagePorts, ArrayBufferContentsArray* arrayBufferContents)
     1988    Deserializer(Reader& reader, MessagePortArray* messagePorts, ArrayBufferContentsArray* arrayBufferContents)
    19881989        : m_reader(reader)
    19891990        , m_transferredMessagePorts(messagePorts)
     
    24302431    {
    24312432        v8::TryCatch tryCatch;
    2432         Serializer serializer(writer, messagePorts, arrayBuffers, m_blobURLs, tryCatch);
     2433        Serializer serializer(writer, messagePorts, arrayBuffers, m_blobURLs, tryCatch, isolate);
    24332434        status = serializer.serialize(value);
    24342435        if (status == Serializer::JSException) {
  • trunk/Source/WebCore/bindings/v8/V8Binding.cpp

    r140729 r141721  
    186186    v8::Local<v8::Value> v8Value(v8::Local<v8::Value>::New(value));
    187187
    188     if (V8DOMStringList::HasInstance(v8Value)) {
     188    if (V8DOMStringList::HasInstance(v8Value, isolate)) {
    189189        RefPtr<DOMStringList> ret = V8DOMStringList::toNative(v8::Handle<v8::Object>::Cast(v8Value));
    190190        return ret.release();
     
    203203}
    204204
    205 PassRefPtr<XPathNSResolver> toXPathNSResolver(v8::Handle<v8::Value> value)
     205PassRefPtr<XPathNSResolver> toXPathNSResolver(v8::Handle<v8::Value> value, v8::Isolate* isolate)
    206206{
    207207    RefPtr<XPathNSResolver> resolver;
    208     if (V8XPathNSResolver::HasInstance(value))
     208    if (V8XPathNSResolver::HasInstance(value, isolate))
    209209        resolver = V8XPathNSResolver::toNative(v8::Handle<v8::Object>::Cast(value));
    210210    else if (value->IsObject())
  • trunk/Source/WebCore/bindings/v8/V8Binding.h

    r140521 r141721  
    437437
    438438    PassRefPtr<DOMStringList> toDOMStringList(v8::Handle<v8::Value>, v8::Isolate*);
    439     PassRefPtr<XPathNSResolver> toXPathNSResolver(v8::Handle<v8::Value>);
     439    PassRefPtr<XPathNSResolver> toXPathNSResolver(v8::Handle<v8::Value>, v8::Isolate*);
    440440
    441441    v8::Handle<v8::Object> toInnerGlobalObject(v8::Handle<v8::Context>);
  • trunk/Source/WebCore/bindings/v8/V8Collection.cpp

    r134440 r141721  
    4848
    4949    // Check that the value is an HTMLOptionElement.  If not, throw a TYPE_MISMATCH_ERR DOMException.
    50     if (!V8HTMLOptionElement::HasInstance(value)) {
     50    if (!V8HTMLOptionElement::HasInstance(value, isolate)) {
    5151        setDOMException(TYPE_MISMATCH_ERR, isolate);
    5252        return value;
  • trunk/Source/WebCore/bindings/v8/V8GCController.cpp

    r141577 r141721  
    181181class WrapperVisitor : public v8::PersistentHandleVisitor {
    182182public:
     183    explicit WrapperVisitor(v8::Isolate* isolate)
     184        : m_isolate(isolate)
     185    {
     186    }
     187
    183188    virtual void VisitPersistentHandle(v8::Persistent<v8::Value> value, uint16_t classId) OVERRIDE
    184189    {
     
    217222
    218223        if (classId == v8DOMNodeClassId) {
    219             ASSERT(V8Node::HasInstance(wrapper));
     224            UNUSED_PARAM(m_isolate);
     225            ASSERT(V8Node::HasInstance(wrapper, m_isolate));
    220226            ASSERT(!wrapper.IsIndependent());
    221227
     
    240246private:
    241247    WrapperGrouper m_grouper;
     248    v8::Isolate* m_isolate;
    242249};
    243250
     
    349356    TRACE_EVENT_BEGIN0("v8", "GC");
    350357
     358    v8::Isolate* isolate = v8::Isolate::GetCurrent();
    351359    v8::HandleScope scope;
    352360
    353     WrapperVisitor visitor;
     361    WrapperVisitor visitor(isolate);
    354362    v8::V8::VisitHandlesWithClassIds(&visitor);
    355363    visitor.notifyFinished();
    356364
    357     V8PerIsolateData* data = V8PerIsolateData::current();
    358     data->stringCache()->clearOnGC();
     365    V8PerIsolateData::from(isolate)->stringCache()->clearOnGC();
    359366}
    360367
  • trunk/Source/WebCore/bindings/v8/V8NPObject.cpp

    r140312 r141721  
    7171
    7272    // These three types are subtypes of HTMLPlugInElement.
    73     if (V8HTMLAppletElement::HasInstance(args.Holder()) || V8HTMLEmbedElement::HasInstance(args.Holder())
    74         || V8HTMLObjectElement::HasInstance(args.Holder())) {
     73    if (V8HTMLAppletElement::HasInstance(args.Holder(), args.GetIsolate()) || V8HTMLEmbedElement::HasInstance(args.Holder(), args.GetIsolate())
     74        || V8HTMLObjectElement::HasInstance(args.Holder(), args.GetIsolate())) {
    7575        // The holder object is a subtype of HTMLPlugInElement.
    7676        HTMLPlugInElement* element;
    77         if (V8HTMLAppletElement::HasInstance(args.Holder()))
     77        if (V8HTMLAppletElement::HasInstance(args.Holder(), args.GetIsolate()))
    7878            element = V8HTMLAppletElement::toNative(args.Holder());
    79         else if (V8HTMLEmbedElement::HasInstance(args.Holder()))
     79        else if (V8HTMLEmbedElement::HasInstance(args.Holder(), args.GetIsolate()))
    8080            element = V8HTMLEmbedElement::toNative(args.Holder());
    8181        else
  • trunk/Source/WebCore/bindings/v8/V8Utilities.cpp

    r140514 r141721  
    9191        }
    9292        // Validation of Objects implementing an interface, per WebIDL spec 4.1.15.
    93         if (V8MessagePort::HasInstance(transferrable)) {
     93        if (V8MessagePort::HasInstance(transferrable, isolate)) {
    9494            RefPtr<MessagePort> port = V8MessagePort::toNative(v8::Handle<v8::Object>::Cast(transferrable));
    9595            // Check for duplicate MessagePorts.
     
    9999            }
    100100            ports.append(port.release());
    101         } else if (V8ArrayBuffer::HasInstance(transferrable))
     101        } else if (V8ArrayBuffer::HasInstance(transferrable, isolate))
    102102            arrayBuffers.append(V8ArrayBuffer::toNative(v8::Handle<v8::Object>::Cast(transferrable)));
    103103        else {
  • trunk/Source/WebCore/bindings/v8/custom/V8DocumentCustom.cpp

    r141718 r141721  
    7474        contextNode = V8Node::toNative(v8::Handle<v8::Object>::Cast(args[1]));
    7575
    76     RefPtr<XPathNSResolver> resolver = toXPathNSResolver(args[2]);
     76    RefPtr<XPathNSResolver> resolver = toXPathNSResolver(args[2], args.GetIsolate());
    7777    if (!resolver && !args[2]->IsNull() && !args[2]->IsUndefined())
    7878        return setDOMException(TYPE_MISMATCH_ERR, args.GetIsolate());
Note: See TracChangeset for help on using the changeset viewer.