Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 99ef9027da45f74d670cb12b9af8f4fa801e25dd
https://github.com/WebKit/WebKit/commit/99ef9027da45f74d670cb12b9af8f4fa801e25dd
Author: Simon Fraser <[email protected]>
Date: 2026-05-19 (Tue, 19 May 2026)
Changed paths:
M LayoutTests/TestExpectations
A
LayoutTests/compositing/geometry/frame-clipping-layer-with-bottom-right-inset-expected.txt
A
LayoutTests/compositing/geometry/frame-clipping-layer-with-bottom-right-inset.html
A
LayoutTests/compositing/geometry/frame-clipping-layer-with-top-left-inset-expected.txt
A
LayoutTests/compositing/geometry/frame-clipping-layer-with-top-left-inset.html
M LayoutTests/platform/mac/TestExpectations
M Source/WebCore/page/LocalFrameView.cpp
M Source/WebCore/rendering/RenderLayerCompositor.cpp
M Source/WebCore/testing/Internals.cpp
M Source/WebCore/testing/Internals.h
M Source/WebCore/testing/Internals.idl
Log Message:
-----------
swift.org shows a black region on its right when the Safari sidebar is open
on the left
https://bugs.webkit.org/show_bug.cgi?id=314770
rdar://173191807
Reviewed by Tim Horton.
When Safari's sidebar is open on the left,
`LocalFrameView::insetClipLayerRect()` is called
with a non-zero left inset. We failed to take this into account when sizing the
`frame clipping`
layer, which gets its size from this function. Thus, the page tiles projected
unclipped
under the scrollbar, and the dark scrollbar over black tile areas made it
invisible.
Fix by accounting for insets on all sides here; when the system language is
RTL, the Safari
sidebar is on the right, and accounting for the right inset also makes the
rendering
correct.
The tests only make sense on macOS where the layer tree dump starts at the root
layer,
when the optional flag is passed (which requires a little plumbing here).
Tests: compositing/geometry/frame-clipping-layer-with-bottom-right-inset.html
compositing/geometry/frame-clipping-layer-with-top-left-inset.html
* LayoutTests/TestExpectations:
*
LayoutTests/compositing/geometry/frame-clipping-layer-with-bottom-right-inset-expected.txt:
Added.
*
LayoutTests/compositing/geometry/frame-clipping-layer-with-bottom-right-inset.html:
Added.
*
LayoutTests/compositing/geometry/frame-clipping-layer-with-top-left-inset-expected.txt:
Added.
*
LayoutTests/compositing/geometry/frame-clipping-layer-with-top-left-inset.html:
Added.
* LayoutTests/platform/mac/TestExpectations:
* Source/WebCore/page/LocalFrameView.cpp:
(WebCore::LocalFrameView::insetClipLayerRect):
* Source/WebCore/rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateSizeAndPositionForOverhangAreaLayer):
* Source/WebCore/testing/Internals.cpp:
(WebCore::toLayerTreeAsTextOptions):
* Source/WebCore/testing/Internals.h:
* Source/WebCore/testing/Internals.idl:
Canonical link: https://commits.webkit.org/313513@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications