summaryrefslogtreecommitdiffstats
path: root/WebCore/dom/EventTarget.h
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/dom/EventTarget.h')
-rw-r--r--WebCore/dom/EventTarget.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/WebCore/dom/EventTarget.h b/WebCore/dom/EventTarget.h
index de7c2e0..feff4ae 100644
--- a/WebCore/dom/EventTarget.h
+++ b/WebCore/dom/EventTarget.h
@@ -83,6 +83,7 @@ namespace WebCore {
typedef HashMap<AtomicString, EventListenerVector*> EventListenerMap;
struct EventTargetData : Noncopyable {
+ EventTargetData();
~EventTargetData();
EventListenerMap eventListenerMap;
@@ -177,9 +178,13 @@ namespace WebCore {
EventListener* on##attribute() { return getAttributeEventListener(eventNames().attribute##Event); } \
void setOn##attribute(PassRefPtr<EventListener> listener) { setAttributeEventListener(eventNames().attribute##Event, listener); } \
- #define DEFINE_VIRTUAL_ATTRIBUTE_EVENT_LISTENER(attribute) \
- virtual EventListener* on##attribute() { return getAttributeEventListener(eventNames().attribute##Event); } \
- virtual void setOn##attribute(PassRefPtr<EventListener> listener) { setAttributeEventListener(eventNames().attribute##Event, listener); } \
+ #define DECLARE_VIRTUAL_ATTRIBUTE_EVENT_LISTENER(attribute) \
+ virtual EventListener* on##attribute(); \
+ virtual void setOn##attribute(PassRefPtr<EventListener> listener); \
+
+ #define DEFINE_VIRTUAL_ATTRIBUTE_EVENT_LISTENER(type, attribute) \
+ EventListener* type::on##attribute() { return getAttributeEventListener(eventNames().attribute##Event); } \
+ void type::setOn##attribute(PassRefPtr<EventListener> listener) { setAttributeEventListener(eventNames().attribute##Event, listener); } \
#define DEFINE_WINDOW_ATTRIBUTE_EVENT_LISTENER(attribute) \
EventListener* on##attribute() { return document()->getWindowAttributeEventListener(eventNames().attribute##Event); } \