JSValue JSSVGPathSegList::initialize(ExecState* exec, const ArgList& args) { ExceptionCode ec = 0; SVGPathSeg* newItem = toSVGPathSeg(args.at(0)); SVGPathSegList* list = impl(); SVGPathSeg* obj = WTF::getPtr(list->initialize(newItem, ec)); SVGElement* context = JSSVGContextCache::svgContextForDOMObject(this); JSValue result = toJS(exec, globalObject(), obj, context); setDOMException(exec, ec); JSSVGContextCache::propagateSVGDOMChange(this, list->associatedAttributeName()); return result; }
static v8::Handle<v8::Value> initializeCallback(const v8::Arguments& args) { INC_STATS("DOM.SVGPathSegList.initialize"); SVGPathSegList* imp = V8SVGPathSegList::toNative(args.Holder()); ExceptionCode ec = 0; { EXCEPTION_BLOCK(SVGPathSeg*, newItem, V8SVGPathSeg::HasInstance(args[0]) ? V8SVGPathSeg::toNative(v8::Handle<v8::Object>::Cast(args[0])) : 0); RefPtr<SVGPathSeg> result = imp->initialize(newItem, ec); if (UNLIKELY(ec)) goto fail; SVGElement* context = V8Proxy::svgContext(imp); V8Proxy::setSVGContext(result.get(), context); context->svgAttributeChanged(imp->associatedAttributeName()); return toV8(result.release()); } fail: V8Proxy::setDOMException(ec); return v8::Handle<v8::Value>(); }