Chromium Code Reviews| Index: Source/core/events/EventListenerMap.h |
| diff --git a/Source/core/events/EventListenerMap.h b/Source/core/events/EventListenerMap.h |
| index 78c46dfaa6b8da895344487cfeaa9f453c668b3b..87c06b9528265a69eb7c3b42fff6403ceffdfe90 100644 |
| --- a/Source/core/events/EventListenerMap.h |
| +++ b/Source/core/events/EventListenerMap.h |
| @@ -90,6 +90,42 @@ private: |
| unsigned m_index; |
| }; |
| +struct EventListenerInfo { |
|
pfeldman
2015/04/10 08:45:11
Extract into a separate class, place under core/in
kozy
2015/04/13 14:26:53
Done.
|
| + EventListenerInfo(EventTarget* eventTarget, const AtomicString& eventType, const EventListenerVector& eventListenerVector) |
| + : eventTarget(eventTarget) |
| + , eventType(eventType) |
| + , eventListenerVector(eventListenerVector) |
| + { |
| + } |
| + |
| + EventTarget* eventTarget; |
| + const AtomicString eventType; |
| + const EventListenerVector eventListenerVector; |
| + |
| + static void getEventListeners(EventTarget*, Vector<EventListenerInfo>& listenersArray, bool includeAncestors); |
| +}; |
| + |
| +class RegisteredEventListenerIterator { |
| + WTF_MAKE_NONCOPYABLE(RegisteredEventListenerIterator); |
| +public: |
| + RegisteredEventListenerIterator(Vector<EventListenerInfo>& listenersArray) |
| + : m_listenersArray(listenersArray) |
| + , m_infoIndex(0) |
| + , m_listenerIndex(0) |
| + , m_isUseCapturePass(true) |
| + { |
| + } |
| + |
| + const RegisteredEventListener* nextRegisteredEventListener(); |
| + const EventListenerInfo& currentEventListenerInfo(); |
| + |
| +private: |
| + Vector<EventListenerInfo>& m_listenersArray; |
| + unsigned m_infoIndex; |
| + unsigned m_listenerIndex; |
| + bool m_isUseCapturePass; |
| +}; |
| + |
| #if !ENABLE(ASSERT) |
| inline void EventListenerMap::assertNoActiveIterators() { } |
| #endif |