Changeset 242777 in webkit


Ignore:
Timestamp:
Mar 11, 2019 10:50:21 PM (5 years ago)
Author:
Ryan Haddad
Message:

Unreviewed, rolling out r242763.

Causes layout test crashes on iOS simulator

Reverted changeset:

"[Synthetic Click] Dispatch mouseout soon after mouseup"
https://bugs.webkit.org/show_bug.cgi?id=195575
https://trac.webkit.org/changeset/242763

Location:
trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r242774 r242777  
     12019-03-11  Ryan Haddad  <ryanhaddad@apple.com>
     2
     3        Unreviewed, rolling out r242763.
     4
     5        Causes layout test crashes on iOS simulator
     6
     7        Reverted changeset:
     8
     9        "[Synthetic Click] Dispatch mouseout soon after mouseup"
     10        https://bugs.webkit.org/show_bug.cgi?id=195575
     11        https://trac.webkit.org/changeset/242763
     12
    1132019-03-11  Ryan Haddad  <ryanhaddad@apple.com>
    214
  • trunk/LayoutTests/fast/events/touch/ios/content-observation/visibility-change-happens-while-in-mousemoved.html

    r242763 r242777  
    4646}, false);
    4747
    48 tapthis.addEventListener("mouseout", function( event ) {
    49     result.innerHTML = result.innerHTML + " mouseout should NOT be triggered ";
    50 }, false);
    51 
    52 becomesVisible.addEventListener("click", function( event ) {
     48becomesVisible.addEventListener("click", function( event ) {   
    5349    result.innerHTML = "clicked hidden";
    5450}, false);
  • trunk/Source/WebCore/ChangeLog

    r242776 r242777  
     12019-03-11  Ryan Haddad  <ryanhaddad@apple.com>
     2
     3        Unreviewed, rolling out r242763.
     4
     5        Causes layout test crashes on iOS simulator
     6
     7        Reverted changeset:
     8
     9        "[Synthetic Click] Dispatch mouseout soon after mouseup"
     10        https://bugs.webkit.org/show_bug.cgi?id=195575
     11        https://trac.webkit.org/changeset/242763
     12
    1132019-03-11  Ross Kirsling  <ross.kirsling@sony.com>
    214
  • trunk/Source/WebCore/page/EventHandler.cpp

    r242763 r242777  
    19791979        if (onlyUpdateScrollbars) {
    19801980            if (shouldSendMouseEventsToInactiveWindows())
    1981                 updateMouseEventTargetNode(mouseEvent.targetNode(), platformMouseEvent, FireMouseOverOut::Yes);
     1981                updateMouseEventTargetNode(mouseEvent.targetNode(), platformMouseEvent, true);
    19821982
    19831983            return true;
     
    19941994    if (newSubframe) {
    19951995        // Update over/out state before passing the event to the subframe.
    1996         updateMouseEventTargetNode(mouseEvent.targetNode(), platformMouseEvent, FireMouseOverOut::Yes);
     1996        updateMouseEventTargetNode(mouseEvent.targetNode(), platformMouseEvent, true);
    19971997       
    19981998        // Event dispatch in updateMouseEventTargetNode may have caused the subframe of the target
     
    24772477}
    24782478
    2479 void EventHandler::updateMouseEventTargetNode(Node* targetNode, const PlatformMouseEvent& platformMouseEvent, FireMouseOverOut fireMouseOverOut)
     2479void EventHandler::updateMouseEventTargetNode(Node* targetNode, const PlatformMouseEvent& platformMouseEvent, bool fireMouseOverOut)
    24802480{
    24812481    Ref<Frame> protectedFrame(m_frame);
     
    24952495
    24962496    // Fire mouseout/mouseover if the mouse has shifted to a different node.
    2497     if (fireMouseOverOut == FireMouseOverOut::Yes) {
     2497    if (fireMouseOverOut) {
    24982498        auto scrollableAreaForLastNode = enclosingScrollableArea(m_lastElementUnderMouse.get());
    24992499        auto scrollableAreaForNodeUnderMouse = enclosingScrollableArea(m_elementUnderMouse.get());
     
    25892589        view->disableLayerFlushThrottlingTemporarilyForInteraction();
    25902590
    2591     updateMouseEventTargetNode(targetNode, platformMouseEvent, setUnder ? FireMouseOverOut::Yes : FireMouseOverOut::No);
     2591    updateMouseEventTargetNode(targetNode, platformMouseEvent, setUnder);
    25922592
    25932593    if (m_elementUnderMouse && !m_elementUnderMouse->dispatchMouseEvent(platformMouseEvent, eventType, clickCount))
  • trunk/Source/WebCore/page/EventHandler.h

    r242763 r242777  
    242242#if PLATFORM(IOS_FAMILY)
    243243    void defaultTouchEventHandler(Node&, TouchEvent&);
    244     WEBCORE_EXPORT void dispatchSyntheticMouseOut(const PlatformMouseEvent&);
    245244#endif
    246245
     
    406405    Node* nodeUnderMouse() const;
    407406   
    408     enum class FireMouseOverOut { No, Yes };
    409     void updateMouseEventTargetNode(Node*, const PlatformMouseEvent&, FireMouseOverOut);
    410 
     407    void updateMouseEventTargetNode(Node*, const PlatformMouseEvent&, bool fireMouseOverOut);
     408    void fireMouseOverOut(bool fireMouseOver = true, bool fireMouseOut = true, bool updateLastNodeUnderMouse = true);
     409   
    411410    MouseEventWithHitTestResults prepareMouseEvent(const HitTestRequest&, const PlatformMouseEvent&);
    412411
  • trunk/Source/WebCore/page/ios/EventHandlerIOS.mm

    r242763 r242777  
    516516}
    517517
    518 void EventHandler::dispatchSyntheticMouseOut(const PlatformMouseEvent& platformMouseEvent)
    519 {
    520     updateMouseEventTargetNode(nullptr, platformMouseEvent, FireMouseOverOut::Yes);
    521 }
    522 
    523518bool EventHandler::passMousePressEventToSubframe(MouseEventWithHitTestResults& mev, Frame* subframe)
    524519{
  • trunk/Source/WebKit/ChangeLog

    r242776 r242777  
     12019-03-11  Ryan Haddad  <ryanhaddad@apple.com>
     2
     3        Unreviewed, rolling out r242763.
     4
     5        Causes layout test crashes on iOS simulator
     6
     7        Reverted changeset:
     8
     9        "[Synthetic Click] Dispatch mouseout soon after mouseup"
     10        https://bugs.webkit.org/show_bug.cgi?id=195575
     11        https://trac.webkit.org/changeset/242763
     12
    1132019-03-11  Ross Kirsling  <ross.kirsling@sony.com>
    214
  • trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm

    r242763 r242777  
    641641        elementDidRefocus(*newFocusedElement);
    642642
    643     nodeRespondingToClick.document().frame()->eventHandler().dispatchSyntheticMouseOut(PlatformMouseEvent(roundedAdjustedPoint, roundedAdjustedPoint, LeftButton, PlatformEvent::NoType, 0, shiftKey, ctrlKey, altKey, metaKey, WallTime::now(), 0, WebCore::NoTap));
    644     if (m_isClosed)
    645         return;
    646 
    647643    if (!tapWasHandled || !nodeRespondingToClick.isElementNode())
    648644        send(Messages::WebPageProxy::DidNotHandleTapAsClick(roundedIntPoint(location)));
Note: See TracChangeset for help on using the changeset viewer.