Changeset 56195 in webkit
- Timestamp:
- Mar 18, 2010 2:39:58 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r56194 r56195 1 2010-03-18 David Hyatt <hyatt@apple.com> 2 3 Reviewed by Oliver Hunt. 4 5 https://bugs.webkit.org/show_bug.cgi?id=36325 6 7 Add support for stopImmediatePropagation from DOM Level 3 Events. 8 9 Added fast/events/stop-immediate-propagation.html. 10 11 * dom/Event.cpp: 12 (WebCore::Event::Event): 13 * dom/Event.h: 14 (WebCore::Event::timeStamp): 15 (WebCore::Event::stopPropagation): 16 (WebCore::Event::stopImmediatePropagation): 17 (WebCore::Event::propagationStopped): 18 (WebCore::Event::immediatePropagationStopped): 19 * dom/Event.idl: 20 * dom/EventTarget.cpp: 21 (WebCore::EventTarget::fireEventListeners): 22 1 23 2010-03-18 Dimitri Glazkov <dglazkov@chromium.org> 2 24 -
trunk/WebCore/dom/Event.cpp
r54182 r56195 33 33 , m_cancelable(false) 34 34 , m_propagationStopped(false) 35 , m_immediatePropagationStopped(false) 35 36 , m_defaultPrevented(false) 36 37 , m_defaultHandled(false) … … 48 49 , m_cancelable(cancelableArg) 49 50 , m_propagationStopped(false) 51 , m_immediatePropagationStopped(false) 50 52 , m_defaultPrevented(false) 51 53 , m_defaultHandled(false) -
trunk/WebCore/dom/Event.h
r54182 r56195 89 89 bool cancelable() const { return m_cancelable; } 90 90 DOMTimeStamp timeStamp() const { return m_createTime; } 91 91 92 void stopPropagation() { m_propagationStopped = true; } 92 93 void stopImmediatePropagation() { m_immediatePropagationStopped = true; } 94 93 95 // IE Extensions 94 96 EventTarget* srcElement() const { return target(); } // MSIE extension - "the object that fired the event" … … 132 134 bool fromUserGesture(); 133 135 134 bool propagationStopped() const { return m_propagationStopped; } 136 bool propagationStopped() const { return m_propagationStopped || m_immediatePropagationStopped; } 137 bool immediatePropagationStopped() const { return m_immediatePropagationStopped; } 135 138 136 139 bool defaultPrevented() const { return m_defaultPrevented; } … … 168 171 169 172 bool m_propagationStopped; 173 bool m_immediatePropagationStopped; 170 174 bool m_defaultPrevented; 171 175 bool m_defaultHandled; -
trunk/WebCore/dom/Event.idl
r56190 r56195 69 69 // DOM Level 3 Additions. 70 70 readonly attribute boolean defaultPrevented; 71 void stopImmediatePropagation(); 71 72 72 73 // IE Extensions -
trunk/WebCore/dom/EventTarget.cpp
r51793 r56195 293 293 if (event->eventPhase() == Event::BUBBLING_PHASE && registeredListener.useCapture) 294 294 continue; 295 296 // If stopImmediatePropagation has been called, we just break out immediately, without 297 // handling any more events on this target. 298 if (event->immediatePropagationStopped()) 299 break; 300 295 301 // To match Mozilla, the AT_TARGET phase fires both capturing and bubbling 296 302 // event listeners, even though that violates some versions of the DOM spec.
Note: See TracChangeset
for help on using the changeset viewer.