Title: [252366] trunk
Revision
252366
Author
[email protected]
Date
2019-11-12 08:35:55 -0800 (Tue, 12 Nov 2019)

Log Message

[GTK][WPE] Support Pointer Events
https://bugs.webkit.org/show_bug.cgi?id=202789

Reviewed by Carlos Garcia Campos.

.:

Build support for PointerEvents when EXPERIMENTAL_FEATURES is enabled.
Currently support for PointerEvents of pointerType==mouse works fine,
but support for other type of PointerEvents is missing.

* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:

LayoutTests/imported/w3c:

* web-platform-tests/resources/testdriver-vendor.js:
The fix for iOS added in r245639 triggers a call to sendEventStream in
UIScriptController that crashes on GTK because that function is only
implemented for iOS. For Mac this was not an issue because the Mac port
doesn't enable TouchEvent support ("createTouch" in document).
However TouchEvent support is enabled for GTK. Fix this by only
trigerring the call to dispatchTouchActions when TouchEvent support
is enabled _and_ its iOS.

Source/WebKit:

Covered by existing tests.

* UIProcess/PageClient.h: Add a ifdef for platform COCOA on two
function declarations that depend on the UIGestureRecognizer ObjC type.
This is not needed for GTK/WPE code.

LayoutTests:

Add test expectations for GTK/WPE.

* platform/gtk/TestExpectations:
* platform/gtk/imported/w3c/web-platform-tests/pointerevents/extension/pointerevent_touch-action-verification-expected.txt: Removed.
  Now it passes with the general expectation.
* platform/gtk/imported/w3c/web-platform-tests/pointerevents/pointerevent_touch-action-verification-expected.txt: Removed.
  Now it passes with the general expectation.
* platform/wpe/TestExpectations: Update also bug number for PointerLock.

Modified Paths

Removed Paths

  • trunk/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/pointerevents/

Diff

Modified: trunk/ChangeLog (252365 => 252366)


--- trunk/ChangeLog	2019-11-12 15:39:48 UTC (rev 252365)
+++ trunk/ChangeLog	2019-11-12 16:35:55 UTC (rev 252366)
@@ -1,5 +1,19 @@
 2019-11-12  Carlos Alberto Lopez Perez  <[email protected]>
 
+        [GTK][WPE] Support Pointer Events
+        https://bugs.webkit.org/show_bug.cgi?id=202789
+
+        Reviewed by Carlos Garcia Campos.
+
+        Build support for PointerEvents when EXPERIMENTAL_FEATURES is enabled.
+        Currently support for PointerEvents of pointerType==mouse works fine,
+        but support for other type of PointerEvents is missing.
+
+        * Source/cmake/OptionsGTK.cmake:
+        * Source/cmake/OptionsWPE.cmake:
+
+2019-11-12  Carlos Alberto Lopez Perez  <[email protected]>
+
         [GTK][WPE] Enable CSS Painting API
         https://bugs.webkit.org/show_bug.cgi?id=190710
 

Modified: trunk/LayoutTests/ChangeLog (252365 => 252366)


--- trunk/LayoutTests/ChangeLog	2019-11-12 15:39:48 UTC (rev 252365)
+++ trunk/LayoutTests/ChangeLog	2019-11-12 16:35:55 UTC (rev 252366)
@@ -1,3 +1,19 @@
+2019-11-12  Carlos Alberto Lopez Perez  <[email protected]>
+
+        [GTK][WPE] Support Pointer Events
+        https://bugs.webkit.org/show_bug.cgi?id=202789
+
+        Reviewed by Carlos Garcia Campos.
+
+        Add test expectations for GTK/WPE.
+
+        * platform/gtk/TestExpectations:
+        * platform/gtk/imported/w3c/web-platform-tests/pointerevents/extension/pointerevent_touch-action-verification-expected.txt: Removed.
+          Now it passes with the general expectation.
+        * platform/gtk/imported/w3c/web-platform-tests/pointerevents/pointerevent_touch-action-verification-expected.txt: Removed.
+          Now it passes with the general expectation.
+        * platform/wpe/TestExpectations: Update also bug number for PointerLock.
+
 2019-11-12  Rob Buis  <[email protected]>
 
         Unskip some fetch tests

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (252365 => 252366)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2019-11-12 15:39:48 UTC (rev 252365)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2019-11-12 16:35:55 UTC (rev 252366)
@@ -1,3 +1,19 @@
+2019-11-12  Carlos Alberto Lopez Perez  <[email protected]>
+
+        [GTK][WPE] Support Pointer Events
+        https://bugs.webkit.org/show_bug.cgi?id=202789
+
+        Reviewed by Carlos Garcia Campos.
+
+        * web-platform-tests/resources/testdriver-vendor.js:
+        The fix for iOS added in r245639 triggers a call to sendEventStream in
+        UIScriptController that crashes on GTK because that function is only
+        implemented for iOS. For Mac this was not an issue because the Mac port
+        doesn't enable TouchEvent support ("createTouch" in document).
+        However TouchEvent support is enabled for GTK. Fix this by only
+        trigerring the call to dispatchTouchActions when TouchEvent support
+        is enabled _and_ its iOS.
+
 2019-11-12  Rob Buis  <[email protected]>
 
         Unskip some fetch tests

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/resources/testdriver-vendor.js (252365 => 252366)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/resources/testdriver-vendor.js	2019-11-12 15:39:48 UTC (rev 252365)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/resources/testdriver-vendor.js	2019-11-12 16:35:55 UTC (rev 252366)
@@ -244,7 +244,7 @@
 
     if (pointerType === "touch")
         return dispatchTouchActions(pointerSource.actions);
-    if ("createTouch" in document)
+    if (testRunner.isIOSFamily && "createTouch" in document)
         return dispatchTouchActions(pointerSource.actions, { insertPauseAfterPointerUp: true });
     if (pointerType === "mouse")
         return dispatchMouseActions(pointerSource.actions);

Modified: trunk/LayoutTests/platform/gtk/TestExpectations (252365 => 252366)


--- trunk/LayoutTests/platform/gtk/TestExpectations	2019-11-12 15:39:48 UTC (rev 252365)
+++ trunk/LayoutTests/platform/gtk/TestExpectations	2019-11-12 16:35:55 UTC (rev 252366)
@@ -4011,6 +4011,20 @@
 imported/w3c/web-platform-tests/css/css-values/ch-unit-011.html [ Pass ]
 imported/w3c/web-platform-tests/css/css-values/ch-unit-012.html [ Pass ]
 
+# PointerEvents not enabled globally, but enabled for GTK (EXPERIMENTAL_FEATURES)
+pointerevents/mouse [ Pass ]
+imported/w3c/web-platform-tests/pointerevents [ Pass ]
+# PointerEvents currently only supports mouse on GTK (no Touch/Pen support)
+webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_change-touch-action-onpointerdown_touch.html [ Skip ]
+webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_pointercancel_touch.html [ Skip ]
+webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_pointerleave_after_pointercancel_touch.html [ Skip ]
+webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_pointerout_after_pointercancel_touch.html [ Skip ]
+webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_releasepointercapture_onpointercancel_touch.html [ Skip ]
+webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_touch-action-auto-css_touch.html [ Skip ]
+webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_highest-parent-none_touch.html [ Skip ]
+webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_touch-action-pan-x-pan-y_touch.html [ Skip ]
+webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_pointerout_pen.html [ Skip ]
+
 #////////////////////////////////////////////////////////////////////////////////////////
 # End of PASSING tests. See top of file where to put new expectations.
 #////////////////////////////////////////////////////////////////////////////////////////

Modified: trunk/LayoutTests/platform/wpe/TestExpectations (252365 => 252366)


--- trunk/LayoutTests/platform/wpe/TestExpectations	2019-11-12 15:39:48 UTC (rev 252365)
+++ trunk/LayoutTests/platform/wpe/TestExpectations	2019-11-12 16:35:55 UTC (rev 252366)
@@ -380,9 +380,11 @@
 
 fast/dom/Window/Plug-ins.html [ Failure ]
 
-webkit.org/b/99036 pointer-lock/ [ Skip ]
-webkit.org/b/99036 fast/shadow-dom/pointerlockelement-in-shadow-tree.html [ Skip ]
-webkit.org/b/99036 fast/shadow-dom/pointerlockelement-in-slot.html [ Skip ]
+# Pointer Lock API not implemented
+webkit.org/b/204001 pointer-lock/ [ Skip ]
+webkit.org/b/204001 fast/shadow-dom/pointerlockelement-in-shadow-tree.html [ Skip ]
+webkit.org/b/204001 fast/shadow-dom/pointerlockelement-in-slot.html [ Skip ]
+webkit.org/b/204001 imported/w3c/web-platform-tests/pointerevents/pointerlock/pointerevent_coordinates_when_locked.html [ Skip ]
 
 webkit.org/b/153833 fast/shadow-dom/touch-event-ios.html [ Skip ]
 
