| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. | 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. |
| 6 * Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org) | 6 * Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org) |
| 7 * (C) 2007, 2008 Nikolas Zimmermann <zimmermann@kde.org> | 7 * (C) 2007, 2008 Nikolas Zimmermann <zimmermann@kde.org> |
| 8 * | 8 * |
| 9 * Redistribution and use in source and binary forms, with or without | 9 * Redistribution and use in source and binary forms, with or without |
| 10 * modification, are permitted provided that the following conditions | 10 * modification, are permitted provided that the following conditions |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 void setOn##attribute(PassRefPtr<EventListener> listener, DOMWrapperWorld* i
solatedWorld = 0) { setAttributeEventListener(EventTypeNames::attribute, listene
r, isolatedWorld); } \ | 163 void setOn##attribute(PassRefPtr<EventListener> listener, DOMWrapperWorld* i
solatedWorld = 0) { setAttributeEventListener(EventTypeNames::attribute, listene
r, isolatedWorld); } \ |
| 164 | 164 |
| 165 #define DEFINE_STATIC_ATTRIBUTE_EVENT_LISTENER(attribute) \ | 165 #define DEFINE_STATIC_ATTRIBUTE_EVENT_LISTENER(attribute) \ |
| 166 static EventListener* on##attribute(EventTarget* eventTarget, DOMWrapperWorl
d* isolatedWorld) { return eventTarget->getAttributeEventListener(EventTypeNames
::attribute, isolatedWorld); } \ | 166 static EventListener* on##attribute(EventTarget* eventTarget, DOMWrapperWorl
d* isolatedWorld) { return eventTarget->getAttributeEventListener(EventTypeNames
::attribute, isolatedWorld); } \ |
| 167 static void setOn##attribute(EventTarget* eventTarget, PassRefPtr<EventListe
ner> listener, DOMWrapperWorld* isolatedWorld = 0) { eventTarget->setAttributeEv
entListener(EventTypeNames::attribute, listener, isolatedWorld); } \ | 167 static void setOn##attribute(EventTarget* eventTarget, PassRefPtr<EventListe
ner> listener, DOMWrapperWorld* isolatedWorld = 0) { eventTarget->setAttributeEv
entListener(EventTypeNames::attribute, listener, isolatedWorld); } \ |
| 168 | 168 |
| 169 #define DEFINE_WINDOW_ATTRIBUTE_EVENT_LISTENER(attribute) \ | 169 #define DEFINE_WINDOW_ATTRIBUTE_EVENT_LISTENER(attribute) \ |
| 170 EventListener* on##attribute(DOMWrapperWorld* isolatedWorld) { return docume
nt().getWindowAttributeEventListener(EventTypeNames::attribute, isolatedWorld);
} \ | 170 EventListener* on##attribute(DOMWrapperWorld* isolatedWorld) { return docume
nt().getWindowAttributeEventListener(EventTypeNames::attribute, isolatedWorld);
} \ |
| 171 void setOn##attribute(PassRefPtr<EventListener> listener, DOMWrapperWorld* i
solatedWorld) { document().setWindowAttributeEventListener(EventTypeNames::attri
bute, listener, isolatedWorld); } \ | 171 void setOn##attribute(PassRefPtr<EventListener> listener, DOMWrapperWorld* i
solatedWorld) { document().setWindowAttributeEventListener(EventTypeNames::attri
bute, listener, isolatedWorld); } \ |
| 172 | 172 |
| 173 #define DEFINE_STATIC_WINDOW_ATTRIBUTE_EVENT_LISTENER(attribute) \ |
| 174 static EventListener* on##attribute(EventTarget* eventTarget, DOMWrapperWorl
d* isolatedWorld) { \ |
| 175 if (Node* node = eventTarget->toNode()) \ |
| 176 return node->document().getWindowAttributeEventListener(EventTypeNam
es::attribute, isolatedWorld); \ |
| 177 ASSERT(eventTarget->toDOMWindow()); \ |
| 178 return eventTarget->getAttributeEventListener(EventTypeNames::attribute,
isolatedWorld); \ |
| 179 } \ |
| 180 static void setOn##attribute(EventTarget* eventTarget, PassRefPtr<EventListe
ner> listener, DOMWrapperWorld* isolatedWorld) { \ |
| 181 if (Node* node = eventTarget->toNode()) \ |
| 182 node->document().setWindowAttributeEventListener(EventTypeNames::att
ribute, listener, isolatedWorld); \ |
| 183 else { \ |
| 184 ASSERT(eventTarget->toDOMWindow()); \ |
| 185 eventTarget->setAttributeEventListener(EventTypeNames::attribute, li
stener, isolatedWorld); \ |
| 186 } \ |
| 187 } |
| 188 |
| 173 #define DEFINE_MAPPED_ATTRIBUTE_EVENT_LISTENER(attribute, eventName) \ | 189 #define DEFINE_MAPPED_ATTRIBUTE_EVENT_LISTENER(attribute, eventName) \ |
| 174 EventListener* on##attribute(DOMWrapperWorld* isolatedWorld) { return getAtt
ributeEventListener(EventTypeNames::eventName, isolatedWorld); } \ | 190 EventListener* on##attribute(DOMWrapperWorld* isolatedWorld) { return getAtt
ributeEventListener(EventTypeNames::eventName, isolatedWorld); } \ |
| 175 void setOn##attribute(PassRefPtr<EventListener> listener, DOMWrapperWorld* i
solatedWorld) { setAttributeEventListener(EventTypeNames::eventName, listener, i
solatedWorld); } \ | 191 void setOn##attribute(PassRefPtr<EventListener> listener, DOMWrapperWorld* i
solatedWorld) { setAttributeEventListener(EventTypeNames::eventName, listener, i
solatedWorld); } \ |
| 176 | 192 |
| 177 #define DECLARE_FORWARDING_ATTRIBUTE_EVENT_LISTENER(recipient, attribute) \ | 193 #define DECLARE_FORWARDING_ATTRIBUTE_EVENT_LISTENER(recipient, attribute) \ |
| 178 EventListener* on##attribute(DOMWrapperWorld* isolatedWorld); \ | 194 EventListener* on##attribute(DOMWrapperWorld* isolatedWorld); \ |
| 179 void setOn##attribute(PassRefPtr<EventListener> listener, DOMWrapperWorld* i
solatedWorld); | 195 void setOn##attribute(PassRefPtr<EventListener> listener, DOMWrapperWorld* i
solatedWorld); |
| 180 | 196 |
| 181 #define DEFINE_FORWARDING_ATTRIBUTE_EVENT_LISTENER(type, recipient, attribute) \ | 197 #define DEFINE_FORWARDING_ATTRIBUTE_EVENT_LISTENER(type, recipient, attribute) \ |
| 182 EventListener* type::on##attribute(DOMWrapperWorld* isolatedWorld) { return
recipient ? recipient->getAttributeEventListener(EventTypeNames::attribute, isol
atedWorld) : 0; } \ | 198 EventListener* type::on##attribute(DOMWrapperWorld* isolatedWorld) { return
recipient ? recipient->getAttributeEventListener(EventTypeNames::attribute, isol
atedWorld) : 0; } \ |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 228 virtual void refEventTarget() OVERRIDE FINAL { ref(); } \ | 244 virtual void refEventTarget() OVERRIDE FINAL { ref(); } \ |
| 229 virtual void derefEventTarget() OVERRIDE FINAL { deref(); } \ | 245 virtual void derefEventTarget() OVERRIDE FINAL { deref(); } \ |
| 230 typedef int thisIsHereToForceASemiColonAfterThisEventTargetMacro | 246 typedef int thisIsHereToForceASemiColonAfterThisEventTargetMacro |
| 231 | 247 |
| 232 // Use this macro if your EventTarget subclass is also a subclass of WTF::RefCou
nted. | 248 // Use this macro if your EventTarget subclass is also a subclass of WTF::RefCou
nted. |
| 233 // A ref-counted class that uses a different method of refcounting should use DE
FINE_EVENT_TARGET_REFCOUNTING directly. | 249 // A ref-counted class that uses a different method of refcounting should use DE
FINE_EVENT_TARGET_REFCOUNTING directly. |
| 234 // Both of these macros are meant to be placed just before the "public:" section
of the class declaration. | 250 // Both of these macros are meant to be placed just before the "public:" section
of the class declaration. |
| 235 #define REFCOUNTED_EVENT_TARGET(className) DEFINE_EVENT_TARGET_REFCOUNTING(RefCo
unted<className>) | 251 #define REFCOUNTED_EVENT_TARGET(className) DEFINE_EVENT_TARGET_REFCOUNTING(RefCo
unted<className>) |
| 236 | 252 |
| 237 #endif // EventTarget_h | 253 #endif // EventTarget_h |
| OLD | NEW |