Bug 198086 - Layer with negative z-index in a scroller doesn't scroll with the scroller
Summary: Layer with negative z-index in a scroller doesn't scroll with the scroller
Status: ASSIGNED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Compositing (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Simon Fraser (smfr)
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2019-05-21 15:01 PDT by Simon Fraser (smfr)
Modified: 2019-06-26 18:04 PDT (History)
3 users (show)

See Also:


Attachments
Testcase (1.31 KB, text/html)
2019-05-21 15:01 PDT, Simon Fraser (smfr)
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 2019-05-21 15:01:54 PDT
Created attachment 370345 [details]
Testcase

Scroller with a negative z-index child fails to composite, and scroll the scroller.
Comment 1 Radar WebKit Bug Importer 2019-05-21 15:05:17 PDT
<rdar://problem/51002331>
Comment 2 Radar WebKit Bug Importer 2019-05-21 15:05:22 PDT
<rdar://problem/51002332>
Comment 3 Simon Fraser (smfr) 2019-06-02 09:58:31 PDT
We don't composite the negative z child, and it doesn't use backing sharing.
Comment 4 Simon Fraser (smfr) 2019-06-02 10:01:07 PDT
isNonScrolledLayerInsideScrolledCompositedAncestor() needs to take care of this, but not in a way that prevents backing sharing.
Comment 5 Simon Fraser (smfr) 2019-06-26 15:13:55 PDT
Another problem here is that in the first compositing update, we hit the 'traverseUnchangedSubtree' code path for the negative z-order child, because we haven't composited the scroller yet, so we don't composite the child.
Comment 6 Simon Fraser (smfr) 2019-06-26 18:04:56 PDT
The patch in bug 199253 mostly fixes this, other than bad state on the first layer traversal which I'll keep this bug open for.