Title: [230786] trunk/Source/WebCore
Revision
230786
Author
[email protected]
Date
2018-04-18 15:01:27 -0700 (Wed, 18 Apr 2018)

Log Message

:active pseudo class doesn't deactivate when using pressure sensitive trackpad
https://bugs.webkit.org/show_bug.cgi?id=181680

Reviewed by Beth Dakin.

Trackpad sends a mouse force event with force of zero after mouse up event. This causes the element under cursor
activate again.

Even a fake event test doesn't appear to be currently possible as TestRunner crashes if you try to send mouseForceChanged.
All the tests using it are skipped.

* page/EventHandler.cpp:
(WebCore::EventHandler::handleMouseForceEvent):

Don't add HitTestRequest::Active if the force of the force event is zero.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (230785 => 230786)


--- trunk/Source/WebCore/ChangeLog	2018-04-18 21:54:52 UTC (rev 230785)
+++ trunk/Source/WebCore/ChangeLog	2018-04-18 22:01:27 UTC (rev 230786)
@@ -1,3 +1,21 @@
+2018-04-18  Antti Koivisto  <[email protected]>
+
+        :active pseudo class doesn't deactivate when using pressure sensitive trackpad
+        https://bugs.webkit.org/show_bug.cgi?id=181680
+
+        Reviewed by Beth Dakin.
+
+        Trackpad sends a mouse force event with force of zero after mouse up event. This causes the element under cursor
+        activate again.
+
+        Even a fake event test doesn't appear to be currently possible as TestRunner crashes if you try to send mouseForceChanged.
+        All the tests using it are skipped.
+
+        * page/EventHandler.cpp:
+        (WebCore::EventHandler::handleMouseForceEvent):
+
+        Don't add HitTestRequest::Active if the force of the force event is zero.
+
 2018-04-18  Megan Gardner  <[email protected]>
 
         Ensure correct screen sizes

Modified: trunk/Source/WebCore/page/EventHandler.cpp (230785 => 230786)


--- trunk/Source/WebCore/page/EventHandler.cpp	2018-04-18 21:54:52 UTC (rev 230785)
+++ trunk/Source/WebCore/page/EventHandler.cpp	2018-04-18 22:01:27 UTC (rev 230786)
@@ -2126,8 +2126,11 @@
 
     setLastKnownMousePosition(event);
 
-    HitTestRequest::HitTestRequestType hitType = HitTestRequest::DisallowUserAgentShadowContent | HitTestRequest::Active;
+    HitTestRequest::HitTestRequestType hitType = HitTestRequest::DisallowUserAgentShadowContent;
 
+    if (event.force())
+        hitType |= HitTestRequest::Active;
+
     HitTestRequest request(hitType);
     MouseEventWithHitTestResults mouseEvent = prepareMouseEvent(request, event);
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to