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 |