haikuwebkit/LayoutTests/compositing
Simon Fraser 0dfb19cdf2 Scrollbar hidden when scroller has a negative z-index child
https://bugs.webkit.org/show_bug.cgi?id=227545

Reviewed by Alan Bujtas.
Source/WebCore:

The code to ensure that overflow:scroll scrollbars appeared on top of composited descendant
layers had incorrect behavior if the only descendant had negative z-index; it would move the
overflow controls container layer to be after that descendant, and thus behind foreground
content.

Fix by inserting the overflow controls container layer in front of the frontmost of the
descendant and the scroller itself.

Test: compositing/scrolling/async-overflow-scrolling/negative-z-in-scroller-hidden-scrollbar.html

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::adjustOverflowScrollbarContainerLayers):

LayoutTests:

* compositing/scrolling/async-overflow-scrolling/layer-for-negative-z-in-scroller-expected.txt: Rebaseline
* compositing/scrolling/async-overflow-scrolling/negative-z-in-scroller-hidden-scrollbar-expected.html: Added.
* compositing/scrolling/async-overflow-scrolling/negative-z-in-scroller-hidden-scrollbar.html: Added.


Canonical link: https://commits.webkit.org/239524@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@279748 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-07-08 20:29:32 +00:00
..
animation [ Mac WK2 ] compositing/animation/keyframe-order.html is a flakey image failure 2021-04-09 09:11:27 +00:00
backface-visibility
background-color
backgrounds
backing Simplify transform blending for simple cases 2020-12-14 20:55:27 +00:00
canvas
clipping Scrollbars are not clipped to layer bounds in RenderLayerBacking 2021-06-15 18:12:34 +00:00
color-matching
columns Make GraphicsLayer::dumpProperties dump m_offsetFromRenderer 2017-12-14 09:39:59 +00:00
contents-format
contents-opaque Translucent gradient rendering bug due to will-change transform 2019-05-11 22:05:37 +00:00
contents-scale
culling
filters
framesets
geometry play.google.com: App preview images are clipped 2021-01-09 13:14:18 +00:00
iframes REGRESSION: animated iframe painted blank 2021-01-06 03:55:01 +00:00
images Make GraphicsLayer::dumpProperties dump m_offsetFromRenderer 2017-12-14 09:39:59 +00:00
ios
layer-creation Scrollbars are not clipped to layer bounds in RenderLayerBacking 2021-06-15 18:12:34 +00:00
masks [TextureMapper] REGRESION(r269570): mask layer doesn't clip descendent layers 2020-12-11 20:06:50 +00:00
objects
overflow REGRESSION (Safari 14): Submenus on https://codelearn.cat don't show 2021-06-22 18:33:24 +00:00
overlap-blending
patterns
plugins
reflections
repaint
resources
rtl Scrollbars are not clipped to layer bounds in RenderLayerBacking 2021-06-15 18:12:34 +00:00
scaling
scrolling Scrollbar hidden when scroller has a negative z-index child 2021-07-08 20:29:32 +00:00
shadows
shared-backing REGRESSION (r262237) Safari 14.x shows graphics artifacts when scrolling, using drop-down menus or just moving the mouse 2021-07-07 03:36:45 +00:00
style-change
tiling Scrollbars are not clipped to layer bounds in RenderLayerBacking 2021-06-15 18:12:34 +00:00
transforms
transitions [Web Animations] Turn Web Animations with CSS integration on 2018-09-27 09:49:52 +00:00
updates
video Separated models don't get opacity set on them at all 2021-04-20 23:21:06 +00:00
visibility
visible-rect Separated models don't get opacity set on them at all 2021-04-20 23:21:06 +00:00
webgl
z-order
absolute-inside-out-of-view-fixed-expected.txt
absolute-inside-out-of-view-fixed.html
absolute-position-changed-in-composited-layer-expected.png
absolute-position-changed-in-composited-layer-expected.txt
absolute-position-changed-in-composited-layer.html
absolute-position-changed-with-composited-parent-layer-expected.png
absolute-position-changed-with-composited-parent-layer-expected.txt
absolute-position-changed-with-composited-parent-layer.html
accelerated-layers-after-back-expected.txt
accelerated-layers-after-back.html
ancestor-compositing-layer-is-on-subpixel-position-expected.html
ancestor-compositing-layer-is-on-subpixel-position.html
assert-on-will-change-transform-with-composited-descendant-expected.txt
assert-on-will-change-transform-with-composited-descendant.html
backing-store-attachment-1-expected.txt
backing-store-attachment-1.html
bounds-in-flipped-writing-mode-expected.txt
bounds-in-flipped-writing-mode.html
checkerboard-expected.png
checkerboard-expected.txt
checkerboard.html
child-layer-with-subpixel-gap-needs-repaint-when-parent-moves-expected.html
child-layer-with-subpixel-gap-needs-repaint-when-parent-moves.html
clip-change-expected.txt
clip-change.html
clip-child-by-non-stacking-ancestor-expected.txt
clip-child-by-non-stacking-ancestor.html
cliprect-and-position-change-on-compositing-layer-expected.html
cliprect-and-position-change-on-compositing-layer.html
composited-negative-zindex-child-expected.txt
composited-negative-zindex-child.html
composited-parent-clipping-layer-on-subpixel-position-expected.html
composited-parent-clipping-layer-on-subpixel-position.html
compositing-visible-descendant.html
debug-borders-dynamic-expected.html
debug-borders-dynamic.html
direct-image-compositing.html
document-background-color-expected.html
document-background-color.html
fixed-image-loading-expected.txt
fixed-image-loading.html
fixed-position-changed-in-composited-layer-expected.png
fixed-position-changed-in-composited-layer-expected.txt
fixed-position-changed-in-composited-layer.html
fixed-position-changed-within-composited-parent-layer-expected.png
fixed-position-changed-within-composited-parent-layer-expected.txt
fixed-position-changed-within-composited-parent-layer.html
fixed-position-scroll-offset-history-restore-expected.txt
fixed-position-scroll-offset-history-restore.html
fixed-positioned-pseudo-content-no-compositing-expected.txt
fixed-positioned-pseudo-content-no-compositing.html
fixed-with-clip-stability-expected.txt
fixed-with-clip-stability.html
fixed-with-fixed-layout-expected.txt
fixed-with-fixed-layout.html
fixed-with-main-thread-scrolling-expected.html
fixed-with-main-thread-scrolling.html
flat-with-transformed-child-expected.txt
flat-with-transformed-child.html
generated-content.html
hidpi-absolute-subpixel-positioned-transformed-elements-expected.html
hidpi-absolute-subpixel-positioned-transformed-elements.html
hidpi-ancestor-subpixel-clipping-expected.html
hidpi-ancestor-subpixel-clipping.html
hidpi-box-positioned-off-by-one-when-non-compositing-transform-is-present-expected.html
hidpi-box-positioned-off-by-one-when-non-compositing-transform-is-present.html
hidpi-composited-container-and-graphics-layer-gap-changes-expected.html
hidpi-composited-container-and-graphics-layer-gap-changes.html
hidpi-compositing-layer-with-subpixel-offset-accumulation-clipping-expected.html
hidpi-compositing-layer-with-subpixel-offset-accumulation-clipping.html
hidpi-compositing-layer-with-tile-layers-on-subpixel-position-expected.html
hidpi-compositing-layer-with-tile-layers-on-subpixel-position.html
hidpi-compositing-layer-with-zero-sized-container-expected.html
hidpi-compositing-layer-with-zero-sized-container.html
hidpi-compositing-vs-non-compositing-check-on-testing-framework-expected.html
hidpi-compositing-vs-non-compositing-check-on-testing-framework.html
hidpi-negative-composited-bounds-on-device-pixel-expected.html
hidpi-negative-composited-bounds-on-device-pixel.html
hidpi-nested-compositing-layers-with-subpixel-accumulation-expected.html
hidpi-nested-compositing-layers-with-subpixel-accumulation.html
hidpi-non-simple-compositing-layer-with-fractional-size-and-background-expected.html
hidpi-non-simple-compositing-layer-with-fractional-size-and-background.html
hidpi-sibling-composited-content-offset-expected.html
hidpi-sibling-composited-content-offset.html
hidpi-simple-container-layer-on-device-pixel-expected.html
hidpi-simple-container-layer-on-device-pixel.html
hidpi-subpixel-transform-origin-expected.html
hidpi-subpixel-transform-origin.html Subpixel rendering: Cleanup RenderLayerBacking::updateGeometry. 2016-08-17 03:18:21 +00:00
hidpi-transform-with-render-layer-on-fractional-pixel-value-expected.html
hidpi-transform-with-render-layer-on-fractional-pixel-value.html
hidpi-viewport-clipping-on-composited-content-expected.html
hidpi-viewport-clipping-on-composited-content.html
layers-inside-overflow-scroll.html
media-controls-bar-appearance-big-expected.txt
media-controls-bar-appearance-big.html
media-controls-bar-appearance-expected.txt
media-controls-bar-appearance.html
nested-direct-image-compositing-expected.png
nested-direct-image-compositing-expected.txt
nested-direct-image-compositing.html
no-compositing-when-fulll-screen-is-present-expected.txt
no-compositing-when-fulll-screen-is-present.html
overflow-trumps-transform-style-expected.txt
overflow-trumps-transform-style.html
page-cache-back-crash-expected.txt REGRESSION(r209865): Crash when navigating back to some pages with compositing layers. 2016-12-24 00:23:37 +00:00
page-cache-back-crash.html
parent-clipping-layer-on-subpixel-position-expected.html
parent-clipping-layer-on-subpixel-position.html
preserve-3d-toggle-expected.png
preserve-3d-toggle-expected.txt
preserve-3d-toggle.html
repaint-container-assertion-when-toggling-compositing-expected.txt ASSERT repaintContainer->hasLayer() in WebCore::RenderObject::repaintUsingContainer 2015-02-07 04:35:58 +00:00
repaint-container-assertion-when-toggling-compositing.html
scroll-painted-composited-content-expected.txt
scroll-painted-composited-content.html
scrollbar-painting-expected.png
scrollbar-painting-expected.txt
scrollbar-painting.html
self-painting-layers.html
self-painting-layers2-expected.txt
self-painting-layers2.html
show-composited-iframe-on-back-button-expected.html
show-composited-iframe-on-back-button.html
sibling-layer-does-not-get-composited-overflow-hidden-case-expected.html
sibling-layer-does-not-get-composited-overflow-hidden-case.html
sibling-layer-does-not-get-composited-transform-case-expected.html
sibling-layer-does-not-get-composited-transform-case.html
sibling-positioning.html
sub-layer-focus-ring-expected.html
sub-layer-focus-ring.html
text-on-large-layer.html
text-on-scaled-layer-expected.html
text-on-scaled-layer.html
text-on-scaled-surface-expected.html
text-on-scaled-surface.html
tile-cache-must-flatten-expected.html
tile-cache-must-flatten.html
tiled-layers-hidpi-expected.txt
tiled-layers-hidpi.html
toggle-compositing-expected.txt
toggle-compositing.html
video-page-visibility-expected.txt
video-page-visibility.html