Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: b5f0255e3ed796abfd39614950fe8e2ab2a223e8
https://github.com/WebKit/WebKit/commit/b5f0255e3ed796abfd39614950fe8e2ab2a223e8
Author: Nikolas Zimmermann <[email protected]>
Date: 2026-09-09 (Wed, 09 Sep 2026)
Changed paths:
M Source/WebCore/rendering/RenderLayerModelObject.cpp
Log Message:
-----------
[LBSE] Repainting on a compositing change during layout asserts in SVG
https://bugs.webkit.org/show_bug.cgi?id=323757
Reviewed by Rob Buis.
ASSERTION FAILED:
!view().frameView().layoutContext().isPaintOffsetCacheEnabled()
Source/WebCore/rendering/RenderLayerModelObject.cpp(431)
The assertion is too strict. Both fast paths that read the paint offset cache,
RenderBox::mapLocalToContainer() and RenderInline::mapLocalToContainer() require
an non-null ancestor container - otherwise the cache is not used, so we can
adapt the assertion.
The alternative would be to disable the paint offset cache from
RenderLayerCompositor::repaintOnCompositingChange(), but that is used
not only for LBSE layers and would require a tree walk to find out if its
necessary to disable the cache or not. Therefore it's cheaper to relax the
assertion instead.
Fixes imported/w3c/web-platform-tests/svg/extensibility/foreignObject/
scroll-transform-nested-stacked-children.html in LBSE debug builds.
* Source/WebCore/rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::mapLocalToSVGContainer const):
Canonical link: https://commits.webkit.org/320757@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications