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

Side by Side Diff: third_party/WebKit/Source/core/events/Event.h

Issue 1563623002: Support registering and dispatching passive event listeners. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Adjust comments in layout tests Created 4 years, 11 months 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2001 Peter Kelly (pmk@post.com) 2 * Copyright (C) 2001 Peter Kelly (pmk@post.com)
3 * Copyright (C) 2001 Tobias Anton (anton@stud.fbi.fh-darmstadt.de) 3 * Copyright (C) 2001 Tobias Anton (anton@stud.fbi.fh-darmstadt.de)
4 * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) 4 * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com)
5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserv ed. 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserv ed.
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 // These events lack a DOM interface. 162 // These events lack a DOM interface.
163 virtual bool isClipboardEvent() const; 163 virtual bool isClipboardEvent() const;
164 virtual bool isBeforeTextInsertedEvent() const; 164 virtual bool isBeforeTextInsertedEvent() const;
165 165
166 virtual bool isBeforeUnloadEvent() const; 166 virtual bool isBeforeUnloadEvent() const;
167 167
168 bool propagationStopped() const { return m_propagationStopped || m_immediate PropagationStopped; } 168 bool propagationStopped() const { return m_propagationStopped || m_immediate PropagationStopped; }
169 bool immediatePropagationStopped() const { return m_immediatePropagationStop ped; } 169 bool immediatePropagationStopped() const { return m_immediatePropagationStop ped; }
170 170
171 bool defaultPrevented() const { return m_defaultPrevented; } 171 bool defaultPrevented() const { return m_defaultPrevented; }
172 virtual void preventDefault() 172 virtual void preventDefault();
173 {
174 if (m_cancelable)
175 m_defaultPrevented = true;
176 }
177 void setDefaultPrevented(bool defaultPrevented) { m_defaultPrevented = defau ltPrevented; } 173 void setDefaultPrevented(bool defaultPrevented) { m_defaultPrevented = defau ltPrevented; }
178 174
179 bool defaultHandled() const { return m_defaultHandled; } 175 bool defaultHandled() const { return m_defaultHandled; }
180 void setDefaultHandled() { m_defaultHandled = true; } 176 void setDefaultHandled() { m_defaultHandled = true; }
181 177
182 bool cancelBubble() const { return m_cancelBubble; } 178 bool cancelBubble() const { return m_cancelBubble; }
183 void setCancelBubble(bool cancel) { m_cancelBubble = cancel; } 179 void setCancelBubble(bool cancel) { m_cancelBubble = cancel; }
184 180
185 Event* underlyingEvent() const { return m_underlyingEvent.get(); } 181 Event* underlyingEvent() const { return m_underlyingEvent.get(); }
186 void setUnderlyingEvent(PassRefPtrWillBeRawPtr<Event>); 182 void setUnderlyingEvent(PassRefPtrWillBeRawPtr<Event>);
187 183
188 EventPath& eventPath() { ASSERT(m_eventPath); return *m_eventPath; } 184 EventPath& eventPath() { ASSERT(m_eventPath); return *m_eventPath; }
189 void initEventPath(Node&); 185 void initEventPath(Node&);
190 186
191 WillBeHeapVector<RefPtrWillBeMember<EventTarget>> path(ScriptState*) const; 187 WillBeHeapVector<RefPtrWillBeMember<EventTarget>> path(ScriptState*) const;
192 188
193 bool isBeingDispatched() const { return eventPhase(); } 189 bool isBeingDispatched() const { return eventPhase(); }
194 190
195 // Events that must not leak across isolated world, similar to how 191 // Events that must not leak across isolated world, similar to how
196 // ErrorEvent behaves, can override this method. 192 // ErrorEvent behaves, can override this method.
197 virtual bool canBeDispatchedInWorld(const DOMWrapperWorld&) const { return t rue; } 193 virtual bool canBeDispatchedInWorld(const DOMWrapperWorld&) const { return t rue; }
198 194
199 virtual PassRefPtrWillBeRawPtr<EventDispatchMediator> createMediator(); 195 virtual PassRefPtrWillBeRawPtr<EventDispatchMediator> createMediator();
200 196
201 bool isTrusted() const { return m_isTrusted; } 197 bool isTrusted() const { return m_isTrusted; }
202 void setTrusted(bool value) { m_isTrusted = value; } 198 void setTrusted(bool value) { m_isTrusted = value; }
203 199
200 void setHandlingPassive(bool value) { m_handlingPassive = value; }
201
204 DECLARE_VIRTUAL_TRACE(); 202 DECLARE_VIRTUAL_TRACE();
205 203
206 protected: 204 protected:
207 Event(); 205 Event();
208 Event(const AtomicString& type, bool canBubble, bool cancelable); 206 Event(const AtomicString& type, bool canBubble, bool cancelable);
209 Event(const AtomicString& type, bool canBubble, bool cancelable, double plat formTimeStamp); 207 Event(const AtomicString& type, bool canBubble, bool cancelable, double plat formTimeStamp);
210 Event(const AtomicString& type, const EventInit&); 208 Event(const AtomicString& type, const EventInit&);
211 209
212 virtual void receivedTarget(); 210 virtual void receivedTarget();
213 bool dispatched() const { return m_target; } 211 bool dispatched() const { return m_target; }
214 212
215 void setCanBubble(bool bubble) { m_canBubble = bubble; } 213 void setCanBubble(bool bubble) { m_canBubble = bubble; }
216 214
217 private: 215 private:
218 AtomicString m_type; 216 AtomicString m_type;
219 unsigned m_canBubble:1; 217 unsigned m_canBubble:1;
220 unsigned m_cancelable:1; 218 unsigned m_cancelable:1;
221 219
222 unsigned m_propagationStopped:1; 220 unsigned m_propagationStopped:1;
223 unsigned m_immediatePropagationStopped:1; 221 unsigned m_immediatePropagationStopped:1;
224 unsigned m_defaultPrevented:1; 222 unsigned m_defaultPrevented:1;
225 unsigned m_defaultHandled:1; 223 unsigned m_defaultHandled:1;
226 unsigned m_cancelBubble:1; 224 unsigned m_cancelBubble:1;
227 unsigned m_isTrusted : 1; 225 unsigned m_isTrusted : 1;
226 unsigned m_handlingPassive : 1;
228 227
229 unsigned short m_eventPhase; 228 unsigned short m_eventPhase;
230 RefPtrWillBeMember<EventTarget> m_currentTarget; 229 RefPtrWillBeMember<EventTarget> m_currentTarget;
231 RefPtrWillBeMember<EventTarget> m_target; 230 RefPtrWillBeMember<EventTarget> m_target;
232 DOMTimeStamp m_createTime; 231 DOMTimeStamp m_createTime;
233 RefPtrWillBeMember<Event> m_underlyingEvent; 232 RefPtrWillBeMember<Event> m_underlyingEvent;
234 OwnPtrWillBeMember<EventPath> m_eventPath; 233 OwnPtrWillBeMember<EventPath> m_eventPath;
235 // The monotonic platform time in seconds, for input events it is the 234 // The monotonic platform time in seconds, for input events it is the
236 // event timestamp provided by the host OS and reported in the original 235 // event timestamp provided by the host OS and reported in the original
237 // WebInputEvent instance. 236 // WebInputEvent instance.
238 double m_platformTimeStamp; 237 double m_platformTimeStamp;
239 }; 238 };
240 239
241 #define DEFINE_EVENT_TYPE_CASTS(typeName) \ 240 #define DEFINE_EVENT_TYPE_CASTS(typeName) \
242 DEFINE_TYPE_CASTS(typeName, Event, event, event->is##typeName(), event.is##t ypeName()) 241 DEFINE_TYPE_CASTS(typeName, Event, event, event->is##typeName(), event.is##t ypeName())
243 242
244 } // namespace blink 243 } // namespace blink
245 244
246 #endif // Event_h 245 #endif // Event_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698