Changeset 247205 in webkit


Ignore:
Timestamp:
Jul 8, 2019 4:22:06 AM (5 years ago)
Author:
graouts@webkit.org
Message:

[Pointer Events] Enable only on the most recent version of the supported iOS family
https://bugs.webkit.org/show_bug.cgi?id=199562
<rdar://problem/52766511>

Reviewed by Dean Jackson.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView cancelPointersForGestureRecognizer:]):
(-[WKContentView activeTouchIdentifierForGestureRecognizer:]):
(-[WKContentView touchActionActiveTouches]):

  • UIProcess/ios/WKSyntheticTapGestureRecognizer.m:

(-[WKSyntheticTapGestureRecognizer touchesEnded:withEvent:]):

  • UIProcess/ios/WKTouchActionGestureRecognizer.h:
  • UIProcess/ios/WKTouchActionGestureRecognizer.mm:

(-[WKTouchActionGestureRecognizer canPreventGestureRecognizer:]):

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

We really don't need HAVE_UI_WEB_TOUCH_EVENTS_GESTURE_RECOGNIZER_WITH_ACTIVE_TOUCHES_BY_ID since the UIKit SPI
that was added in iOS 13 that it's checking for is really required for all parts of the implementation of Pointer
Events, including dispatch of the "pointercancel" event and support for the "touch-action" CSS property.

  • wtf/Platform.h:

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

LayoutTests:

  • js/dom/navigator-maxtouchpoints-expected.txt: Since ENABLE_POINTER_EVENTS is now disabled by default, navigator.maxTouchPoints

is "undefined" in thed default case.

  • platform/mac/js/dom/navigator-maxtouchpoints-expected.txt: But 0 on macOS.
