diff options
Diffstat (limited to 'WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp')
-rw-r--r-- | WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp | 38 |
1 files changed, 10 insertions, 28 deletions
diff --git a/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp b/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp index 109308c..49ef5e3 100644 --- a/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp +++ b/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp @@ -42,28 +42,6 @@ using namespace JSC; namespace WebCore { -void JSDOMApplicationCache::markChildren(MarkStack& markStack) -{ - Base::markChildren(markStack); - - markIfNotNull(markStack, m_impl->onchecking()); - markIfNotNull(markStack, m_impl->onerror()); - markIfNotNull(markStack, m_impl->onnoupdate()); - markIfNotNull(markStack, m_impl->ondownloading()); - markIfNotNull(markStack, m_impl->onprogress()); - markIfNotNull(markStack, m_impl->onupdateready()); - markIfNotNull(markStack, m_impl->oncached()); - markIfNotNull(markStack, m_impl->onobsolete()); - - typedef DOMApplicationCache::EventListenersMap EventListenersMap; - typedef DOMApplicationCache::ListenerVector ListenerVector; - EventListenersMap& eventListeners = m_impl->eventListeners(); - for (EventListenersMap::iterator mapIter = eventListeners.begin(); mapIter != eventListeners.end(); ++mapIter) { - for (ListenerVector::iterator vecIter = mapIter->second.begin(); vecIter != mapIter->second.end(); ++vecIter) - (*vecIter)->markJSFunction(markStack); - } -} - #if ENABLE(APPLICATION_CACHE_DYNAMIC_ENTRIES) JSValue JSDOMApplicationCache::hasItem(ExecState* exec, const ArgList& args) @@ -112,10 +90,12 @@ JSValue JSDOMApplicationCache::addEventListener(ExecState* exec, const ArgList& JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(impl()->scriptExecutionContext()); if (!globalObject) return jsUndefined(); - RefPtr<JSEventListener> listener = globalObject->findOrCreateJSEventListener(args.at(1)); - if (!listener) + + JSValue listener = args.at(1); + if (!listener.isObject()) return jsUndefined(); - impl()->addEventListener(args.at(0).toString(exec), listener.release(), args.at(2).toBoolean(exec)); + + impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false), args.at(2).toBoolean(exec)); return jsUndefined(); } @@ -124,10 +104,12 @@ JSValue JSDOMApplicationCache::removeEventListener(ExecState* exec, const ArgLis JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(impl()->scriptExecutionContext()); if (!globalObject) return jsUndefined(); - JSEventListener* listener = globalObject->findJSEventListener(args.at(1)); - if (!listener) + + JSValue listener = args.at(1); + if (!listener.isObject()) return jsUndefined(); - impl()->removeEventListener(args.at(0).toString(exec), listener, args.at(2).toBoolean(exec)); + + impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec)); return jsUndefined(); } |