Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a10422abf224ff37e55cf048baec35b37e44973f
      
https://github.com/WebKit/WebKit/commit/a10422abf224ff37e55cf048baec35b37e44973f
  Author: Rob Buis <[email protected]>
  Date:   2026-03-03 (Tue, 03 Mar 2026)

  Changed paths:
    A LayoutTests/svg/non-scaling-stroke-with-dynamic-marker-expected.txt
    A LayoutTests/svg/non-scaling-stroke-with-dynamic-marker.svg
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGPath.cpp

  Log Message:
  -----------
  Fix inconsistency between marker position info and marker resources
https://bugs.webkit.org/show_bug.cgi?id=308543

Reviewed by Brent Fulgham.

After 307282@main non-scaling-stroke repaint logic was changed to not rely
as much on cached repaint bounding boxes. This exposes a problem where as
part of repainting after layout, marker rects are being calculated on basis
of out of date marker position data, i.e. in the test case marker position
information was still present but the marker itself was already removed as a 
used resource
(because the marker-start attribute was removed), leading to an ASSERT being 
hit, since some
places assume if there is marker position information we must have marker 
resources.

To fix this, clear the marker position information when all marker properties 
are removed.

Test: svg/non-scaling-stroke-with-dynamic-marker.svg

* LayoutTests/svg/non-scaling-stroke-with-dynamic-marker-expected.txt: Added.
* LayoutTests/svg/non-scaling-stroke-with-dynamic-marker.svg: Added.
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGPath.cpp:
(WebCore::LegacyRenderSVGPath::styleDidChange):

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



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

Reply via email to