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

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

Issue 938553003: [DO NOT COMMIT] [DO NOT REVIEW] XHR timeout layout test (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 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 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 } 185 }
186 186
187 if (!executionContext()) 187 if (!executionContext())
188 return false; 188 return false;
189 189
190 return dispatchEvent(event); 190 return dispatchEvent(event);
191 } 191 }
192 192
193 bool EventTarget::dispatchEvent(PassRefPtrWillBeRawPtr<Event> event) 193 bool EventTarget::dispatchEvent(PassRefPtrWillBeRawPtr<Event> event)
194 { 194 {
195 fprintf(stderr, "%s interface = %s event = %s\n", __PRETTY_FUNCTION__, inter faceName().utf8().data(), event->type().utf8().data());
195 event->setTarget(this); 196 event->setTarget(this);
196 event->setCurrentTarget(this); 197 event->setCurrentTarget(this);
197 event->setEventPhase(Event::AT_TARGET); 198 event->setEventPhase(Event::AT_TARGET);
198 bool defaultPrevented = fireEventListeners(event.get()); 199 bool defaultPrevented = fireEventListeners(event.get());
199 event->setEventPhase(0); 200 event->setEventPhase(0);
200 return defaultPrevented; 201 return defaultPrevented;
201 } 202 }
202 203
203 void EventTarget::uncaughtExceptionInEventHandler() 204 void EventTarget::uncaughtExceptionInEventHandler()
204 { 205 {
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 else 257 else
257 UseCounter::count(executingWindow->document(), prefixedFeature); 258 UseCounter::count(executingWindow->document(), prefixedFeature);
258 } else if (listenersVector) { 259 } else if (listenersVector) {
259 UseCounter::count(executingWindow->document(), unprefixedFeature); 260 UseCounter::count(executingWindow->document(), unprefixedFeature);
260 } 261 }
261 } 262 }
262 } 263 }
263 264
264 bool EventTarget::fireEventListeners(Event* event) 265 bool EventTarget::fireEventListeners(Event* event)
265 { 266 {
267 fprintf(stderr, "%s interface = %s event = %s\n", __PRETTY_FUNCTION__, inter faceName().utf8().data(), event->type().utf8().data());
266 ASSERT(!EventDispatchForbiddenScope::isEventDispatchForbidden()); 268 ASSERT(!EventDispatchForbiddenScope::isEventDispatchForbidden());
267 ASSERT(event && !event->type().isEmpty()); 269 ASSERT(event && !event->type().isEmpty());
268 270
269 EventTargetData* d = eventTargetData(); 271 EventTargetData* d = eventTargetData();
270 if (!d) 272 if (!d)
271 return true; 273 return true;
272 274
273 EventListenerVector* legacyListenersVector = 0; 275 EventListenerVector* legacyListenersVector = 0;
274 AtomicString legacyTypeName = legacyType(event); 276 AtomicString legacyTypeName = legacyType(event);
275 if (!legacyTypeName.isEmpty()) 277 if (!legacyTypeName.isEmpty())
(...skipping 17 matching lines...) Expand all
293 event->setType(unprefixedTypeName); 295 event->setType(unprefixedTypeName);
294 } 296 }
295 297
296 Editor::countEvent(executionContext(), event); 298 Editor::countEvent(executionContext(), event);
297 countLegacyEvents(legacyTypeName, listenersVector, legacyListenersVector); 299 countLegacyEvents(legacyTypeName, listenersVector, legacyListenersVector);
298 return !event->defaultPrevented(); 300 return !event->defaultPrevented();
299 } 301 }
300 302
301 void EventTarget::fireEventListeners(Event* event, EventTargetData* d, EventList enerVector& entry) 303 void EventTarget::fireEventListeners(Event* event, EventTargetData* d, EventList enerVector& entry)
302 { 304 {
305 fprintf(stderr, "%s interface = %s event = %s\n", __PRETTY_FUNCTION__, inter faceName().utf8().data(), event->type().utf8().data());
303 RefPtrWillBeRawPtr<EventTarget> protect(this); 306 RefPtrWillBeRawPtr<EventTarget> protect(this);
304 307
305 // Fire all listeners registered for this event. Don't fire listeners remove d 308 // Fire all listeners registered for this event. Don't fire listeners remove d
306 // during event dispatch. Also, don't fire event listeners added during even t 309 // during event dispatch. Also, don't fire event listeners added during even t
307 // dispatch. Conveniently, all new event listeners will be added after or at 310 // dispatch. Conveniently, all new event listeners will be added after or at
308 // index |size|, so iterating up to (but not including) |size| naturally exc ludes 311 // index |size|, so iterating up to (but not including) |size| naturally exc ludes
309 // new event listeners. 312 // new event listeners.
310 313
311 if (event->type() == EventTypeNames::beforeunload) { 314 if (event->type() == EventTypeNames::beforeunload) {
312 if (LocalDOMWindow* executingWindow = this->executingWindow()) { 315 if (LocalDOMWindow* executingWindow = this->executingWindow()) {
(...skipping 11 matching lines...) Expand all
324 if (LocalDOMWindow* executingWindow = this->executingWindow()) 327 if (LocalDOMWindow* executingWindow = this->executingWindow())
325 UseCounter::count(executingWindow->document(), UseCounter::FocusInOu tEvent); 328 UseCounter::count(executingWindow->document(), UseCounter::FocusInOu tEvent);
326 } 329 }
327 330
328 size_t i = 0; 331 size_t i = 0;
329 size_t size = entry.size(); 332 size_t size = entry.size();
330 if (!d->firingEventIterators) 333 if (!d->firingEventIterators)
331 d->firingEventIterators = adoptPtr(new FiringEventIteratorVector); 334 d->firingEventIterators = adoptPtr(new FiringEventIteratorVector);
332 d->firingEventIterators->append(FiringEventIterator(event->type(), i, size)) ; 335 d->firingEventIterators->append(FiringEventIterator(event->type(), i, size)) ;
333 for ( ; i < size; ++i) { 336 for ( ; i < size; ++i) {
337 fprintf(stderr, "%s interface = %s event = %s i = %zu\n", __PRETTY_FUNCT ION__, interfaceName().utf8().data(), event->type().utf8().data(), i);
334 RegisteredEventListener& registeredListener = entry[i]; 338 RegisteredEventListener& registeredListener = entry[i];
335 if (event->eventPhase() == Event::CAPTURING_PHASE && !registeredListener .useCapture) 339 if (event->eventPhase() == Event::CAPTURING_PHASE && !registeredListener .useCapture)
336 continue; 340 continue;
337 if (event->eventPhase() == Event::BUBBLING_PHASE && registeredListener.u seCapture) 341 if (event->eventPhase() == Event::BUBBLING_PHASE && registeredListener.u seCapture)
338 continue; 342 continue;
339 343
340 // If stopImmediatePropagation has been called, we just break out immedi ately, without 344 // If stopImmediatePropagation has been called, we just break out immedi ately, without
341 // handling any more events on this target. 345 // handling any more events on this target.
342 if (event->immediatePropagationStopped()) 346 if (event->immediatePropagationStopped())
343 break; 347 break;
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
387 // they have one less listener to invoke. 391 // they have one less listener to invoke.
388 if (d->firingEventIterators) { 392 if (d->firingEventIterators) {
389 for (size_t i = 0; i < d->firingEventIterators->size(); ++i) { 393 for (size_t i = 0; i < d->firingEventIterators->size(); ++i) {
390 d->firingEventIterators->at(i).iterator = 0; 394 d->firingEventIterators->at(i).iterator = 0;
391 d->firingEventIterators->at(i).end = 0; 395 d->firingEventIterators->at(i).end = 0;
392 } 396 }
393 } 397 }
394 } 398 }
395 399
396 } // namespace blink 400 } // namespace blink
OLDNEW
« no previous file with comments | « Source/bindings/core/v8/V8EventListenerList.cpp ('k') | Source/core/xmlhttprequest/XMLHttpRequest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698