WebKit Bugzilla
Attachment 373022 Details for
Bug 199268
: REGRESSION (touch-action): Can't scroll vertically when touching a horizontally-scrollable element on instagram.com
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
patch
touch-action-manipulation.patch (text/plain), 5.53 KB, created by
Antti Koivisto
on 2019-06-27 05:36:05 PDT
(
hide
)
Description:
patch
Filename:
MIME Type:
Creator:
Antti Koivisto
Created:
2019-06-27 05:36:05 PDT
Size:
5.53 KB
patch
obsolete
>Index: Source/WebCore/ChangeLog >=================================================================== >--- Source/WebCore/ChangeLog (revision 246878) >+++ Source/WebCore/ChangeLog (working copy) >@@ -1,3 +1,22 @@ >+2019-06-27 Antti Koivisto <antti@apple.com> >+ >+ 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 NOBODY (OOPS!). >+ >+ 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). >+ > 2019-06-27 Carlos Garcia Campos <cgarcia@igalia.com> > > [SOUP] Use libsoup WebSockets API >Index: Source/WebCore/css/StyleResolver.cpp >=================================================================== >--- Source/WebCore/css/StyleResolver.cpp (revision 246834) >+++ Source/WebCore/css/StyleResolver.cpp (working copy) >@@ -856,9 +856,12 @@ static OptionSet<TouchAction> computeEff > if (effectiveTouchActions.contains(TouchAction::None)) > return { TouchAction::None }; > >- if (effectiveTouchActions.contains(TouchAction::Auto) || effectiveTouchActions.contains(TouchAction::Manipulation)) >+ if (effectiveTouchActions.containsAny({ TouchAction::Auto, TouchAction::Manipulation})) > return touchActions; > >+ if (touchActions.containsAny({ TouchAction::Auto, TouchAction::Manipulation })) >+ return effectiveTouchActions; >+ > auto sharedTouchActions = effectiveTouchActions & touchActions; > if (sharedTouchActions.isEmpty()) > return { TouchAction::None }; >Index: LayoutTests/ChangeLog >=================================================================== >--- LayoutTests/ChangeLog (revision 246834) >+++ LayoutTests/ChangeLog (working copy) >@@ -1,3 +1,14 @@ >+2019-06-27 Antti Koivisto <antti@apple.com> >+ >+ 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 NOBODY (OOPS!). >+ >+ * pointerevents/ios/touch-action-region-manipulation-expected.txt: Added. >+ * pointerevents/ios/touch-action-region-manipulation.html: Added. >+ > 2019-06-25 Russell Epstein <russell_e@apple.com> > > Layout Test imported/blink/editing/selection/deleteFromDocument-crash.html is failing. >Index: LayoutTests/pointerevents/ios/touch-action-region-manipulation-expected.txt >=================================================================== >--- LayoutTests/pointerevents/ios/touch-action-region-manipulation-expected.txt (nonexistent) >+++ LayoutTests/pointerevents/ios/touch-action-region-manipulation-expected.txt (working copy) >@@ -0,0 +1,46 @@ >+(GraphicsLayer >+ (anchor 0.00 0.00) >+ (bounds 800.00 600.00) >+ (children 1 >+ (GraphicsLayer >+ (bounds 800.00 600.00) >+ (contentsOpaque 1) >+ (event region >+ (rect (0,0) width=800 height=600) >+ ) >+ (children 2 >+ (GraphicsLayer >+ (position 8.00 8.00) >+ (bounds 200.00 200.00) >+ (drawsContent 1) >+ (event region >+ (rect (0,0) width=200 height=200) >+ (touch-action >+ (pan-x >+ (rect (0,0) width=200 height=25) >+ (rect (0,25) width=100 height=75) >+ ) >+ ) >+ ) >+ ) >+ (GraphicsLayer >+ (position 8.00 208.00) >+ (bounds 200.00 200.00) >+ (drawsContent 1) >+ (event region >+ (rect (0,0) width=200 height=200) >+ (touch-action >+ (manipulation >+ (rect (100,0) width=100 height=25) >+ ) >+ (pan-x >+ (rect (0,0) width=100 height=100) >+ ) >+ ) >+ ) >+ ) >+ ) >+ ) >+ ) >+) >+ >Index: LayoutTests/pointerevents/ios/touch-action-region-manipulation.html >=================================================================== >--- LayoutTests/pointerevents/ios/touch-action-region-manipulation.html (nonexistent) >+++ LayoutTests/pointerevents/ios/touch-action-region-manipulation.html (working copy) >@@ -0,0 +1,49 @@ >+<html> >+<style> >+.test { >+ width: 200px; >+ height: 200px; >+ position: relative; >+ will-change: transform; >+} >+.box { >+ width: 100px; >+ height: 100px; >+ background: green; >+ position: absolute; >+} >+.bar { >+ height:25px; >+} >+.pan-x { >+ touch-action:pan-x; >+ background: green; >+} >+ >+.manipulation { >+ touch-action:manipulation; >+ background: yellow; >+} >+</style> >+<script> >+window.onload = function () { >+ if (window.testRunner) >+ testRunner.dumpAsText(); >+ if (window.internals) >+ results.innerText = internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_EVENT_REGION); >+} >+</script> >+<body> >+<div class="test"> >+ <div class="pan-x bar"> >+ <div class="manipulation box"></div> >+ </div> >+</div> >+<div class="test"> >+ <div class="manipulation bar"> >+ <div class="pan-x box"></div> >+ </div> >+</div> >+<pre id="results"></pre> >+</body> >+</html>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
graouts
:
review+
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 199268
:
373022
|
373023