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

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

Issue 2137483003: Add UMA metrics for root scroller intervention to track forcing passive breakage. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Change layout test to a unit test Created 4 years, 5 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) 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 21 matching lines...) Expand all
32 #ifndef EventTarget_h 32 #ifndef EventTarget_h
33 #define EventTarget_h 33 #define EventTarget_h
34 34
35 #include "bindings/core/v8/AddEventListenerOptionsOrBoolean.h" 35 #include "bindings/core/v8/AddEventListenerOptionsOrBoolean.h"
36 #include "bindings/core/v8/EventListenerOptionsOrBoolean.h" 36 #include "bindings/core/v8/EventListenerOptionsOrBoolean.h"
37 #include "bindings/core/v8/ScriptWrappable.h" 37 #include "bindings/core/v8/ScriptWrappable.h"
38 #include "core/CoreExport.h" 38 #include "core/CoreExport.h"
39 #include "core/EventNames.h" 39 #include "core/EventNames.h"
40 #include "core/EventTargetNames.h" 40 #include "core/EventTargetNames.h"
41 #include "core/EventTypeNames.h" 41 #include "core/EventTypeNames.h"
42 #include "core/events/AddEventListenerOptionsResolved.h"
42 #include "core/events/EventDispatchResult.h" 43 #include "core/events/EventDispatchResult.h"
43 #include "core/events/EventListenerMap.h" 44 #include "core/events/EventListenerMap.h"
44 #include "platform/heap/Handle.h" 45 #include "platform/heap/Handle.h"
45 #include "wtf/Allocator.h" 46 #include "wtf/Allocator.h"
46 #include "wtf/text/AtomicString.h" 47 #include "wtf/text/AtomicString.h"
47 #include <memory> 48 #include <memory>
48 49
49 namespace blink { 50 namespace blink {
50 51
51 class DOMWindow; 52 class DOMWindow;
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 virtual ExecutionContext* getExecutionContext() const = 0; 111 virtual ExecutionContext* getExecutionContext() const = 0;
111 112
112 virtual Node* toNode(); 113 virtual Node* toNode();
113 virtual const DOMWindow* toDOMWindow() const; 114 virtual const DOMWindow* toDOMWindow() const;
114 virtual const LocalDOMWindow* toLocalDOMWindow() const; 115 virtual const LocalDOMWindow* toLocalDOMWindow() const;
115 virtual LocalDOMWindow* toLocalDOMWindow(); 116 virtual LocalDOMWindow* toLocalDOMWindow();
116 virtual MessagePort* toMessagePort(); 117 virtual MessagePort* toMessagePort();
117 118
118 bool addEventListener(const AtomicString& eventType, EventListener*, bool us eCapture = false); 119 bool addEventListener(const AtomicString& eventType, EventListener*, bool us eCapture = false);
119 bool addEventListener(const AtomicString& eventType, EventListener*, const A ddEventListenerOptionsOrBoolean&); 120 bool addEventListener(const AtomicString& eventType, EventListener*, const A ddEventListenerOptionsOrBoolean&);
120 bool addEventListener(const AtomicString& eventType, EventListener*, AddEven tListenerOptions&); 121 bool addEventListener(const AtomicString& eventType, EventListener*, AddEven tListenerOptionsResolved&);
121 122
122 bool removeEventListener(const AtomicString& eventType, const EventListener* , bool useCapture = false); 123 bool removeEventListener(const AtomicString& eventType, const EventListener* , bool useCapture = false);
123 bool removeEventListener(const AtomicString& eventType, const EventListener* , const EventListenerOptionsOrBoolean&); 124 bool removeEventListener(const AtomicString& eventType, const EventListener* , const EventListenerOptionsOrBoolean&);
124 bool removeEventListener(const AtomicString& eventType, const EventListener* , EventListenerOptions&); 125 bool removeEventListener(const AtomicString& eventType, const EventListener* , EventListenerOptions&);
125 virtual void removeAllEventListeners(); 126 virtual void removeAllEventListeners();
126 127
127 DispatchEventResult dispatchEvent(Event*); 128 DispatchEventResult dispatchEvent(Event*);
128 129
129 // dispatchEventForBindings is intended to only be called from 130 // dispatchEventForBindings is intended to only be called from
130 // javascript originated calls. This method will validate and may adjust 131 // javascript originated calls. This method will validate and may adjust
(...skipping 17 matching lines...) Expand all
148 149
149 DEFINE_INLINE_VIRTUAL_TRACE() { } 150 DEFINE_INLINE_VIRTUAL_TRACE() { }
150 151
151 DECLARE_VIRTUAL_TRACE_WRAPPERS(); 152 DECLARE_VIRTUAL_TRACE_WRAPPERS();
152 153
153 virtual bool keepEventInNode(Event*) { return false; } 154 virtual bool keepEventInNode(Event*) { return false; }
154 155
155 protected: 156 protected:
156 EventTarget(); 157 EventTarget();
157 158
158 virtual bool addEventListenerInternal(const AtomicString& eventType, EventLi stener*, const AddEventListenerOptions&); 159 virtual bool addEventListenerInternal(const AtomicString& eventType, EventLi stener*, const AddEventListenerOptionsResolved&);
159 virtual bool removeEventListenerInternal(const AtomicString& eventType, cons t EventListener*, const EventListenerOptions&); 160 virtual bool removeEventListenerInternal(const AtomicString& eventType, cons t EventListener*, const EventListenerOptions&);
160 161
161 // Called when an event listener has been successfully added. 162 // Called when an event listener has been successfully added.
162 virtual void addedEventListener(const AtomicString& eventType, RegisteredEve ntListener&); 163 virtual void addedEventListener(const AtomicString& eventType, RegisteredEve ntListener&);
163 164
164 // Called when an event listener is removed. The original registration param eters of this 165 // Called when an event listener is removed. The original registration param eters of this
165 // event listener are available to be queried. 166 // event listener are available to be queried.
166 virtual void removedEventListener(const AtomicString& eventType, const Regis teredEventListener&); 167 virtual void removedEventListener(const AtomicString& eventType, const Regis teredEventListener&);
167 168
168 virtual DispatchEventResult dispatchEventInternal(Event*); 169 virtual DispatchEventResult dispatchEventInternal(Event*);
169 170
170 // Subclasses should likely not override these themselves; instead, they sho uld subclass EventTargetWithInlineData. 171 // Subclasses should likely not override these themselves; instead, they sho uld subclass EventTargetWithInlineData.
171 virtual EventTargetData* eventTargetData() = 0; 172 virtual EventTargetData* eventTargetData() = 0;
172 virtual EventTargetData& ensureEventTargetData() = 0; 173 virtual EventTargetData& ensureEventTargetData() = 0;
173 174
174 private: 175 private:
175 LocalDOMWindow* executingWindow(); 176 LocalDOMWindow* executingWindow();
176 void setDefaultAddEventListenerOptions(const AtomicString& eventType, AddEve ntListenerOptions&); 177 void setDefaultAddEventListenerOptions(const AtomicString& eventType, AddEve ntListenerOptionsResolved&);
177 bool fireEventListeners(Event*, EventTargetData*, EventListenerVector&); 178 bool fireEventListeners(Event*, EventTargetData*, EventListenerVector&);
178 void countLegacyEvents(const AtomicString& legacyTypeName, EventListenerVect or*, EventListenerVector*); 179 void countLegacyEvents(const AtomicString& legacyTypeName, EventListenerVect or*, EventListenerVector*);
179 180
180 bool clearAttributeEventListener(const AtomicString& eventType); 181 bool clearAttributeEventListener(const AtomicString& eventType);
181 182
182 friend class EventListenerIterator; 183 friend class EventListenerIterator;
183 }; 184 };
184 185
185 // EventTargetData is a GCed object, so it should not be used as a part of 186 // EventTargetData is a GCed object, so it should not be used as a part of
186 // object. However, we intentionally use it as a part of object for performance, 187 // object. However, we intentionally use it as a part of object for performance,
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 { 259 {
259 EventTargetData* d = eventTargetData(); 260 EventTargetData* d = eventTargetData();
260 if (!d) 261 if (!d)
261 return false; 262 return false;
262 return d->eventListenerMap.containsCapturing(eventType); 263 return d->eventListenerMap.containsCapturing(eventType);
263 } 264 }
264 265
265 } // namespace blink 266 } // namespace blink
266 267
267 #endif // EventTarget_h 268 #endif // EventTarget_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/events/EventListenerMap.cpp ('k') | third_party/WebKit/Source/core/events/EventTarget.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698