v8::Handle<v8::Object> CustomElementHelpers::createUpgradeCandidateWrapper(PassRefPtr<Element> element, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate, const CreateWrapperFunction& createTypeExtensionUpgradeCandidateWrapper) { if (CustomElementRegistry::isCustomTagName(element->localName())) { if (element->isHTMLElement()) return createV8HTMLDirectWrapper(toHTMLElement(element.get()), creationContext, isolate); else if (element->isSVGElement()) return createV8SVGDirectWrapper(toSVGElement(element.get()), creationContext, isolate); else { ASSERT(0); return v8::Handle<v8::Object>(); } } else { // It's a type extension return createTypeExtensionUpgradeCandidateWrapper.invoke(element.get(), creationContext, isolate); } }
v8::Handle<v8::Object> createDirectWrapper<SVGElement>(SVGElement* element, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate) { return createV8SVGDirectWrapper(element, creationContext, isolate); }