haikuwebkit/LayoutTests/compositing/overflow
Simon Fraser 0852ca4795 REGRESSION (Safari 14): Submenus on https://codelearn.cat don't show
https://bugs.webkit.org/show_bug.cgi?id=225467
<rdar://problem/77612276>

Reviewed by Alan Bujtas.
Source/WebCore:

RenderBox::requiresLayerWithScrollableArea() is called via RenderLayer::styleChanged()
which is before layout, yet requiresLayerWithScrollableArea() was consulting layout-dependent
state under hasHorizontalOverflow() || hasVerticalOverflow(). This resulted in composited
scrolling layers sticking around after overflow style changed from `scroll` to `visible`.

Fix by just removing the "has overflow" checks; we make RenderLayerScrollableArea
for any non-visible overflow anyway. scrollsOverflow() checks hasOverflowClip(),
so all we need is a hasOverflowClip() check.

Remove some redundant comments and add a FIXME about layers which get RenderLayerScrollableAreas
but don't need them.

Test: compositing/overflow/overflow-scroll-to-visible.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::requiresLayerWithScrollableArea const):

LayoutTests:

* compositing/overflow/overflow-scroll-to-visible-expected.html: Added.
* compositing/overflow/overflow-scroll-to-visible.html: Added.


Canonical link: https://commits.webkit.org/239044@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@279130 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-06-22 18:33:24 +00:00
..
absolute-in-overflow-expected.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
absolute-in-overflow.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
ancestor-overflow.html Remove unneeded whitespace between content and <br> 2020-10-25 19:52:34 +00:00
clip-content-under-overflow-controls-expected.png
clip-content-under-overflow-controls-expected.txt
clip-content-under-overflow-controls.html
clip-descendents-expected.txt
clip-descendents.html
clipping-ancestor-with-accelerated-scrolling-ancestor-expected.txt
clipping-ancestor-with-accelerated-scrolling-ancestor.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt
clipping-behaviour-change-is-not-propagated-to-descendants.html
clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt
clipping-behaviour-change-is-not-propagated-to-descendants2.html
composited-scrolling-paint-phases-expected.txt
composited-scrolling-paint-phases.html
content-gains-scrollbars-expected.txt
content-gains-scrollbars.html
content-loses-scrollbars-expected.txt
content-loses-scrollbars.html
do-not-paint-outline-into-composited-scrolling-contents-expected.txt
do-not-paint-outline-into-composited-scrolling-contents.html
dynamic-composited-scrolling-status-expected.txt
dynamic-composited-scrolling-status.html
fixed-position-ancestor-clip.html
get-transform-from-non-box-container-expected.txt
get-transform-from-non-box-container.html
iframe-inside-overflow-clipping-expected.txt
iframe-inside-overflow-clipping.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
image-load-overflow-scrollbars-expected.png
image-load-overflow-scrollbars-expected.txt
image-load-overflow-scrollbars.html
nested-scrolling.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
non-contained-descendant-clipping-absolute-expected.html Incorrect clipping of absolute and fixed elements inside stacking-context composited overflow:hidden 2020-05-28 08:13:59 +00:00
non-contained-descendant-clipping-absolute.html Incorrect clipping of absolute and fixed elements inside stacking-context composited overflow:hidden 2020-05-28 08:13:59 +00:00
non-contained-descendant-clipping-fixed-expected.html Incorrect clipping of absolute and fixed elements inside stacking-context composited overflow:hidden 2020-05-28 08:13:59 +00:00
non-contained-descendant-clipping-fixed.html Incorrect clipping of absolute and fixed elements inside stacking-context composited overflow:hidden 2020-05-28 08:13:59 +00:00
overflow-auto-with-touch-expected.txt
overflow-auto-with-touch-no-overflow-expected.txt
overflow-auto-with-touch-no-overflow.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
overflow-auto-with-touch-toggle-expected.txt
overflow-auto-with-touch-toggle.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
overflow-auto-with-touch.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
overflow-change-reposition-descendants-expected.html REGRESSION (Safari 14): Menu items jump around on codelearn.cat 2021-06-03 23:37:25 +00:00
overflow-change-reposition-descendants.html REGRESSION (Safari 14): Menu items jump around on codelearn.cat 2021-06-03 23:37:25 +00:00
overflow-clip-with-accelerated-scrolling-ancestor-expected.txt
overflow-clip-with-accelerated-scrolling-ancestor.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
overflow-compositing-descendant.html
overflow-hidden-canvas-layer-expected.png
overflow-hidden-canvas-layer-expected.txt
overflow-hidden-canvas-layer.html
overflow-hidden-with-touch-expected.txt
overflow-hidden-with-touch.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
overflow-overlay-with-touch-expected.txt
overflow-overlay-with-touch-no-overflow-expected.txt
overflow-overlay-with-touch-no-overflow.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
overflow-overlay-with-touch.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
overflow-positioning.html
overflow-scaled-descendant-overlapping-expected.txt
overflow-scaled-descendant-overlapping.html
overflow-scroll-to-visible-expected.html REGRESSION (Safari 14): Submenus on https://codelearn.cat don't show 2021-06-22 18:33:24 +00:00
overflow-scroll-to-visible.html REGRESSION (Safari 14): Submenus on https://codelearn.cat don't show 2021-06-22 18:33:24 +00:00
overflow-scroll-with-touch-no-overflow-expected.txt
overflow-scroll-with-touch-no-overflow.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
overflow-scroll.html Remove unneeded whitespace between content and <br> 2020-10-25 19:52:34 +00:00
overflow-scrollbar-layer-positions-expected.txt Minor overflow layers cleanup 2020-06-10 03:44:18 +00:00
overflow-scrollbar-layer-positions.html
overflow-scrollbar-layers-expected.txt
overflow-scrollbar-layers.html
overflow-visible-with-touch-expected.txt
overflow-visible-with-touch.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
paint-neg-z-order-descendants-into-scrolling-contents-layer-expected.txt
paint-neg-z-order-descendants-into-scrolling-contents-layer.html
parent-overflow.html
remove-overflow-crash-expected.txt
remove-overflow-crash.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
remove-overflow-crash2.html
repaint-after-losing-scrollbars-expected.png
repaint-after-losing-scrollbars-expected.txt
repaint-after-losing-scrollbars.html
resize-painting-expected.txt
resize-painting.html
rtl-scrollbar-layer-positioning-expected.txt Horizontal overflow overlay scrollbar is misplaced in RTL 2020-04-21 18:17:10 +00:00
rtl-scrollbar-layer-positioning.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
scroll-ancestor-update.html
scrollbar-painting.html
scrollbars-with-clipped-owner-expected.png
scrollbars-with-clipped-owner-expected.txt
scrollbars-with-clipped-owner.html
scrolling-content-clip-to-viewport-expected.txt REGRESSION (Async overflow scroll): Truncated scrollbars in facebook chat 2020-09-10 15:22:05 +00:00
scrolling-content-clip-to-viewport.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
scrolling-without-painting-expected.txt
scrolling-without-painting.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
should-not-override-z-index-for-element-with-non-auto-z-index-and-overflow-scroll-and-touch-expected.txt
should-not-override-z-index-for-element-with-non-auto-z-index-and-overflow-scroll-and-touch.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
stacking-context-composited-scroller-with-foreground-paint-phases-expected.txt
stacking-context-composited-scroller-with-foreground-paint-phases.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
subpixel-overflow-expected.txt Remove trailing spaces from expected.txt files (excluding WPT for now since that contains too many) 2020-09-27 02:15:19 +00:00
subpixel-overflow.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
textarea-scroll-touch-expected.txt Remove trailing spaces from expected.txt files (excluding WPT for now since that contains too many) 2020-09-27 02:15:19 +00:00
textarea-scroll-touch.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
theme-affects-visual-overflow.html
transform-in-empty-container-expected.png
transform-in-empty-container-expected.txt
transform-in-empty-container.html
updating-scrolling-content-expected.txt
updating-scrolling-content.html Remove experimental: and internal: prefixes from test header commands 2020-11-04 15:56:26 +00:00
zero-size-overflow-expected.png
zero-size-overflow-expected.txt
zero-size-overflow.html