diff options
Diffstat (limited to 'src/3rdparty/webkit/WebCore/dom/RegisteredEventListener.h')
-rw-r--r-- | src/3rdparty/webkit/WebCore/dom/RegisteredEventListener.h | 44 |
1 files changed, 9 insertions, 35 deletions
diff --git a/src/3rdparty/webkit/WebCore/dom/RegisteredEventListener.h b/src/3rdparty/webkit/WebCore/dom/RegisteredEventListener.h index 034f6c3..88d2279 100644 --- a/src/3rdparty/webkit/WebCore/dom/RegisteredEventListener.h +++ b/src/3rdparty/webkit/WebCore/dom/RegisteredEventListener.h @@ -29,47 +29,21 @@ namespace WebCore { - class RegisteredEventListener : public RefCounted<RegisteredEventListener> { - public: - static PassRefPtr<RegisteredEventListener> create(const AtomicString& eventType, PassRefPtr<EventListener> listener, bool useCapture) + struct RegisteredEventListener { + RegisteredEventListener(PassRefPtr<EventListener> listener, bool useCapture) + : listener(listener) + , useCapture(useCapture) { - return adoptRef(new RegisteredEventListener(eventType, listener, useCapture)); } - const AtomicString& eventType() const { return m_eventType; } - EventListener* listener() const { return m_listener.get(); } - bool useCapture() const { return m_useCapture; } - - bool removed() const { return m_removed; } - void setRemoved(bool removed) { m_removed = removed; } - - private: - RegisteredEventListener(const AtomicString& eventType, PassRefPtr<EventListener>, bool useCapture); - - AtomicString m_eventType; - RefPtr<EventListener> m_listener; - bool m_useCapture; - bool m_removed; + RefPtr<EventListener> listener; + bool useCapture; }; - - typedef Vector<RefPtr<RegisteredEventListener> > RegisteredEventListenerVector; - -#if USE(JSC) - inline void markEventListeners(JSC::MarkStack& markStack, const RegisteredEventListenerVector& listeners) - { - for (size_t i = 0; i < listeners.size(); ++i) - listeners[i]->listener()->markJSFunction(markStack); - } - - inline void invalidateEventListeners(const RegisteredEventListenerVector& listeners) + + inline bool operator==(const RegisteredEventListener& a, const RegisteredEventListener& b) { - // For efficiency's sake, we just set the "removed" bit, instead of - // actually removing the event listener. The node that owns these - // listeners is about to be deleted, anyway. - for (size_t i = 0; i < listeners.size(); ++i) - listeners[i]->setRemoved(true); + return *a.listener == *b.listener && a.useCapture == b.useCapture; } -#endif } // namespace WebCore |