static v8::Handle<v8::Value> getTransformToElementCallback(const v8::Arguments& args) { INC_STATS("DOM.SVGEllipseElement.getTransformToElement"); SVGEllipseElement* imp = V8SVGEllipseElement::toNative(args.Holder()); ExceptionCode ec = 0; { EXCEPTION_BLOCK(SVGElement*, element, V8SVGElement::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined)) ? V8SVGElement::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined))) : 0); SVGMatrix result = imp->getTransformToElement(element, ec); if (UNLIKELY(ec)) goto fail; return toV8(WTF::getPtr(SVGPropertyTearOff<SVGMatrix>::create(result))); } fail: V8Proxy::setDOMException(ec); return v8::Handle<v8::Value>(); }
JSValue JSC_HOST_CALL jsSVGEllipseElementPrototypeFunctionGetTransformToElement(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args) { UNUSED_PARAM(args); if (!thisValue.isObject(&JSSVGEllipseElement::s_info)) return throwError(exec, TypeError); JSSVGEllipseElement* castedThisObj = static_cast<JSSVGEllipseElement*>(asObject(thisValue)); SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThisObj->impl()); ExceptionCode ec = 0; SVGElement* element = toSVGElement(args.at(0)); JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp); setDOMException(exec, ec); return result; }