Bug 268909 - Unify cycle detection logic for legacy & LBSE
Summary: Unify cycle detection logic for legacy & LBSE
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: WebKit Local Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nikolas Zimmermann
URL:
Keywords: InRadar
Depends on:
Blocks: 90738 265134
  Show dependency treegraph
 
Reported: 2024-02-07 04:32 PST by Nikolas Zimmermann
Modified: 2024-02-09 15:07 PST (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nikolas Zimmermann 2024-02-07 04:32:45 PST
Cycle detection logic is spread over multiple files with different implementations: SVGSMILElement use SVGElement-based cycle detection logic, LegacyRenderSVGShape/Image/..., RenderSVGShape/Image/ResourceClipper/... use RenderElement-based cycle detection logic (abusing SVGHitTestCycleDetectionScope, which is now used throughout LBSE, not only for hit-testing).

Provide a shared SVGVisitedElementTracking / SVGVisitedRendererTracking implementation that is used for recursion-prevention, used for both legacy & LBSE.
Comment 1 Nikolas Zimmermann 2024-02-07 04:47:07 PST
Pull request: https://github.com/WebKit/WebKit/pull/23995
Comment 2 EWS 2024-02-09 15:06:39 PST
Committed 274392@main (3bd5bd5c81f2): <https://commits.webkit.org/274392@main>

Reviewed commits have been landed. Closing PR #23995 and removing active labels.
Comment 3 Radar WebKit Bug Importer 2024-02-09 15:07:39 PST
<rdar://problem/122672522>