Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(283)

Side by Side Diff: Source/core/events/EventTarget.h

Issue 45973006: Require DOMWrapperWorld in event handler macros (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@globaleventhandlers
Patch Set: use DOMWrapperWorld::current() Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | Source/core/inspector/InspectorFileSystemAgent.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 virtual EventTargetData* eventTargetData() OVERRIDE FINAL { return &m_eventT argetData; } 153 virtual EventTargetData* eventTargetData() OVERRIDE FINAL { return &m_eventT argetData; }
154 virtual EventTargetData& ensureEventTargetData() OVERRIDE FINAL { return m_e ventTargetData; } 154 virtual EventTargetData& ensureEventTargetData() OVERRIDE FINAL { return m_e ventTargetData; }
155 private: 155 private:
156 EventTargetData m_eventTargetData; 156 EventTargetData m_eventTargetData;
157 }; 157 };
158 158
159 // FIXME: These macros should be split into separate DEFINE and DECLARE 159 // FIXME: These macros should be split into separate DEFINE and DECLARE
160 // macros to avoid causing so many header includes. 160 // macros to avoid causing so many header includes.
161 #define DEFINE_ATTRIBUTE_EVENT_LISTENER(attribute) \ 161 #define DEFINE_ATTRIBUTE_EVENT_LISTENER(attribute) \
162 EventListener* on##attribute(DOMWrapperWorld* isolatedWorld) { return getAtt ributeEventListener(EventTypeNames::attribute, isolatedWorld); } \ 162 EventListener* on##attribute(DOMWrapperWorld* isolatedWorld) { return getAtt ributeEventListener(EventTypeNames::attribute, isolatedWorld); } \
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) { setAttributeEventListener(EventTypeNames::attribute, listener, i solatedWorld); } \
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) { eventTarget->setAttributeEventL istener(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_MAPPED_ATTRIBUTE_EVENT_LISTENER(attribute, eventName) \ 173 #define DEFINE_MAPPED_ATTRIBUTE_EVENT_LISTENER(attribute, eventName) \
174 EventListener* on##attribute(DOMWrapperWorld* isolatedWorld) { return getAtt ributeEventListener(EventTypeNames::eventName, isolatedWorld); } \ 174 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); } \ 175 void setOn##attribute(PassRefPtr<EventListener> listener, DOMWrapperWorld* i solatedWorld) { setAttributeEventListener(EventTypeNames::eventName, listener, i solatedWorld); } \
176 176
177 #define DECLARE_FORWARDING_ATTRIBUTE_EVENT_LISTENER(recipient, attribute) \ 177 #define DECLARE_FORWARDING_ATTRIBUTE_EVENT_LISTENER(recipient, attribute) \
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 virtual void refEventTarget() OVERRIDE FINAL { ref(); } \ 228 virtual void refEventTarget() OVERRIDE FINAL { ref(); } \
229 virtual void derefEventTarget() OVERRIDE FINAL { deref(); } \ 229 virtual void derefEventTarget() OVERRIDE FINAL { deref(); } \
230 typedef int thisIsHereToForceASemiColonAfterThisEventTargetMacro 230 typedef int thisIsHereToForceASemiColonAfterThisEventTargetMacro
231 231
232 // Use this macro if your EventTarget subclass is also a subclass of WTF::RefCou nted. 232 // 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. 233 // 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. 234 // 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>) 235 #define REFCOUNTED_EVENT_TARGET(className) DEFINE_EVENT_TARGET_REFCOUNTING(RefCo unted<className>)
236 236
237 #endif // EventTarget_h 237 #endif // EventTarget_h
OLDNEW
« no previous file with comments | « no previous file | Source/core/inspector/InspectorFileSystemAgent.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698