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

Side by Side Diff: sky/engine/core/events/EventTarget.cpp

Issue 873963003: Remove more mouse-specific code (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Build fixes Created 5 years, 11 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 | « sky/engine/core/events/Event.idl ('k') | sky/engine/core/events/EventTypeNames.in » ('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) 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 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 event->setEventPhase(Event::AT_TARGET); 149 event->setEventPhase(Event::AT_TARGET);
150 bool defaultPrevented = fireEventListeners(event.get()); 150 bool defaultPrevented = fireEventListeners(event.get());
151 event->setEventPhase(0); 151 event->setEventPhase(0);
152 return defaultPrevented; 152 return defaultPrevented;
153 } 153 }
154 154
155 void EventTarget::uncaughtExceptionInEventHandler() 155 void EventTarget::uncaughtExceptionInEventHandler()
156 { 156 {
157 } 157 }
158 158
159 static const AtomicString& legacyType(const Event* event)
160 {
161 if (event->type() == EventTypeNames::wheel)
162 return EventTypeNames::mousewheel;
163
164 return emptyAtom;
165 }
166
167 bool EventTarget::fireEventListeners(Event* event) 159 bool EventTarget::fireEventListeners(Event* event)
168 { 160 {
169 ASSERT(!EventDispatchForbiddenScope::isEventDispatchForbidden()); 161 ASSERT(!EventDispatchForbiddenScope::isEventDispatchForbidden());
170 ASSERT(event && !event->type().isEmpty()); 162 ASSERT(event && !event->type().isEmpty());
171 163
172 EventTargetData* d = eventTargetData(); 164 EventTargetData* data = eventTargetData();
173 if (!d) 165 if (!data)
174 return true; 166 return true;
175 167
176 EventListenerVector* legacyListenersVector = 0; 168 if (EventListenerVector* listeners = data->eventListenerMap.find(event->type ()))
177 AtomicString legacyTypeName = legacyType(event); 169 fireEventListeners(event, data, *listeners);
178 if (!legacyTypeName.isEmpty())
179 legacyListenersVector = d->eventListenerMap.find(legacyTypeName);
180
181 EventListenerVector* listenersVector = d->eventListenerMap.find(event->type( ));
182
183 if (listenersVector) {
184 fireEventListeners(event, d, *listenersVector);
185 } else if (legacyListenersVector) {
186 AtomicString unprefixedTypeName = event->type();
187 event->setType(legacyTypeName);
188 fireEventListeners(event, d, *legacyListenersVector);
189 event->setType(unprefixedTypeName);
190 }
191 170
192 Editor::countEvent(executionContext(), event); 171 Editor::countEvent(executionContext(), event);
193 return !event->defaultPrevented(); 172 return !event->defaultPrevented();
194 } 173 }
195 174
196 void EventTarget::fireEventListeners(Event* event, EventTargetData* d, EventList enerVector& entry) 175 void EventTarget::fireEventListeners(Event* event, EventTargetData* d, EventList enerVector& entry)
197 { 176 {
198 RefPtr<EventTarget> protect(this); 177 RefPtr<EventTarget> protect(this);
199 178
200 // Fire all listeners registered for this event. Don't fire listeners remove d 179 // Fire all listeners registered for this event. Don't fire listeners remove d
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 // they have one less listener to invoke. 242 // they have one less listener to invoke.
264 if (d->firingEventIterators) { 243 if (d->firingEventIterators) {
265 for (size_t i = 0; i < d->firingEventIterators->size(); ++i) { 244 for (size_t i = 0; i < d->firingEventIterators->size(); ++i) {
266 d->firingEventIterators->at(i).iterator = 0; 245 d->firingEventIterators->at(i).iterator = 0;
267 d->firingEventIterators->at(i).end = 0; 246 d->firingEventIterators->at(i).end = 0;
268 } 247 }
269 } 248 }
270 } 249 }
271 250
272 } // namespace blink 251 } // namespace blink
OLDNEW
« no previous file with comments | « sky/engine/core/events/Event.idl ('k') | sky/engine/core/events/EventTypeNames.in » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698