EncodedJSValue JSC_HOST_CALL jsHTMLObjectElementPrototypeFunctionGetSVGDocument(ExecState* exec) { JSValue thisValue = exec->hostThisValue(); if (!thisValue.inherits(&JSHTMLObjectElement::s_info)) return throwVMTypeError(exec); JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(thisValue)); HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl()); ExceptionCode ec = 0; if (!checkNodeSecurity(exec, imp->getSVGDocument(ec))) return JSValue::encode(jsUndefined()); JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->getSVGDocument(ec))); setDOMException(exec, ec); return JSValue::encode(result); }
static v8::Handle<v8::Value> getSVGDocumentCallback(const v8::Arguments& args) { INC_STATS("DOM.HTMLObjectElement.getSVGDocument"); HTMLObjectElement* imp = V8HTMLObjectElement::toNative(args.Holder()); ExceptionCode ec = 0; { if (!V8BindingSecurity::checkNodeSecurity(V8BindingState::Only(), imp->getSVGDocument(ec))) return v8::Handle<v8::Value>(); RefPtr<SVGDocument> result = imp->getSVGDocument(ec); if (UNLIKELY(ec)) goto fail; return toV8(result.release()); } fail: V8Proxy::setDOMException(ec); return v8::Handle<v8::Value>(); }