Title: [242777] trunk
Revision
242777
Author
[email protected]
Date
2019-03-11 22:50:21 -0700 (Mon, 11 Mar 2019)

Log 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

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (242776 => 242777)


--- trunk/LayoutTests/ChangeLog	2019-03-12 05:27:44 UTC (rev 242776)
+++ trunk/LayoutTests/ChangeLog	2019-03-12 05:50:21 UTC (rev 242777)
@@ -1,5 +1,17 @@
 2019-03-11  Ryan Haddad  <[email protected]>
 
+        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
+
+2019-03-11  Ryan Haddad  <[email protected]>
+
         Unreviewed test gardening, rebaseline tests after r242757.
 
         * http/tests/adClickAttribution/anchor-tag-attributes-validation-expected.txt:

Modified: trunk/LayoutTests/fast/events/touch/ios/content-observation/visibility-change-happens-while-in-mousemoved.html (242776 => 242777)


--- trunk/LayoutTests/fast/events/touch/ios/content-observation/visibility-change-happens-while-in-mousemoved.html	2019-03-12 05:27:44 UTC (rev 242776)
+++ trunk/LayoutTests/fast/events/touch/ios/content-observation/visibility-change-happens-while-in-mousemoved.html	2019-03-12 05:50:21 UTC (rev 242777)
@@ -45,11 +45,7 @@
         testRunner.notifyDone();
 }, false);
 
-tapthis.addEventListener("mouseout", function( event ) {
-    result.innerHTML = result.innerHTML + " mouseout should NOT be triggered ";
-}, false);
-
-becomesVisible.addEventListener("click", function( event ) {
+becomesVisible.addEventListener("click", function( event ) {   
     result.innerHTML = "clicked hidden";
 }, false);
 

Modified: trunk/Source/WebCore/ChangeLog (242776 => 242777)


--- trunk/Source/WebCore/ChangeLog	2019-03-12 05:27:44 UTC (rev 242776)
+++ trunk/Source/WebCore/ChangeLog	2019-03-12 05:50:21 UTC (rev 242777)
@@ -1,3 +1,15 @@
+2019-03-11  Ryan Haddad  <[email protected]>
+
+        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
+
 2019-03-11  Ross Kirsling  <[email protected]>
 
         Add Optional to Forward.h.

Modified: trunk/Source/WebCore/page/EventHandler.cpp (242776 => 242777)


--- trunk/Source/WebCore/page/EventHandler.cpp	2019-03-12 05:27:44 UTC (rev 242776)
+++ trunk/Source/WebCore/page/EventHandler.cpp	2019-03-12 05:50:21 UTC (rev 242777)
@@ -1978,7 +1978,7 @@
 #endif
         if (onlyUpdateScrollbars) {
             if (shouldSendMouseEventsToInactiveWindows())
-                updateMouseEventTargetNode(mouseEvent.targetNode(), platformMouseEvent, FireMouseOverOut::Yes);
+                updateMouseEventTargetNode(mouseEvent.targetNode(), platformMouseEvent, true);
 
             return true;
         }
@@ -1993,7 +1993,7 @@
 
     if (newSubframe) {
         // Update over/out state before passing the event to the subframe.
-        updateMouseEventTargetNode(mouseEvent.targetNode(), platformMouseEvent, FireMouseOverOut::Yes);
+        updateMouseEventTargetNode(mouseEvent.targetNode(), platformMouseEvent, true);
         
         // Event dispatch in updateMouseEventTargetNode may have caused the subframe of the target
         // node to be detached from its FrameView, in which case the event should not be passed.
@@ -2476,7 +2476,7 @@
     return false;
 }
 
-void EventHandler::updateMouseEventTargetNode(Node* targetNode, const PlatformMouseEvent& platformMouseEvent, FireMouseOverOut fireMouseOverOut)
+void EventHandler::updateMouseEventTargetNode(Node* targetNode, const PlatformMouseEvent& platformMouseEvent, bool fireMouseOverOut)
 {
     Ref<Frame> protectedFrame(m_frame);
     Element* targetElement = nullptr;
@@ -2494,7 +2494,7 @@
     m_elementUnderMouse = targetElement;
 
     // Fire mouseout/mouseover if the mouse has shifted to a different node.
-    if (fireMouseOverOut == FireMouseOverOut::Yes) {
+    if (fireMouseOverOut) {
         auto scrollableAreaForLastNode = enclosingScrollableArea(m_lastElementUnderMouse.get());
         auto scrollableAreaForNodeUnderMouse = enclosingScrollableArea(m_elementUnderMouse.get());
         Page* page = m_frame.page();
@@ -2588,7 +2588,7 @@
     if (auto* view = m_frame.view())
         view->disableLayerFlushThrottlingTemporarilyForInteraction();
 
-    updateMouseEventTargetNode(targetNode, platformMouseEvent, setUnder ? FireMouseOverOut::Yes : FireMouseOverOut::No);
+    updateMouseEventTargetNode(targetNode, platformMouseEvent, setUnder);
 
     if (m_elementUnderMouse && !m_elementUnderMouse->dispatchMouseEvent(platformMouseEvent, eventType, clickCount))
         return false;

Modified: trunk/Source/WebCore/page/EventHandler.h (242776 => 242777)


--- trunk/Source/WebCore/page/EventHandler.h	2019-03-12 05:27:44 UTC (rev 242776)
+++ trunk/Source/WebCore/page/EventHandler.h	2019-03-12 05:50:21 UTC (rev 242777)
@@ -241,7 +241,6 @@
 
 #if PLATFORM(IOS_FAMILY)
     void defaultTouchEventHandler(Node&, TouchEvent&);
-    WEBCORE_EXPORT void dispatchSyntheticMouseOut(const PlatformMouseEvent&);
 #endif
 
 #if ENABLE(CONTEXT_MENUS)
@@ -405,9 +404,9 @@
 
     Node* nodeUnderMouse() const;
     
-    enum class FireMouseOverOut { No, Yes };
-    void updateMouseEventTargetNode(Node*, const PlatformMouseEvent&, FireMouseOverOut);
-
+    void updateMouseEventTargetNode(Node*, const PlatformMouseEvent&, bool fireMouseOverOut);
+    void fireMouseOverOut(bool fireMouseOver = true, bool fireMouseOut = true, bool updateLastNodeUnderMouse = true);
+    
     MouseEventWithHitTestResults prepareMouseEvent(const HitTestRequest&, const PlatformMouseEvent&);
 
     bool dispatchMouseEvent(const AtomicString& eventType, Node* target, bool cancelable, int clickCount, const PlatformMouseEvent&, bool setUnder);

Modified: trunk/Source/WebCore/page/ios/EventHandlerIOS.mm (242776 => 242777)


--- trunk/Source/WebCore/page/ios/EventHandlerIOS.mm	2019-03-12 05:27:44 UTC (rev 242776)
+++ trunk/Source/WebCore/page/ios/EventHandlerIOS.mm	2019-03-12 05:50:21 UTC (rev 242777)
@@ -515,11 +515,6 @@
     return false;
 }
 
-void EventHandler::dispatchSyntheticMouseOut(const PlatformMouseEvent& platformMouseEvent)
-{
-    updateMouseEventTargetNode(nullptr, platformMouseEvent, FireMouseOverOut::Yes);
-}
-
 bool EventHandler::passMousePressEventToSubframe(MouseEventWithHitTestResults& mev, Frame* subframe)
 {
     // WebKit1 code path.

Modified: trunk/Source/WebKit/ChangeLog (242776 => 242777)


--- trunk/Source/WebKit/ChangeLog	2019-03-12 05:27:44 UTC (rev 242776)
+++ trunk/Source/WebKit/ChangeLog	2019-03-12 05:50:21 UTC (rev 242777)
@@ -1,3 +1,15 @@
+2019-03-11  Ryan Haddad  <[email protected]>
+
+        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
+
 2019-03-11  Ross Kirsling  <[email protected]>
 
         Add Optional to Forward.h.

Modified: trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm (242776 => 242777)


--- trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm	2019-03-12 05:27:44 UTC (rev 242776)
+++ trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm	2019-03-12 05:50:21 UTC (rev 242777)
@@ -640,10 +640,6 @@
     if (newFocusedElement && newFocusedElement == oldFocusedElement)
         elementDidRefocus(*newFocusedElement);
 
-    nodeRespondingToClick.document().frame()->eventHandler().dispatchSyntheticMouseOut(PlatformMouseEvent(roundedAdjustedPoint, roundedAdjustedPoint, LeftButton, PlatformEvent::NoType, 0, shiftKey, ctrlKey, altKey, metaKey, WallTime::now(), 0, WebCore::NoTap));
-    if (m_isClosed)
-        return;
-
     if (!tapWasHandled || !nodeRespondingToClick.isElementNode())
         send(Messages::WebPageProxy::DidNotHandleTapAsClick(roundedIntPoint(location)));
     
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to