Changeset 246879 in webkit


Ignore:
Timestamp:
Jun 27, 2019 6:32:33 AM (5 years ago)
Author:
Antti Koivisto
Message:

REGRESSION (touch-action): Can't scroll vertically when touching a horizontally-scrollable element on instagram.com
https://bugs.webkit.org/show_bug.cgi?id=199268
<rdar://problem/52246473>

Reviewed by Antoine Quint.

Source/WebCore:

Test: pointerevents/ios/touch-action-region-manipulation.html

Having a restrictive touch-action value like 'pan-y' on on element and then having a descendant with
'touch-action: manipulation' computes to 'none'.

  • css/StyleResolver.cpp:

(WebCore::computeEffectiveTouchActions):

For value 'manipulation' return the current effective value, similar to the reverse case above.
Set intersection should only be computed out of restrictive values (pan-x/pan-y/pinch-zoom/none).

LayoutTests:

  • pointerevents/ios/touch-action-region-manipulation-expected.txt: Added.
  • pointerevents/ios/touch-action-region-manipulation.html: Added.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r246876 r246879  
     12019-06-27  Antti Koivisto  <antti@apple.com>
     2
     3        REGRESSION (touch-action): Can't scroll vertically when touching a horizontally-scrollable element on instagram.com
     4        https://bugs.webkit.org/show_bug.cgi?id=199268
     5        <rdar://problem/52246473>
     6
     7        Reviewed by Antoine Quint.
     8
     9        * pointerevents/ios/touch-action-region-manipulation-expected.txt: Added.
     10        * pointerevents/ios/touch-action-region-manipulation.html: Added.
     11
    1122019-06-27  Devin Rousso  <drousso@apple.com>
    213
  • trunk/Source/WebCore/ChangeLog

    r246877 r246879  
     12019-06-27  Antti Koivisto  <antti@apple.com>
     2
     3        REGRESSION (touch-action): Can't scroll vertically when touching a horizontally-scrollable element on instagram.com
     4        https://bugs.webkit.org/show_bug.cgi?id=199268
     5        <rdar://problem/52246473>
     6
     7        Reviewed by Antoine Quint.
     8
     9        Test: pointerevents/ios/touch-action-region-manipulation.html
     10
     11        Having a restrictive touch-action value like 'pan-y' on on element and then having a descendant with
     12        'touch-action: manipulation' computes to 'none'.
     13
     14        * css/StyleResolver.cpp:
     15        (WebCore::computeEffectiveTouchActions):
     16
     17        For value 'manipulation' return the current effective value, similar to the reverse case above.
     18        Set intersection should only be computed out of restrictive values (pan-x/pan-y/pinch-zoom/none).
     19
    1202019-06-27  Carlos Garcia Campos  <cgarcia@igalia.com>
    221
  • trunk/Source/WebCore/css/StyleResolver.cpp

    r246781 r246879  
    857857        return { TouchAction::None };
    858858
    859     if (effectiveTouchActions.contains(TouchAction::Auto) || effectiveTouchActions.contains(TouchAction::Manipulation))
     859    if (effectiveTouchActions.containsAny({ TouchAction::Auto, TouchAction::Manipulation }))
    860860        return touchActions;
     861
     862    if (touchActions.containsAny({ TouchAction::Auto, TouchAction::Manipulation }))
     863        return effectiveTouchActions;
    861864
    862865    auto sharedTouchActions = effectiveTouchActions & touchActions;
Note: See TracChangeset for help on using the changeset viewer.