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

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

Issue 2272993004: Clarify devtools console log when a passive event listener is preventDefaulted. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add not reached Created 4 years, 3 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
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/events/Event.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) 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 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 RailsModeFree = 0, 72 RailsModeFree = 0,
73 RailsModeHorizontal = 1, 73 RailsModeHorizontal = 1,
74 RailsModeVertical = 2 74 RailsModeVertical = 2
75 }; 75 };
76 76
77 enum class ComposedMode { 77 enum class ComposedMode {
78 Composed, 78 Composed,
79 Scoped, 79 Scoped,
80 }; 80 };
81 81
82 enum class PassiveMode {
83 NotPassive,
84 Passive,
85 PassiveForcedDocumentLevel,
86 };
87
82 static Event* create() 88 static Event* create()
83 { 89 {
84 return new Event; 90 return new Event;
85 } 91 }
86 92
87 // A factory for a simple event. The event doesn't bubble, and isn't 93 // A factory for a simple event. The event doesn't bubble, and isn't
88 // cancelable. 94 // cancelable.
89 // http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.ht ml#fire-a-simple-event 95 // http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.ht ml#fire-a-simple-event
90 static Event* create(const AtomicString& type) 96 static Event* create(const AtomicString& type)
91 { 97 {
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 210
205 // Events that must not leak across isolated world, similar to how 211 // Events that must not leak across isolated world, similar to how
206 // ErrorEvent behaves, can override this method. 212 // ErrorEvent behaves, can override this method.
207 virtual bool canBeDispatchedInWorld(const DOMWrapperWorld&) const { return t rue; } 213 virtual bool canBeDispatchedInWorld(const DOMWrapperWorld&) const { return t rue; }
208 214
209 virtual EventDispatchMediator* createMediator(); 215 virtual EventDispatchMediator* createMediator();
210 216
211 bool isTrusted() const { return m_isTrusted; } 217 bool isTrusted() const { return m_isTrusted; }
212 void setTrusted(bool value) { m_isTrusted = value; } 218 void setTrusted(bool value) { m_isTrusted = value; }
213 219
214 void setHandlingPassive(bool value); 220 void setHandlingPassive(PassiveMode);
215 221
216 bool preventDefaultCalledDuringPassive() const { return m_preventDefaultCall edDuringPassive; } 222 bool preventDefaultCalledDuringPassive() const { return m_preventDefaultCall edDuringPassive; }
217 223
218 bool preventDefaultCalledOnUncancelableEvent() const { return m_preventDefau ltCalledOnUncancelableEvent; } 224 bool preventDefaultCalledOnUncancelableEvent() const { return m_preventDefau ltCalledOnUncancelableEvent; }
219 225
220 DECLARE_VIRTUAL_TRACE(); 226 DECLARE_VIRTUAL_TRACE();
221 227
222 protected: 228 protected:
223 Event(); 229 Event();
224 Event(const AtomicString& type, bool canBubble, bool cancelable, ComposedMod e, double platformTimeStamp); 230 Event(const AtomicString& type, bool canBubble, bool cancelable, ComposedMod e, double platformTimeStamp);
225 Event(const AtomicString& type, bool canBubble, bool cancelable, double plat formTimeStamp); 231 Event(const AtomicString& type, bool canBubble, bool cancelable, double plat formTimeStamp);
226 Event(const AtomicString& type, bool canBubble, bool cancelable, ComposedMod e = ComposedMode::Scoped); 232 Event(const AtomicString& type, bool canBubble, bool cancelable, ComposedMod e = ComposedMode::Scoped);
227 Event(const AtomicString& type, const EventInit&); 233 Event(const AtomicString& type, const EventInit&);
228 234
229 virtual void receivedTarget(); 235 virtual void receivedTarget();
230 236
231 void setCanBubble(bool bubble) { m_canBubble = bubble; } 237 void setCanBubble(bool bubble) { m_canBubble = bubble; }
232 238
239 PassiveMode handlingPassive() const { return m_handlingPassive; }
240
233 private: 241 private:
234 242
235 enum EventPathMode { 243 enum EventPathMode {
236 EmptyAfterDispatch, 244 EmptyAfterDispatch,
237 NonEmptyAfterDispatch 245 NonEmptyAfterDispatch
238 }; 246 };
239 247
240 HeapVector<Member<EventTarget>> pathInternal(ScriptState*, EventPathMode) co nst; 248 HeapVector<Member<EventTarget>> pathInternal(ScriptState*, EventPathMode) co nst;
241 249
242 AtomicString m_type; 250 AtomicString m_type;
243 unsigned m_canBubble:1; 251 unsigned m_canBubble:1;
244 unsigned m_cancelable:1; 252 unsigned m_cancelable:1;
245 unsigned m_composed:1; 253 unsigned m_composed:1;
246 unsigned m_isEventTypeScopedInV0:1; 254 unsigned m_isEventTypeScopedInV0:1;
247 255
248 unsigned m_propagationStopped:1; 256 unsigned m_propagationStopped:1;
249 unsigned m_immediatePropagationStopped:1; 257 unsigned m_immediatePropagationStopped:1;
250 unsigned m_defaultPrevented:1; 258 unsigned m_defaultPrevented:1;
251 unsigned m_defaultHandled:1; 259 unsigned m_defaultHandled:1;
252 unsigned m_cancelBubble:1; 260 unsigned m_cancelBubble:1;
253 unsigned m_wasInitialized:1; 261 unsigned m_wasInitialized:1;
254 unsigned m_isTrusted : 1; 262 unsigned m_isTrusted : 1;
255 unsigned m_handlingPassive : 1;
256 263
257 // Whether preventDefault was called when |m_handlingPassive| is 264 // Whether preventDefault was called when |m_handlingPassive| is
258 // true. This field is reset on each call to setHandlingPassive. 265 // true. This field is reset on each call to setHandlingPassive.
259 unsigned m_preventDefaultCalledDuringPassive : 1; 266 unsigned m_preventDefaultCalledDuringPassive : 1;
260 // Whether preventDefault was called on uncancelable event. 267 // Whether preventDefault was called on uncancelable event.
261 unsigned m_preventDefaultCalledOnUncancelableEvent : 1; 268 unsigned m_preventDefaultCalledOnUncancelableEvent : 1;
262 269
270 PassiveMode m_handlingPassive;
263 unsigned short m_eventPhase; 271 unsigned short m_eventPhase;
264 Member<EventTarget> m_currentTarget; 272 Member<EventTarget> m_currentTarget;
265 Member<EventTarget> m_target; 273 Member<EventTarget> m_target;
266 Member<Event> m_underlyingEvent; 274 Member<Event> m_underlyingEvent;
267 Member<EventPath> m_eventPath; 275 Member<EventPath> m_eventPath;
268 // The monotonic platform time in seconds, for input events it is the 276 // The monotonic platform time in seconds, for input events it is the
269 // event timestamp provided by the host OS and reported in the original 277 // event timestamp provided by the host OS and reported in the original
270 // WebInputEvent instance. 278 // WebInputEvent instance.
271 double m_platformTimeStamp; 279 double m_platformTimeStamp;
272 }; 280 };
273 281
274 #define DEFINE_EVENT_TYPE_CASTS(typeName) \ 282 #define DEFINE_EVENT_TYPE_CASTS(typeName) \
275 DEFINE_TYPE_CASTS(typeName, Event, event, event->is##typeName(), event.is##t ypeName()) 283 DEFINE_TYPE_CASTS(typeName, Event, event, event->is##typeName(), event.is##t ypeName())
276 284
277 } // namespace blink 285 } // namespace blink
278 286
279 #endif // Event_h 287 #endif // Event_h
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/events/Event.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698