Bug 196146

Summary: [iOS] Wrong scrolling behavior for nested absolute position elements inside overflow scroll
Product: WebKit Reporter: Antti Koivisto <koivisto>
Component: ScrollingAssignee: Simon Fraser (smfr) <simon.fraser>
Status: RESOLVED FIXED    
Severity: Normal CC: ews-watchlist, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=196100
https://bugs.webkit.org/show_bug.cgi?id=196868
Attachments:
Description Flags
test
none
Patch
none
Patch
koivisto: review+, ews-watchlist: commit-queue-
Archive of layout-test-results from ews123 for ios-simulator-wk2 none

Description Antti Koivisto 2019-03-22 07:32:36 PDT
Scroll the test case:
- Absolute layer is jittery during scrolling
- Events pass through it to the scroller

Both are signs of a missing positioning node.
Comment 1 Antti Koivisto 2019-03-22 07:39:23 PDT
Created attachment 365725 [details]
test
Comment 2 Radar WebKit Bug Importer 2019-03-25 00:30:13 PDT
<rdar://problem/49207055>
Comment 3 Simon Fraser (smfr) 2019-04-10 08:29:51 PDT
Actually we're incorrectly making a "Moves" node for the nested position:absolute.
Comment 4 Simon Fraser (smfr) 2019-04-11 22:38:01 PDT
Created attachment 367291 [details]
Patch
Comment 5 Simon Fraser (smfr) 2019-04-11 22:38:20 PDT
*** Bug 196820 has been marked as a duplicate of this bug. ***
Comment 6 Simon Fraser (smfr) 2019-04-11 22:51:01 PDT
Created attachment 367292 [details]
Patch
Comment 7 Antti Koivisto 2019-04-11 23:47:52 PDT
Regressions: Unexpected text-only failures (1)
  fast/scrolling/ios/overflow-scroll-overlap-6.html [ Failure ]

You'll need to rebase for this progression.
Comment 8 EWS Watchlist 2019-04-12 03:44:40 PDT
Comment on attachment 367292 [details]
Patch

Attachment 367292 [details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: https://webkit-queues.webkit.org/results/11852526

New failing tests:
fast/scrolling/ios/overflow-scroll-overlap-6.html
Comment 9 EWS Watchlist 2019-04-12 03:44:42 PDT
Created attachment 367312 [details]
Archive of layout-test-results from ews123 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews123  Port: ios-simulator-wk2  Platform: Mac OS X 10.13.6
Comment 10 Simon Fraser (smfr) 2019-04-12 08:08:28 PDT
https://trac.webkit.org/changeset/244215/webkit
Comment 11 Antti Koivisto 2019-04-12 09:23:38 PDT
Actually, this is wrong:

--- a/trunk/LayoutTests/fast/scrolling/ios/overflow-scroll-overlap-6-expected.txt
+++ b/trunk/LayoutTests/fast/scrolling/ios/overflow-scroll-overlap-6-expected.txt
@@ -2,5 +2,5 @@
 
 case 1: 
-case 2: Scrollable 2 
-case 3: Scrollable 3 
+case 2: 
+case 3: 

Case 3 should remain scrollable.
Comment 12 Simon Fraser (smfr) 2019-04-12 10:43:54 PDT
(In reply to Antti Koivisto from comment #11)
> Actually, this is wrong:
> 
> ---
> a/trunk/LayoutTests/fast/scrolling/ios/overflow-scroll-overlap-6-expected.txt
> +++
> b/trunk/LayoutTests/fast/scrolling/ios/overflow-scroll-overlap-6-expected.txt
> @@ -2,5 +2,5 @@
>  
>  case 1: 
> -case 2: Scrollable 2 
> -case 3: Scrollable 3 
> +case 2: 
> +case 3: 
> 
> Case 3 should remain scrollable.

Maybe the hit-testing code needs adjusting for nested absolutes.
Comment 13 Antti Koivisto 2019-04-12 10:49:58 PDT
> Maybe the hit-testing code needs adjusting for nested absolutes.

Hit-testing code respects whatever positioning nodes are generated. You may have regressed something.
Comment 14 Simon Fraser (smfr) 2019-04-12 11:06:09 PDT
I'll investigate via bug 196868.