@@ -751,6 +753,20 @@
 imported/w3c/web-platform-tests/css/css-values/ch-unit-011.html [ Pass ]
 imported/w3c/web-platform-tests/css/css-values/ch-unit-012.html [ Pass ]
 
+# PointerEvents not enabled globally, but enabled for WPE (EXPERIMENTAL_FEATURES)
+pointerevents/mouse [ Pass ]
+imported/w3c/web-platform-tests/pointerevents [ Pass ]
+# PointerEvents currently only supports mouse on WPE (no Touch/Pen support)
+webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_change-touch-action-onpointerdown_touch.html [ Skip ]
+webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_pointercancel_touch.html [ Skip ]
+webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_pointerleave_after_pointercancel_touch.html [ Skip ]
+webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_pointerout_after_pointercancel_touch.html [ Skip ]
+webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_releasepointercapture_onpointercancel_touch.html [ Skip ]
+webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_touch-action-auto-css_touch.html [ Skip ]
+webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_highest-parent-none_touch.html [ Skip ]
+webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_touch-action-pan-x-pan-y_touch.html [ Skip ]
+webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_pointerout_pen.html [ Skip ]
+
 #////////////////////////////////////////////////////////////////////////////////////////
 # 5. TESTS CRASHING
 #////////////////////////////////////////////////////////////////////////////////////////

Modified: trunk/Source/WebKit/ChangeLog (252365 => 252366)


--- trunk/Source/WebKit/ChangeLog	2019-11-12 15:39:48 UTC (rev 252365)
+++ trunk/Source/WebKit/ChangeLog	2019-11-12 16:35:55 UTC (rev 252366)
@@ -1,3 +1,16 @@
+2019-11-12  Carlos Alberto Lopez Perez  <[email protected]>
+
+        [GTK][WPE] Support Pointer Events
+        https://bugs.webkit.org/show_bug.cgi?id=202789
+
+        Reviewed by Carlos Garcia Campos.
+
+        Covered by existing tests.
+
+        * UIProcess/PageClient.h: Add a ifdef for platform COCOA on two
+        function declarations that depend on the UIGestureRecognizer ObjC type.
+        This is not needed for GTK/WPE code.
+
 2019-11-12  Alex Christensen  <[email protected]>
 
         Revert part of r251676

Modified: trunk/Source/WebKit/UIProcess/PageClient.h (252365 => 252366)


--- trunk/Source/WebKit/UIProcess/PageClient.h	2019-11-12 15:39:48 UTC (rev 252365)
+++ trunk/Source/WebKit/UIProcess/PageClient.h	2019-11-12 16:35:55 UTC (rev 252366)
@@ -502,7 +502,7 @@
     virtual RetainPtr<WKDrawingView> createDrawingView(WebCore::GraphicsLayer::EmbeddedViewID) { return nullptr; }
 #endif
 
-#if ENABLE(POINTER_EVENTS)
+#if ENABLE(POINTER_EVENTS) && PLATFORM(COCOA)
     virtual void cancelPointersForGestureRecognizer(UIGestureRecognizer*) { }
     virtual WTF::Optional<unsigned> activeTouchIdentifierForGestureRecognizer(UIGestureRecognizer*) { return WTF::nullopt; }
 #endif

Modified: trunk/Source/cmake/OptionsGTK.cmake (252365 => 252366)


--- trunk/Source/cmake/OptionsGTK.cmake	2019-11-12 15:39:48 UTC (rev 252365)
+++ trunk/Source/cmake/OptionsGTK.cmake	2019-11-12 16:35:55 UTC (rev 252366)
@@ -166,6 +166,7 @@
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_RTC PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_PAINTING_API PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_TYPED_OM PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_POINTER_EVENTS PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
 
 include(GStreamerDependencies)
 

Modified: trunk/Source/cmake/OptionsWPE.cmake (252365 => 252366)


--- trunk/Source/cmake/OptionsWPE.cmake	2019-11-12 15:39:48 UTC (rev 252365)
+++ trunk/Source/cmake/OptionsWPE.cmake	2019-11-12 16:35:55 UTC (rev 252366)
@@ -62,6 +62,7 @@
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_RTC PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_PAINTING_API PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_TYPED_OM PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_POINTER_EVENTS PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
 
 # Public options specific to the WPE port. Do not add any options here unless
 # there is a strong reason we should support changing the value of the option,
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to