Skip to content
  • allan.jensen@digia.com's avatar
    Mouseenter and mouseleave events not supported · 1a84b4e4
    allan.jensen@digia.com authored
    https://bugs.webkit.org/show_bug.cgi?id=18930
    
    Reviewed by David Hyatt.
    
    Source/WebCore:
    
    Implements mouseenter and mouseleave events from W3C DOM Level 3 Events.
    These event are already supported by all other major browsers.
    
    To avoid performance regressions the new events are only dispatched when
    there are event listeners for them.
    
    Tests: fast/events/mouseenter-mouseleave-capture.html
           fast/events/mouseenter-mouseleave.html
    
    * bindings/scripts/CodeGenerator.pm:
    * dom/Document.cpp:
    (WebCore::Document::prepareMouseEvent):
    (WebCore::Document::updateHoverActiveState):
    * dom/Document.h:
    (Document):
    * dom/Document.idl:
    * dom/Element.h:
    (Element):
    * dom/Element.idl:
    * dom/EventListenerMap.cpp:
    (WebCore::EventListenerMap::containsCapturing):
    * dom/EventListenerMap.h:
    (EventListenerMap):
    * dom/EventNames.h:
    * dom/EventTarget.h:
    (EventTarget):
    (WebCore::EventTarget::hasCapturingEventListeners):
    * dom/MouseEvent.cpp:
    (WebCore::MouseEvent::create):
    (WebCore::MouseEvent::toElement):
    (WebCore::MouseEvent::fromElement):
    * html/HTMLAttributeNames.in:
    * html/HTMLElement.cpp:
    (WebCore::HTMLElement::eventNameForAttributeName):
    * page/DOMWindow.h:
    (DOMWindow):
    * page/DOMWindow.idl:
    * svg/SVGElement.cpp:
    (WebCore::SVGElement::parseAttribute):
    * svg/SVGElementInstance.h:
    (SVGElementInstance):
    * svg/SVGElementInstance.idl:
    
    LayoutTests:
    
    To new tests that mouseenter and mouseleave works in both bubbling and capture phase.
    
    * fast/events/mouseenter-mouseleave-capture-expected.txt: Added.
    * fast/events/mouseenter-mouseleave-capture.html: Added.
    * fast/events/mouseenter-mouseleave-expected.txt: Added.
    * fast/events/mouseenter-mouseleave.html: Added.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149173 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    1a84b4e4