Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 366280b0f89654fd3cbe11d6d3b5b807766439a2
https://github.com/WebKit/WebKit/commit/366280b0f89654fd3cbe11d6d3b5b807766439a2
Author: Nathan Solomon <[email protected]>
Date: 2026-01-12 (Mon, 12 Jan 2026)
Changed paths:
A
LayoutTests/compositing/iframes/transparent-background-layer-promotion-expected.txt
A
LayoutTests/compositing/iframes/transparent-background-layer-promotion.html
M Source/WebCore/rendering/RenderLayerCompositor.cpp
Log Message:
-----------
REGRESSION (Safari 26, 292627@main): Translate on semi transparent background
sometimes makes background darker
https://bugs.webkit.org/show_bug.cgi?id=301462
rdar://163509267
Reviewed by Simon Fraser.
When an element inside an iframe gains its own compositing layer (via
will-change, transforms, animations, etc.), the iframe's compositing structure
changes. The iframe's background gets painted into the updated
layers, but the old background painting in the outer document's layers is never
invalidated. These stale and new layers composite together.
If the iframe's background is transparent, this causes the
transparent background to appear darker than intended.
Add renderer()->repaint() when the iframe's internal compositing changes.
This forces the iframe element in the outer document to repaint and clear
its old content, ensuring the background only exists in the correct layer.
Test: transparent-background-layer-promotion.html
*
LayoutTests/compositing/iframes/transparent-background-layer-promotion-expected.txt:
Added.
* LayoutTests/compositing/iframes/transparent-background-layer-promotion.html:
Added.
* Source/WebCore/rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::attachRootLayer):
Canonical link: https://commits.webkit.org/305492@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications