Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: afd16103076c8029ee4527728da0ff1926fc7483
https://github.com/WebKit/WebKit/commit/afd16103076c8029ee4527728da0ff1926fc7483
Author: Matt Woodrow <[email protected]>
Date: 2024-03-18 (Mon, 18 Mar 2024)
Changed paths:
A LayoutTests/fast/clip/offscreen-transparency-clip-expected.html
A LayoutTests/fast/clip/offscreen-transparency-clip.html
M Source/WebCore/rendering/RenderLayer.cpp
Log Message:
-----------
REGRESSION(268173@main) Safari rendered bdiusa.com as all white.
https://bugs.webkit.org/show_bug.cgi?id=270926
<rdar://123983879>
Reviewed by Simon Fraser.
We're using transparencyClipBox to determine the size of the transparency layer
to push,
and it's returning an empty rectangle.
It recurses through descendants, and finds a child layer positioned way off to
the left
of the screen (at -33553151).
Due to limits of int32, adding the bounds of that child into the original rect
(0,0) width=1686 height=18933.45, results in (-33554430,0) width=33554432
height=18933.45
which no longer includes the visible area of the screen (except for the very
left edge).
This fix moves the intersection with the dirty rect down to happen per-layer,
so that
we clip before unioning the descendants in, and avoid this problem.
As the existing code comment mentions, it would still be preferable to take CSS
clips
into account when computing these rectangles.
* LayoutTests/fast/clip/offscreen-transparency-clip-expected.html: Added.
* LayoutTests/fast/clip/offscreen-transparency-clip.html: Added.
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::transparencyClipBox):
(WebCore::expandClipRectForDescendantsAndReflection):
(WebCore::RenderLayer::beginTransparencyLayers):
(WebCore::paintingExtent): Deleted.
Canonical link: https://commits.webkit.org/276294@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes