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 [LFC][Integration] Enable inline replaced support 2020-11-12 20:25:28 +00:00
clipping Scrollbars are not clipped to layer bounds in RenderLayerBacking 2021-06-15 18:12:34 +00:00
color-matching
columns
contents-format Remove trailing spaces from expected.txt files (excluding WPT for now since that contains too many) 2020-09-27 02:15:19 +00:00
contents-opaque
contents-scale Safari 14 on 2x display renders NYS DMV page as blurry 2021-01-12 02:52:17 +00:00
culling
filters [TextureMapperGL] The invert filter wrongly inverts pre-multiplied alpha color 2020-11-19 19:43:15 +00:00
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
ios Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
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 Remove trailing spaces from expected.txt files (excluding WPT for now since that contains too many) 2020-09-27 02:15:19 +00:00
reflections TextureMapperLayer::computeOverlapRegions: Accumulate nested replica transform matrices recursively 2020-11-08 19:51:53 +00:00
repaint REGRESSION (r269824): YouTube media control bar sometimes flickers 2020-11-17 08:28:31 +00:00
resources Fix compositing/video/poster.html test by making blending image opque to deal with flakey failures. 2020-01-29 08:58:38 +00:00
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 Twitter Photo gallery incorrectly rendered after opening another modal 2020-10-22 23:15:41 +00:00
tiling Scrollbars are not clipped to layer bounds in RenderLayerBacking 2021-06-15 18:12:34 +00:00
transforms Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
transitions
updates
video Separated models don't get opacity set on them at all 2021-04-20 23:21:06 +00:00
visibility Remove trailing spaces from expected.txt files (excluding WPT for now since that contains too many) 2020-09-27 02:15:19 +00:00
visible-rect Separated models don't get opacity set on them at all 2021-04-20 23:21:06 +00:00
webgl
z-order [BigSur arm64] compositing/z-order/rebuild-sibling-of-layer-with-foreground-layer.html is a flakey image failure 2021-03-16 22:26:57 +00:00
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 [Testing] Rename test header commands to match names in WebPreferences*.yaml 2020-10-13 17:16:15 +00:00
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 msn.com: Header flickers when scrolling articles 2020-04-28 16:05:36 +00:00
fixed-with-clip-stability.html msn.com: Header flickers when scrolling articles 2020-04-28 16:05:36 +00:00
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 Content sometimes missing in nested scrollers with border-radius 2020-06-26 20:16:33 +00:00
hidpi-compositing-layer-with-tile-layers-on-subpixel-position.html Content sometimes missing in nested scrollers with border-radius 2020-06-26 20:16:33 +00:00
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
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
page-cache-back-crash.html [Testing] Rename test header commands to match names in WebPreferences*.yaml 2020-10-13 17:16:15 +00:00
parent-clipping-layer-on-subpixel-position-expected.html Images on www.fitstylelife.com jiggle on hover. 2015-05-15 05:09:46 +00:00
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
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 [Testing] Rename test header commands to match names in WebPreferences*.yaml 2020-10-13 17:16:15 +00:00
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