Location:
trunk
Files:
20 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r247200 r247205  
     12019-07-08  Antoine Quint  <graouts@apple.com>
     2
     3        [Pointer Events] Enable only on the most recent version of the supported iOS family
     4        https://bugs.webkit.org/show_bug.cgi?id=199562
     5        <rdar://problem/52766511>
     6
     7        Reviewed by Dean Jackson.
     8
     9        * js/dom/navigator-maxtouchpoints-expected.txt: Since ENABLE_POINTER_EVENTS is now disabled by default, navigator.maxTouchPoints
     10        is "undefined" in thed default case.
     11        * platform/mac/js/dom/navigator-maxtouchpoints-expected.txt: But 0 on macOS.
     12
    1132019-07-07  Zalan Bujtas  <zalan@apple.com>
    214
  • trunk/LayoutTests/js/dom/navigator-maxtouchpoints-expected.txt

    r246070 r247205  
    44
    55
    6 navigator.maxTouchPoints = 0
     6navigator.maxTouchPoints = undefined
    77PASS successfullyParsed is true
    88
  • trunk/Source/JavaScriptCore/ChangeLog

    r247194 r247205  
     12019-07-08  Antoine Quint  <graouts@apple.com>
     2
     3        [Pointer Events] Enable only on the most recent version of the supported iOS family
     4        https://bugs.webkit.org/show_bug.cgi?id=199562
     5        <rdar://problem/52766511>
     6
     7        Reviewed by Dean Jackson.
     8
     9        * Configurations/FeatureDefines.xcconfig:
     10
    1112019-07-06  Michael Saboff  <msaboff@apple.com>
    212
  • trunk/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig

    r246925 r247205  
    317317
    318318ENABLE_POINTER_EVENTS = $(ENABLE_POINTER_EVENTS_$(WK_PLATFORM_NAME));
    319 ENABLE_POINTER_EVENTS_iphoneos = ENABLE_POINTER_EVENTS;
    320 ENABLE_POINTER_EVENTS_iphonesimulator = ENABLE_POINTER_EVENTS;
     319ENABLE_POINTER_EVENTS_iphoneos = $(ENABLE_POINTER_EVENTS$(WK_IOS_13));
     320ENABLE_POINTER_EVENTS_iphonesimulator = $(ENABLE_POINTER_EVENTS$(WK_IOS_13));
     321ENABLE_POINTER_EVENTS_IOS_SINCE_13 = ENABLE_POINTER_EVENTS;
    321322ENABLE_POINTER_EVENTS_maccatalyst = ENABLE_POINTER_EVENTS;
    322323ENABLE_POINTER_EVENTS_macosx = ENABLE_POINTER_EVENTS;
  • trunk/Source/WTF/ChangeLog

    r247164 r247205  
     12019-07-08  Antoine Quint  <graouts@apple.com>
     2
     3        [Pointer Events] Enable only on the most recent version of the supported iOS family
     4        https://bugs.webkit.org/show_bug.cgi?id=199562
     5        <rdar://problem/52766511>
     6
     7        Reviewed by Dean Jackson.
     8
     9        We really don't need HAVE_UI_WEB_TOUCH_EVENTS_GESTURE_RECOGNIZER_WITH_ACTIVE_TOUCHES_BY_ID since the UIKit SPI
     10        that was added in iOS 13 that it's checking for is really required for all parts of the implementation of Pointer
     11        Events, including dispatch of the "pointercancel" event and support for the "touch-action" CSS property.
     12
     13        * wtf/Platform.h:
     14
    1152019-07-05  Ryan Haddad  <ryanhaddad@apple.com>
    216
  • trunk/Source/WTF/wtf/Platform.h

    r247095 r247205  
    15351535
    15361536#if PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000
    1537 #define HAVE_UI_WEB_TOUCH_EVENTS_GESTURE_RECOGNIZER_WITH_ACTIVE_TOUCHES_BY_ID 1
    1538 #endif
    1539 
    1540 #if PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000
    15411537#define HAVE_ARKIT_QUICK_LOOK_PREVIEW_ITEM 1
    15421538#endif
  • trunk/Source/WebCore/ChangeLog

    r247204 r247205  
     12019-07-08  Antoine Quint  <graouts@apple.com>
     2
     3        [Pointer Events] Enable only on the most recent version of the supported iOS family
     4        https://bugs.webkit.org/show_bug.cgi?id=199562
     5        <rdar://problem/52766511>
     6
     7        Reviewed by Dean Jackson.
     8
     9        * Configurations/FeatureDefines.xcconfig:
     10
    1112019-07-08  Philippe Normand  <pnormand@igalia.com>
    212
  • trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig

    r246925 r247205  
    317317
    318318ENABLE_POINTER_EVENTS = $(ENABLE_POINTER_EVENTS_$(WK_PLATFORM_NAME));
    319 ENABLE_POINTER_EVENTS_iphoneos = ENABLE_POINTER_EVENTS;
    320 ENABLE_POINTER_EVENTS_iphonesimulator = ENABLE_POINTER_EVENTS;
     319ENABLE_POINTER_EVENTS_iphoneos = $(ENABLE_POINTER_EVENTS$(WK_IOS_13));
     320ENABLE_POINTER_EVENTS_iphonesimulator = $(ENABLE_POINTER_EVENTS$(WK_IOS_13));
     321ENABLE_POINTER_EVENTS_IOS_SINCE_13 = ENABLE_POINTER_EVENTS;
    321322ENABLE_POINTER_EVENTS_maccatalyst = ENABLE_POINTER_EVENTS;
    322323ENABLE_POINTER_EVENTS_macosx = ENABLE_POINTER_EVENTS;
  • trunk/Source/WebCore/PAL/ChangeLog

    r247163 r247205  
     12019-07-08  Antoine Quint  <graouts@apple.com>
     2
     3        [Pointer Events] Enable only on the most recent version of the supported iOS family
     4        https://bugs.webkit.org/show_bug.cgi?id=199562
     5        <rdar://problem/52766511>
     6
     7        Reviewed by Dean Jackson.
     8
     9        * Configurations/FeatureDefines.xcconfig:
     10
    1112019-07-05  Ryan Haddad  <ryanhaddad@apple.com>
    212
  • trunk/Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig

    r246925 r247205  
    317317
    318318ENABLE_POINTER_EVENTS = $(ENABLE_POINTER_EVENTS_$(WK_PLATFORM_NAME));
    319 ENABLE_POINTER_EVENTS_iphoneos = ENABLE_POINTER_EVENTS;
    320 ENABLE_POINTER_EVENTS_iphonesimulator = ENABLE_POINTER_EVENTS;
     319ENABLE_POINTER_EVENTS_iphoneos = $(ENABLE_POINTER_EVENTS$(WK_IOS_13));
     320ENABLE_POINTER_EVENTS_iphonesimulator = $(ENABLE_POINTER_EVENTS$(WK_IOS_13));
     321ENABLE_POINTER_EVENTS_IOS_SINCE_13 = ENABLE_POINTER_EVENTS;
    321322ENABLE_POINTER_EVENTS_maccatalyst = ENABLE_POINTER_EVENTS;
    322323ENABLE_POINTER_EVENTS_macosx = ENABLE_POINTER_EVENTS;
  • trunk/Source/WebKit/ChangeLog

    r247203 r247205  
     12019-07-08  Antoine Quint  <graouts@apple.com>
     2
     3        [Pointer Events] Enable only on the most recent version of the supported iOS family
     4        https://bugs.webkit.org/show_bug.cgi?id=199562
     5        <rdar://problem/52766511>
     6
     7        Reviewed by Dean Jackson.
     8
     9        * Configurations/FeatureDefines.xcconfig:
     10        * UIProcess/ios/WKContentViewInteraction.mm:
     11        (-[WKContentView cancelPointersForGestureRecognizer:]):
     12        (-[WKContentView activeTouchIdentifierForGestureRecognizer:]):
     13        (-[WKContentView touchActionActiveTouches]):
     14        * UIProcess/ios/WKSyntheticTapGestureRecognizer.m:
     15        (-[WKSyntheticTapGestureRecognizer touchesEnded:withEvent:]):
     16        * UIProcess/ios/WKTouchActionGestureRecognizer.h:
     17        * UIProcess/ios/WKTouchActionGestureRecognizer.mm:
     18        (-[WKTouchActionGestureRecognizer canPreventGestureRecognizer:]):
     19
    1202019-07-08  Michael Catanzaro  <mcatanzaro@igalia.com>
    221
  • trunk/Source/WebKit/Configurations/FeatureDefines.xcconfig

    r246925 r247205  
    317317
    318318ENABLE_POINTER_EVENTS = $(ENABLE_POINTER_EVENTS_$(WK_PLATFORM_NAME));
    319 ENABLE_POINTER_EVENTS_iphoneos = ENABLE_POINTER_EVENTS;
    320 ENABLE_POINTER_EVENTS_iphonesimulator = ENABLE_POINTER_EVENTS;
     319ENABLE_POINTER_EVENTS_iphoneos = $(ENABLE_POINTER_EVENTS$(WK_IOS_13));
     320ENABLE_POINTER_EVENTS_iphonesimulator = $(ENABLE_POINTER_EVENTS$(WK_IOS_13));
     321ENABLE_POINTER_EVENTS_IOS_SINCE_13 = ENABLE_POINTER_EVENTS;
    321322ENABLE_POINTER_EVENTS_maccatalyst = ENABLE_POINTER_EVENTS;
    322323ENABLE_POINTER_EVENTS_macosx = ENABLE_POINTER_EVENTS;
  • trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm

    r247197 r247205  
    12881288- (void)cancelPointersForGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
    12891289{
    1290 #if HAVE(UI_WEB_TOUCH_EVENTS_GESTURE_RECOGNIZER_WITH_ACTIVE_TOUCHES_BY_ID)
    1291     // FIXME: <rdar://problem/48035706>
    12921290    NSMapTable<NSNumber *, UITouch *> *activeTouches = [_touchEventGestureRecognizer activeTouchesByIdentifier];
    12931291    for (NSNumber *touchIdentifier in activeTouches) {
     
    12961294            _page->cancelPointer([touchIdentifier unsignedIntValue], WebCore::roundedIntPoint([touch locationInView:self]));
    12971295    }
    1298 #endif
    12991296}
    13001297
    13011298- (WTF::Optional<unsigned>)activeTouchIdentifierForGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
    13021299{
    1303 #if HAVE(UI_WEB_TOUCH_EVENTS_GESTURE_RECOGNIZER_WITH_ACTIVE_TOUCHES_BY_ID)
    1304     // FIXME: <rdar://problem/48035706>
    13051300    NSMapTable<NSNumber *, UITouch *> *activeTouches = [_touchEventGestureRecognizer activeTouchesByIdentifier];
    13061301    for (NSNumber *touchIdentifier in activeTouches) {
     
    13091304            return [touchIdentifier unsignedIntValue];
    13101305    }
    1311 #endif
    13121306    return WTF::nullopt;
    13131307}
     
    14001394}
    14011395
    1402 #if HAVE(UI_WEB_TOUCH_EVENTS_GESTURE_RECOGNIZER_WITH_ACTIVE_TOUCHES_BY_ID)
    14031396- (NSMapTable<NSNumber *, UITouch *> *)touchActionActiveTouches
    14041397{
    14051398    return [_touchEventGestureRecognizer activeTouchesByIdentifier];
    14061399}
    1407 #endif
    14081400
    14091401- (void)_resetPanningPreventionFlags
  • trunk/Source/WebKit/UIProcess/ios/WKSyntheticTapGestureRecognizer.m

    r245673 r247205  
    7979{
    8080    [super touchesEnded:touches withEvent:event];
    81 #if ENABLE(POINTER_EVENTS) && HAVE(UI_WEB_TOUCH_EVENTS_GESTURE_RECOGNIZER_WITH_ACTIVE_TOUCHES_BY_ID)
     81#if ENABLE(POINTER_EVENTS)
    8282    if (!_supportingWebTouchEventsGestureRecognizer)
    8383        return;
  • trunk/Source/WebKit/UIProcess/ios/WKTouchActionGestureRecognizer.h

    r247197 r247205  
    4040@protocol WKTouchActionGestureRecognizerDelegate <NSObject>
    4141- (BOOL)gestureRecognizerMayPinchToZoomWebView:(UIGestureRecognizer *)gestureRecognizer;
    42 #if HAVE(UI_WEB_TOUCH_EVENTS_GESTURE_RECOGNIZER_WITH_ACTIVE_TOUCHES_BY_ID)
    4342- (NSMapTable<NSNumber *, UITouch *> *)touchActionActiveTouches;
    44 #endif
    4543@end
    4644
  • trunk/Source/WebKit/UIProcess/ios/WKTouchActionGestureRecognizer.mm

    r247197 r247205  
    8787}
    8888
    89 #if HAVE(UI_WEB_TOUCH_EVENTS_GESTURE_RECOGNIZER_WITH_ACTIVE_TOUCHES_BY_ID)
    9089- (BOOL)canPreventGestureRecognizer:(UIGestureRecognizer *)preventedGestureRecognizer
    9190{
     
    112111    return NO;
    113112}
    114 #endif
    115113
    116114@end
  • trunk/Source/WebKitLegacy/mac/ChangeLog

    r247102 r247205  
     12019-07-08  Antoine Quint  <graouts@apple.com>
     2
     3        [Pointer Events] Enable only on the most recent version of the supported iOS family
     4        https://bugs.webkit.org/show_bug.cgi?id=199562
     5        <rdar://problem/52766511>
     6
     7        Reviewed by Dean Jackson.
     8
     9        * Configurations/FeatureDefines.xcconfig:
     10
    1112019-07-03  Sam Weinig  <weinig@apple.com>
    212
  • trunk/Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig

    r246925 r247205  
    317317
    318318ENABLE_POINTER_EVENTS = $(ENABLE_POINTER_EVENTS_$(WK_PLATFORM_NAME));
    319 ENABLE_POINTER_EVENTS_iphoneos = ENABLE_POINTER_EVENTS;
    320 ENABLE_POINTER_EVENTS_iphonesimulator = ENABLE_POINTER_EVENTS;
     319ENABLE_POINTER_EVENTS_iphoneos = $(ENABLE_POINTER_EVENTS$(WK_IOS_13));
     320ENABLE_POINTER_EVENTS_iphonesimulator = $(ENABLE_POINTER_EVENTS$(WK_IOS_13));
     321ENABLE_POINTER_EVENTS_IOS_SINCE_13 = ENABLE_POINTER_EVENTS;
    321322ENABLE_POINTER_EVENTS_maccatalyst = ENABLE_POINTER_EVENTS;
    322323ENABLE_POINTER_EVENTS_macosx = ENABLE_POINTER_EVENTS;
  • trunk/Tools/ChangeLog

    r247195 r247205  
     12019-07-08  Antoine Quint  <graouts@apple.com>
     2
     3        [Pointer Events] Enable only on the most recent version of the supported iOS family
     4        https://bugs.webkit.org/show_bug.cgi?id=199562
     5        <rdar://problem/52766511>
     6
     7        Reviewed by Dean Jackson.
     8
     9        * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
     10
    1112019-07-06  Simon Fraser  <simon.fraser@apple.com>
    212
  • trunk/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig

    r246925 r247205  
    317317
    318318ENABLE_POINTER_EVENTS = $(ENABLE_POINTER_EVENTS_$(WK_PLATFORM_NAME));
    319 ENABLE_POINTER_EVENTS_iphoneos = ENABLE_POINTER_EVENTS;
    320 ENABLE_POINTER_EVENTS_iphonesimulator = ENABLE_POINTER_EVENTS;
     319ENABLE_POINTER_EVENTS_iphoneos = $(ENABLE_POINTER_EVENTS$(WK_IOS_13));
     320ENABLE_POINTER_EVENTS_iphonesimulator = $(ENABLE_POINTER_EVENTS$(WK_IOS_13));
     321ENABLE_POINTER_EVENTS_IOS_SINCE_13 = ENABLE_POINTER_EVENTS;
    321322ENABLE_POINTER_EVENTS_maccatalyst = ENABLE_POINTER_EVENTS;
    322323ENABLE_POINTER_EVENTS_macosx = ENABLE_POINTER_EVENTS;
Note: See TracChangeset for help on using the changeset viewer.