Changeset 145802 in webkit
- Timestamp:
- Mar 14, 2013 4:12:22 AM (11 years ago)
- Location:
- trunk/Source
- Files:
-
- 64 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r145801 r145802 1 2013-03-14 Marja Hölttä <marja@chromium.org> 2 3 [V8] Store main world and non-main world templates separately. 4 https://bugs.webkit.org/show_bug.cgi?id=111724 5 6 Reviewed by Jochen Eisinger. 7 8 This is needed for generating specialized bindings for the main 9 world (bug 110874). 10 11 No new tests (updated existing bindings tests). 12 13 * bindings/scripts/CodeGeneratorV8.pm: 14 (GenerateHeader): 15 (GenerateDomainSafeFunctionGetter): 16 (GenerateNormalAttrSetter): 17 (GenerateParametersCheckExpression): 18 (GenerateParametersCheck): 19 (GenerateImplementation): 20 (JSValueToNative): 21 (CreateCustomSignature): 22 * bindings/scripts/test/V8/V8Float64Array.cpp: 23 (WebCore::Float64ArrayV8Internal::fooMethod): 24 (WebCore::ConfigureV8Float64ArrayTemplate): 25 (WebCore::V8Float64Array::GetTemplate): 26 (WebCore::V8Float64Array::HasInstance): 27 * bindings/scripts/test/V8/V8Float64Array.h: 28 (V8Float64Array): 29 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: 30 (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionMethod): 31 (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter): 32 (WebCore::ConfigureV8TestActiveDOMObjectTemplate): 33 (WebCore::V8TestActiveDOMObject::GetTemplate): 34 (WebCore::V8TestActiveDOMObject::HasInstance): 35 * bindings/scripts/test/V8/V8TestActiveDOMObject.h: 36 (V8TestActiveDOMObject): 37 * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: 38 (WebCore::V8TestCustomNamedGetter::GetTemplate): 39 (WebCore::V8TestCustomNamedGetter::HasInstance): 40 * bindings/scripts/test/V8/V8TestCustomNamedGetter.h: 41 (V8TestCustomNamedGetter): 42 * bindings/scripts/test/V8/V8TestEventConstructor.cpp: 43 (WebCore::V8TestEventConstructor::GetTemplate): 44 (WebCore::V8TestEventConstructor::HasInstance): 45 * bindings/scripts/test/V8/V8TestEventConstructor.h: 46 (V8TestEventConstructor): 47 * bindings/scripts/test/V8/V8TestEventTarget.cpp: 48 (WebCore::TestEventTargetV8Internal::dispatchEventMethod): 49 (WebCore::ConfigureV8TestEventTargetTemplate): 50 (WebCore::V8TestEventTarget::GetTemplate): 51 (WebCore::V8TestEventTarget::HasInstance): 52 * bindings/scripts/test/V8/V8TestEventTarget.h: 53 (V8TestEventTarget): 54 * bindings/scripts/test/V8/V8TestException.cpp: 55 (WebCore::V8TestException::GetTemplate): 56 (WebCore::V8TestException::HasInstance): 57 * bindings/scripts/test/V8/V8TestException.h: 58 (V8TestException): 59 * bindings/scripts/test/V8/V8TestInterface.cpp: 60 (WebCore::TestInterfaceV8Internal::supplementalNodeAttrSetter): 61 (WebCore::TestInterfaceV8Internal::supplementalMethod2Method): 62 (WebCore::ConfigureV8TestInterfaceTemplate): 63 (WebCore::V8TestInterface::GetTemplate): 64 (WebCore::V8TestInterface::HasInstance): 65 * bindings/scripts/test/V8/V8TestInterface.h: 66 (V8TestInterface): 67 * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: 68 (WebCore::V8TestMediaQueryListListener::GetTemplate): 69 (WebCore::V8TestMediaQueryListListener::HasInstance): 70 * bindings/scripts/test/V8/V8TestMediaQueryListListener.h: 71 (V8TestMediaQueryListListener): 72 * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: 73 (WebCore::V8TestNamedConstructor::GetTemplate): 74 (WebCore::V8TestNamedConstructor::HasInstance): 75 * bindings/scripts/test/V8/V8TestNamedConstructor.h: 76 (V8TestNamedConstructor): 77 * bindings/scripts/test/V8/V8TestNode.cpp: 78 (WebCore::V8TestNode::GetTemplate): 79 (WebCore::V8TestNode::HasInstance): 80 * bindings/scripts/test/V8/V8TestNode.h: 81 (V8TestNode): 82 * bindings/scripts/test/V8/V8TestObj.cpp: 83 (WebCore::TestObjV8Internal::testObjAttrAttrSetter): 84 (WebCore::TestObjV8Internal::XMLObjAttrAttrSetter): 85 (WebCore::TestObjV8Internal::typedArrayAttrAttrSetter): 86 (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrSetter): 87 (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetter): 88 (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetter): 89 (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetter): 90 (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter): 91 (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter): 92 (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetter): 93 (WebCore::TestObjV8Internal::mutablePointAttrSetter): 94 (WebCore::TestObjV8Internal::immutablePointAttrSetter): 95 (WebCore::TestObjV8Internal::voidMethodWithArgsMethod): 96 (WebCore::TestObjV8Internal::longMethodWithArgsMethod): 97 (WebCore::TestObjV8Internal::objMethodWithArgsMethod): 98 (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsMethod): 99 (WebCore::TestObjV8Internal::overloadedMethod1Method): 100 (WebCore::TestObjV8Internal::overloadedMethod2Method): 101 (WebCore::TestObjV8Internal::overloadedMethod8Method): 102 (WebCore::TestObjV8Internal::overloadedMethodMethod): 103 (WebCore::TestObjV8Internal::convert1Method): 104 (WebCore::TestObjV8Internal::convert2Method): 105 (WebCore::TestObjV8Internal::convert4Method): 106 (WebCore::TestObjV8Internal::convert5Method): 107 (WebCore::TestObjV8Internal::variadicNodeMethodMethod): 108 (WebCore::ConfigureV8TestObjTemplate): 109 (WebCore::V8TestObj::GetTemplate): 110 (WebCore::V8TestObj::HasInstance): 111 * bindings/scripts/test/V8/V8TestObj.h: 112 (V8TestObj): 113 * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp: 114 (WebCore::TestOverloadedConstructorsV8Internal::constructor1): 115 (WebCore::TestOverloadedConstructorsV8Internal::constructor2): 116 (WebCore::TestOverloadedConstructorsV8Internal::constructor3): 117 (WebCore::TestOverloadedConstructorsV8Internal::constructor): 118 (WebCore::V8TestOverloadedConstructors::GetTemplate): 119 (WebCore::V8TestOverloadedConstructors::HasInstance): 120 * bindings/scripts/test/V8/V8TestOverloadedConstructors.h: 121 (V8TestOverloadedConstructors): 122 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: 123 (WebCore::V8TestSerializedScriptValueInterface::GetTemplate): 124 (WebCore::V8TestSerializedScriptValueInterface::HasInstance): 125 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: 126 (V8TestSerializedScriptValueInterface): 127 * bindings/scripts/test/V8/V8TestTypedefs.cpp: 128 (WebCore::TestTypedefsV8Internal::funcMethod): 129 (WebCore::ConfigureV8TestTypedefsTemplate): 130 (WebCore::V8TestTypedefs::GetTemplate): 131 (WebCore::V8TestTypedefs::HasInstance): 132 * bindings/scripts/test/V8/V8TestTypedefs.h: 133 (V8TestTypedefs): 134 * bindings/v8/Dictionary.cpp: 135 (WebCore::Dictionary::get): 136 * bindings/v8/ScriptProfiler.cpp: 137 (WebCore::ScriptProfiler::visitNodeWrappers): 138 * bindings/v8/SerializedScriptValue.cpp: 139 * bindings/v8/V8AdaptorFunction.cpp: 140 (WebCore::V8AdaptorFunction::getTemplate): 141 * bindings/v8/V8Binding.cpp: 142 (WebCore::toDOMStringList): 143 (WebCore::toXPathNSResolver): 144 * bindings/v8/V8Binding.h: 145 (WebCore): 146 (WebCore::toRefPtrNativeArray): 147 * bindings/v8/V8Collection.cpp: 148 (WebCore::toOptionsCollectionSetter): 149 * bindings/v8/V8GCController.cpp: 150 * bindings/v8/V8NPObject.cpp: 151 (WebCore::npObjectInvokeImpl): 152 * bindings/v8/V8PerIsolateData.cpp: 153 (WebCore::V8PerIsolateData::reportMemoryUsage): 154 (WebCore::V8PerIsolateData::hasPrivateTemplate): 155 (WebCore::V8PerIsolateData::privateTemplate): 156 (WebCore::V8PerIsolateData::rawTemplate): 157 (WebCore::V8PerIsolateData::hasInstance): 158 * bindings/v8/V8PerIsolateData.h: 159 (WebCore::V8PerIsolateData::rawTemplateMap): 160 (V8PerIsolateData): 161 (WebCore::V8PerIsolateData::templateMap): 162 * bindings/v8/V8Utilities.cpp: 163 (WebCore::extractTransferables): 164 * bindings/v8/custom/V8ArrayBufferViewCustom.h: 165 (WebCore::constructWebGLArray): 166 (WebCore::setWebGLArrayHelper): 167 * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp: 168 (WebCore::V8AudioBufferSourceNode::bufferAttrSetterCustom): 169 * bindings/v8/custom/V8BlobCustom.cpp: 170 (WebCore::V8Blob::constructorCustom): 171 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: 172 (WebCore::toCanvasStyle): 173 * bindings/v8/custom/V8ClipboardCustom.cpp: 174 (WebCore::V8Clipboard::setDragImageMethodCustom): 175 * bindings/v8/custom/V8CryptoCustom.cpp: 176 (WebCore::V8Crypto::getRandomValuesMethodCustom): 177 * bindings/v8/custom/V8DOMFormDataCustom.cpp: 178 (WebCore::V8DOMFormData::constructorCustom): 179 (WebCore::V8DOMFormData::appendMethodCustom): 180 * bindings/v8/custom/V8DataViewCustom.cpp: 181 (WebCore::V8DataView::constructorCustom): 182 * bindings/v8/custom/V8DocumentCustom.cpp: 183 (WebCore::V8Document::evaluateMethodCustom): 184 * bindings/v8/custom/V8HTMLMediaElementCustom.cpp: 185 (WebCore::V8HTMLMediaElement::controllerAttrSetterCustom): 186 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 187 (WebCore::V8HTMLOptionsCollection::addMethodCustom): 188 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: 189 (WebCore::removeElement): 190 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 191 (WebCore::V8InjectedScriptHost::isHTMLAllCollectionMethodCustom): 192 (WebCore::V8InjectedScriptHost::typeMethodCustom): 193 (WebCore::V8InjectedScriptHost::getEventListenersMethodCustom): 194 * bindings/v8/custom/V8LocationCustom.cpp: 195 (WebCore::V8Location::reloadAttrGetterCustom): 196 (WebCore::V8Location::replaceAttrGetterCustom): 197 (WebCore::V8Location::assignAttrGetterCustom): 198 * bindings/v8/custom/V8NodeCustom.cpp: 199 (WebCore::V8Node::insertBeforeMethodCustom): 200 (WebCore::V8Node::replaceChildMethodCustom): 201 (WebCore::V8Node::removeChildMethodCustom): 202 (WebCore::V8Node::appendChildMethodCustom): 203 * bindings/v8/custom/V8NodeListCustom.cpp: 204 (WebCore::V8NodeList::opaqueRootForGC): 205 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: 206 (WebCore::toWebGLUniformLocation): 207 (WebCore::V8WebGLRenderingContext::getAttachedShadersMethodCustom): 208 (WebCore::V8WebGLRenderingContext::getProgramParameterMethodCustom): 209 (WebCore::V8WebGLRenderingContext::getShaderParameterMethodCustom): 210 (WebCore::V8WebGLRenderingContext::getUniformMethodCustom): 211 (WebCore::vertexAttribAndUniformHelperf): 212 (WebCore::uniformHelperi): 213 (WebCore::uniformMatrixHelper): 214 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 215 (WebCore::isDocumentType): 216 (WebCore::V8XMLHttpRequest::sendMethodCustom): 217 1 218 2013-03-14 Mike West <mkwst@chromium.org> 2 219 -
trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm
r145765 r145802 361 361 362 362 push(@headerContent, <<END); 363 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate* );363 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate*, WrapperWorldType); 364 364 static v8::Persistent<v8::FunctionTemplate> GetTemplate(v8::Isolate*, WrapperWorldType); 365 365 static ${nativeType}* toNative(v8::Handle<v8::Object> object) … … 781 781 my $funcName = $function->signature->name; 782 782 783 my $signature = "v8::Signature::New(V8PerIsolateData::from(info.GetIsolate())->rawTemplate(&" . $v8InterfaceName . "::info ))";783 my $signature = "v8::Signature::New(V8PerIsolateData::from(info.GetIsolate())->rawTemplate(&" . $v8InterfaceName . "::info, currentWorldType))"; 784 784 if ($function->signature->extendedAttributes->{"V8DoNotCheckSignature"}) { 785 785 $signature = "v8::Local<v8::Signature>()"; … … 1250 1250 my $argType = $attribute->signature->type; 1251 1251 if (IsWrapperType($argType)) { 1252 push(@implContentInternals, " if (!isUndefinedOrNull(value) && !V8${argType}::HasInstance(value, info.GetIsolate() )) {\n");1252 push(@implContentInternals, " if (!isUndefinedOrNull(value) && !V8${argType}::HasInstance(value, info.GetIsolate(), worldType(info.GetIsolate()))) {\n"); 1253 1253 push(@implContentInternals, " throwTypeError(0, info.GetIsolate());\n"); 1254 1254 push(@implContentInternals, " return;\n"); … … 1451 1451 } elsif (IsWrapperType($type)) { 1452 1452 if ($parameter->isNullable) { 1453 push(@andExpression, "(${value}->IsNull() || V8${type}::HasInstance($value, args.GetIsolate() ))");1453 push(@andExpression, "(${value}->IsNull() || V8${type}::HasInstance($value, args.GetIsolate(), worldType(args.GetIsolate())))"); 1454 1454 } else { 1455 push(@andExpression, "(V8${type}::HasInstance($value, args.GetIsolate() ))");1455 push(@andExpression, "(V8${type}::HasInstance($value, args.GetIsolate(), worldType(args.GetIsolate())))"); 1456 1456 } 1457 1457 } … … 1869 1869 $parameterCheckString .= " Vector<$nativeElementType> $parameterName;\n"; 1870 1870 $parameterCheckString .= " for (int i = $paramIndex; i < args.Length(); ++i) {\n"; 1871 $parameterCheckString .= " if (!V8${argType}::HasInstance(args[i], args.GetIsolate() ))\n";1871 $parameterCheckString .= " if (!V8${argType}::HasInstance(args[i], args.GetIsolate(), worldType(args.GetIsolate())))\n"; 1872 1872 $parameterCheckString .= " return throwTypeError(0, args.GetIsolate());\n"; 1873 1873 $parameterCheckString .= " $parameterName.append(V8${argType}::toNative(v8::Handle<v8::Object>::Cast(args[i])));\n"; … … 1890 1890 my $argType = $parameter->type; 1891 1891 if (IsWrapperType($argType)) { 1892 $parameterCheckString .= " if (args.Length() > $paramIndex && !isUndefinedOrNull($argValue) && !V8${argType}::HasInstance($argValue, args.GetIsolate() ))\n";1892 $parameterCheckString .= " if (args.Length() > $paramIndex && !isUndefinedOrNull($argValue) && !V8${argType}::HasInstance($argValue, args.GetIsolate(), worldType(args.GetIsolate())))\n"; 1893 1893 $parameterCheckString .= " return throwTypeError(0, args.GetIsolate());\n"; 1894 1894 } … … 3156 3156 { 3157 3157 V8PerIsolateData* data = V8PerIsolateData::from(isolate); 3158 V8PerIsolateData::TemplateMap::iterator result = data->templateMap( ).find(&info);3159 if (result != data->templateMap( ).end())3158 V8PerIsolateData::TemplateMap::iterator result = data->templateMap(worldType).find(&info); 3159 if (result != data->templateMap(worldType).end()) 3160 3160 return result->value; 3161 3161 3162 3162 v8::HandleScope handleScope; 3163 3163 v8::Persistent<v8::FunctionTemplate> templ = 3164 Configure${v8InterfaceName}Template(data->rawTemplate(&info ), isolate, worldType);3165 data->templateMap( ).add(&info, templ);3164 Configure${v8InterfaceName}Template(data->rawTemplate(&info, worldType), isolate, worldType); 3165 data->templateMap(worldType).add(&info, templ); 3166 3166 return templ; 3167 3167 } 3168 3168 3169 bool ${v8InterfaceName}::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate )3170 { 3171 return V8PerIsolateData::from(isolate)->hasInstance(&info, value );3169 bool ${v8InterfaceName}::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate, WrapperWorldType worldType) 3170 { 3171 return V8PerIsolateData::from(isolate)->hasInstance(&info, value, worldType); 3172 3172 } 3173 3173 … … 4048 4048 4049 4049 AddToImplIncludes("V8${type}.h"); 4050 return "V8${type}::HasInstance($value, $getIsolate ) ? V8${type}::toNative(v8::Handle<v8::Object>::Cast($value)) : 0";4050 return "V8${type}::HasInstance($value, $getIsolate, worldType($getIsolate)) ? V8${type}::toNative(v8::Handle<v8::Object>::Cast($value)) : 0"; 4051 4051 } 4052 4052 … … 4099 4099 AddToImplIncludes(GetV8HeaderName($type)); 4100 4100 } 4101 $result .= "V8PerIsolateData::from(isolate)->rawTemplate(&V8${type}::info )";4101 $result .= "V8PerIsolateData::from(isolate)->rawTemplate(&V8${type}::info, worldType)"; 4102 4102 } 4103 4103 } else { -
trunk/Source/WebCore/bindings/scripts/test/V8/V8Float64Array.cpp
r145575 r145802 86 86 return throwNotEnoughArgumentsError(args.GetIsolate()); 87 87 Float64Array* imp = V8Float64Array::toNative(args.Holder()); 88 V8TRYCATCH(Float32Array*, array, V8Float32Array::HasInstance(args[0], args.GetIsolate() ) ? V8Float32Array::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0);88 V8TRYCATCH(Float32Array*, array, V8Float32Array::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate())) ? V8Float32Array::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 89 89 return toV8(imp->foo(array), args.Holder(), args.GetIsolate()); 90 90 } … … 154 154 // Custom Signature 'foo' 155 155 const int fooArgc = 1; 156 v8::Handle<v8::FunctionTemplate> fooArgv[fooArgc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8Float32Array::info ) };156 v8::Handle<v8::FunctionTemplate> fooArgv[fooArgc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8Float32Array::info, worldType) }; 157 157 v8::Handle<v8::Signature> fooSignature = v8::Signature::New(desc, fooArgc, fooArgv); 158 158 proto->Set(v8::String::NewSymbol("foo"), v8::FunctionTemplate::New(Float64ArrayV8Internal::fooMethodCallback, v8Undefined(), fooSignature)); … … 166 166 { 167 167 V8PerIsolateData* data = V8PerIsolateData::from(isolate); 168 V8PerIsolateData::TemplateMap::iterator result = data->templateMap( ).find(&info);169 if (result != data->templateMap( ).end())168 V8PerIsolateData::TemplateMap::iterator result = data->templateMap(worldType).find(&info); 169 if (result != data->templateMap(worldType).end()) 170 170 return result->value; 171 171 172 172 v8::HandleScope handleScope; 173 173 v8::Persistent<v8::FunctionTemplate> templ = 174 ConfigureV8Float64ArrayTemplate(data->rawTemplate(&info ), isolate, worldType);175 data->templateMap( ).add(&info, templ);174 ConfigureV8Float64ArrayTemplate(data->rawTemplate(&info, worldType), isolate, worldType); 175 data->templateMap(worldType).add(&info, templ); 176 176 return templ; 177 177 } 178 178 179 bool V8Float64Array::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate )180 { 181 return V8PerIsolateData::from(isolate)->hasInstance(&info, value );179 bool V8Float64Array::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate, WrapperWorldType worldType) 180 { 181 return V8PerIsolateData::from(isolate)->hasInstance(&info, value, worldType); 182 182 } 183 183 -
trunk/Source/WebCore/bindings/scripts/test/V8/V8Float64Array.h
r145575 r145802 36 36 public: 37 37 static const bool hasDependentLifetime = V8ArrayBufferView::hasDependentLifetime; 38 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate* );38 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate*, WrapperWorldType); 39 39 static v8::Persistent<v8::FunctionTemplate> GetTemplate(v8::Isolate*, WrapperWorldType); 40 40 static Float64Array* toNative(v8::Handle<v8::Object> object) -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.cpp
r145575 r145802 102 102 if (!BindingSecurity::shouldAllowAccessToFrame(BindingState::instance(), imp->frame())) 103 103 return v8Undefined(); 104 V8TRYCATCH(Node*, nextChild, V8Node::HasInstance(args[0], args.GetIsolate() ) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0);104 V8TRYCATCH(Node*, nextChild, V8Node::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate())) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 105 105 imp->excitingFunction(nextChild); 106 106 return v8Undefined(); … … 133 133 WrapperWorldType currentWorldType = worldType(info.GetIsolate()); 134 134 V8PerIsolateData* data = V8PerIsolateData::from(info.GetIsolate()); 135 v8::Persistent<v8::FunctionTemplate> privateTemplate = data->privateTemplate(currentWorldType, &privateTemplateUniqueKey, TestActiveDOMObjectV8Internal::postMessageMethodCallback, v8Undefined(), v8::Signature::New(V8PerIsolateData::from(info.GetIsolate())->rawTemplate(&V8TestActiveDOMObject::info )));135 v8::Persistent<v8::FunctionTemplate> privateTemplate = data->privateTemplate(currentWorldType, &privateTemplateUniqueKey, TestActiveDOMObjectV8Internal::postMessageMethodCallback, v8Undefined(), v8::Signature::New(V8PerIsolateData::from(info.GetIsolate())->rawTemplate(&V8TestActiveDOMObject::info, currentWorldType))); 136 136 137 137 v8::Handle<v8::Object> holder = info.This()->FindInstanceInPrototypeChain(V8TestActiveDOMObject::GetTemplate(info.GetIsolate(), currentWorldType)); … … 144 144 if (!BindingSecurity::shouldAllowAccessToFrame(BindingState::instance(), imp->frame(), DoNotReportSecurityError)) { 145 145 static const char* sharedTemplateUniqueKey = "postMessageSharedTemplate"; 146 v8::Persistent<v8::FunctionTemplate> sharedTemplate = data->privateTemplate(currentWorldType, &sharedTemplateUniqueKey, TestActiveDOMObjectV8Internal::postMessageMethodCallback, v8Undefined(), v8::Signature::New(V8PerIsolateData::from(info.GetIsolate())->rawTemplate(&V8TestActiveDOMObject::info )));146 v8::Persistent<v8::FunctionTemplate> sharedTemplate = data->privateTemplate(currentWorldType, &sharedTemplateUniqueKey, TestActiveDOMObjectV8Internal::postMessageMethodCallback, v8Undefined(), v8::Signature::New(V8PerIsolateData::from(info.GetIsolate())->rawTemplate(&V8TestActiveDOMObject::info, currentWorldType))); 147 147 return sharedTemplate->GetFunction(); 148 148 } … … 196 196 // Custom Signature 'excitingFunction' 197 197 const int excitingFunctionArgc = 1; 198 v8::Handle<v8::FunctionTemplate> excitingFunctionArgv[excitingFunctionArgc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8Node::info ) };198 v8::Handle<v8::FunctionTemplate> excitingFunctionArgv[excitingFunctionArgc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8Node::info, worldType) }; 199 199 v8::Handle<v8::Signature> excitingFunctionSignature = v8::Signature::New(desc, excitingFunctionArgc, excitingFunctionArgv); 200 200 proto->Set(v8::String::NewSymbol("excitingFunction"), v8::FunctionTemplate::New(TestActiveDOMObjectV8Internal::excitingFunctionMethodCallback, v8Undefined(), excitingFunctionSignature)); … … 211 211 { 212 212 V8PerIsolateData* data = V8PerIsolateData::from(isolate); 213 V8PerIsolateData::TemplateMap::iterator result = data->templateMap( ).find(&info);214 if (result != data->templateMap( ).end())213 V8PerIsolateData::TemplateMap::iterator result = data->templateMap(worldType).find(&info); 214 if (result != data->templateMap(worldType).end()) 215 215 return result->value; 216 216 217 217 v8::HandleScope handleScope; 218 218 v8::Persistent<v8::FunctionTemplate> templ = 219 ConfigureV8TestActiveDOMObjectTemplate(data->rawTemplate(&info ), isolate, worldType);220 data->templateMap( ).add(&info, templ);219 ConfigureV8TestActiveDOMObjectTemplate(data->rawTemplate(&info, worldType), isolate, worldType); 220 data->templateMap(worldType).add(&info, templ); 221 221 return templ; 222 222 } 223 223 224 bool V8TestActiveDOMObject::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate )225 { 226 return V8PerIsolateData::from(isolate)->hasInstance(&info, value );224 bool V8TestActiveDOMObject::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate, WrapperWorldType worldType) 225 { 226 return V8PerIsolateData::from(isolate)->hasInstance(&info, value, worldType); 227 227 } 228 228 -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.h
r145575 r145802 35 35 public: 36 36 static const bool hasDependentLifetime = false; 37 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate* );37 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate*, WrapperWorldType); 38 38 static v8::Persistent<v8::FunctionTemplate> GetTemplate(v8::Isolate*, WrapperWorldType); 39 39 static TestActiveDOMObject* toNative(v8::Handle<v8::Object> object) -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp
r145575 r145802 116 116 { 117 117 V8PerIsolateData* data = V8PerIsolateData::from(isolate); 118 V8PerIsolateData::TemplateMap::iterator result = data->templateMap( ).find(&info);119 if (result != data->templateMap( ).end())118 V8PerIsolateData::TemplateMap::iterator result = data->templateMap(worldType).find(&info); 119 if (result != data->templateMap(worldType).end()) 120 120 return result->value; 121 121 122 122 v8::HandleScope handleScope; 123 123 v8::Persistent<v8::FunctionTemplate> templ = 124 ConfigureV8TestCustomNamedGetterTemplate(data->rawTemplate(&info ), isolate, worldType);125 data->templateMap( ).add(&info, templ);124 ConfigureV8TestCustomNamedGetterTemplate(data->rawTemplate(&info, worldType), isolate, worldType); 125 data->templateMap(worldType).add(&info, templ); 126 126 return templ; 127 127 } 128 128 129 bool V8TestCustomNamedGetter::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate )129 bool V8TestCustomNamedGetter::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate, WrapperWorldType worldType) 130 130 { 131 return V8PerIsolateData::from(isolate)->hasInstance(&info, value );131 return V8PerIsolateData::from(isolate)->hasInstance(&info, value, worldType); 132 132 } 133 133 -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestCustomNamedGetter.h
r145575 r145802 35 35 public: 36 36 static const bool hasDependentLifetime = false; 37 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate* );37 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate*, WrapperWorldType); 38 38 static v8::Persistent<v8::FunctionTemplate> GetTemplate(v8::Isolate*, WrapperWorldType); 39 39 static TestCustomNamedGetter* toNative(v8::Handle<v8::Object> object) -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestEventConstructor.cpp
r145575 r145802 158 158 { 159 159 V8PerIsolateData* data = V8PerIsolateData::from(isolate); 160 V8PerIsolateData::TemplateMap::iterator result = data->templateMap( ).find(&info);161 if (result != data->templateMap( ).end())160 V8PerIsolateData::TemplateMap::iterator result = data->templateMap(worldType).find(&info); 161 if (result != data->templateMap(worldType).end()) 162 162 return result->value; 163 163 164 164 v8::HandleScope handleScope; 165 165 v8::Persistent<v8::FunctionTemplate> templ = 166 ConfigureV8TestEventConstructorTemplate(data->rawTemplate(&info ), isolate, worldType);167 data->templateMap( ).add(&info, templ);166 ConfigureV8TestEventConstructorTemplate(data->rawTemplate(&info, worldType), isolate, worldType); 167 data->templateMap(worldType).add(&info, templ); 168 168 return templ; 169 169 } 170 170 171 bool V8TestEventConstructor::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate )171 bool V8TestEventConstructor::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate, WrapperWorldType worldType) 172 172 { 173 return V8PerIsolateData::from(isolate)->hasInstance(&info, value );173 return V8PerIsolateData::from(isolate)->hasInstance(&info, value, worldType); 174 174 } 175 175 -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestEventConstructor.h
r145575 r145802 36 36 public: 37 37 static const bool hasDependentLifetime = false; 38 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate* );38 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate*, WrapperWorldType); 39 39 static v8::Persistent<v8::FunctionTemplate> GetTemplate(v8::Isolate*, WrapperWorldType); 40 40 static TestEventConstructor* toNative(v8::Handle<v8::Object> object) -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestEventTarget.cpp
r145575 r145802 137 137 ExceptionCode ec = 0; 138 138 { 139 V8TRYCATCH(Event*, evt, V8Event::HasInstance(args[0], args.GetIsolate() ) ? V8Event::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0);139 V8TRYCATCH(Event*, evt, V8Event::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate())) ? V8Event::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 140 140 bool result = imp->dispatchEvent(evt, ec); 141 141 if (UNLIKELY(ec)) … … 180 180 // Custom Signature 'dispatchEvent' 181 181 const int dispatchEventArgc = 1; 182 v8::Handle<v8::FunctionTemplate> dispatchEventArgv[dispatchEventArgc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8Event::info ) };182 v8::Handle<v8::FunctionTemplate> dispatchEventArgv[dispatchEventArgc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8Event::info, worldType) }; 183 183 v8::Handle<v8::Signature> dispatchEventSignature = v8::Signature::New(desc, dispatchEventArgc, dispatchEventArgv); 184 184 proto->Set(v8::String::NewSymbol("dispatchEvent"), v8::FunctionTemplate::New(TestEventTargetV8Internal::dispatchEventMethodCallback, v8Undefined(), dispatchEventSignature)); … … 192 192 { 193 193 V8PerIsolateData* data = V8PerIsolateData::from(isolate); 194 V8PerIsolateData::TemplateMap::iterator result = data->templateMap( ).find(&info);195 if (result != data->templateMap( ).end())194 V8PerIsolateData::TemplateMap::iterator result = data->templateMap(worldType).find(&info); 195 if (result != data->templateMap(worldType).end()) 196 196 return result->value; 197 197 198 198 v8::HandleScope handleScope; 199 199 v8::Persistent<v8::FunctionTemplate> templ = 200 ConfigureV8TestEventTargetTemplate(data->rawTemplate(&info ), isolate, worldType);201 data->templateMap( ).add(&info, templ);200 ConfigureV8TestEventTargetTemplate(data->rawTemplate(&info, worldType), isolate, worldType); 201 data->templateMap(worldType).add(&info, templ); 202 202 return templ; 203 203 } 204 204 205 bool V8TestEventTarget::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate )206 { 207 return V8PerIsolateData::from(isolate)->hasInstance(&info, value );205 bool V8TestEventTarget::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate, WrapperWorldType worldType) 206 { 207 return V8PerIsolateData::from(isolate)->hasInstance(&info, value, worldType); 208 208 } 209 209 -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestEventTarget.h
r145575 r145802 35 35 public: 36 36 static const bool hasDependentLifetime = false; 37 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate* );37 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate*, WrapperWorldType); 38 38 static v8::Persistent<v8::FunctionTemplate> GetTemplate(v8::Isolate*, WrapperWorldType); 39 39 static TestEventTarget* toNative(v8::Handle<v8::Object> object) -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestException.cpp
r145575 r145802 107 107 { 108 108 V8PerIsolateData* data = V8PerIsolateData::from(isolate); 109 V8PerIsolateData::TemplateMap::iterator result = data->templateMap( ).find(&info);110 if (result != data->templateMap( ).end())109 V8PerIsolateData::TemplateMap::iterator result = data->templateMap(worldType).find(&info); 110 if (result != data->templateMap(worldType).end()) 111 111 return result->value; 112 112 113 113 v8::HandleScope handleScope; 114 114 v8::Persistent<v8::FunctionTemplate> templ = 115 ConfigureV8TestExceptionTemplate(data->rawTemplate(&info ), isolate, worldType);116 data->templateMap( ).add(&info, templ);115 ConfigureV8TestExceptionTemplate(data->rawTemplate(&info, worldType), isolate, worldType); 116 data->templateMap(worldType).add(&info, templ); 117 117 return templ; 118 118 } 119 119 120 bool V8TestException::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate )120 bool V8TestException::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate, WrapperWorldType worldType) 121 121 { 122 return V8PerIsolateData::from(isolate)->hasInstance(&info, value );122 return V8PerIsolateData::from(isolate)->hasInstance(&info, value, worldType); 123 123 } 124 124 -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestException.h
r145575 r145802 35 35 public: 36 36 static const bool hasDependentLifetime = false; 37 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate* );37 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate*, WrapperWorldType); 38 38 static v8::Persistent<v8::FunctionTemplate> GetTemplate(v8::Isolate*, WrapperWorldType); 39 39 static TestException* toNative(v8::Handle<v8::Object> object) -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp
r145575 r145802 235 235 { 236 236 TestInterface* imp = V8TestInterface::toNative(info.Holder()); 237 Node* v = V8Node::HasInstance(value, info.GetIsolate() ) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;237 Node* v = V8Node::HasInstance(value, info.GetIsolate(), worldType(info.GetIsolate())) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(value)) : 0; 238 238 TestSupplemental::setSupplementalNode(imp, WTF::getPtr(v)); 239 239 return; … … 281 281 { 282 282 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, args[0]); 283 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(args[1], args.GetIsolate() ) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[1])) : 0);283 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(args[1], args.GetIsolate(), worldType(args.GetIsolate())) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[1])) : 0); 284 284 ScriptExecutionContext* scriptContext = getScriptExecutionContext(); 285 285 RefPtr<TestObj> result = TestSupplemental::supplementalMethod2(scriptContext, imp, strArg, objArg, ec); … … 439 439 // Custom Signature 'supplementalMethod2' 440 440 const int supplementalMethod2Argc = 2; 441 v8::Handle<v8::FunctionTemplate> supplementalMethod2Argv[supplementalMethod2Argc] = { v8::Handle<v8::FunctionTemplate>(), V8PerIsolateData::from(isolate)->rawTemplate(&V8TestObj::info ) };441 v8::Handle<v8::FunctionTemplate> supplementalMethod2Argv[supplementalMethod2Argc] = { v8::Handle<v8::FunctionTemplate>(), V8PerIsolateData::from(isolate)->rawTemplate(&V8TestObj::info, worldType) }; 442 442 v8::Handle<v8::Signature> supplementalMethod2Signature = v8::Signature::New(desc, supplementalMethod2Argc, supplementalMethod2Argv); 443 443 #if ENABLE(Condition11) || ENABLE(Condition12) … … 457 457 { 458 458 V8PerIsolateData* data = V8PerIsolateData::from(isolate); 459 V8PerIsolateData::TemplateMap::iterator result = data->templateMap( ).find(&info);460 if (result != data->templateMap( ).end())459 V8PerIsolateData::TemplateMap::iterator result = data->templateMap(worldType).find(&info); 460 if (result != data->templateMap(worldType).end()) 461 461 return result->value; 462 462 463 463 v8::HandleScope handleScope; 464 464 v8::Persistent<v8::FunctionTemplate> templ = 465 ConfigureV8TestInterfaceTemplate(data->rawTemplate(&info ), isolate, worldType);466 data->templateMap( ).add(&info, templ);465 ConfigureV8TestInterfaceTemplate(data->rawTemplate(&info, worldType), isolate, worldType); 466 data->templateMap(worldType).add(&info, templ); 467 467 return templ; 468 468 } 469 469 470 bool V8TestInterface::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate )471 { 472 return V8PerIsolateData::from(isolate)->hasInstance(&info, value );470 bool V8TestInterface::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate, WrapperWorldType worldType) 471 { 472 return V8PerIsolateData::from(isolate)->hasInstance(&info, value, worldType); 473 473 } 474 474 -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestInterface.h
r145575 r145802 36 36 public: 37 37 static const bool hasDependentLifetime = true; 38 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate* );38 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate*, WrapperWorldType); 39 39 static v8::Persistent<v8::FunctionTemplate> GetTemplate(v8::Isolate*, WrapperWorldType); 40 40 static TestInterface* toNative(v8::Handle<v8::Object> object) -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp
r145575 r145802 116 116 { 117 117 V8PerIsolateData* data = V8PerIsolateData::from(isolate); 118 V8PerIsolateData::TemplateMap::iterator result = data->templateMap( ).find(&info);119 if (result != data->templateMap( ).end())118 V8PerIsolateData::TemplateMap::iterator result = data->templateMap(worldType).find(&info); 119 if (result != data->templateMap(worldType).end()) 120 120 return result->value; 121 121 122 122 v8::HandleScope handleScope; 123 123 v8::Persistent<v8::FunctionTemplate> templ = 124 ConfigureV8TestMediaQueryListListenerTemplate(data->rawTemplate(&info ), isolate, worldType);125 data->templateMap( ).add(&info, templ);124 ConfigureV8TestMediaQueryListListenerTemplate(data->rawTemplate(&info, worldType), isolate, worldType); 125 data->templateMap(worldType).add(&info, templ); 126 126 return templ; 127 127 } 128 128 129 bool V8TestMediaQueryListListener::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate )129 bool V8TestMediaQueryListListener::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate, WrapperWorldType worldType) 130 130 { 131 return V8PerIsolateData::from(isolate)->hasInstance(&info, value );131 return V8PerIsolateData::from(isolate)->hasInstance(&info, value, worldType); 132 132 } 133 133 -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.h
r145575 r145802 35 35 public: 36 36 static const bool hasDependentLifetime = false; 37 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate* );37 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate*, WrapperWorldType); 38 38 static v8::Persistent<v8::FunctionTemplate> GetTemplate(v8::Isolate*, WrapperWorldType); 39 39 static TestMediaQueryListListener* toNative(v8::Handle<v8::Object> object) -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestNamedConstructor.cpp
r145575 r145802 147 147 { 148 148 V8PerIsolateData* data = V8PerIsolateData::from(isolate); 149 V8PerIsolateData::TemplateMap::iterator result = data->templateMap( ).find(&info);150 if (result != data->templateMap( ).end())149 V8PerIsolateData::TemplateMap::iterator result = data->templateMap(worldType).find(&info); 150 if (result != data->templateMap(worldType).end()) 151 151 return result->value; 152 152 153 153 v8::HandleScope handleScope; 154 154 v8::Persistent<v8::FunctionTemplate> templ = 155 ConfigureV8TestNamedConstructorTemplate(data->rawTemplate(&info ), isolate, worldType);156 data->templateMap( ).add(&info, templ);155 ConfigureV8TestNamedConstructorTemplate(data->rawTemplate(&info, worldType), isolate, worldType); 156 data->templateMap(worldType).add(&info, templ); 157 157 return templ; 158 158 } 159 159 160 bool V8TestNamedConstructor::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate )160 bool V8TestNamedConstructor::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate, WrapperWorldType worldType) 161 161 { 162 return V8PerIsolateData::from(isolate)->hasInstance(&info, value );162 return V8PerIsolateData::from(isolate)->hasInstance(&info, value, worldType); 163 163 } 164 164 -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestNamedConstructor.h
r145575 r145802 41 41 public: 42 42 static const bool hasDependentLifetime = true; 43 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate* );43 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate*, WrapperWorldType); 44 44 static v8::Persistent<v8::FunctionTemplate> GetTemplate(v8::Isolate*, WrapperWorldType); 45 45 static TestNamedConstructor* toNative(v8::Handle<v8::Object> object) -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestNode.cpp
r145575 r145802 114 114 { 115 115 V8PerIsolateData* data = V8PerIsolateData::from(isolate); 116 V8PerIsolateData::TemplateMap::iterator result = data->templateMap( ).find(&info);117 if (result != data->templateMap( ).end())116 V8PerIsolateData::TemplateMap::iterator result = data->templateMap(worldType).find(&info); 117 if (result != data->templateMap(worldType).end()) 118 118 return result->value; 119 119 120 120 v8::HandleScope handleScope; 121 121 v8::Persistent<v8::FunctionTemplate> templ = 122 ConfigureV8TestNodeTemplate(data->rawTemplate(&info ), isolate, worldType);123 data->templateMap( ).add(&info, templ);122 ConfigureV8TestNodeTemplate(data->rawTemplate(&info, worldType), isolate, worldType); 123 data->templateMap(worldType).add(&info, templ); 124 124 return templ; 125 125 } 126 126 127 bool V8TestNode::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate )127 bool V8TestNode::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate, WrapperWorldType worldType) 128 128 { 129 return V8PerIsolateData::from(isolate)->hasInstance(&info, value );129 return V8PerIsolateData::from(isolate)->hasInstance(&info, value, worldType); 130 130 } 131 131 -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestNode.h
r145575 r145802 35 35 public: 36 36 static const bool hasDependentLifetime = true; 37 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate* );37 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate*, WrapperWorldType); 38 38 static v8::Persistent<v8::FunctionTemplate> GetTemplate(v8::Isolate*, WrapperWorldType); 39 39 static TestNode* toNative(v8::Handle<v8::Object> object) -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp
r145745 r145802 371 371 { 372 372 TestObj* imp = V8TestObj::toNative(info.Holder()); 373 TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate() ) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;373 TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0; 374 374 imp->setTestObjAttr(WTF::getPtr(v)); 375 375 return; … … 396 396 { 397 397 TestObj* imp = V8TestObj::toNative(info.Holder()); 398 TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate() ) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;398 TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0; 399 399 imp->setXMLObjAttr(WTF::getPtr(v)); 400 400 return; … … 660 660 { 661 661 TestObj* imp = V8TestObj::toNative(info.Holder()); 662 Float32Array* v = V8Float32Array::HasInstance(value, info.GetIsolate() ) ? V8Float32Array::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;662 Float32Array* v = V8Float32Array::HasInstance(value, info.GetIsolate(), worldType(info.GetIsolate())) ? V8Float32Array::toNative(v8::Handle<v8::Object>::Cast(value)) : 0; 663 663 imp->setTypedArrayAttr(WTF::getPtr(v)); 664 664 return; … … 839 839 { 840 840 TestObj* imp = V8TestObj::toNative(info.Holder()); 841 TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate() ) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;841 TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0; 842 842 ScriptExecutionContext* scriptContext = getScriptExecutionContext(); 843 843 imp->setWithScriptExecutionContextAttribute(scriptContext, WTF::getPtr(v)); … … 874 874 { 875 875 TestObj* imp = V8TestObj::toNative(info.Holder()); 876 TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate() ) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;876 TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0; 877 877 ScriptState* currentState = ScriptState::current(); 878 878 if (!currentState) … … 909 909 { 910 910 TestObj* imp = V8TestObj::toNative(info.Holder()); 911 TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate() ) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;911 TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0; 912 912 ScriptExecutionContext* scriptContext = getScriptExecutionContext(); 913 913 imp->setWithScriptExecutionContextAttributeRaises(scriptContext, WTF::getPtr(v)); … … 939 939 { 940 940 TestObj* imp = V8TestObj::toNative(info.Holder()); 941 TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate() ) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;941 TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0; 942 942 ScriptState* currentState = ScriptState::current(); 943 943 if (!currentState) … … 981 981 { 982 982 TestObj* imp = V8TestObj::toNative(info.Holder()); 983 TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate() ) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;983 TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0; 984 984 ScriptState* currentState = ScriptState::current(); 985 985 if (!currentState) … … 1017 1017 { 1018 1018 TestObj* imp = V8TestObj::toNative(info.Holder()); 1019 TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate() ) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;1019 TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0; 1020 1020 ScriptState* currentState = ScriptState::current(); 1021 1021 if (!currentState) … … 1048 1048 { 1049 1049 TestObj* imp = V8TestObj::toNative(info.Holder()); 1050 TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate() ) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;1050 TestObj* v = V8TestObj::HasInstance(value, info.GetIsolate(), worldType(info.GetIsolate())) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(value)) : 0; 1051 1051 imp->setWithScriptArgumentsAndCallStackAttribute(WTF::getPtr(v)); 1052 1052 return; … … 1396 1396 { 1397 1397 TestObj* imp = V8TestObj::toNative(info.Holder()); 1398 RefPtr<SVGPropertyTearOff<FloatPoint> > v = V8SVGPoint::HasInstance(value, info.GetIsolate() ) ? V8SVGPoint::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;1398 RefPtr<SVGPropertyTearOff<FloatPoint> > v = V8SVGPoint::HasInstance(value, info.GetIsolate(), worldType(info.GetIsolate())) ? V8SVGPoint::toNative(v8::Handle<v8::Object>::Cast(value)) : 0; 1399 1399 imp->setMutablePoint(WTF::getPtr(v)); 1400 1400 return; … … 1420 1420 { 1421 1421 TestObj* imp = V8TestObj::toNative(info.Holder()); 1422 RefPtr<SVGPropertyTearOff<FloatPoint> > v = V8SVGPoint::HasInstance(value, info.GetIsolate() ) ? V8SVGPoint::toNative(v8::Handle<v8::Object>::Cast(value)) : 0;1422 RefPtr<SVGPropertyTearOff<FloatPoint> > v = V8SVGPoint::HasInstance(value, info.GetIsolate(), worldType(info.GetIsolate())) ? V8SVGPoint::toNative(v8::Handle<v8::Object>::Cast(value)) : 0; 1423 1423 imp->setImmutablePoint(WTF::getPtr(v)); 1424 1424 return; … … 1573 1573 V8TRYCATCH(int, longArg, toInt32(args[0])); 1574 1574 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, args[1]); 1575 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(args[2], args.GetIsolate() ) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[2])) : 0);1575 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(args[2], args.GetIsolate(), worldType(args.GetIsolate())) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[2])) : 0); 1576 1576 imp->voidMethodWithArgs(longArg, strArg, objArg); 1577 1577 return v8Undefined(); … … 1601 1601 V8TRYCATCH(int, longArg, toInt32(args[0])); 1602 1602 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, args[1]); 1603 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(args[2], args.GetIsolate() ) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[2])) : 0);1603 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(args[2], args.GetIsolate(), worldType(args.GetIsolate())) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[2])) : 0); 1604 1604 return v8Integer(imp->longMethodWithArgs(longArg, strArg, objArg), args.GetIsolate()); 1605 1605 } … … 1629 1629 V8TRYCATCH(int, longArg, toInt32(args[0])); 1630 1630 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, args[1]); 1631 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(args[2], args.GetIsolate() ) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[2])) : 0);1631 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(args[2], args.GetIsolate(), worldType(args.GetIsolate())) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[2])) : 0); 1632 1632 return toV8(imp->objMethodWithArgs(longArg, strArg, objArg), args.Holder(), args.GetIsolate()); 1633 1633 } … … 1675 1675 { 1676 1676 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, args[0]); 1677 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(args[1], args.GetIsolate() ) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[1])) : 0);1677 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(args[1], args.GetIsolate(), worldType(args.GetIsolate())) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[1])) : 0); 1678 1678 RefPtr<TestObj> result = imp->methodThatRequiresAllArgsAndThrows(strArg, objArg, ec); 1679 1679 if (UNLIKELY(ec)) … … 2242 2242 return throwNotEnoughArgumentsError(args.GetIsolate()); 2243 2243 TestObj* imp = V8TestObj::toNative(args.Holder()); 2244 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(args[0], args.GetIsolate() ) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0);2244 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate())) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 2245 2245 V8TRYCATCH_FOR_V8STRINGRESOURCE(V8StringResource<>, strArg, args[1]); 2246 2246 imp->overloadedMethod(objArg, strArg); … … 2253 2253 return throwNotEnoughArgumentsError(args.GetIsolate()); 2254 2254 TestObj* imp = V8TestObj::toNative(args.Holder()); 2255 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(args[0], args.GetIsolate() ) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0);2255 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate())) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 2256 2256 if (args.Length() <= 1) { 2257 2257 imp->overloadedMethod(objArg); … … 2320 2320 return throwNotEnoughArgumentsError(args.GetIsolate()); 2321 2321 TestObj* imp = V8TestObj::toNative(args.Holder()); 2322 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(args[0], args.GetIsolate() ) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0);2322 V8TRYCATCH(TestObj*, objArg, V8TestObj::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate())) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 2323 2323 imp->overloadedMethod(objArg); 2324 2324 return v8Undefined(); … … 2357 2357 static v8::Handle<v8::Value> overloadedMethodMethod(const v8::Arguments& args) 2358 2358 { 2359 if ((args.Length() == 2 && (args[0]->IsNull() || V8TestObj::HasInstance(args[0], args.GetIsolate() )) && (args[1]->IsNull() || args[1]->IsUndefined() || args[1]->IsString() || args[1]->IsObject())))2359 if ((args.Length() == 2 && (args[0]->IsNull() || V8TestObj::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate()))) && (args[1]->IsNull() || args[1]->IsUndefined() || args[1]->IsString() || args[1]->IsObject()))) 2360 2360 return overloadedMethod1Method(args); 2361 if ((args.Length() == 1 && (args[0]->IsNull() || V8TestObj::HasInstance(args[0], args.GetIsolate() ))) || (args.Length() == 2 && (args[0]->IsNull() || V8TestObj::HasInstance(args[0], args.GetIsolate()))))2361 if ((args.Length() == 1 && (args[0]->IsNull() || V8TestObj::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate())))) || (args.Length() == 2 && (args[0]->IsNull() || V8TestObj::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate()))))) 2362 2362 return overloadedMethod2Method(args); 2363 2363 if ((args.Length() == 1 && (args[0]->IsNull() || args[0]->IsUndefined() || args[0]->IsString() || args[0]->IsObject()))) … … 2367 2367 if ((args.Length() == 1 && (args[0]->IsNull() || args[0]->IsFunction()))) 2368 2368 return overloadedMethod5Method(args); 2369 if ((args.Length() == 1 && (args[0]->IsNull() || V8DOMStringList::HasInstance(args[0], args.GetIsolate() ))))2369 if ((args.Length() == 1 && (args[0]->IsNull() || V8DOMStringList::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate()))))) 2370 2370 return overloadedMethod6Method(args); 2371 2371 if ((args.Length() == 1 && (args[0]->IsNull() || args[0]->IsArray()))) 2372 2372 return overloadedMethod7Method(args); 2373 if ((args.Length() == 1 && (V8TestObj::HasInstance(args[0], args.GetIsolate() ))))2373 if ((args.Length() == 1 && (V8TestObj::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate()))))) 2374 2374 return overloadedMethod8Method(args); 2375 2375 if ((args.Length() == 1 && (args[0]->IsArray()))) … … 2621 2621 return throwNotEnoughArgumentsError(args.GetIsolate()); 2622 2622 TestObj* imp = V8TestObj::toNative(args.Holder()); 2623 V8TRYCATCH(a*, value, V8a::HasInstance(args[0], args.GetIsolate() ) ? V8a::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0);2623 V8TRYCATCH(a*, value, V8a::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate())) ? V8a::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 2624 2624 imp->convert1(value); 2625 2625 return v8Undefined(); … … 2636 2636 return throwNotEnoughArgumentsError(args.GetIsolate()); 2637 2637 TestObj* imp = V8TestObj::toNative(args.Holder()); 2638 V8TRYCATCH(b*, value, V8b::HasInstance(args[0], args.GetIsolate() ) ? V8b::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0);2638 V8TRYCATCH(b*, value, V8b::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate())) ? V8b::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 2639 2639 imp->convert2(value); 2640 2640 return v8Undefined(); … … 2651 2651 return throwNotEnoughArgumentsError(args.GetIsolate()); 2652 2652 TestObj* imp = V8TestObj::toNative(args.Holder()); 2653 V8TRYCATCH(d*, value, V8d::HasInstance(args[0], args.GetIsolate() ) ? V8d::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0);2653 V8TRYCATCH(d*, value, V8d::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate())) ? V8d::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 2654 2654 imp->convert4(value); 2655 2655 return v8Undefined(); … … 2666 2666 return throwNotEnoughArgumentsError(args.GetIsolate()); 2667 2667 TestObj* imp = V8TestObj::toNative(args.Holder()); 2668 V8TRYCATCH(e*, value, V8e::HasInstance(args[0], args.GetIsolate() ) ? V8e::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0);2668 V8TRYCATCH(e*, value, V8e::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate())) ? V8e::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 2669 2669 imp->convert5(value); 2670 2670 return v8Undefined(); … … 2771 2771 return throwNotEnoughArgumentsError(args.GetIsolate()); 2772 2772 TestObj* imp = V8TestObj::toNative(args.Holder()); 2773 V8TRYCATCH(Node*, head, V8Node::HasInstance(args[0], args.GetIsolate() ) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0);2773 V8TRYCATCH(Node*, head, V8Node::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate())) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 2774 2774 Vector<RefPtr<Node> > tail; 2775 2775 for (int i = 1; i < args.Length(); ++i) { 2776 if (!V8Node::HasInstance(args[i], args.GetIsolate() ))2776 if (!V8Node::HasInstance(args[i], args.GetIsolate(), worldType(args.GetIsolate()))) 2777 2777 return throwTypeError(0, args.GetIsolate()); 2778 2778 tail.append(V8Node::toNative(v8::Handle<v8::Object>::Cast(args[i]))); … … 3063 3063 // Custom Signature 'voidMethodWithArgs' 3064 3064 const int voidMethodWithArgsArgc = 3; 3065 v8::Handle<v8::FunctionTemplate> voidMethodWithArgsArgv[voidMethodWithArgsArgc] = { v8::Handle<v8::FunctionTemplate>(), v8::Handle<v8::FunctionTemplate>(), V8PerIsolateData::from(isolate)->rawTemplate(&V8TestObj::info ) };3065 v8::Handle<v8::FunctionTemplate> voidMethodWithArgsArgv[voidMethodWithArgsArgc] = { v8::Handle<v8::FunctionTemplate>(), v8::Handle<v8::FunctionTemplate>(), V8PerIsolateData::from(isolate)->rawTemplate(&V8TestObj::info, worldType) }; 3066 3066 v8::Handle<v8::Signature> voidMethodWithArgsSignature = v8::Signature::New(desc, voidMethodWithArgsArgc, voidMethodWithArgsArgv); 3067 3067 proto->Set(v8::String::NewSymbol("voidMethodWithArgs"), v8::FunctionTemplate::New(TestObjV8Internal::voidMethodWithArgsMethodCallback, v8Undefined(), voidMethodWithArgsSignature)); … … 3069 3069 // Custom Signature 'longMethodWithArgs' 3070 3070 const int longMethodWithArgsArgc = 3; 3071 v8::Handle<v8::FunctionTemplate> longMethodWithArgsArgv[longMethodWithArgsArgc] = { v8::Handle<v8::FunctionTemplate>(), v8::Handle<v8::FunctionTemplate>(), V8PerIsolateData::from(isolate)->rawTemplate(&V8TestObj::info ) };3071 v8::Handle<v8::FunctionTemplate> longMethodWithArgsArgv[longMethodWithArgsArgc] = { v8::Handle<v8::FunctionTemplate>(), v8::Handle<v8::FunctionTemplate>(), V8PerIsolateData::from(isolate)->rawTemplate(&V8TestObj::info, worldType) }; 3072 3072 v8::Handle<v8::Signature> longMethodWithArgsSignature = v8::Signature::New(desc, longMethodWithArgsArgc, longMethodWithArgsArgv); 3073 3073 proto->Set(v8::String::NewSymbol("longMethodWithArgs"), v8::FunctionTemplate::New(TestObjV8Internal::longMethodWithArgsMethodCallback, v8Undefined(), longMethodWithArgsSignature)); … … 3075 3075 // Custom Signature 'objMethodWithArgs' 3076 3076 const int objMethodWithArgsArgc = 3; 3077 v8::Handle<v8::FunctionTemplate> objMethodWithArgsArgv[objMethodWithArgsArgc] = { v8::Handle<v8::FunctionTemplate>(), v8::Handle<v8::FunctionTemplate>(), V8PerIsolateData::from(isolate)->rawTemplate(&V8TestObj::info ) };3077 v8::Handle<v8::FunctionTemplate> objMethodWithArgsArgv[objMethodWithArgsArgc] = { v8::Handle<v8::FunctionTemplate>(), v8::Handle<v8::FunctionTemplate>(), V8PerIsolateData::from(isolate)->rawTemplate(&V8TestObj::info, worldType) }; 3078 3078 v8::Handle<v8::Signature> objMethodWithArgsSignature = v8::Signature::New(desc, objMethodWithArgsArgc, objMethodWithArgsArgv); 3079 3079 proto->Set(v8::String::NewSymbol("objMethodWithArgs"), v8::FunctionTemplate::New(TestObjV8Internal::objMethodWithArgsMethodCallback, v8Undefined(), objMethodWithArgsSignature)); … … 3081 3081 // Custom Signature 'methodWithSequenceArg' 3082 3082 const int methodWithSequenceArgArgc = 1; 3083 v8::Handle<v8::FunctionTemplate> methodWithSequenceArgArgv[methodWithSequenceArgArgc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8sequence<ScriptProfile>::info ) };3083 v8::Handle<v8::FunctionTemplate> methodWithSequenceArgArgv[methodWithSequenceArgArgc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8sequence<ScriptProfile>::info, worldType) }; 3084 3084 v8::Handle<v8::Signature> methodWithSequenceArgSignature = v8::Signature::New(desc, methodWithSequenceArgArgc, methodWithSequenceArgArgv); 3085 3085 proto->Set(v8::String::NewSymbol("methodWithSequenceArg"), v8::FunctionTemplate::New(TestObjV8Internal::methodWithSequenceArgMethodCallback, v8Undefined(), methodWithSequenceArgSignature)); … … 3087 3087 // Custom Signature 'methodThatRequiresAllArgsAndThrows' 3088 3088 const int methodThatRequiresAllArgsAndThrowsArgc = 2; 3089 v8::Handle<v8::FunctionTemplate> methodThatRequiresAllArgsAndThrowsArgv[methodThatRequiresAllArgsAndThrowsArgc] = { v8::Handle<v8::FunctionTemplate>(), V8PerIsolateData::from(isolate)->rawTemplate(&V8TestObj::info ) };3089 v8::Handle<v8::FunctionTemplate> methodThatRequiresAllArgsAndThrowsArgv[methodThatRequiresAllArgsAndThrowsArgc] = { v8::Handle<v8::FunctionTemplate>(), V8PerIsolateData::from(isolate)->rawTemplate(&V8TestObj::info, worldType) }; 3090 3090 v8::Handle<v8::Signature> methodThatRequiresAllArgsAndThrowsSignature = v8::Signature::New(desc, methodThatRequiresAllArgsAndThrowsArgc, methodThatRequiresAllArgsAndThrowsArgv); 3091 3091 proto->Set(v8::String::NewSymbol("methodThatRequiresAllArgsAndThrows"), v8::FunctionTemplate::New(TestObjV8Internal::methodThatRequiresAllArgsAndThrowsMethodCallback, v8Undefined(), methodThatRequiresAllArgsAndThrowsSignature)); … … 3105 3105 // Custom Signature 'stringArrayFunction' 3106 3106 const int stringArrayFunctionArgc = 1; 3107 v8::Handle<v8::FunctionTemplate> stringArrayFunctionArgv[stringArrayFunctionArgc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8DOMString[]::info ) };3107 v8::Handle<v8::FunctionTemplate> stringArrayFunctionArgv[stringArrayFunctionArgc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8DOMString[]::info, worldType) }; 3108 3108 v8::Handle<v8::Signature> stringArrayFunctionSignature = v8::Signature::New(desc, stringArrayFunctionArgc, stringArrayFunctionArgv); 3109 3109 proto->Set(v8::String::NewSymbol("stringArrayFunction"), v8::FunctionTemplate::New(TestObjV8Internal::stringArrayFunctionMethodCallback, v8Undefined(), stringArrayFunctionSignature)); … … 3111 3111 // Custom Signature 'domStringListFunction' 3112 3112 const int domStringListFunctionArgc = 1; 3113 v8::Handle<v8::FunctionTemplate> domStringListFunctionArgv[domStringListFunctionArgc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8DOMStringList::info ) };3113 v8::Handle<v8::FunctionTemplate> domStringListFunctionArgv[domStringListFunctionArgc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8DOMStringList::info, worldType) }; 3114 3114 v8::Handle<v8::Signature> domStringListFunctionSignature = v8::Signature::New(desc, domStringListFunctionArgc, domStringListFunctionArgv); 3115 3115 proto->Set(v8::String::NewSymbol("domStringListFunction"), v8::FunctionTemplate::New(TestObjV8Internal::domStringListFunctionMethodCallback, v8Undefined(), domStringListFunctionSignature)); … … 3117 3117 // Custom Signature 'convert1' 3118 3118 const int convert1Argc = 1; 3119 v8::Handle<v8::FunctionTemplate> convert1Argv[convert1Argc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8a::info ) };3119 v8::Handle<v8::FunctionTemplate> convert1Argv[convert1Argc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8a::info, worldType) }; 3120 3120 v8::Handle<v8::Signature> convert1Signature = v8::Signature::New(desc, convert1Argc, convert1Argv); 3121 3121 proto->Set(v8::String::NewSymbol("convert1"), v8::FunctionTemplate::New(TestObjV8Internal::convert1MethodCallback, v8Undefined(), convert1Signature)); … … 3123 3123 // Custom Signature 'convert2' 3124 3124 const int convert2Argc = 1; 3125 v8::Handle<v8::FunctionTemplate> convert2Argv[convert2Argc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8b::info ) };3125 v8::Handle<v8::FunctionTemplate> convert2Argv[convert2Argc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8b::info, worldType) }; 3126 3126 v8::Handle<v8::Signature> convert2Signature = v8::Signature::New(desc, convert2Argc, convert2Argv); 3127 3127 proto->Set(v8::String::NewSymbol("convert2"), v8::FunctionTemplate::New(TestObjV8Internal::convert2MethodCallback, v8Undefined(), convert2Signature)); … … 3129 3129 // Custom Signature 'convert4' 3130 3130 const int convert4Argc = 1; 3131 v8::Handle<v8::FunctionTemplate> convert4Argv[convert4Argc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8d::info ) };3131 v8::Handle<v8::FunctionTemplate> convert4Argv[convert4Argc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8d::info, worldType) }; 3132 3132 v8::Handle<v8::Signature> convert4Signature = v8::Signature::New(desc, convert4Argc, convert4Argv); 3133 3133 proto->Set(v8::String::NewSymbol("convert4"), v8::FunctionTemplate::New(TestObjV8Internal::convert4MethodCallback, v8Undefined(), convert4Signature)); … … 3135 3135 // Custom Signature 'convert5' 3136 3136 const int convert5Argc = 1; 3137 v8::Handle<v8::FunctionTemplate> convert5Argv[convert5Argc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8e::info ) };3137 v8::Handle<v8::FunctionTemplate> convert5Argv[convert5Argc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8e::info, worldType) }; 3138 3138 v8::Handle<v8::Signature> convert5Signature = v8::Signature::New(desc, convert5Argc, convert5Argv); 3139 3139 proto->Set(v8::String::NewSymbol("convert5"), v8::FunctionTemplate::New(TestObjV8Internal::convert5MethodCallback, v8Undefined(), convert5Signature)); … … 3141 3141 // Custom Signature 'variadicNodeMethod' 3142 3142 const int variadicNodeMethodArgc = 2; 3143 v8::Handle<v8::FunctionTemplate> variadicNodeMethodArgv[variadicNodeMethodArgc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8Node::info ), V8PerIsolateData::from(isolate)->rawTemplate(&V8Node::info) };3143 v8::Handle<v8::FunctionTemplate> variadicNodeMethodArgv[variadicNodeMethodArgc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8Node::info, worldType), V8PerIsolateData::from(isolate)->rawTemplate(&V8Node::info, worldType) }; 3144 3144 v8::Handle<v8::Signature> variadicNodeMethodSignature = v8::Signature::New(desc, variadicNodeMethodArgc, variadicNodeMethodArgv); 3145 3145 proto->Set(v8::String::NewSymbol("variadicNodeMethod"), v8::FunctionTemplate::New(TestObjV8Internal::variadicNodeMethodMethodCallback, v8Undefined(), variadicNodeMethodSignature)); … … 3154 3154 { 3155 3155 V8PerIsolateData* data = V8PerIsolateData::from(isolate); 3156 V8PerIsolateData::TemplateMap::iterator result = data->templateMap( ).find(&info);3157 if (result != data->templateMap( ).end())3156 V8PerIsolateData::TemplateMap::iterator result = data->templateMap(worldType).find(&info); 3157 if (result != data->templateMap(worldType).end()) 3158 3158 return result->value; 3159 3159 3160 3160 v8::HandleScope handleScope; 3161 3161 v8::Persistent<v8::FunctionTemplate> templ = 3162 ConfigureV8TestObjTemplate(data->rawTemplate(&info ), isolate, worldType);3163 data->templateMap( ).add(&info, templ);3162 ConfigureV8TestObjTemplate(data->rawTemplate(&info, worldType), isolate, worldType); 3163 data->templateMap(worldType).add(&info, templ); 3164 3164 return templ; 3165 3165 } 3166 3166 3167 bool V8TestObj::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate )3168 { 3169 return V8PerIsolateData::from(isolate)->hasInstance(&info, value );3167 bool V8TestObj::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate, WrapperWorldType worldType) 3168 { 3169 return V8PerIsolateData::from(isolate)->hasInstance(&info, value, worldType); 3170 3170 } 3171 3171 -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestObj.h
r145575 r145802 35 35 public: 36 36 static const bool hasDependentLifetime = false; 37 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate* );37 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate*, WrapperWorldType); 38 38 static v8::Persistent<v8::FunctionTemplate> GetTemplate(v8::Isolate*, WrapperWorldType); 39 39 static TestObj* toNative(v8::Handle<v8::Object> object) -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp
r145575 r145802 78 78 static v8::Handle<v8::Value> constructor1(const v8::Arguments& args) 79 79 { 80 V8TRYCATCH(ArrayBuffer*, arrayBuffer, V8ArrayBuffer::HasInstance(args[0], args.GetIsolate() ) ? V8ArrayBuffer::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0);80 V8TRYCATCH(ArrayBuffer*, arrayBuffer, V8ArrayBuffer::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate())) ? V8ArrayBuffer::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 81 81 82 82 RefPtr<TestOverloadedConstructors> impl = TestOverloadedConstructors::create(arrayBuffer); … … 89 89 static v8::Handle<v8::Value> constructor2(const v8::Arguments& args) 90 90 { 91 V8TRYCATCH(ArrayBufferView*, arrayBufferView, V8ArrayBufferView::HasInstance(args[0], args.GetIsolate() ) ? V8ArrayBufferView::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0);91 V8TRYCATCH(ArrayBufferView*, arrayBufferView, V8ArrayBufferView::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate())) ? V8ArrayBufferView::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 92 92 93 93 RefPtr<TestOverloadedConstructors> impl = TestOverloadedConstructors::create(arrayBufferView); … … 100 100 static v8::Handle<v8::Value> constructor3(const v8::Arguments& args) 101 101 { 102 V8TRYCATCH(Blob*, blob, V8Blob::HasInstance(args[0], args.GetIsolate() ) ? V8Blob::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0);102 V8TRYCATCH(Blob*, blob, V8Blob::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate())) ? V8Blob::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); 103 103 104 104 RefPtr<TestOverloadedConstructors> impl = TestOverloadedConstructors::create(blob); … … 122 122 static v8::Handle<v8::Value> constructor(const v8::Arguments& args) 123 123 { 124 if ((args.Length() == 1 && (V8ArrayBuffer::HasInstance(args[0], args.GetIsolate() ))))124 if ((args.Length() == 1 && (V8ArrayBuffer::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate()))))) 125 125 return TestOverloadedConstructorsV8Internal::constructor1(args); 126 if ((args.Length() == 1 && (V8ArrayBufferView::HasInstance(args[0], args.GetIsolate() ))))126 if ((args.Length() == 1 && (V8ArrayBufferView::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate()))))) 127 127 return TestOverloadedConstructorsV8Internal::constructor2(args); 128 if ((args.Length() == 1 && (V8Blob::HasInstance(args[0], args.GetIsolate() ))))128 if ((args.Length() == 1 && (V8Blob::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate()))))) 129 129 return TestOverloadedConstructorsV8Internal::constructor3(args); 130 130 if (args.Length() == 1) … … 168 168 { 169 169 V8PerIsolateData* data = V8PerIsolateData::from(isolate); 170 V8PerIsolateData::TemplateMap::iterator result = data->templateMap( ).find(&info);171 if (result != data->templateMap( ).end())170 V8PerIsolateData::TemplateMap::iterator result = data->templateMap(worldType).find(&info); 171 if (result != data->templateMap(worldType).end()) 172 172 return result->value; 173 173 174 174 v8::HandleScope handleScope; 175 175 v8::Persistent<v8::FunctionTemplate> templ = 176 ConfigureV8TestOverloadedConstructorsTemplate(data->rawTemplate(&info ), isolate, worldType);177 data->templateMap( ).add(&info, templ);176 ConfigureV8TestOverloadedConstructorsTemplate(data->rawTemplate(&info, worldType), isolate, worldType); 177 data->templateMap(worldType).add(&info, templ); 178 178 return templ; 179 179 } 180 180 181 bool V8TestOverloadedConstructors::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate )182 { 183 return V8PerIsolateData::from(isolate)->hasInstance(&info, value );181 bool V8TestOverloadedConstructors::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate, WrapperWorldType worldType) 182 { 183 return V8PerIsolateData::from(isolate)->hasInstance(&info, value, worldType); 184 184 } 185 185 -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestOverloadedConstructors.h
r145575 r145802 35 35 public: 36 36 static const bool hasDependentLifetime = false; 37 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate* );37 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate*, WrapperWorldType); 38 38 static v8::Persistent<v8::FunctionTemplate> GetTemplate(v8::Isolate*, WrapperWorldType); 39 39 static TestOverloadedConstructors* toNative(v8::Handle<v8::Object> object) -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp
r145575 r145802 333 333 { 334 334 V8PerIsolateData* data = V8PerIsolateData::from(isolate); 335 V8PerIsolateData::TemplateMap::iterator result = data->templateMap( ).find(&info);336 if (result != data->templateMap( ).end())335 V8PerIsolateData::TemplateMap::iterator result = data->templateMap(worldType).find(&info); 336 if (result != data->templateMap(worldType).end()) 337 337 return result->value; 338 338 339 339 v8::HandleScope handleScope; 340 340 v8::Persistent<v8::FunctionTemplate> templ = 341 ConfigureV8TestSerializedScriptValueInterfaceTemplate(data->rawTemplate(&info ), isolate, worldType);342 data->templateMap( ).add(&info, templ);341 ConfigureV8TestSerializedScriptValueInterfaceTemplate(data->rawTemplate(&info, worldType), isolate, worldType); 342 data->templateMap(worldType).add(&info, templ); 343 343 return templ; 344 344 } 345 345 346 bool V8TestSerializedScriptValueInterface::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate )347 { 348 return V8PerIsolateData::from(isolate)->hasInstance(&info, value );346 bool V8TestSerializedScriptValueInterface::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate, WrapperWorldType worldType) 347 { 348 return V8PerIsolateData::from(isolate)->hasInstance(&info, value, worldType); 349 349 } 350 350 -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h
r145575 r145802 36 36 public: 37 37 static const bool hasDependentLifetime = false; 38 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate* );38 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate*, WrapperWorldType); 39 39 static v8::Persistent<v8::FunctionTemplate> GetTemplate(v8::Isolate*, WrapperWorldType); 40 40 static TestSerializedScriptValueInterface* toNative(v8::Handle<v8::Object> object) -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestTypedefs.cpp
r145575 r145802 265 265 return v8Undefined(); 266 266 } 267 if (args.Length() > 0 && !isUndefinedOrNull(args[0]) && !V8long[]::HasInstance(args[0], args.GetIsolate() ))267 if (args.Length() > 0 && !isUndefinedOrNull(args[0]) && !V8long[]::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate()))) 268 268 return throwTypeError(0, args.GetIsolate()); 269 269 V8TRYCATCH(Vector<int>, x, toNativeArray<int>(args[0])); … … 552 552 // Custom Signature 'methodWithSequenceArg' 553 553 const int methodWithSequenceArgArgc = 1; 554 v8::Handle<v8::FunctionTemplate> methodWithSequenceArgArgv[methodWithSequenceArgArgc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8sequence<SerializedScriptValue>::info ) };554 v8::Handle<v8::FunctionTemplate> methodWithSequenceArgArgv[methodWithSequenceArgArgc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8sequence<SerializedScriptValue>::info, worldType) }; 555 555 v8::Handle<v8::Signature> methodWithSequenceArgSignature = v8::Signature::New(desc, methodWithSequenceArgArgc, methodWithSequenceArgArgv); 556 556 proto->Set(v8::String::NewSymbol("methodWithSequenceArg"), v8::FunctionTemplate::New(TestTypedefsV8Internal::methodWithSequenceArgMethodCallback, v8Undefined(), methodWithSequenceArgSignature)); … … 558 558 // Custom Signature 'nullableArrayArg' 559 559 const int nullableArrayArgArgc = 1; 560 v8::Handle<v8::FunctionTemplate> nullableArrayArgArgv[nullableArrayArgArgc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8DOMString[]::info ) };560 v8::Handle<v8::FunctionTemplate> nullableArrayArgArgv[nullableArrayArgArgc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8DOMString[]::info, worldType) }; 561 561 v8::Handle<v8::Signature> nullableArrayArgSignature = v8::Signature::New(desc, nullableArrayArgArgc, nullableArrayArgArgv); 562 562 proto->Set(v8::String::NewSymbol("nullableArrayArg"), v8::FunctionTemplate::New(TestTypedefsV8Internal::nullableArrayArgMethodCallback, v8Undefined(), nullableArrayArgSignature)); … … 564 564 // Custom Signature 'stringArrayFunction' 565 565 const int stringArrayFunctionArgc = 1; 566 v8::Handle<v8::FunctionTemplate> stringArrayFunctionArgv[stringArrayFunctionArgc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8DOMString[]::info ) };566 v8::Handle<v8::FunctionTemplate> stringArrayFunctionArgv[stringArrayFunctionArgc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8DOMString[]::info, worldType) }; 567 567 v8::Handle<v8::Signature> stringArrayFunctionSignature = v8::Signature::New(desc, stringArrayFunctionArgc, stringArrayFunctionArgv); 568 568 proto->Set(v8::String::NewSymbol("stringArrayFunction"), v8::FunctionTemplate::New(TestTypedefsV8Internal::stringArrayFunctionMethodCallback, v8Undefined(), stringArrayFunctionSignature)); … … 570 570 // Custom Signature 'stringArrayFunction2' 571 571 const int stringArrayFunction2Argc = 1; 572 v8::Handle<v8::FunctionTemplate> stringArrayFunction2Argv[stringArrayFunction2Argc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8DOMString[]::info ) };572 v8::Handle<v8::FunctionTemplate> stringArrayFunction2Argv[stringArrayFunction2Argc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8DOMString[]::info, worldType) }; 573 573 v8::Handle<v8::Signature> stringArrayFunction2Signature = v8::Signature::New(desc, stringArrayFunction2Argc, stringArrayFunction2Argv); 574 574 proto->Set(v8::String::NewSymbol("stringArrayFunction2"), v8::FunctionTemplate::New(TestTypedefsV8Internal::stringArrayFunction2MethodCallback, v8Undefined(), stringArrayFunction2Signature)); … … 582 582 { 583 583 V8PerIsolateData* data = V8PerIsolateData::from(isolate); 584 V8PerIsolateData::TemplateMap::iterator result = data->templateMap( ).find(&info);585 if (result != data->templateMap( ).end())584 V8PerIsolateData::TemplateMap::iterator result = data->templateMap(worldType).find(&info); 585 if (result != data->templateMap(worldType).end()) 586 586 return result->value; 587 587 588 588 v8::HandleScope handleScope; 589 589 v8::Persistent<v8::FunctionTemplate> templ = 590 ConfigureV8TestTypedefsTemplate(data->rawTemplate(&info ), isolate, worldType);591 data->templateMap( ).add(&info, templ);590 ConfigureV8TestTypedefsTemplate(data->rawTemplate(&info, worldType), isolate, worldType); 591 data->templateMap(worldType).add(&info, templ); 592 592 return templ; 593 593 } 594 594 595 bool V8TestTypedefs::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate )596 { 597 return V8PerIsolateData::from(isolate)->hasInstance(&info, value );595 bool V8TestTypedefs::HasInstance(v8::Handle<v8::Value> value, v8::Isolate* isolate, WrapperWorldType worldType) 596 { 597 return V8PerIsolateData::from(isolate)->hasInstance(&info, value, worldType); 598 598 } 599 599 -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestTypedefs.h
r145575 r145802 35 35 public: 36 36 static const bool hasDependentLifetime = false; 37 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate* );37 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate*, WrapperWorldType); 38 38 static v8::Persistent<v8::FunctionTemplate> GetTemplate(v8::Isolate*, WrapperWorldType); 39 39 static TestTypedefs* toNative(v8::Handle<v8::Object> object) -
trunk/Source/WebCore/bindings/v8/Dictionary.cpp
r145787 r145802 280 280 281 281 value = 0; 282 if (V8Storage::HasInstance(v8Value, m_isolate ))282 if (V8Storage::HasInstance(v8Value, m_isolate, worldType(m_isolate))) 283 283 value = V8Storage::toNative(v8::Handle<v8::Object>::Cast(v8Value)); 284 284 return true; … … 338 338 339 339 value = 0; 340 if (V8Uint8Array::HasInstance(v8Value, m_isolate ))340 if (V8Uint8Array::HasInstance(v8Value, m_isolate, worldType(m_isolate))) 341 341 value = V8Uint8Array::toNative(v8::Handle<v8::Object>::Cast(v8Value)); 342 342 return true; … … 351 351 352 352 value = 0; 353 if (V8MediaKeyError::HasInstance(v8Value, m_isolate ))353 if (V8MediaKeyError::HasInstance(v8Value, m_isolate, worldType(m_isolate))) 354 354 value = V8MediaKeyError::toNative(v8::Handle<v8::Object>::Cast(v8Value)); 355 355 return true; … … 387 387 388 388 value = 0; 389 if (V8SpeechRecognitionError::HasInstance(v8Value, m_isolate ))389 if (V8SpeechRecognitionError::HasInstance(v8Value, m_isolate, worldType(m_isolate))) 390 390 value = V8SpeechRecognitionError::toNative(v8::Handle<v8::Object>::Cast(v8Value)); 391 391 return true; … … 399 399 400 400 value = 0; 401 if (V8SpeechRecognitionResult::HasInstance(v8Value, m_isolate ))401 if (V8SpeechRecognitionResult::HasInstance(v8Value, m_isolate, worldType(m_isolate))) 402 402 value = V8SpeechRecognitionResult::toNative(v8::Handle<v8::Object>::Cast(v8Value)); 403 403 return true; … … 411 411 412 412 value = 0; 413 if (V8SpeechRecognitionResultList::HasInstance(v8Value, m_isolate ))413 if (V8SpeechRecognitionResultList::HasInstance(v8Value, m_isolate, worldType(m_isolate))) 414 414 value = V8SpeechRecognitionResultList::toNative(v8::Handle<v8::Object>::Cast(v8Value)); 415 415 return true; … … 426 426 427 427 value = 0; 428 if (V8MediaStream::HasInstance(v8Value, m_isolate ))428 if (V8MediaStream::HasInstance(v8Value, m_isolate, worldType(m_isolate))) 429 429 value = V8MediaStream::toNative(v8::Handle<v8::Object>::Cast(v8Value)); 430 430 return true; -
trunk/Source/WebCore/bindings/v8/ScriptProfiler.cpp
r141946 r145802 236 236 return; 237 237 UNUSED_PARAM(m_isolate); 238 ASSERT(V8Node::HasInstance(value, m_isolate ));238 ASSERT(V8Node::HasInstance(value, m_isolate, worldType(m_isolate))); 239 239 ASSERT(value->IsObject()); 240 240 v8::Persistent<v8::Object> wrapper = v8::Persistent<v8::Object>::Cast(value); -
trunk/Source/WebCore/bindings/v8/SerializedScriptValue.cpp
r141816 r145802 1252 1252 uint32_t objectReference; 1253 1253 uint32_t arrayBufferIndex; 1254 WrapperWorldType currentWorldType = worldType(m_isolate); 1254 1255 if ((value->IsObject() || value->IsDate() || value->IsRegExp()) 1255 1256 && m_objectPool.tryGet(value.As<v8::Object>(), &objectReference)) { … … 1274 1275 else if (value->IsNumber()) 1275 1276 m_writer.writeNumber(value.As<v8::Number>()->Value()); 1276 else if (V8ArrayBufferView::HasInstance(value, m_isolate ))1277 else if (V8ArrayBufferView::HasInstance(value, m_isolate, currentWorldType)) 1277 1278 return writeAndGreyArrayBufferView(value.As<v8::Object>(), next); 1278 1279 else if (value->IsString()) 1279 1280 writeString(value); 1280 else if (V8MessagePort::HasInstance(value, m_isolate )) {1281 else if (V8MessagePort::HasInstance(value, m_isolate, currentWorldType)) { 1281 1282 uint32_t messagePortIndex; 1282 1283 if (m_transferredMessagePorts.tryGet(value.As<v8::Object>(), &messagePortIndex)) … … 1284 1285 else 1285 1286 return handleError(DataCloneError, next); 1286 } else if (V8ArrayBuffer::HasInstance(value, m_isolate ) && m_transferredArrayBuffers.tryGet(value.As<v8::Object>(), &arrayBufferIndex))1287 } else if (V8ArrayBuffer::HasInstance(value, m_isolate, currentWorldType) && m_transferredArrayBuffers.tryGet(value.As<v8::Object>(), &arrayBufferIndex)) 1287 1288 return writeTransferredArrayBuffer(value, arrayBufferIndex, next); 1288 1289 else { … … 1301 1302 else if (value->IsArray()) { 1302 1303 return startArrayState(value.As<v8::Array>(), next); 1303 } else if (V8File::HasInstance(value, m_isolate ))1304 } else if (V8File::HasInstance(value, m_isolate, currentWorldType)) 1304 1305 writeFile(value); 1305 else if (V8Blob::HasInstance(value, m_isolate ))1306 else if (V8Blob::HasInstance(value, m_isolate, currentWorldType)) 1306 1307 writeBlob(value); 1307 1308 #if ENABLE(FILE_SYSTEM) 1308 else if (V8DOMFileSystem::HasInstance(value, m_isolate ))1309 else if (V8DOMFileSystem::HasInstance(value, m_isolate, currentWorldType)) 1309 1310 return writeDOMFileSystem(value, next); 1310 1311 #endif 1311 else if (V8FileList::HasInstance(value, m_isolate ))1312 else if (V8FileList::HasInstance(value, m_isolate, currentWorldType)) 1312 1313 writeFileList(value); 1313 else if (V8ImageData::HasInstance(value, m_isolate ))1314 else if (V8ImageData::HasInstance(value, m_isolate, currentWorldType)) 1314 1315 writeImageData(value); 1315 1316 else if (value->IsRegExp()) 1316 1317 writeRegExp(value); 1317 else if (V8ArrayBuffer::HasInstance(value, m_isolate ))1318 else if (V8ArrayBuffer::HasInstance(value, m_isolate, currentWorldType)) 1318 1319 return writeArrayBuffer(value, next); 1319 1320 else if (value->IsObject()) { -
trunk/Source/WebCore/bindings/v8/V8AdaptorFunction.cpp
r145575 r145802 45 45 ASSERT(isolate); 46 46 V8PerIsolateData* data = V8PerIsolateData::from(isolate); 47 V8PerIsolateData::TemplateMap::iterator result = data->rawTemplateMap( ).find(&info);48 if (result != data->rawTemplateMap( ).end())47 V8PerIsolateData::TemplateMap::iterator result = data->rawTemplateMap(worldType).find(&info); 48 if (result != data->rawTemplateMap(worldType).end()) 49 49 return result->value; 50 50 // The lifetime is of newTemplate is delegated to the TemplateMap thus this won't be leaked. 51 51 v8::Persistent<v8::FunctionTemplate> newTemplate = v8::Persistent<v8::FunctionTemplate>::New(isolate, v8::FunctionTemplate::New()); 52 data->rawTemplateMap( ).add(&info, configureTemplate(newTemplate));52 data->rawTemplateMap(worldType).add(&info, configureTemplate(newTemplate)); 53 53 return newTemplate; 54 54 } -
trunk/Source/WebCore/bindings/v8/V8Binding.cpp
r145745 r145802 186 186 v8::Local<v8::Value> v8Value(v8::Local<v8::Value>::New(value)); 187 187 188 if (V8DOMStringList::HasInstance(v8Value, isolate )) {188 if (V8DOMStringList::HasInstance(v8Value, isolate, worldType(isolate))) { 189 189 RefPtr<DOMStringList> ret = V8DOMStringList::toNative(v8::Handle<v8::Object>::Cast(v8Value)); 190 190 return ret.release(); … … 206 206 { 207 207 RefPtr<XPathNSResolver> resolver; 208 if (V8XPathNSResolver::HasInstance(value, isolate ))208 if (V8XPathNSResolver::HasInstance(value, isolate, worldType(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
r144617 r145802 276 276 } 277 277 278 WrapperWorldType worldType(v8::Isolate*); 279 WrapperWorldType worldTypeInMainThread(v8::Isolate*); 280 278 281 template<class T> struct NativeValueTraits; 279 282 … … 323 326 v8::Handle<v8::Value> element = array->Get(i); 324 327 325 if (V8T::HasInstance(element, isolate )) {328 if (V8T::HasInstance(element, isolate, worldType(isolate))) { 326 329 v8::Handle<v8::Object> object = v8::Handle<v8::Object>::Cast(element); 327 330 result.append(V8T::toNative(object)); … … 468 471 void crashIfV8IsDead(); 469 472 470 WrapperWorldType worldType(v8::Isolate*);471 WrapperWorldType worldTypeInMainThread(v8::Isolate*);472 473 473 } // namespace WebCore 474 474 -
trunk/Source/WebCore/bindings/v8/V8Collection.cpp
r141721 r145802 48 48 49 49 // Check that the value is an HTMLOptionElement. If not, throw a TYPE_MISMATCH_ERR DOMException. 50 if (!V8HTMLOptionElement::HasInstance(value, isolate )) {50 if (!V8HTMLOptionElement::HasInstance(value, isolate, worldType(isolate))) { 51 51 setDOMException(TYPE_MISMATCH_ERR, isolate); 52 52 return value; -
trunk/Source/WebCore/bindings/v8/V8GCController.cpp
r145575 r145802 304 304 v8::Persistent<v8::Object> wrapper = v8::Persistent<v8::Object>::Cast(value); 305 305 ASSERT(V8DOMWrapper::maybeDOMWrapper(value)); 306 ASSERT(V8Node::HasInstance(wrapper, m_isolate ));306 ASSERT(V8Node::HasInstance(wrapper, m_isolate, MainWorld) || V8Node::HasInstance(wrapper, m_isolate, IsolatedWorld)); 307 307 Node* node = V8Node::toNative(wrapper); 308 308 // A minor DOM GC can handle only node wrappers in the main world. … … 377 377 if (classId == v8DOMNodeClassId) { 378 378 UNUSED_PARAM(m_isolate); 379 ASSERT(V8Node::HasInstance(wrapper, m_isolate ));379 ASSERT(V8Node::HasInstance(wrapper, m_isolate, MainWorld) || V8Node::HasInstance(wrapper, m_isolate, IsolatedWorld)); 380 380 ASSERT(!wrapper.IsIndependent(m_isolate)); 381 381 -
trunk/Source/WebCore/bindings/v8/V8NPObject.cpp
r142250 r145802 70 70 NPObject* npObject; 71 71 72 WrapperWorldType currentWorldType = worldType(args.GetIsolate()); 72 73 // These three types are subtypes of HTMLPlugInElement. 73 if (V8HTMLAppletElement::HasInstance(args.Holder(), args.GetIsolate() ) || V8HTMLEmbedElement::HasInstance(args.Holder(), args.GetIsolate())74 || V8HTMLObjectElement::HasInstance(args.Holder(), args.GetIsolate() )) {74 if (V8HTMLAppletElement::HasInstance(args.Holder(), args.GetIsolate(), currentWorldType) || V8HTMLEmbedElement::HasInstance(args.Holder(), args.GetIsolate(), currentWorldType) 75 || V8HTMLObjectElement::HasInstance(args.Holder(), args.GetIsolate(), currentWorldType)) { 75 76 // The holder object is a subtype of HTMLPlugInElement. 76 77 HTMLPlugInElement* element; 77 if (V8HTMLAppletElement::HasInstance(args.Holder(), args.GetIsolate() ))78 if (V8HTMLAppletElement::HasInstance(args.Holder(), args.GetIsolate(), currentWorldType)) 78 79 element = V8HTMLAppletElement::toNative(args.Holder()); 79 else if (V8HTMLEmbedElement::HasInstance(args.Holder(), args.GetIsolate() ))80 else if (V8HTMLEmbedElement::HasInstance(args.Holder(), args.GetIsolate(), currentWorldType)) 80 81 element = V8HTMLEmbedElement::toNative(args.Holder()); 81 82 else -
trunk/Source/WebCore/bindings/v8/V8PerIsolateData.cpp
r145765 r145802 105 105 { 106 106 MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Binding); 107 info.addMember(m_rawTemplates, "rawTemplates"); 108 info.addMember(m_templates, "templates"); 107 info.addMember(m_rawTemplatesForMainWorld, "rawTemplatesForMainWorld"); 108 info.addMember(m_rawTemplatesForNonMainWorld, "rawTemplatesForNonMainWorld"); 109 info.addMember(m_templatesForMainWorld, "templatesForMainWorld"); 110 info.addMember(m_templatesForNonMainWorld, "templatesForNonMainWorld"); 109 111 info.addMember(m_stringCache, "stringCache"); 110 112 info.addMember(m_integerCache, "integerCache"); … … 123 125 } 124 126 125 bool V8PerIsolateData::hasPrivateTemplate(WrapperWorldType, void* privatePointer) 126 { 127 return m_templates.find(privatePointer) != m_templates.end(); 128 } 129 130 v8::Persistent<v8::FunctionTemplate> V8PerIsolateData::privateTemplate(WrapperWorldType, void* privatePointer, v8::InvocationCallback callback, v8::Handle<v8::Value> data, v8::Handle<v8::Signature> signature, int length) 127 bool V8PerIsolateData::hasPrivateTemplate(WrapperWorldType currentWorldType, void* privatePointer) 128 { 129 if (currentWorldType == MainWorld) 130 return m_templatesForMainWorld.find(privatePointer) != m_templatesForMainWorld.end(); 131 return m_templatesForNonMainWorld.find(privatePointer) != m_templatesForNonMainWorld.end(); 132 } 133 134 v8::Persistent<v8::FunctionTemplate> V8PerIsolateData::privateTemplate(WrapperWorldType currentWorldType, void* privatePointer, v8::InvocationCallback callback, v8::Handle<v8::Value> data, v8::Handle<v8::Signature> signature, int length) 131 135 { 132 136 v8::Persistent<v8::FunctionTemplate> privateTemplate; 133 V8PerIsolateData::TemplateMap::iterator result = m_templates.find(privatePointer); 134 if (result != m_templates.end()) 137 TemplateMap& templates = templateMap(currentWorldType); 138 TemplateMap::iterator result = templates.find(privatePointer); 139 if (result != templates.end()) 135 140 return result->value; 136 141 v8::Persistent<v8::FunctionTemplate> newPrivateTemplate = v8::Persistent<v8::FunctionTemplate>::New(m_isolate, v8::FunctionTemplate::New(callback, data, signature, length)); 137 m_templates.add(privatePointer, newPrivateTemplate);142 templates.add(privatePointer, newPrivateTemplate); 138 143 return newPrivateTemplate; 139 144 } 140 145 141 v8::Persistent<v8::FunctionTemplate> V8PerIsolateData::rawTemplate(WrapperTypeInfo* info) 142 { 143 TemplateMap::iterator result = m_rawTemplates.find(info); 144 if (result != m_rawTemplates.end()) 146 v8::Persistent<v8::FunctionTemplate> V8PerIsolateData::rawTemplate(WrapperTypeInfo* info, WrapperWorldType currentWorldType) 147 { 148 TemplateMap& templates = rawTemplateMap(currentWorldType); 149 TemplateMap::iterator result = templates.find(info); 150 if (result != templates.end()) 145 151 return result->value; 146 152 147 153 v8::HandleScope handleScope; 148 154 v8::Persistent<v8::FunctionTemplate> templ = createRawTemplate(m_isolate); 149 m_rawTemplates.add(info, templ);155 templates.add(info, templ); 150 156 return templ; 151 157 } 152 158 153 bool V8PerIsolateData::hasInstance(WrapperTypeInfo* info, v8::Handle<v8::Value> value) 154 { 155 return rawTemplate(info)->HasInstance(value); 159 bool V8PerIsolateData::hasInstance(WrapperTypeInfo* info, v8::Handle<v8::Value> value, WrapperWorldType currentWorldType) 160 { 161 TemplateMap& templates = rawTemplateMap(currentWorldType); 162 TemplateMap::iterator result = templates.find(info); 163 if (result == templates.end()) 164 return false; 165 return result->value->HasInstance(value); 156 166 } 157 167 -
trunk/Source/WebCore/bindings/v8/V8PerIsolateData.h
r145765 r145802 68 68 typedef HashMap<void*, v8::Persistent<v8::FunctionTemplate> > TemplateMap; 69 69 70 TemplateMap& rawTemplateMap() { return m_rawTemplates; } 71 TemplateMap& templateMap() { return m_templates; } 70 TemplateMap& rawTemplateMap(WrapperWorldType worldType) 71 { 72 if (worldType == MainWorld) 73 return m_rawTemplatesForMainWorld; 74 return m_rawTemplatesForNonMainWorld; 75 } 76 77 TemplateMap& templateMap(WrapperWorldType worldType) 78 { 79 if (worldType == MainWorld) 80 return m_templatesForMainWorld; 81 return m_templatesForNonMainWorld; 82 } 72 83 73 84 v8::Handle<v8::FunctionTemplate> toStringTemplate(); … … 132 143 v8::Persistent<v8::FunctionTemplate> privateTemplate(WrapperWorldType, void* privatePointer, v8::InvocationCallback, v8::Handle<v8::Value> data, v8::Handle<v8::Signature>, int length = 0); 133 144 134 v8::Persistent<v8::FunctionTemplate> rawTemplate(WrapperTypeInfo* );145 v8::Persistent<v8::FunctionTemplate> rawTemplate(WrapperTypeInfo*, WrapperWorldType); 135 146 136 bool hasInstance(WrapperTypeInfo*, v8::Handle<v8::Value> );147 bool hasInstance(WrapperTypeInfo*, v8::Handle<v8::Value>, WrapperWorldType); 137 148 138 149 private: … … 142 153 143 154 v8::Isolate* m_isolate; 144 TemplateMap m_rawTemplates; 145 TemplateMap m_templates; 155 TemplateMap m_rawTemplatesForMainWorld; 156 TemplateMap m_rawTemplatesForNonMainWorld; 157 TemplateMap m_templatesForMainWorld; 158 TemplateMap m_templatesForNonMainWorld; 146 159 ScopedPersistent<v8::FunctionTemplate> m_toStringTemplate; 147 160 v8::Persistent<v8::FunctionTemplate> m_lazyEventListenerToStringTemplate; -
trunk/Source/WebCore/bindings/v8/V8Utilities.cpp
r141946 r145802 91 91 } 92 92 // Validation of Objects implementing an interface, per WebIDL spec 4.1.15. 93 if (V8MessagePort::HasInstance(transferrable, isolate )) {93 if (V8MessagePort::HasInstance(transferrable, isolate, worldType(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, isolate ))101 } else if (V8ArrayBuffer::HasInstance(transferrable, isolate, worldType(isolate))) 102 102 arrayBuffers.append(V8ArrayBuffer::toNative(v8::Handle<v8::Object>::Cast(transferrable))); 103 103 else { -
trunk/Source/WebCore/bindings/v8/custom/V8ArrayBufferViewCustom.h
r142159 r145802 139 139 140 140 // See whether the first argument is a ArrayBuffer. 141 if (V8ArrayBuffer::HasInstance(args[0], args.GetIsolate() ))141 if (V8ArrayBuffer::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate()))) 142 142 return constructWebGLArrayWithArrayBufferArgument<ArrayClass, ElementType>(args, type, arrayType, true); 143 143 144 144 // See whether the first argument is the same type as impl. In that case, 145 145 // we can simply memcpy data from source to impl. 146 if (JavaScriptWrapperArrayType::HasInstance(args[0], args.GetIsolate() )) {146 if (JavaScriptWrapperArrayType::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate()))) { 147 147 ArrayClass* source = JavaScriptWrapperArrayType::toNative(args[0]->ToObject()); 148 148 uint32_t length = source->length(); … … 237 237 CPlusPlusArrayType* impl = JavaScriptWrapperArrayType::toNative(args.Holder()); 238 238 239 if (JavaScriptWrapperArrayType::HasInstance(args[0], args.GetIsolate() )) {239 if (JavaScriptWrapperArrayType::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate()))) { 240 240 // void set(in WebGL<T>Array array, [Optional] in unsigned long offset); 241 241 CPlusPlusArrayType* src = JavaScriptWrapperArrayType::toNative(args[0]->ToObject()); -
trunk/Source/WebCore/bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp
r142834 r145802 43 43 44 44 AudioBuffer* buffer = 0; 45 if (V8AudioBuffer::HasInstance(value, info.GetIsolate() )) {45 if (V8AudioBuffer::HasInstance(value, info.GetIsolate(), worldType(info.GetIsolate()))) { 46 46 buffer = V8AudioBuffer::toNative(value->ToObject()); 47 47 if (buffer && !imp->setBuffer(buffer)) { -
trunk/Source/WebCore/bindings/v8/custom/V8BlobCustom.cpp
r143851 r145802 98 98 ASSERT(!item.IsEmpty()); 99 99 #if ENABLE(BLOB) 100 if (V8ArrayBuffer::HasInstance(item, args.GetIsolate() )) {100 if (V8ArrayBuffer::HasInstance(item, args.GetIsolate(), worldType(args.GetIsolate()))) { 101 101 ArrayBuffer* arrayBuffer = V8ArrayBuffer::toNative(v8::Handle<v8::Object>::Cast(item)); 102 102 ASSERT(arrayBuffer); 103 103 blobBuilder.append(context, arrayBuffer); 104 } else if (V8ArrayBufferView::HasInstance(item, args.GetIsolate() )) {104 } else if (V8ArrayBufferView::HasInstance(item, args.GetIsolate(), worldType(args.GetIsolate()))) { 105 105 ArrayBufferView* arrayBufferView = V8ArrayBufferView::toNative(v8::Handle<v8::Object>::Cast(item)); 106 106 ASSERT(arrayBufferView); … … 108 108 } else 109 109 #endif 110 if (V8Blob::HasInstance(item, args.GetIsolate() )) {110 if (V8Blob::HasInstance(item, args.GetIsolate(), worldType(args.GetIsolate()))) { 111 111 Blob* blob = V8Blob::toNative(v8::Handle<v8::Object>::Cast(item)); 112 112 ASSERT(blob); -
trunk/Source/WebCore/bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp
r142834 r145802 62 62 static PassRefPtr<CanvasStyle> toCanvasStyle(v8::Handle<v8::Value> value, v8::Isolate* isolate) 63 63 { 64 if (V8CanvasGradient::HasInstance(value, isolate ))64 if (V8CanvasGradient::HasInstance(value, isolate, worldType(isolate))) 65 65 return CanvasStyle::createFromGradient(V8CanvasGradient::toNative(v8::Handle<v8::Object>::Cast(value))); 66 66 67 if (V8CanvasPattern::HasInstance(value, isolate ))67 if (V8CanvasPattern::HasInstance(value, isolate, worldType(isolate))) 68 68 return CanvasStyle::createFromPattern(V8CanvasPattern::toNative(v8::Handle<v8::Object>::Cast(value))); 69 69 -
trunk/Source/WebCore/bindings/v8/custom/V8ClipboardCustom.cpp
r143850 r145802 92 92 93 93 Node* node = 0; 94 if (V8Node::HasInstance(args[0], args.GetIsolate() ))94 if (V8Node::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate()))) 95 95 node = V8Node::toNative(v8::Handle<v8::Object>::Cast(args[0])); 96 96 -
trunk/Source/WebCore/bindings/v8/custom/V8CryptoCustom.cpp
r143850 r145802 42 42 43 43 v8::Handle<v8::Value> buffer = args[0]; 44 if (!V8ArrayBufferView::HasInstance(buffer, args.GetIsolate() ))44 if (!V8ArrayBufferView::HasInstance(buffer, args.GetIsolate(), worldType(args.GetIsolate()))) 45 45 return throwTypeError("First argument is not an ArrayBufferView", args.GetIsolate()); 46 46 -
trunk/Source/WebCore/bindings/v8/custom/V8DOMFormDataCustom.cpp
r143851 r145802 43 43 { 44 44 HTMLFormElement* form = 0; 45 if (args.Length() > 0 && V8HTMLFormElement::HasInstance(args[0], args.GetIsolate() ))45 if (args.Length() > 0 && V8HTMLFormElement::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate()))) 46 46 form = V8HTMLFormElement::toNative(args[0]->ToObject()); 47 47 RefPtr<DOMFormData> domFormData = DOMFormData::create(form); … … 62 62 63 63 v8::Handle<v8::Value> arg = args[1]; 64 if (V8Blob::HasInstance(arg, args.GetIsolate() )) {64 if (V8Blob::HasInstance(arg, args.GetIsolate(), worldType(args.GetIsolate()))) { 65 65 v8::Handle<v8::Object> object = v8::Handle<v8::Object>::Cast(arg); 66 66 Blob* blob = V8Blob::toNative(object); -
trunk/Source/WebCore/bindings/v8/custom/V8DataViewCustom.cpp
r143851 r145802 43 43 return wrapper; 44 44 } 45 if (args[0]->IsNull() || !V8ArrayBuffer::HasInstance(args[0], args.GetIsolate() ))45 if (args[0]->IsNull() || !V8ArrayBuffer::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate()))) 46 46 return throwTypeError(0, args.GetIsolate()); 47 47 return constructWebGLArrayWithArrayBufferArgument<DataView, char>(args, &info, v8::kExternalByteArray, false); -
trunk/Source/WebCore/bindings/v8/custom/V8DocumentCustom.cpp
r145745 r145802 71 71 String expression = toWebCoreString(args[0]); 72 72 RefPtr<Node> contextNode; 73 if (V8Node::HasInstance(args[1], args.GetIsolate() ))73 if (V8Node::HasInstance(args[1], args.GetIsolate(), worldType(args.GetIsolate()))) 74 74 contextNode = V8Node::toNative(v8::Handle<v8::Object>::Cast(args[1])); 75 75 … … 80 80 int type = toInt32(args[3]); 81 81 RefPtr<XPathResult> inResult; 82 if (V8XPathResult::HasInstance(args[4], args.GetIsolate() ))82 if (V8XPathResult::HasInstance(args[4], args.GetIsolate(), worldType(args.GetIsolate()))) 83 83 inResult = V8XPathResult::toNative(v8::Handle<v8::Object>::Cast(args[4])); 84 84 -
trunk/Source/WebCore/bindings/v8/custom/V8HTMLMediaElementCustom.cpp
r142834 r145802 38 38 HTMLMediaElement* imp = V8HTMLMediaElement::toNative(info.Holder()); 39 39 MediaController* controller = 0; 40 if (V8MediaController::HasInstance(value, info.GetIsolate() ))40 if (V8MediaController::HasInstance(value, info.GetIsolate(), worldType(info.GetIsolate()))) 41 41 controller = V8MediaController::toNative(value->ToObject()); 42 42 … … 56 56 57 57 #endif 58 -
trunk/Source/WebCore/bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp
r145444 r145802 92 92 v8::Handle<v8::Value> V8HTMLOptionsCollection::addMethodCustom(const v8::Arguments& args) 93 93 { 94 if (!V8HTMLOptionElement::HasInstance(args[0], args.GetIsolate() ))94 if (!V8HTMLOptionElement::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate()))) 95 95 return setDOMException(TYPE_MISMATCH_ERR, args.GetIsolate()); 96 96 HTMLOptionsCollection* imp = V8HTMLOptionsCollection::toNative(args.Holder()); -
trunk/Source/WebCore/bindings/v8/custom/V8HTMLSelectElementCustom.cpp
r143850 r145802 71 71 v8::Handle<v8::Value> removeElement(HTMLSelectElement* imp, const v8::Arguments& args) 72 72 { 73 if (V8HTMLOptionElement::HasInstance(args[0], args.GetIsolate() )) {73 if (V8HTMLOptionElement::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate()))) { 74 74 HTMLOptionElement* element = V8HTMLOptionElement::toNative(v8::Handle<v8::Object>::Cast(args[0])); 75 75 imp->remove(element->index()); -
trunk/Source/WebCore/bindings/v8/custom/V8InjectedScriptHostCustom.cpp
r144950 r145802 113 113 114 114 v8::HandleScope handleScope; 115 return v8::Boolean::New(V8HTMLAllCollection::HasInstance(args[0], args.GetIsolate() ));115 return v8::Boolean::New(V8HTMLAllCollection::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate()))); 116 116 } 117 117 … … 134 134 if (value->IsRegExp()) 135 135 return v8::String::NewSymbol("regexp"); 136 if (V8Node::HasInstance(value, args.GetIsolate())) 136 WrapperWorldType currentWorldType = worldType(args.GetIsolate()); 137 if (V8Node::HasInstance(value, args.GetIsolate(), currentWorldType)) 137 138 return v8::String::NewSymbol("node"); 138 if (V8NodeList::HasInstance(value, args.GetIsolate() ))139 return v8::String::NewSymbol("array"); 140 if (V8HTMLCollection::HasInstance(value, args.GetIsolate() ))141 return v8::String::NewSymbol("array"); 142 if (V8Int8Array::HasInstance(value, args.GetIsolate() ) || V8Int16Array::HasInstance(value, args.GetIsolate()) || V8Int32Array::HasInstance(value, args.GetIsolate()))143 return v8::String::NewSymbol("array"); 144 if (V8Uint8Array::HasInstance(value, args.GetIsolate() ) || V8Uint16Array::HasInstance(value, args.GetIsolate()) || V8Uint32Array::HasInstance(value, args.GetIsolate()))145 return v8::String::NewSymbol("array"); 146 if (V8Float32Array::HasInstance(value, args.GetIsolate() ) || V8Float64Array::HasInstance(value, args.GetIsolate()))147 return v8::String::NewSymbol("array"); 148 if (V8Uint8ClampedArray::HasInstance(value, args.GetIsolate() ))139 if (V8NodeList::HasInstance(value, args.GetIsolate(), currentWorldType)) 140 return v8::String::NewSymbol("array"); 141 if (V8HTMLCollection::HasInstance(value, args.GetIsolate(), currentWorldType)) 142 return v8::String::NewSymbol("array"); 143 if (V8Int8Array::HasInstance(value, args.GetIsolate(), currentWorldType) || V8Int16Array::HasInstance(value, args.GetIsolate(), currentWorldType) || V8Int32Array::HasInstance(value, args.GetIsolate(), currentWorldType)) 144 return v8::String::NewSymbol("array"); 145 if (V8Uint8Array::HasInstance(value, args.GetIsolate(), currentWorldType) || V8Uint16Array::HasInstance(value, args.GetIsolate(), currentWorldType) || V8Uint32Array::HasInstance(value, args.GetIsolate(), currentWorldType)) 146 return v8::String::NewSymbol("array"); 147 if (V8Float32Array::HasInstance(value, args.GetIsolate(), currentWorldType) || V8Float64Array::HasInstance(value, args.GetIsolate(), currentWorldType)) 148 return v8::String::NewSymbol("array"); 149 if (V8Uint8ClampedArray::HasInstance(value, args.GetIsolate(), currentWorldType)) 149 150 return v8::String::NewSymbol("array"); 150 151 return v8::Undefined(); … … 244 245 245 246 v8::Local<v8::Value> value = args[0]; 246 if (!V8Node::HasInstance(value, args.GetIsolate() ))247 if (!V8Node::HasInstance(value, args.GetIsolate(), worldType(args.GetIsolate()))) 247 248 return v8::Undefined(); 248 249 Node* node = V8Node::toNative(value->ToObject()); -
trunk/Source/WebCore/bindings/v8/custom/V8LocationCustom.cpp
r145575 r145802 144 144 WrapperWorldType currentWorldType = worldType(isolate); 145 145 V8PerIsolateData* data = V8PerIsolateData::from(info.GetIsolate()); 146 v8::Persistent<v8::FunctionTemplate> privateTemplate = data->privateTemplate(currentWorldType, &privateTemplateUniqueKey, V8Location::reloadMethodCustom, v8Undefined(), v8::Signature::New(data->rawTemplate(&V8Location::info )));146 v8::Persistent<v8::FunctionTemplate> privateTemplate = data->privateTemplate(currentWorldType, &privateTemplateUniqueKey, V8Location::reloadMethodCustom, v8Undefined(), v8::Signature::New(data->rawTemplate(&V8Location::info, currentWorldType))); 147 147 148 148 v8::Handle<v8::Object> holder = info.This()->FindInstanceInPrototypeChain(V8Location::GetTemplate(isolate, currentWorldType)); … … 155 155 if (!BindingSecurity::shouldAllowAccessToFrame(BindingState::instance(), imp->frame(), DoNotReportSecurityError)) { 156 156 static const char* sharedTemplateUniqueKey = "reloadSharedTemplate"; 157 v8::Persistent<v8::FunctionTemplate> sharedTemplate = data->privateTemplate(currentWorldType, &sharedTemplateUniqueKey, V8Location::reloadMethodCustom, v8Undefined(), v8::Signature::New(data->rawTemplate(&V8Location::info )));157 v8::Persistent<v8::FunctionTemplate> sharedTemplate = data->privateTemplate(currentWorldType, &sharedTemplateUniqueKey, V8Location::reloadMethodCustom, v8Undefined(), v8::Signature::New(data->rawTemplate(&V8Location::info, currentWorldType))); 158 158 return sharedTemplate->GetFunction(); 159 159 } … … 168 168 WrapperWorldType currentWorldType = worldType(info.GetIsolate()); 169 169 V8PerIsolateData* data = V8PerIsolateData::from(info.GetIsolate()); 170 v8::Persistent<v8::FunctionTemplate> privateTemplate = V8PerIsolateData::from(isolate)->privateTemplate(currentWorldType, &privateTemplateUniqueKey, V8Location::replaceMethodCustom, v8Undefined(), v8::Signature::New(data->rawTemplate(&V8Location::info )));170 v8::Persistent<v8::FunctionTemplate> privateTemplate = V8PerIsolateData::from(isolate)->privateTemplate(currentWorldType, &privateTemplateUniqueKey, V8Location::replaceMethodCustom, v8Undefined(), v8::Signature::New(data->rawTemplate(&V8Location::info, currentWorldType))); 171 171 172 172 v8::Handle<v8::Object> holder = info.This()->FindInstanceInPrototypeChain(V8Location::GetTemplate(isolate, currentWorldType)); … … 179 179 if (!BindingSecurity::shouldAllowAccessToFrame(BindingState::instance(), imp->frame(), DoNotReportSecurityError)) { 180 180 static const char* sharedTemplateUniqueKey = "replaceSharedTemplate"; 181 v8::Persistent<v8::FunctionTemplate> sharedTemplate = V8PerIsolateData::from(info.GetIsolate())->privateTemplate(currentWorldType, &sharedTemplateUniqueKey, V8Location::replaceMethodCustom, v8Undefined(), v8::Signature::New(data->rawTemplate(&V8Location::info )));181 v8::Persistent<v8::FunctionTemplate> sharedTemplate = V8PerIsolateData::from(info.GetIsolate())->privateTemplate(currentWorldType, &sharedTemplateUniqueKey, V8Location::replaceMethodCustom, v8Undefined(), v8::Signature::New(data->rawTemplate(&V8Location::info, currentWorldType))); 182 182 return sharedTemplate->GetFunction(); 183 183 } … … 192 192 WrapperWorldType currentWorldType = worldType(info.GetIsolate()); 193 193 V8PerIsolateData* data = V8PerIsolateData::from(info.GetIsolate()); 194 v8::Persistent<v8::FunctionTemplate> privateTemplate = data->privateTemplate(currentWorldType, &privateTemplateUniqueKey, V8Location::assignMethodCustom, v8Undefined(), v8::Signature::New(data->rawTemplate(&V8Location::info )));194 v8::Persistent<v8::FunctionTemplate> privateTemplate = data->privateTemplate(currentWorldType, &privateTemplateUniqueKey, V8Location::assignMethodCustom, v8Undefined(), v8::Signature::New(data->rawTemplate(&V8Location::info, currentWorldType))); 195 195 196 196 v8::Handle<v8::Object> holder = info.This()->FindInstanceInPrototypeChain(V8Location::GetTemplate(isolate, currentWorldType)); … … 203 203 if (!BindingSecurity::shouldAllowAccessToFrame(BindingState::instance(), imp->frame(), DoNotReportSecurityError)) { 204 204 static const char* sharedTemplateUniqueKey = "assignSharedTemplate"; 205 v8::Persistent<v8::FunctionTemplate> sharedTemplate = data->privateTemplate(currentWorldType, &sharedTemplateUniqueKey, V8Location::assignMethodCustom, v8Undefined(), v8::Signature::New(data->rawTemplate(&V8Location::info )));205 v8::Persistent<v8::FunctionTemplate> sharedTemplate = data->privateTemplate(currentWorldType, &sharedTemplateUniqueKey, V8Location::assignMethodCustom, v8Undefined(), v8::Signature::New(data->rawTemplate(&V8Location::info, currentWorldType))); 206 206 return sharedTemplate->GetFunction(); 207 207 } -
trunk/Source/WebCore/bindings/v8/custom/V8NodeCustom.cpp
r145745 r145802 67 67 Node* imp = V8Node::toNative(holder); 68 68 ExceptionCode ec = 0; 69 Node* newChild = V8Node::HasInstance(args[0], args.GetIsolate() ) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0;70 Node* refChild = V8Node::HasInstance(args[1], args.GetIsolate() ) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(args[1])) : 0;69 Node* newChild = V8Node::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate())) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0; 70 Node* refChild = V8Node::HasInstance(args[1], args.GetIsolate(), worldType(args.GetIsolate())) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(args[1])) : 0; 71 71 bool success = imp->insertBefore(newChild, refChild, ec, AttachLazily); 72 72 if (ec) … … 83 83 Node* imp = V8Node::toNative(holder); 84 84 ExceptionCode ec = 0; 85 Node* newChild = V8Node::HasInstance(args[0], args.GetIsolate() ) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0;86 Node* oldChild = V8Node::HasInstance(args[1], args.GetIsolate() ) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(args[1])) : 0;85 Node* newChild = V8Node::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate())) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0; 86 Node* oldChild = V8Node::HasInstance(args[1], args.GetIsolate(), worldType(args.GetIsolate())) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(args[1])) : 0; 87 87 bool success = imp->replaceChild(newChild, oldChild, ec, AttachLazily); 88 88 if (ec) … … 98 98 Node* imp = V8Node::toNative(holder); 99 99 ExceptionCode ec = 0; 100 Node* oldChild = V8Node::HasInstance(args[0], args.GetIsolate() ) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0;100 Node* oldChild = V8Node::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate())) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0; 101 101 bool success = imp->removeChild(oldChild, ec); 102 102 if (ec) … … 113 113 Node* imp = V8Node::toNative(holder); 114 114 ExceptionCode ec = 0; 115 Node* newChild = V8Node::HasInstance(args[0], args.GetIsolate() ) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0;115 Node* newChild = V8Node::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate())) ? V8Node::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0; 116 116 bool success = imp->appendChild(newChild, ec, AttachLazily); 117 117 if (ec) -
trunk/Source/WebCore/bindings/v8/custom/V8NodeListCustom.cpp
r145575 r145802 62 62 void* V8NodeList::opaqueRootForGC(void* object, v8::Persistent<v8::Object> wrapper, v8::Isolate* isolate) 63 63 { 64 ASSERT(V8NodeList::HasInstance(wrapper, isolate ));64 ASSERT(V8NodeList::HasInstance(wrapper, isolate, MainWorld) || V8NodeList::HasInstance(wrapper, isolate, IsolatedWorld)); 65 65 NodeList* impl = static_cast<NodeList*>(object); 66 66 if (!impl->isLiveNodeList()) -
trunk/Source/WebCore/bindings/v8/custom/V8WebGLRenderingContextCustom.cpp
r144723 r145802 275 275 ok = false; 276 276 WebGLUniformLocation* location = 0; 277 if (V8WebGLUniformLocation::HasInstance(value, isolate )) {277 if (V8WebGLUniformLocation::HasInstance(value, isolate, worldType(isolate))) { 278 278 location = V8WebGLUniformLocation::toNative(value->ToObject()); 279 279 ok = true; … … 293 293 ExceptionCode ec = 0; 294 294 WebGLRenderingContext* context = V8WebGLRenderingContext::toNative(args.Holder()); 295 if (args.Length() > 0 && !isUndefinedOrNull(args[0]) && !V8WebGLProgram::HasInstance(args[0], args.GetIsolate() ))296 return throwTypeError(0, args.GetIsolate()); 297 WebGLProgram* program = V8WebGLProgram::HasInstance(args[0], args.GetIsolate() ) ? V8WebGLProgram::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0;295 if (args.Length() > 0 && !isUndefinedOrNull(args[0]) && !V8WebGLProgram::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate()))) 296 return throwTypeError(0, args.GetIsolate()); 297 WebGLProgram* program = V8WebGLProgram::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate())) ? V8WebGLProgram::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0; 298 298 Vector<RefPtr<WebGLShader> > shaders; 299 299 bool succeed = context->getAttachedShaders(program, shaders, ec); … … 362 362 ExceptionCode ec = 0; 363 363 WebGLRenderingContext* context = V8WebGLRenderingContext::toNative(args.Holder()); 364 if (args.Length() > 0 && !isUndefinedOrNull(args[0]) && !V8WebGLProgram::HasInstance(args[0], args.GetIsolate() ))365 return throwTypeError(0, args.GetIsolate()); 366 WebGLProgram* program = V8WebGLProgram::HasInstance(args[0], args.GetIsolate() ) ? V8WebGLProgram::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0;364 if (args.Length() > 0 && !isUndefinedOrNull(args[0]) && !V8WebGLProgram::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate()))) 365 return throwTypeError(0, args.GetIsolate()); 366 WebGLProgram* program = V8WebGLProgram::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate())) ? V8WebGLProgram::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0; 367 367 unsigned pname = toInt32(args[1]); 368 368 WebGLGetInfo info = context->getProgramParameter(program, pname, ec); … … 384 384 ExceptionCode ec = 0; 385 385 WebGLRenderingContext* context = V8WebGLRenderingContext::toNative(args.Holder()); 386 if (args.Length() > 0 && !isUndefinedOrNull(args[0]) && !V8WebGLShader::HasInstance(args[0], args.GetIsolate() ))387 return throwTypeError(0, args.GetIsolate()); 388 WebGLShader* shader = V8WebGLShader::HasInstance(args[0], args.GetIsolate() ) ? V8WebGLShader::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0;386 if (args.Length() > 0 && !isUndefinedOrNull(args[0]) && !V8WebGLShader::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate()))) 387 return throwTypeError(0, args.GetIsolate()); 388 WebGLShader* shader = V8WebGLShader::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate())) ? V8WebGLShader::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0; 389 389 unsigned pname = toInt32(args[1]); 390 390 WebGLGetInfo info = context->getShaderParameter(shader, pname, ec); … … 419 419 ExceptionCode ec = 0; 420 420 WebGLRenderingContext* context = V8WebGLRenderingContext::toNative(args.Holder()); 421 if (args.Length() > 0 && !isUndefinedOrNull(args[0]) && !V8WebGLProgram::HasInstance(args[0], args.GetIsolate() ))422 return throwTypeError(0, args.GetIsolate()); 423 WebGLProgram* program = V8WebGLProgram::HasInstance(args[0], args.GetIsolate() ) ? V8WebGLProgram::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0;424 425 if (args.Length() > 1 && !isUndefinedOrNull(args[1]) && !V8WebGLUniformLocation::HasInstance(args[1], args.GetIsolate() ))421 if (args.Length() > 0 && !isUndefinedOrNull(args[0]) && !V8WebGLProgram::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate()))) 422 return throwTypeError(0, args.GetIsolate()); 423 WebGLProgram* program = V8WebGLProgram::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate())) ? V8WebGLProgram::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0; 424 425 if (args.Length() > 1 && !isUndefinedOrNull(args[1]) && !V8WebGLUniformLocation::HasInstance(args[1], args.GetIsolate(), worldType(args.GetIsolate()))) 426 426 return throwTypeError(0, args.GetIsolate()); 427 427 bool ok = false; … … 488 488 index = toInt32(args[0]); 489 489 else { 490 if (args.Length() > 0 && !isUndefinedOrNull(args[0]) && !V8WebGLUniformLocation::HasInstance(args[0], args.GetIsolate() ))490 if (args.Length() > 0 && !isUndefinedOrNull(args[0]) && !V8WebGLUniformLocation::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate()))) 491 491 return throwTypeError(0, args.GetIsolate()); 492 492 location = toWebGLUniformLocation(args[0], ok, args.GetIsolate()); … … 495 495 WebGLRenderingContext* context = V8WebGLRenderingContext::toNative(args.Holder()); 496 496 497 if (V8Float32Array::HasInstance(args[1], args.GetIsolate() )) {497 if (V8Float32Array::HasInstance(args[1], args.GetIsolate(), worldType(args.GetIsolate()))) { 498 498 Float32Array* array = V8Float32Array::toNative(args[1]->ToObject()); 499 499 ASSERT(array != NULL); … … 559 559 560 560 WebGLRenderingContext* context = V8WebGLRenderingContext::toNative(args.Holder()); 561 if (args.Length() > 0 && !isUndefinedOrNull(args[0]) && !V8WebGLUniformLocation::HasInstance(args[0], args.GetIsolate() ))561 if (args.Length() > 0 && !isUndefinedOrNull(args[0]) && !V8WebGLUniformLocation::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate()))) 562 562 return throwTypeError(0, args.GetIsolate()); 563 563 bool ok = false; 564 564 WebGLUniformLocation* location = toWebGLUniformLocation(args[0], ok, args.GetIsolate()); 565 565 566 if (V8Int32Array::HasInstance(args[1], args.GetIsolate() )) {566 if (V8Int32Array::HasInstance(args[1], args.GetIsolate(), worldType(args.GetIsolate()))) { 567 567 Int32Array* array = V8Int32Array::toNative(args[1]->ToObject()); 568 568 ASSERT(array != NULL); … … 661 661 WebGLRenderingContext* context = V8WebGLRenderingContext::toNative(args.Holder()); 662 662 663 if (args.Length() > 0 && !isUndefinedOrNull(args[0]) && !V8WebGLUniformLocation::HasInstance(args[0], args.GetIsolate() ))663 if (args.Length() > 0 && !isUndefinedOrNull(args[0]) && !V8WebGLUniformLocation::HasInstance(args[0], args.GetIsolate(), worldType(args.GetIsolate()))) 664 664 return throwTypeError(0, args.GetIsolate()); 665 665 bool ok = false; … … 667 667 668 668 bool transpose = args[1]->BooleanValue(); 669 if (V8Float32Array::HasInstance(args[2], args.GetIsolate() )) {669 if (V8Float32Array::HasInstance(args[2], args.GetIsolate(), worldType(args.GetIsolate()))) { 670 670 Float32Array* array = V8Float32Array::toNative(args[2]->ToObject()); 671 671 ASSERT(array != NULL); -
trunk/Source/WebCore/bindings/v8/custom/V8XMLHttpRequestCustom.cpp
r144587 r145802 159 159 } 160 160 161 static bool isDocumentType(v8::Handle<v8::Value> value, v8::Isolate* isolate )161 static bool isDocumentType(v8::Handle<v8::Value> value, v8::Isolate* isolate, WrapperWorldType currentWorldType) 162 162 { 163 163 // FIXME: add other document types. 164 return V8Document::HasInstance(value, isolate ) || V8HTMLDocument::HasInstance(value, isolate);164 return V8Document::HasInstance(value, isolate, currentWorldType) || V8HTMLDocument::HasInstance(value, isolate, currentWorldType); 165 165 } 166 166 … … 176 176 else { 177 177 v8::Handle<v8::Value> arg = args[0]; 178 WrapperWorldType currentWorldType = worldType(args.GetIsolate()); 178 179 if (isUndefinedOrNull(arg)) 179 180 xmlHttpRequest->send(ec); 180 else if (isDocumentType(arg, args.GetIsolate() )) {181 else if (isDocumentType(arg, args.GetIsolate(), currentWorldType)) { 181 182 v8::Handle<v8::Object> object = v8::Handle<v8::Object>::Cast(arg); 182 183 Document* document = V8Document::toNative(object); 183 184 ASSERT(document); 184 185 xmlHttpRequest->send(document, ec); 185 } else if (V8Blob::HasInstance(arg, args.GetIsolate() )) {186 } else if (V8Blob::HasInstance(arg, args.GetIsolate(), currentWorldType)) { 186 187 v8::Handle<v8::Object> object = v8::Handle<v8::Object>::Cast(arg); 187 188 Blob* blob = V8Blob::toNative(object); 188 189 ASSERT(blob); 189 190 xmlHttpRequest->send(blob, ec); 190 } else if (V8DOMFormData::HasInstance(arg, args.GetIsolate() )) {191 } else if (V8DOMFormData::HasInstance(arg, args.GetIsolate(), currentWorldType)) { 191 192 v8::Handle<v8::Object> object = v8::Handle<v8::Object>::Cast(arg); 192 193 DOMFormData* domFormData = V8DOMFormData::toNative(object); … … 194 195 xmlHttpRequest->send(domFormData, ec); 195 196 #if ENABLE(WEBGL) || ENABLE(BLOB) 196 } else if (V8ArrayBuffer::HasInstance(arg, args.GetIsolate() )) {197 } else if (V8ArrayBuffer::HasInstance(arg, args.GetIsolate(), currentWorldType)) { 197 198 v8::Handle<v8::Object> object = v8::Handle<v8::Object>::Cast(arg); 198 199 ArrayBuffer* arrayBuffer = V8ArrayBuffer::toNative(object); 199 200 ASSERT(arrayBuffer); 200 201 xmlHttpRequest->send(arrayBuffer, ec); 201 } else if (V8ArrayBufferView::HasInstance(arg, args.GetIsolate() )) {202 } else if (V8ArrayBufferView::HasInstance(arg, args.GetIsolate(), currentWorldType)) { 202 203 v8::Handle<v8::Object> object = v8::Handle<v8::Object>::Cast(arg); 203 204 ArrayBufferView* arrayBufferView = V8ArrayBufferView::toNative(object); -
trunk/Source/WebKit/chromium/ChangeLog
r145784 r145802 1 2013-03-14 Marja Hölttä <marja@chromium.org> 2 3 [V8] Store main world and non-main world templates separately. 4 https://bugs.webkit.org/show_bug.cgi?id=111724 5 6 Reviewed by Jochen Eisinger. 7 8 This is needed for generating specialized bindings for the main 9 world (bug 110874). 10 11 * src/WebArrayBuffer.cpp: 12 (WebKit::WebArrayBuffer::createFromV8Value): 13 * src/WebArrayBufferView.cpp: 14 (WebKit::WebArrayBufferView::createFromV8Value): 15 * src/WebBindings.cpp: 16 (WebKit::getRangeImpl): 17 (WebKit::getNodeImpl): 18 (WebKit::getElementImpl): 19 (WebKit::getArrayBufferImpl): 20 (WebKit::getArrayBufferViewImpl): 21 1 22 2013-03-13 Rik Cabanier <cabanier@adobe.com> 2 23 -
trunk/Source/WebKit/chromium/src/WebArrayBuffer.cpp
r145589 r145802 79 79 WebArrayBuffer* WebArrayBuffer::createFromV8Value(v8::Handle<v8::Value> value) 80 80 { 81 if (!V8ArrayBuffer::HasInstance(value, v8::Isolate::GetCurrent() ))81 if (!V8ArrayBuffer::HasInstance(value, v8::Isolate::GetCurrent(), WebCore::MainWorld) && !V8ArrayBuffer::HasInstance(value, v8::Isolate::GetCurrent(), WebCore::IsolatedWorld) && !V8ArrayBuffer::HasInstance(value, v8::Isolate::GetCurrent(), WebCore::WorkerWorld)) 82 82 return 0; 83 83 WTF::ArrayBuffer* buffer = V8ArrayBuffer::toNative(value->ToObject()); -
trunk/Source/WebKit/chromium/src/WebArrayBufferView.cpp
r145589 r145802 64 64 WebArrayBufferView* WebArrayBufferView::createFromV8Value(v8::Handle<v8::Value> value) 65 65 { 66 if (!WebCore::V8ArrayBufferView::HasInstance(value, v8::Isolate::GetCurrent() ))66 if (!WebCore::V8ArrayBufferView::HasInstance(value, v8::Isolate::GetCurrent(), WebCore::MainWorld) && !WebCore::V8ArrayBufferView::HasInstance(value, v8::Isolate::GetCurrent(), WebCore::IsolatedWorld) && !WebCore::V8ArrayBufferView::HasInstance(value, v8::Isolate::GetCurrent(), WebCore::WorkerWorld)) 67 67 return 0; 68 68 ArrayBufferView* view = WebCore::V8ArrayBufferView::toNative(value->ToObject()); -
trunk/Source/WebKit/chromium/src/WebBindings.cpp
r145589 r145802 215 215 return false; 216 216 217 Range* native = V8Range::HasInstance(v8Object, isolate ) ? V8Range::toNative(v8Object) : 0;217 Range* native = V8Range::HasInstance(v8Object, isolate, worldType(isolate)) ? V8Range::toNative(v8Object) : 0; 218 218 if (!native) 219 219 return false; … … 230 230 V8NPObject* v8NPObject = reinterpret_cast<V8NPObject*>(object); 231 231 v8::Handle<v8::Object> v8Object(v8NPObject->v8Object); 232 Node* native = V8Node::HasInstance(v8Object, isolate ) ? V8Node::toNative(v8Object) : 0;232 Node* native = V8Node::HasInstance(v8Object, isolate, worldType(isolate)) ? V8Node::toNative(v8Object) : 0; 233 233 if (!native) 234 234 return false; … … 245 245 V8NPObject* v8NPObject = reinterpret_cast<V8NPObject*>(object); 246 246 v8::Handle<v8::Object> v8Object(v8NPObject->v8Object); 247 Element* native = V8Element::HasInstance(v8Object, isolate ) ? V8Element::toNative(v8Object) : 0;247 Element* native = V8Element::HasInstance(v8Object, isolate, worldType(isolate)) ? V8Element::toNative(v8Object) : 0; 248 248 if (!native) 249 249 return false; … … 260 260 V8NPObject* v8NPObject = reinterpret_cast<V8NPObject*>(object); 261 261 v8::Handle<v8::Object> v8Object(v8NPObject->v8Object); 262 ArrayBuffer* native = V8ArrayBuffer::HasInstance(v8Object, isolate ) ? V8ArrayBuffer::toNative(v8Object) : 0;262 ArrayBuffer* native = V8ArrayBuffer::HasInstance(v8Object, isolate, worldType(isolate)) ? V8ArrayBuffer::toNative(v8Object) : 0; 263 263 if (!native) 264 264 return false; … … 275 275 V8NPObject* v8NPObject = reinterpret_cast<V8NPObject*>(object); 276 276 v8::Handle<v8::Object> v8Object(v8NPObject->v8Object); 277 ArrayBufferView* native = V8ArrayBufferView::HasInstance(v8Object, isolate ) ? V8ArrayBufferView::toNative(v8Object) : 0;277 ArrayBufferView* native = V8ArrayBufferView::HasInstance(v8Object, isolate, worldType(isolate)) ? V8ArrayBufferView::toNative(v8Object) : 0; 278 278 if (!native) 279 279 return false;
Note: See TracChangeset
for help on using the changeset viewer.