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

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

Issue 1686483002: Oilpan: Remove most WillBe types from the code base (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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 Apple Inc. All rights reserved. 5 * Copyright (C) 2004, 2005, 2006, 2007 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 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 return nullptr; 111 return nullptr;
112 } 112 }
113 113
114 inline LocalDOMWindow* EventTarget::executingWindow() 114 inline LocalDOMWindow* EventTarget::executingWindow()
115 { 115 {
116 if (ExecutionContext* context = getExecutionContext()) 116 if (ExecutionContext* context = getExecutionContext())
117 return context->executingWindow(); 117 return context->executingWindow();
118 return nullptr; 118 return nullptr;
119 } 119 }
120 120
121 bool EventTarget::addEventListener(const AtomicString& eventType, PassRefPtrWill BeRawPtr<EventListener> listener, bool useCapture) 121 bool EventTarget::addEventListener(const AtomicString& eventType, RawPtr<EventLi stener> listener, bool useCapture)
122 { 122 {
123 EventListenerOptions options; 123 EventListenerOptions options;
124 setDefaultEventListenerOptionsLegacy(options, useCapture); 124 setDefaultEventListenerOptionsLegacy(options, useCapture);
125 return addEventListenerInternal(eventType, listener, options); 125 return addEventListenerInternal(eventType, listener, options);
126 } 126 }
127 127
128 bool EventTarget::addEventListener(const AtomicString& eventType, PassRefPtrWill BeRawPtr<EventListener> listener, const EventListenerOptionsOrBoolean& optionsUn ion) 128 bool EventTarget::addEventListener(const AtomicString& eventType, RawPtr<EventLi stener> listener, const EventListenerOptionsOrBoolean& optionsUnion)
129 { 129 {
130 if (optionsUnion.isBoolean()) 130 if (optionsUnion.isBoolean())
131 return addEventListener(eventType, listener, optionsUnion.getAsBoolean() ); 131 return addEventListener(eventType, listener, optionsUnion.getAsBoolean() );
132 if (optionsUnion.isEventListenerOptions()) { 132 if (optionsUnion.isEventListenerOptions()) {
133 EventListenerOptions options = optionsUnion.getAsEventListenerOptions(); 133 EventListenerOptions options = optionsUnion.getAsEventListenerOptions();
134 return addEventListener(eventType, listener, options); 134 return addEventListener(eventType, listener, options);
135 } 135 }
136 return addEventListener(eventType, listener); 136 return addEventListener(eventType, listener);
137 } 137 }
138 138
139 bool EventTarget::addEventListener(const AtomicString& eventType, PassRefPtrWill BeRawPtr<EventListener> listener, EventListenerOptions& options) 139 bool EventTarget::addEventListener(const AtomicString& eventType, RawPtr<EventLi stener> listener, EventListenerOptions& options)
140 { 140 {
141 setDefaultEventListenerOptions(options); 141 setDefaultEventListenerOptions(options);
142 return addEventListenerInternal(eventType, listener, options); 142 return addEventListenerInternal(eventType, listener, options);
143 } 143 }
144 144
145 bool EventTarget::addEventListenerInternal(const AtomicString& eventType, PassRe fPtrWillBeRawPtr<EventListener> listener, const EventListenerOptions& options) 145 bool EventTarget::addEventListenerInternal(const AtomicString& eventType, RawPtr <EventListener> listener, const EventListenerOptions& options)
146 { 146 {
147 if (!listener) 147 if (!listener)
148 return false; 148 return false;
149 149
150 V8DOMActivityLogger* activityLogger = V8DOMActivityLogger::currentActivityLo ggerIfIsolatedWorld(); 150 V8DOMActivityLogger* activityLogger = V8DOMActivityLogger::currentActivityLo ggerIfIsolatedWorld();
151 if (activityLogger) { 151 if (activityLogger) {
152 Vector<String> argv; 152 Vector<String> argv;
153 argv.append(toNode() ? toNode()->nodeName() : interfaceName()); 153 argv.append(toNode() ? toNode()->nodeName() : interfaceName());
154 argv.append(eventType); 154 argv.append(eventType);
155 activityLogger->logEvent("blinkAddEventListener", argv.size(), argv.data ()); 155 activityLogger->logEvent("blinkAddEventListener", argv.size(), argv.data ());
156 } 156 }
157 157
158 return ensureEventTargetData().eventListenerMap.add(eventType, listener, opt ions); 158 return ensureEventTargetData().eventListenerMap.add(eventType, listener, opt ions);
159 } 159 }
160 160
161 bool EventTarget::removeEventListener(const AtomicString& eventType, PassRefPtrW illBeRawPtr<EventListener> listener, bool useCapture) 161 bool EventTarget::removeEventListener(const AtomicString& eventType, RawPtr<Even tListener> listener, bool useCapture)
162 { 162 {
163 EventListenerOptions options; 163 EventListenerOptions options;
164 setDefaultEventListenerOptionsLegacy(options, useCapture); 164 setDefaultEventListenerOptionsLegacy(options, useCapture);
165 return removeEventListenerInternal(eventType, listener, options); 165 return removeEventListenerInternal(eventType, listener, options);
166 } 166 }
167 167
168 bool EventTarget::removeEventListener(const AtomicString& eventType, PassRefPtrW illBeRawPtr<EventListener> listener, const EventListenerOptionsOrBoolean& option sUnion) 168 bool EventTarget::removeEventListener(const AtomicString& eventType, RawPtr<Even tListener> listener, const EventListenerOptionsOrBoolean& optionsUnion)
169 { 169 {
170 if (optionsUnion.isBoolean()) 170 if (optionsUnion.isBoolean())
171 return removeEventListener(eventType, listener, optionsUnion.getAsBoolea n()); 171 return removeEventListener(eventType, listener, optionsUnion.getAsBoolea n());
172 if (optionsUnion.isEventListenerOptions()) { 172 if (optionsUnion.isEventListenerOptions()) {
173 EventListenerOptions options = optionsUnion.getAsEventListenerOptions(); 173 EventListenerOptions options = optionsUnion.getAsEventListenerOptions();
174 return removeEventListener(eventType, listener, options); 174 return removeEventListener(eventType, listener, options);
175 } 175 }
176 return removeEventListener(eventType, listener); 176 return removeEventListener(eventType, listener);
177 } 177 }
178 178
179 bool EventTarget::removeEventListener(const AtomicString& eventType, PassRefPtrW illBeRawPtr<EventListener> listener, EventListenerOptions& options) 179 bool EventTarget::removeEventListener(const AtomicString& eventType, RawPtr<Even tListener> listener, EventListenerOptions& options)
180 { 180 {
181 setDefaultEventListenerOptions(options); 181 setDefaultEventListenerOptions(options);
182 return removeEventListenerInternal(eventType, listener, options); 182 return removeEventListenerInternal(eventType, listener, options);
183 } 183 }
184 184
185 bool EventTarget::removeEventListenerInternal(const AtomicString& eventType, Pas sRefPtrWillBeRawPtr<EventListener> listener, const EventListenerOptions& options ) 185 bool EventTarget::removeEventListenerInternal(const AtomicString& eventType, Raw Ptr<EventListener> listener, const EventListenerOptions& options)
186 { 186 {
187 if (!listener) 187 if (!listener)
188 return false; 188 return false;
189 189
190 EventTargetData* d = eventTargetData(); 190 EventTargetData* d = eventTargetData();
191 if (!d) 191 if (!d)
192 return false; 192 return false;
193 193
194 size_t indexOfRemovedListener; 194 size_t indexOfRemovedListener;
195 195
(...skipping 17 matching lines...) Expand all
213 // firingIterator.iterator indicates the next event listener 213 // firingIterator.iterator indicates the next event listener
214 // that would fire, not the currently firing event 214 // that would fire, not the currently firing event
215 // listener. See EventTarget::fireEventListeners. 215 // listener. See EventTarget::fireEventListeners.
216 if (indexOfRemovedListener < firingIterator.iterator) 216 if (indexOfRemovedListener < firingIterator.iterator)
217 --firingIterator.iterator; 217 --firingIterator.iterator;
218 } 218 }
219 219
220 return true; 220 return true;
221 } 221 }
222 222
223 bool EventTarget::setAttributeEventListener(const AtomicString& eventType, PassR efPtrWillBeRawPtr<EventListener> listener) 223 bool EventTarget::setAttributeEventListener(const AtomicString& eventType, RawPt r<EventListener> listener)
224 { 224 {
225 clearAttributeEventListener(eventType); 225 clearAttributeEventListener(eventType);
226 if (!listener) 226 if (!listener)
227 return false; 227 return false;
228 return addEventListener(eventType, listener, false); 228 return addEventListener(eventType, listener, false);
229 } 229 }
230 230
231 EventListener* EventTarget::getAttributeEventListener(const AtomicString& eventT ype) 231 EventListener* EventTarget::getAttributeEventListener(const AtomicString& eventT ype)
232 { 232 {
233 EventListenerVector* listenerVector = getEventListeners(eventType); 233 EventListenerVector* listenerVector = getEventListeners(eventType);
234 if (!listenerVector) 234 if (!listenerVector)
235 return nullptr; 235 return nullptr;
236 for (const auto& eventListener : *listenerVector) { 236 for (const auto& eventListener : *listenerVector) {
237 EventListener* listener = eventListener.listener.get(); 237 EventListener* listener = eventListener.listener.get();
238 if (listener->isAttribute() && listener->belongsToTheCurrentWorld()) 238 if (listener->isAttribute() && listener->belongsToTheCurrentWorld())
239 return listener; 239 return listener;
240 } 240 }
241 return nullptr; 241 return nullptr;
242 } 242 }
243 243
244 bool EventTarget::clearAttributeEventListener(const AtomicString& eventType) 244 bool EventTarget::clearAttributeEventListener(const AtomicString& eventType)
245 { 245 {
246 EventListener* listener = getAttributeEventListener(eventType); 246 EventListener* listener = getAttributeEventListener(eventType);
247 if (!listener) 247 if (!listener)
248 return false; 248 return false;
249 return removeEventListener(eventType, listener, false); 249 return removeEventListener(eventType, listener, false);
250 } 250 }
251 251
252 bool EventTarget::dispatchEventForBindings(PassRefPtrWillBeRawPtr<Event> event, ExceptionState& exceptionState) 252 bool EventTarget::dispatchEventForBindings(RawPtr<Event> event, ExceptionState& exceptionState)
253 { 253 {
254 if (event->type().isEmpty()) { 254 if (event->type().isEmpty()) {
255 exceptionState.throwDOMException(InvalidStateError, "The event provided is uninitialized."); 255 exceptionState.throwDOMException(InvalidStateError, "The event provided is uninitialized.");
256 return false; 256 return false;
257 } 257 }
258 if (event->isBeingDispatched()) { 258 if (event->isBeingDispatched()) {
259 exceptionState.throwDOMException(InvalidStateError, "The event is alread y being dispatched."); 259 exceptionState.throwDOMException(InvalidStateError, "The event is alread y being dispatched.");
260 return false; 260 return false;
261 } 261 }
262 262
263 if (!getExecutionContext()) 263 if (!getExecutionContext())
264 return false; 264 return false;
265 265
266 event->setTrusted(false); 266 event->setTrusted(false);
267 267
268 // Return whether the event was cancelled or not to JS not that it 268 // Return whether the event was cancelled or not to JS not that it
269 // might have actually been default handled; so check only against 269 // might have actually been default handled; so check only against
270 // CanceledByEventHandler. 270 // CanceledByEventHandler.
271 return dispatchEventInternal(event) != DispatchEventResult::CanceledByEventH andler; 271 return dispatchEventInternal(event) != DispatchEventResult::CanceledByEventH andler;
272 } 272 }
273 273
274 DispatchEventResult EventTarget::dispatchEvent(PassRefPtrWillBeRawPtr<Event> eve nt) 274 DispatchEventResult EventTarget::dispatchEvent(RawPtr<Event> event)
275 { 275 {
276 event->setTrusted(true); 276 event->setTrusted(true);
277 return dispatchEventInternal(event); 277 return dispatchEventInternal(event);
278 } 278 }
279 279
280 DispatchEventResult EventTarget::dispatchEventInternal(PassRefPtrWillBeRawPtr<Ev ent> event) 280 DispatchEventResult EventTarget::dispatchEventInternal(RawPtr<Event> event)
281 { 281 {
282 event->setTarget(this); 282 event->setTarget(this);
283 event->setCurrentTarget(this); 283 event->setCurrentTarget(this);
284 event->setEventPhase(Event::AT_TARGET); 284 event->setEventPhase(Event::AT_TARGET);
285 DispatchEventResult dispatchResult = fireEventListeners(event.get()); 285 DispatchEventResult dispatchResult = fireEventListeners(event.get());
286 event->setEventPhase(0); 286 event->setEventPhase(0);
287 return dispatchResult; 287 return dispatchResult;
288 } 288 }
289 289
290 void EventTarget::uncaughtExceptionInEventHandler() 290 void EventTarget::uncaughtExceptionInEventHandler()
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 event->setType(unprefixedTypeName); 377 event->setType(unprefixedTypeName);
378 } 378 }
379 379
380 Editor::countEvent(getExecutionContext(), event); 380 Editor::countEvent(getExecutionContext(), event);
381 countLegacyEvents(legacyTypeName, listenersVector, legacyListenersVector); 381 countLegacyEvents(legacyTypeName, listenersVector, legacyListenersVector);
382 return dispatchEventResult(*event); 382 return dispatchEventResult(*event);
383 } 383 }
384 384
385 void EventTarget::fireEventListeners(Event* event, EventTargetData* d, EventList enerVector& entry) 385 void EventTarget::fireEventListeners(Event* event, EventTargetData* d, EventList enerVector& entry)
386 { 386 {
387 RefPtrWillBeRawPtr<EventTarget> protect(this); 387 RawPtr<EventTarget> protect(this);
388 388
389 // Fire all listeners registered for this event. Don't fire listeners remove d 389 // Fire all listeners registered for this event. Don't fire listeners remove d
390 // during event dispatch. Also, don't fire event listeners added during even t 390 // during event dispatch. Also, don't fire event listeners added during even t
391 // dispatch. Conveniently, all new event listeners will be added after or at 391 // dispatch. Conveniently, all new event listeners will be added after or at
392 // index |size|, so iterating up to (but not including) |size| naturally exc ludes 392 // index |size|, so iterating up to (but not including) |size| naturally exc ludes
393 // new event listeners. 393 // new event listeners.
394 394
395 if (event->type() == EventTypeNames::beforeunload) { 395 if (event->type() == EventTypeNames::beforeunload) {
396 if (LocalDOMWindow* executingWindow = this->executingWindow()) { 396 if (LocalDOMWindow* executingWindow = this->executingWindow()) {
397 if (executingWindow->top()) 397 if (executingWindow->top())
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
489 // they have one less listener to invoke. 489 // they have one less listener to invoke.
490 if (d->firingEventIterators) { 490 if (d->firingEventIterators) {
491 for (size_t i = 0; i < d->firingEventIterators->size(); ++i) { 491 for (size_t i = 0; i < d->firingEventIterators->size(); ++i) {
492 d->firingEventIterators->at(i).iterator = 0; 492 d->firingEventIterators->at(i).iterator = 0;
493 d->firingEventIterators->at(i).end = 0; 493 d->firingEventIterators->at(i).end = 0;
494 } 494 }
495 } 495 }
496 } 496 }
497 497
498 } // namespace blink 498 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/events/EventTarget.h ('k') | third_party/WebKit/Source/core/events/EventTarget.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698