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

Reply via email to