| 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 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 236 EventTargetData* eventTargetData() final { return &m_eventTargetData; } | 236 EventTargetData* eventTargetData() final { return &m_eventTargetData; } |
| 237 EventTargetData& ensureEventTargetData() final { return m_eventTargetData; } | 237 EventTargetData& ensureEventTargetData() final { return m_eventTargetData; } |
| 238 | 238 |
| 239 private: | 239 private: |
| 240 EventTargetData m_eventTargetData; | 240 EventTargetData m_eventTargetData; |
| 241 }; | 241 }; |
| 242 | 242 |
| 243 // FIXME: These macros should be split into separate DEFINE and DECLARE | 243 // FIXME: These macros should be split into separate DEFINE and DECLARE |
| 244 // macros to avoid causing so many header includes. | 244 // macros to avoid causing so many header includes. |
| 245 #define DEFINE_ATTRIBUTE_EVENT_LISTENER(attribute) \ | 245 #define DEFINE_ATTRIBUTE_EVENT_LISTENER(attribute) \ |
| 246 /* DO NOT SUBMIT - merge conflicts marker */ |
| 247 /* Below we should have |on##|, and |setOn| (not |SetOn##| or |On##|) */ |
| 246 EventListener* on##attribute() { \ | 248 EventListener* on##attribute() { \ |
| 247 return this->getAttributeEventListener(EventTypeNames::attribute); \ | 249 return this->getAttributeEventListener(EventTypeNames::attribute); \ |
| 248 } \ | 250 } \ |
| 249 void setOn##attribute(EventListener* listener) { \ | 251 void setOn##attribute(EventListener* listener) { \ |
| 250 this->setAttributeEventListener(EventTypeNames::attribute, listener); \ | 252 this->setAttributeEventListener(EventTypeNames::attribute, listener); \ |
| 251 } | 253 } |
| 252 | 254 |
| 253 #define DEFINE_STATIC_ATTRIBUTE_EVENT_LISTENER(attribute) \ | 255 #define DEFINE_STATIC_ATTRIBUTE_EVENT_LISTENER(attribute) \ |
| 256 /* DO NOT SUBMIT - merge conflicts marker */ |
| 257 /* Below we should have |on##|, and |setOn| (not |SetOn##| or |On##|) */ |
| 254 static EventListener* on##attribute(EventTarget& eventTarget) { \ | 258 static EventListener* on##attribute(EventTarget& eventTarget) { \ |
| 255 return eventTarget.getAttributeEventListener(EventTypeNames::attribute); \ | 259 return eventTarget.getAttributeEventListener(EventTypeNames::attribute); \ |
| 256 } \ | 260 } \ |
| 257 static void setOn##attribute(EventTarget& eventTarget, \ | 261 static void setOn##attribute(EventTarget& eventTarget, \ |
| 258 EventListener* listener) { \ | 262 EventListener* listener) { \ |
| 259 eventTarget.setAttributeEventListener(EventTypeNames::attribute, \ | 263 eventTarget.setAttributeEventListener(EventTypeNames::attribute, \ |
| 260 listener); \ | 264 listener); \ |
| 261 } | 265 } |
| 262 | 266 |
| 263 #define DEFINE_WINDOW_ATTRIBUTE_EVENT_LISTENER(attribute) \ | 267 #define DEFINE_WINDOW_ATTRIBUTE_EVENT_LISTENER(attribute) \ |
| 268 /* DO NOT SUBMIT - merge conflicts marker */ |
| 269 /* Below we should have |on##|, and |setOn| (not |SetOn##| or |On##|) */ |
| 264 EventListener* on##attribute() { \ | 270 EventListener* on##attribute() { \ |
| 265 return document().getWindowAttributeEventListener( \ | 271 return GetDocument().GetWindowAttributeEventListener( \ |
| 266 EventTypeNames::attribute); \ | 272 EventTypeNames::attribute); \ |
| 267 } \ | 273 } \ |
| 268 void setOn##attribute(EventListener* listener) { \ | 274 void setOn##attribute(EventListener* listener) { \ |
| 269 document().setWindowAttributeEventListener(EventTypeNames::attribute, \ | 275 document().setWindowAttributeEventListener(EventTypeNames::attribute, \ |
| 270 listener); \ | 276 listener); \ |
| 271 } | 277 } |
| 272 | 278 |
| 273 #define DEFINE_STATIC_WINDOW_ATTRIBUTE_EVENT_LISTENER(attribute) \ | 279 #define DEFINE_STATIC_WINDOW_ATTRIBUTE_EVENT_LISTENER(attribute) \ |
| 280 /* DO NOT SUBMIT - merge conflicts marker */ |
| 281 /* Below we should have |on##|, and |setOn| (not |SetOn##| or |On##|) */ |
| 274 static EventListener* on##attribute(EventTarget& eventTarget) { \ | 282 static EventListener* on##attribute(EventTarget& eventTarget) { \ |
| 275 if (Node* node = eventTarget.toNode()) \ | 283 if (Node* node = eventTarget.toNode()) \ |
| 276 return node->document().getWindowAttributeEventListener( \ | 284 return node->document().getWindowAttributeEventListener( \ |
| 277 EventTypeNames::attribute); \ | 285 EventTypeNames::attribute); \ |
| 278 DCHECK(eventTarget.toLocalDOMWindow()); \ | 286 DCHECK(eventTarget.toLocalDOMWindow()); \ |
| 279 return eventTarget.getAttributeEventListener(EventTypeNames::attribute); \ | 287 return eventTarget.getAttributeEventListener(EventTypeNames::attribute); \ |
| 280 } \ | 288 } \ |
| 281 static void setOn##attribute(EventTarget& eventTarget, \ | 289 static void setOn##attribute(EventTarget& eventTarget, \ |
| 282 EventListener* listener) { \ | 290 EventListener* listener) { \ |
| 283 if (Node* node = eventTarget.toNode()) \ | 291 if (Node* node = eventTarget.toNode()) \ |
| 284 node->document().setWindowAttributeEventListener( \ | 292 node->document().setWindowAttributeEventListener( \ |
| 285 EventTypeNames::attribute, listener); \ | 293 EventTypeNames::attribute, listener); \ |
| 286 else { \ | 294 else { \ |
| 287 DCHECK(eventTarget.toLocalDOMWindow()); \ | 295 DCHECK(eventTarget.toLocalDOMWindow()); \ |
| 288 eventTarget.setAttributeEventListener(EventTypeNames::attribute, \ | 296 eventTarget.setAttributeEventListener(EventTypeNames::attribute, \ |
| 289 listener); \ | 297 listener); \ |
| 290 } \ | 298 } \ |
| 291 } | 299 } |
| 292 | 300 |
| 293 #define DEFINE_MAPPED_ATTRIBUTE_EVENT_LISTENER(attribute, eventName) \ | 301 #define DEFINE_MAPPED_ATTRIBUTE_EVENT_LISTENER(attribute, eventName) \ |
| 302 /* DO NOT SUBMIT - merge conflicts marker */ |
| 303 /* Below we should have |on##|, and |setOn| (not |SetOn##| or |On##|) */ |
| 294 EventListener* on##attribute() { \ | 304 EventListener* on##attribute() { \ |
| 295 return getAttributeEventListener(EventTypeNames::eventName); \ | 305 return getAttributeEventListener(EventTypeNames::eventName); \ |
| 296 } \ | 306 } \ |
| 297 void setOn##attribute(EventListener* listener) { \ | 307 void setOn##attribute(EventListener* listener) { \ |
| 298 setAttributeEventListener(EventTypeNames::eventName, listener); \ | 308 setAttributeEventListener(EventTypeNames::eventName, listener); \ |
| 299 } | 309 } |
| 300 | 310 |
| 301 DISABLE_CFI_PERF | 311 DISABLE_CFI_PERF |
| 302 inline bool EventTarget::hasEventListeners() const { | 312 inline bool EventTarget::hasEventListeners() const { |
| 303 // FIXME: We should have a const version of eventTargetData. | 313 // FIXME: We should have a const version of eventTargetData. |
| (...skipping 17 matching lines...) Expand all Loading... |
| 321 const AtomicString& eventType) { | 331 const AtomicString& eventType) { |
| 322 EventTargetData* d = eventTargetData(); | 332 EventTargetData* d = eventTargetData(); |
| 323 if (!d) | 333 if (!d) |
| 324 return false; | 334 return false; |
| 325 return d->eventListenerMap.containsCapturing(eventType); | 335 return d->eventListenerMap.containsCapturing(eventType); |
| 326 } | 336 } |
| 327 | 337 |
| 328 } // namespace blink | 338 } // namespace blink |
| 329 | 339 |
| 330 #endif // EventTarget_h | 340 #endif // EventTarget_h |
| OLD | NEW |