Summary: | Layer with negative z-index in a scroller doesn't scroll with the scroller | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Simon Fraser (smfr) <simon.fraser> | ||||
Component: | Compositing | Assignee: | Simon Fraser (smfr) <simon.fraser> | ||||
Status: | ASSIGNED --- | ||||||
Severity: | Normal | CC: | koivisto, 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=199253 | ||||||
Attachments: |
|
We don't composite the negative z child, and it doesn't use backing sharing. isNonScrolledLayerInsideScrolledCompositedAncestor() needs to take care of this, but not in a way that prevents backing sharing. 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. 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. |
Created attachment 370345 [details] Testcase Scroller with a negative z-index child fails to composite, and scroll the scroller.