⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 252366 in webkit


Ignore:
Timestamp:
Nov 12, 2019, 8:35:55 AM (7 years ago)
Author:
clopez@igalia.com
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.
Location:
trunk
Files:
1 deleted
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r252361 r252366  
     12019-11-12  Carlos Alberto Lopez Perez  <clopez@igalia.com>
     2
     3        [GTK][WPE] Support Pointer Events
     4        https://bugs.webkit.org/show_bug.cgi?id=202789
     5
     6        Reviewed by Carlos Garcia Campos.
     7
     8        Build support for PointerEvents when EXPERIMENTAL_FEATURES is enabled.
     9        Currently support for PointerEvents of pointerType==mouse works fine,
     10        but support for other type of PointerEvents is missing.
     11
     12        * Source/cmake/OptionsGTK.cmake:
     13        * Source/cmake/OptionsWPE.cmake:
     14
    1152019-11-12  Carlos Alberto Lopez Perez  <clopez@igalia.com>
    216
  • trunk/LayoutTests/ChangeLog

    r252363 r252366  
     12019-11-12  Carlos Alberto Lopez Perez  <clopez@igalia.com>
     2
     3        [GTK][WPE] Support Pointer Events
     4        https://bugs.webkit.org/show_bug.cgi?id=202789
     5
     6        Reviewed by Carlos Garcia Campos.
     7
     8        Add test expectations for GTK/WPE.
     9
     10        * platform/gtk/TestExpectations:
     11        * platform/gtk/imported/w3c/web-platform-tests/pointerevents/extension/pointerevent_touch-action-verification-expected.txt: Removed.
     12          Now it passes with the general expectation.
     13        * platform/gtk/imported/w3c/web-platform-tests/pointerevents/pointerevent_touch-action-verification-expected.txt: Removed.
     14          Now it passes with the general expectation.
     15        * platform/wpe/TestExpectations: Update also bug number for PointerLock.
     16
    1172019-11-12  Rob Buis  <rbuis@igalia.com>
    218
  • trunk/LayoutTests/imported/w3c/ChangeLog

    r252363 r252366  
     12019-11-12  Carlos Alberto Lopez Perez  <clopez@igalia.com>
     2
     3        [GTK][WPE] Support Pointer Events
     4        https://bugs.webkit.org/show_bug.cgi?id=202789
     5
     6        Reviewed by Carlos Garcia Campos.
     7
     8        * web-platform-tests/resources/testdriver-vendor.js:
     9        The fix for iOS added in r245639 triggers a call to sendEventStream in
     10        UIScriptController that crashes on GTK because that function is only
     11        implemented for iOS. For Mac this was not an issue because the Mac port
     12        doesn't enable TouchEvent support ("createTouch" in document).
     13        However TouchEvent support is enabled for GTK. Fix this by only
     14        trigerring the call to dispatchTouchActions when TouchEvent support
     15        is enabled _and_ its iOS.
     16
    1172019-11-12  Rob Buis  <rbuis@igalia.com>
    218
  • trunk/LayoutTests/imported/w3c/web-platform-tests/resources/testdriver-vendor.js

    r251440 r252366  
    245245    if (pointerType === "touch")
    246246        return dispatchTouchActions(pointerSource.actions);
    247     if ("createTouch" in document)
     247    if (testRunner.isIOSFamily && "createTouch" in document)
    248248        return dispatchTouchActions(pointerSource.actions, { insertPauseAfterPointerUp: true });
    249249    if (pointerType === "mouse")
  • trunk/LayoutTests/platform/gtk/TestExpectations

    r252361 r252366  
    40124012imported/w3c/web-platform-tests/css/css-values/ch-unit-012.html [ Pass ]
    40134013
     4014# PointerEvents not enabled globally, but enabled for GTK (EXPERIMENTAL_FEATURES)
     4015pointerevents/mouse [ Pass ]
     4016imported/w3c/web-platform-tests/pointerevents [ Pass ]
     4017# PointerEvents currently only supports mouse on GTK (no Touch/Pen support)
     4018webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_change-touch-action-onpointerdown_touch.html [ Skip ]
     4019webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_pointercancel_touch.html [ Skip ]
     4020webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_pointerleave_after_pointercancel_touch.html [ Skip ]
     4021webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_pointerout_after_pointercancel_touch.html [ Skip ]
     4022webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_releasepointercapture_onpointercancel_touch.html [ Skip ]
     4023webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_touch-action-auto-css_touch.html [ Skip ]
     4024webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_highest-parent-none_touch.html [ Skip ]
     4025webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_touch-action-pan-x-pan-y_touch.html [ Skip ]
     4026webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_pointerout_pen.html [ Skip ]
     4027
    40144028#////////////////////////////////////////////////////////////////////////////////////////
    40154029# End of PASSING tests. See top of file where to put new expectations.
  • trunk/LayoutTests/platform/wpe/TestExpectations

    r252361 r252366  
    381381fast/dom/Window/Plug-ins.html [ Failure ]
    382382
    383 webkit.org/b/99036 pointer-lock/ [ Skip ]
    384 webkit.org/b/99036 fast/shadow-dom/pointerlockelement-in-shadow-tree.html [ Skip ]
    385 webkit.org/b/99036 fast/shadow-dom/pointerlockelement-in-slot.html [ Skip ]
     383# Pointer Lock API not implemented
     384webkit.org/b/204001 pointer-lock/ [ Skip ]
     385webkit.org/b/204001 fast/shadow-dom/pointerlockelement-in-shadow-tree.html [ Skip ]
     386webkit.org/b/204001 fast/shadow-dom/pointerlockelement-in-slot.html [ Skip ]
     387webkit.org/b/204001 imported/w3c/web-platform-tests/pointerevents/pointerlock/pointerevent_coordinates_when_locked.html [ Skip ]
    386388
    387389webkit.org/b/153833 fast/shadow-dom/touch-event-ios.html [ Skip ]
     
    751753imported/w3c/web-platform-tests/css/css-values/ch-unit-011.html [ Pass ]
    752754imported/w3c/web-platform-tests/css/css-values/ch-unit-012.html [ Pass ]
     755
     756# PointerEvents not enabled globally, but enabled for WPE (EXPERIMENTAL_FEATURES)
     757pointerevents/mouse [ Pass ]
     758imported/w3c/web-platform-tests/pointerevents [ Pass ]
     759# PointerEvents currently only supports mouse on WPE (no Touch/Pen support)
     760webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_change-touch-action-onpointerdown_touch.html [ Skip ]
     761webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_pointercancel_touch.html [ Skip ]
     762webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_pointerleave_after_pointercancel_touch.html [ Skip ]
     763webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_pointerout_after_pointercancel_touch.html [ Skip ]
     764webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_releasepointercapture_onpointercancel_touch.html [ Skip ]
     765webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_touch-action-auto-css_touch.html [ Skip ]
     766webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_highest-parent-none_touch.html [ Skip ]
     767webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_touch-action-pan-x-pan-y_touch.html [ Skip ]
     768webkit.org/b/204115 imported/w3c/web-platform-tests/pointerevents/pointerevent_pointerout_pen.html [ Skip ]
    753769
    754770#////////////////////////////////////////////////////////////////////////////////////////
  • trunk/Source/WebKit/ChangeLog

    r252364 r252366  
     12019-11-12  Carlos Alberto Lopez Perez  <clopez@igalia.com>
     2
     3        [GTK][WPE] Support Pointer Events
     4        https://bugs.webkit.org/show_bug.cgi?id=202789
     5
     6        Reviewed by Carlos Garcia Campos.
     7
     8        Covered by existing tests.
     9
     10        * UIProcess/PageClient.h: Add a ifdef for platform COCOA on two
     11        function declarations that depend on the UIGestureRecognizer ObjC type.
     12        This is not needed for GTK/WPE code.
     13
    1142019-11-12  Alex Christensen  <achristensen@webkit.org>
    215
  • trunk/Source/WebKit/UIProcess/PageClient.h

    r250780 r252366  
    503503#endif
    504504
    505 #if ENABLE(POINTER_EVENTS)
     505#if ENABLE(POINTER_EVENTS) && PLATFORM(COCOA)
    506506    virtual void cancelPointersForGestureRecognizer(UIGestureRecognizer*) { }
    507507    virtual WTF::Optional<unsigned> activeTouchIdentifierForGestureRecognizer(UIGestureRecognizer*) { return WTF::nullopt; }
  • trunk/Source/cmake/OptionsGTK.cmake

    r252361 r252366  
    167167WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_PAINTING_API PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
    168168WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_TYPED_OM PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
     169WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_POINTER_EVENTS PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
    169170
    170171include(GStreamerDependencies)
  • trunk/Source/cmake/OptionsWPE.cmake

    r252361 r252366  
    6363WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_PAINTING_API PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
    6464WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_TYPED_OM PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
     65WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_POINTER_EVENTS PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
    6566
    6667# Public options specific to the WPE port. Do not add any options here unless
Note: See TracChangeset for help on using the changeset viewer.