diff options
Diffstat (limited to 'WebCore/dom/EventTarget.h')
-rw-r--r-- | WebCore/dom/EventTarget.h | 11 |
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); } \ |