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

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, 10 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 = executionContext()) 116 if (ExecutionContext* context = executionContext())
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 (!executionContext()) 263 if (!executionContext())
264 return false; 264 return false;
265 265
266 event->setTrusted(false); 266 event->setTrusted(false);
267 return dispatchEventInternal(event); 267 return dispatchEventInternal(event);
268 } 268 }
269 269
270 bool EventTarget::dispatchEvent(PassRefPtrWillBeRawPtr<Event> event) 270 bool EventTarget::dispatchEvent(RawPtr<Event> event)
271 { 271 {
272 event->setTrusted(true); 272 event->setTrusted(true);
273 return dispatchEventInternal(event); 273 return dispatchEventInternal(event);
274 } 274 }
275 275
276 bool EventTarget::dispatchEventInternal(PassRefPtrWillBeRawPtr<Event> event) 276 bool EventTarget::dispatchEventInternal(RawPtr<Event> event)
277 { 277 {
278 event->setTarget(this); 278 event->setTarget(this);
279 event->setCurrentTarget(this); 279 event->setCurrentTarget(this);
280 event->setEventPhase(Event::AT_TARGET); 280 event->setEventPhase(Event::AT_TARGET);
281 bool defaultWasNotPrevented = fireEventListeners(event.get()); 281 bool defaultWasNotPrevented = fireEventListeners(event.get());
282 event->setEventPhase(0); 282 event->setEventPhase(0);
283 return defaultWasNotPrevented; 283 return defaultWasNotPrevented;
284 } 284 }
285 285
286 void EventTarget::uncaughtExceptionInEventHandler() 286 void EventTarget::uncaughtExceptionInEventHandler()
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 event->setType(unprefixedTypeName); 373 event->setType(unprefixedTypeName);
374 } 374 }
375 375
376 Editor::countEvent(executionContext(), event); 376 Editor::countEvent(executionContext(), event);
377 countLegacyEvents(legacyTypeName, listenersVector, legacyListenersVector); 377 countLegacyEvents(legacyTypeName, listenersVector, legacyListenersVector);
378 return !event->defaultPrevented(); 378 return !event->defaultPrevented();
379 } 379 }
380 380
381 void EventTarget::fireEventListeners(Event* event, EventTargetData* d, EventList enerVector& entry) 381 void EventTarget::fireEventListeners(Event* event, EventTargetData* d, EventList enerVector& entry)
382 { 382 {
383 RefPtrWillBeRawPtr<EventTarget> protect(this); 383 RawPtr<EventTarget> protect(this);
384 384
385 // Fire all listeners registered for this event. Don't fire listeners remove d 385 // Fire all listeners registered for this event. Don't fire listeners remove d
386 // during event dispatch. Also, don't fire event listeners added during even t 386 // during event dispatch. Also, don't fire event listeners added during even t
387 // dispatch. Conveniently, all new event listeners will be added after or at 387 // dispatch. Conveniently, all new event listeners will be added after or at
388 // index |size|, so iterating up to (but not including) |size| naturally exc ludes 388 // index |size|, so iterating up to (but not including) |size| naturally exc ludes
389 // new event listeners. 389 // new event listeners.
390 390
391 if (event->type() == EventTypeNames::beforeunload) { 391 if (event->type() == EventTypeNames::beforeunload) {
392 if (LocalDOMWindow* executingWindow = this->executingWindow()) { 392 if (LocalDOMWindow* executingWindow = this->executingWindow()) {
393 if (executingWindow->top()) 393 if (executingWindow->top())
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
476 // they have one less listener to invoke. 476 // they have one less listener to invoke.
477 if (d->firingEventIterators) { 477 if (d->firingEventIterators) {
478 for (size_t i = 0; i < d->firingEventIterators->size(); ++i) { 478 for (size_t i = 0; i < d->firingEventIterators->size(); ++i) {
479 d->firingEventIterators->at(i).iterator = 0; 479 d->firingEventIterators->at(i).iterator = 0;
480 d->firingEventIterators->at(i).end = 0; 480 d->firingEventIterators->at(i).end = 0;
481 } 481 }
482 } 482 }
483 } 483 }
484 484
485 } // namespace blink 485 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698