Changeset 141721 in webkit
- Timestamp:
- Feb 3, 2013 4:43:25 PM (11 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r141720 r141721 1 2013-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 1 77 2013-02-03 Joanmarie Diggs <jdiggs@igalia.com> 2 78 -
trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm
r141564 r141721 4003 4003 4004 4004 # 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"; 4006 4006 } 4007 4007 4008 4008 if ($type eq "XPathNSResolver") { 4009 return "toXPathNSResolver($value )";4009 return "toXPathNSResolver($value, $getIsolate)"; 4010 4010 } 4011 4011 … … 4025 4025 4026 4026 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"; 4028 4028 } 4029 4029 -
trunk/Source/WebCore/bindings/scripts/test/V8/V8Float64Array.cpp
r141564 r141721 77 77 return throwNotEnoughArgumentsError(args.GetIsolate()); 78 78 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); 80 80 return toV8(imp->foo(array), args.Holder(), args.GetIsolate()); 81 81 } -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.cpp
r141564 r141721 76 76 if (!BindingSecurity::shouldAllowAccessToFrame(BindingState::instance(), imp->frame())) 77 77 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); 79 79 imp->excitingFunction(nextChild); 80 80 return v8Undefined(); -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestEventTarget.cpp
r141564 r141721 113 113 ExceptionCode ec = 0; 114 114 { 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); 116 116 bool result = imp->dispatchEvent(evt, ec); 117 117 if (UNLIKELY(ec)) -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp
r141564 r141721 146 146 { 147 147 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; 149 149 TestSupplemental::setSupplementalNode(imp, WTF::getPtr(v)); 150 150 return; … … 174 174 { 175 175 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); 177 177 ScriptExecutionContext* scriptContext = getScriptExecutionContext(); 178 178 RefPtr<TestObj> result = TestSupplemental::supplementalMethod2(scriptContext, imp, strArg, objArg, ec); -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp
r141564 r141721 258 258 FeatureObserver::observe(activeDOMWindow(BindingState::instance()), FeatureObserver::TestFeature); 259 259 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; 261 261 imp->setTestObjAttr(WTF::getPtr(v)); 262 262 return; … … 272 272 { 273 273 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; 275 275 imp->setXMLObjAttr(WTF::getPtr(v)); 276 276 return; … … 426 426 { 427 427 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; 429 429 imp->setTypedArrayAttr(WTF::getPtr(v)); 430 430 return; … … 535 535 { 536 536 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; 538 538 ScriptExecutionContext* scriptContext = getScriptExecutionContext(); 539 539 imp->setWithScriptExecutionContextAttribute(scriptContext, WTF::getPtr(v)); … … 560 560 { 561 561 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; 563 563 ScriptState* currentState = ScriptState::current(); 564 564 if (!currentState) … … 585 585 { 586 586 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; 588 588 ScriptExecutionContext* scriptContext = getScriptExecutionContext(); 589 589 imp->setWithScriptExecutionContextAttributeRaises(scriptContext, WTF::getPtr(v)); … … 605 605 { 606 606 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; 608 608 ScriptState* currentState = ScriptState::current(); 609 609 if (!currentState) … … 637 637 { 638 638 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; 640 640 ScriptState* currentState = ScriptState::current(); 641 641 if (!currentState) … … 663 663 { 664 664 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; 666 666 ScriptState* currentState = ScriptState::current(); 667 667 if (!currentState) … … 684 684 { 685 685 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; 687 687 imp->setWithScriptArgumentsAndCallStackAttribute(WTF::getPtr(v)); 688 688 return; … … 883 883 { 884 884 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; 886 886 imp->setMutablePoint(WTF::getPtr(v)); 887 887 return; … … 897 897 { 898 898 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; 900 900 imp->setImmutablePoint(WTF::getPtr(v)); 901 901 return; … … 990 990 V8TRYCATCH(int, longArg, toInt32(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))); 991 991 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); 993 993 imp->voidMethodWithArgs(longArg, strArg, objArg); 994 994 return v8Undefined(); … … 1008 1008 V8TRYCATCH(int, longArg, toInt32(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))); 1009 1009 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); 1011 1011 return v8Integer(imp->longMethodWithArgs(longArg, strArg, objArg), args.GetIsolate()); 1012 1012 } … … 1026 1026 V8TRYCATCH(int, longArg, toInt32(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))); 1027 1027 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); 1029 1029 return toV8(imp->objMethodWithArgs(longArg, strArg, objArg), args.Holder(), args.GetIsolate()); 1030 1030 } … … 1057 1057 { 1058 1058 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); 1060 1060 RefPtr<TestObj> result = imp->methodThatRequiresAllArgsAndThrows(strArg, objArg, ec); 1061 1061 if (UNLIKELY(ec)) … … 1433 1433 return throwNotEnoughArgumentsError(args.GetIsolate()); 1434 1434 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); 1436 1436 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined)); 1437 1437 imp->overloadedMethod(objArg, strArg); … … 1444 1444 return throwNotEnoughArgumentsError(args.GetIsolate()); 1445 1445 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); 1447 1447 if (args.Length() <= 1) { 1448 1448 imp->overloadedMethod(objArg); … … 1511 1511 return throwNotEnoughArgumentsError(args.GetIsolate()); 1512 1512 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); 1514 1514 imp->overloadedMethod(objArg); 1515 1515 return v8Undefined(); … … 1743 1743 return throwNotEnoughArgumentsError(args.GetIsolate()); 1744 1744 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); 1746 1746 imp->convert1(value); 1747 1747 return v8Undefined(); … … 1753 1753 return throwNotEnoughArgumentsError(args.GetIsolate()); 1754 1754 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); 1756 1756 imp->convert2(value); 1757 1757 return v8Undefined(); … … 1763 1763 return throwNotEnoughArgumentsError(args.GetIsolate()); 1764 1764 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); 1766 1766 imp->convert4(value); 1767 1767 return v8Undefined(); … … 1773 1773 return throwNotEnoughArgumentsError(args.GetIsolate()); 1774 1774 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); 1776 1776 imp->convert5(value); 1777 1777 return v8Undefined(); … … 1843 1843 return throwNotEnoughArgumentsError(args.GetIsolate()); 1844 1844 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); 1846 1846 Vector<RefPtr<Node> > tail; 1847 1847 for (int i = 1; i < args.Length(); ++i) { -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp
r141564 r141721 72 72 { 73 73 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); 75 75 76 76 RefPtr<TestOverloadedConstructors> impl = TestOverloadedConstructors::create(arrayBuffer); … … 84 84 { 85 85 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); 87 87 88 88 RefPtr<TestOverloadedConstructors> impl = TestOverloadedConstructors::create(arrayBufferView); … … 96 96 { 97 97 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); 99 99 100 100 RefPtr<TestOverloadedConstructors> impl = TestOverloadedConstructors::create(blob); -
trunk/Source/WebCore/bindings/v8/Dictionary.cpp
r141509 r141721 274 274 275 275 value = 0; 276 if (V8Storage::HasInstance(v8Value ))276 if (V8Storage::HasInstance(v8Value, m_isolate)) 277 277 value = V8Storage::toNative(v8::Handle<v8::Object>::Cast(v8Value)); 278 278 return true; … … 332 332 333 333 value = 0; 334 if (V8Uint8Array::HasInstance(v8Value ))334 if (V8Uint8Array::HasInstance(v8Value, m_isolate)) 335 335 value = V8Uint8Array::toNative(v8::Handle<v8::Object>::Cast(v8Value)); 336 336 return true; … … 345 345 346 346 value = 0; 347 if (V8MediaKeyError::HasInstance(v8Value ))347 if (V8MediaKeyError::HasInstance(v8Value, m_isolate)) 348 348 value = V8MediaKeyError::toNative(v8::Handle<v8::Object>::Cast(v8Value)); 349 349 return true; … … 381 381 382 382 value = 0; 383 if (V8SpeechRecognitionError::HasInstance(v8Value ))383 if (V8SpeechRecognitionError::HasInstance(v8Value, m_isolate)) 384 384 value = V8SpeechRecognitionError::toNative(v8::Handle<v8::Object>::Cast(v8Value)); 385 385 return true; … … 393 393 394 394 value = 0; 395 if (V8SpeechRecognitionResult::HasInstance(v8Value ))395 if (V8SpeechRecognitionResult::HasInstance(v8Value, m_isolate)) 396 396 value = V8SpeechRecognitionResult::toNative(v8::Handle<v8::Object>::Cast(v8Value)); 397 397 return true; … … 405 405 406 406 value = 0; 407 if (V8SpeechRecognitionResultList::HasInstance(v8Value ))407 if (V8SpeechRecognitionResultList::HasInstance(v8Value, m_isolate)) 408 408 value = V8SpeechRecognitionResultList::toNative(v8::Handle<v8::Object>::Cast(v8Value)); 409 409 return true; … … 420 420 421 421 value = 0; 422 if (V8MediaStream::HasInstance(v8Value ))422 if (V8MediaStream::HasInstance(v8Value, m_isolate)) 423 423 value = V8MediaStream::toNative(v8::Handle<v8::Object>::Cast(v8Value)); 424 424 return true; -
trunk/Source/WebCore/bindings/v8/ScriptProfiler.cpp
r141368 r141721 218 218 v8::HandleScope scope; 219 219 220 // visitNodeWrappers() should receive a ScriptState and retrieve an Isolate 221 // from the ScriptState. 222 v8::Isolate* isolate = v8::Isolate::GetCurrent(); 223 220 224 class DOMNodeWrapperVisitor : public v8::PersistentHandleVisitor { 221 225 public: 222 explicit DOMNodeWrapperVisitor(WrappedNodeVisitor* visitor)226 DOMNodeWrapperVisitor(WrappedNodeVisitor* visitor, v8::Isolate* isolate) 223 227 : m_visitor(visitor) 228 , m_isolate(isolate) 224 229 { 225 230 } … … 229 234 if (classId != v8DOMNodeClassId) 230 235 return; 231 ASSERT(V8Node::HasInstance(value)); 236 UNUSED_PARAM(m_isolate); 237 ASSERT(V8Node::HasInstance(value, m_isolate)); 232 238 ASSERT(value->IsObject()); 233 239 v8::Persistent<v8::Object> wrapper = v8::Persistent<v8::Object>::Cast(value); … … 237 243 private: 238 244 WrappedNodeVisitor* m_visitor; 239 } wrapperVisitor(visitor); 245 v8::Isolate* m_isolate; 246 } wrapperVisitor(visitor, isolate); 240 247 241 248 v8::V8::VisitHandlesWithClassIds(&wrapperVisitor); -
trunk/Source/WebCore/bindings/v8/SerializedScriptValue.cpp
r140911 r141721 711 711 }; 712 712 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) 714 714 : m_writer(writer) 715 715 , m_tryCatch(tryCatch) … … 719 719 , m_nextObjectReference(0) 720 720 , m_blobURLs(blobURLs) 721 , m_isolate(isolate) 721 722 { 722 723 ASSERT(!tryCatch.HasCaught()); … … 1239 1240 uint32_t m_nextObjectReference; 1240 1241 Vector<String>& m_blobURLs; 1242 v8::Isolate* m_isolate; 1241 1243 }; 1242 1244 … … 1272 1274 else if (value->IsNumber()) 1273 1275 m_writer.writeNumber(value.As<v8::Number>()->Value()); 1274 else if (V8ArrayBufferView::HasInstance(value ))1276 else if (V8ArrayBufferView::HasInstance(value, m_isolate)) 1275 1277 return writeAndGreyArrayBufferView(value.As<v8::Object>(), next); 1276 1278 else if (value->IsString()) 1277 1279 writeString(value); 1278 else if (V8MessagePort::HasInstance(value )) {1280 else if (V8MessagePort::HasInstance(value, m_isolate)) { 1279 1281 uint32_t messagePortIndex; 1280 1282 if (m_transferredMessagePorts.tryGet(value.As<v8::Object>(), &messagePortIndex)) … … 1282 1284 else 1283 1285 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)) 1285 1287 return writeTransferredArrayBuffer(value, arrayBufferIndex, next); 1286 1288 else { … … 1299 1301 else if (value->IsArray()) { 1300 1302 return startArrayState(value.As<v8::Array>(), next); 1301 } else if (V8File::HasInstance(value ))1303 } else if (V8File::HasInstance(value, m_isolate)) 1302 1304 writeFile(value); 1303 else if (V8Blob::HasInstance(value ))1305 else if (V8Blob::HasInstance(value, m_isolate)) 1304 1306 writeBlob(value); 1305 1307 #if ENABLE(FILE_SYSTEM) 1306 else if (V8DOMFileSystem::HasInstance(value ))1308 else if (V8DOMFileSystem::HasInstance(value, m_isolate)) 1307 1309 return writeDOMFileSystem(value, next); 1308 1310 #endif 1309 else if (V8FileList::HasInstance(value ))1311 else if (V8FileList::HasInstance(value, m_isolate)) 1310 1312 writeFileList(value); 1311 else if (V8ImageData::HasInstance(value ))1313 else if (V8ImageData::HasInstance(value, m_isolate)) 1312 1314 writeImageData(value); 1313 1315 else if (value->IsRegExp()) 1314 1316 writeRegExp(value); 1315 else if (V8ArrayBuffer::HasInstance(value ))1317 else if (V8ArrayBuffer::HasInstance(value, m_isolate)) 1316 1318 return writeArrayBuffer(value, next); 1317 1319 else if (value->IsObject()) { … … 1984 1986 class Deserializer : public CompositeCreator { 1985 1987 public: 1986 explicit Deserializer(Reader& reader, 1987 MessagePortArray* messagePorts, ArrayBufferContentsArray* arrayBufferContents) 1988 Deserializer(Reader& reader, MessagePortArray* messagePorts, ArrayBufferContentsArray* arrayBufferContents) 1988 1989 : m_reader(reader) 1989 1990 , m_transferredMessagePorts(messagePorts) … … 2430 2431 { 2431 2432 v8::TryCatch tryCatch; 2432 Serializer serializer(writer, messagePorts, arrayBuffers, m_blobURLs, tryCatch );2433 Serializer serializer(writer, messagePorts, arrayBuffers, m_blobURLs, tryCatch, isolate); 2433 2434 status = serializer.serialize(value); 2434 2435 if (status == Serializer::JSException) { -
trunk/Source/WebCore/bindings/v8/V8Binding.cpp
r140729 r141721 186 186 v8::Local<v8::Value> v8Value(v8::Local<v8::Value>::New(value)); 187 187 188 if (V8DOMStringList::HasInstance(v8Value )) {188 if (V8DOMStringList::HasInstance(v8Value, isolate)) { 189 189 RefPtr<DOMStringList> ret = V8DOMStringList::toNative(v8::Handle<v8::Object>::Cast(v8Value)); 190 190 return ret.release(); … … 203 203 } 204 204 205 PassRefPtr<XPathNSResolver> toXPathNSResolver(v8::Handle<v8::Value> value )205 PassRefPtr<XPathNSResolver> toXPathNSResolver(v8::Handle<v8::Value> value, v8::Isolate* isolate) 206 206 { 207 207 RefPtr<XPathNSResolver> resolver; 208 if (V8XPathNSResolver::HasInstance(value ))208 if (V8XPathNSResolver::HasInstance(value, isolate)) 209 209 resolver = V8XPathNSResolver::toNative(v8::Handle<v8::Object>::Cast(value)); 210 210 else if (value->IsObject()) -
trunk/Source/WebCore/bindings/v8/V8Binding.h
r140521 r141721 437 437 438 438 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*); 440 440 441 441 v8::Handle<v8::Object> toInnerGlobalObject(v8::Handle<v8::Context>); -
trunk/Source/WebCore/bindings/v8/V8Collection.cpp
r134440 r141721 48 48 49 49 // 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)) { 51 51 setDOMException(TYPE_MISMATCH_ERR, isolate); 52 52 return value; -
trunk/Source/WebCore/bindings/v8/V8GCController.cpp
r141577 r141721 181 181 class WrapperVisitor : public v8::PersistentHandleVisitor { 182 182 public: 183 explicit WrapperVisitor(v8::Isolate* isolate) 184 : m_isolate(isolate) 185 { 186 } 187 183 188 virtual void VisitPersistentHandle(v8::Persistent<v8::Value> value, uint16_t classId) OVERRIDE 184 189 { … … 217 222 218 223 if (classId == v8DOMNodeClassId) { 219 ASSERT(V8Node::HasInstance(wrapper)); 224 UNUSED_PARAM(m_isolate); 225 ASSERT(V8Node::HasInstance(wrapper, m_isolate)); 220 226 ASSERT(!wrapper.IsIndependent()); 221 227 … … 240 246 private: 241 247 WrapperGrouper m_grouper; 248 v8::Isolate* m_isolate; 242 249 }; 243 250 … … 349 356 TRACE_EVENT_BEGIN0("v8", "GC"); 350 357 358 v8::Isolate* isolate = v8::Isolate::GetCurrent(); 351 359 v8::HandleScope scope; 352 360 353 WrapperVisitor visitor ;361 WrapperVisitor visitor(isolate); 354 362 v8::V8::VisitHandlesWithClassIds(&visitor); 355 363 visitor.notifyFinished(); 356 364 357 V8PerIsolateData* data = V8PerIsolateData::current(); 358 data->stringCache()->clearOnGC(); 365 V8PerIsolateData::from(isolate)->stringCache()->clearOnGC(); 359 366 } 360 367 -
trunk/Source/WebCore/bindings/v8/V8NPObject.cpp
r140312 r141721 71 71 72 72 // 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())) { 75 75 // The holder object is a subtype of HTMLPlugInElement. 76 76 HTMLPlugInElement* element; 77 if (V8HTMLAppletElement::HasInstance(args.Holder() ))77 if (V8HTMLAppletElement::HasInstance(args.Holder(), args.GetIsolate())) 78 78 element = V8HTMLAppletElement::toNative(args.Holder()); 79 else if (V8HTMLEmbedElement::HasInstance(args.Holder() ))79 else if (V8HTMLEmbedElement::HasInstance(args.Holder(), args.GetIsolate())) 80 80 element = V8HTMLEmbedElement::toNative(args.Holder()); 81 81 else -
trunk/Source/WebCore/bindings/v8/V8Utilities.cpp
r140514 r141721 91 91 } 92 92 // Validation of Objects implementing an interface, per WebIDL spec 4.1.15. 93 if (V8MessagePort::HasInstance(transferrable )) {93 if (V8MessagePort::HasInstance(transferrable, isolate)) { 94 94 RefPtr<MessagePort> port = V8MessagePort::toNative(v8::Handle<v8::Object>::Cast(transferrable)); 95 95 // Check for duplicate MessagePorts. … … 99 99 } 100 100 ports.append(port.release()); 101 } else if (V8ArrayBuffer::HasInstance(transferrable ))101 } else if (V8ArrayBuffer::HasInstance(transferrable, isolate)) 102 102 arrayBuffers.append(V8ArrayBuffer::toNative(v8::Handle<v8::Object>::Cast(transferrable))); 103 103 else { -
trunk/Source/WebCore/bindings/v8/custom/V8DocumentCustom.cpp
r141718 r141721 74 74 contextNode = V8Node::toNative(v8::Handle<v8::Object>::Cast(args[1])); 75 75 76 RefPtr<XPathNSResolver> resolver = toXPathNSResolver(args[2] );76 RefPtr<XPathNSResolver> resolver = toXPathNSResolver(args[2], args.GetIsolate()); 77 77 if (!resolver && !args[2]->IsNull() && !args[2]->IsUndefined()) 78 78 return setDOMException(TYPE_MISMATCH_ERR, args.GetIsolate());
Note: See TracChangeset
for help on using the changeset viewer.