Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 93c83d4ce552e5c0cc78642badc2b95129d19be8
      
https://github.com/WebKit/WebKit/commit/93c83d4ce552e5c0cc78642badc2b95129d19be8
  Author: Claudio Saavedra <[email protected]>
  Date:   2026-08-31 (Mon, 31 Aug 2026)

  Changed paths:
    M Source/WebCore/rendering/RenderBlockFlow.cpp

  Log Message:
  -----------
  REGRESSION(320127@main): ASSERTION FAILED: 
!m_previousInlineLayoutContentTopAndBottomIncludingInkOverflow in 
RenderBlockFlow::invalidateLineLayout
https://bugs.webkit.org/show_bug.cgi?id=322982

Reviewed by Alan Baradlay.

Since 320127@main the marker text and margin update runs from the render
tree update commit rather than from layout. Updating the margins reads the
marker's min-content width contribution, and computing that instantiates a
fresh, content-free inline layout on the marker's content container
(tryComputeIntrinsicLogicalWidthsUsingInlinePath). The block may still hold
the content extent snapshot recorded when an earlier invalidation destroyed
its line layout, since only the next inline layout consumes it, so a
subsequent invalidateLineLayout() finds both an inline layout and a pending
snapshot and fails the assertion.

Keep the earliest snapshot instead of asserting there is none: it is the
extent the next layout needs to repaint, and it is what release builds
already did, as inlineContentTopAndBottomIncludingInkOverflow() returns the
stored value when one is set.

Covered by imported/w3c/web-platform-tests/css/css-pseudo/parsing/
marker-supported-properties.html and 
marker-supported-properties-in-animation.html,
which crash without this.

* Source/WebCore/rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::invalidateLineLayout):

Canonical link: https://commits.webkit.org/320161@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to