Bug 263341

Summary: Deeply nested SVG patterns can take minutes to invalidate the target element
Product: WebKit Reporter: Said Abou-Hallawa <sabouhallawa>
Component: SVGAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: sabouhallawa, webkit-bug-importer, zimmermann
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
test case (will hang for 3-4 minutes) none

Description Said Abou-Hallawa 2023-10-18 15:14:33 PDT
Created attachment 468267 [details]
test case (will hang for 3-4 minutes)

Open the attached test case.

Result: WebKit takes 3-4 minutes to show the page.
Expected: The page is updated in reasonable time.

NOTE: This test page uses a deeply nested pattern to fill an ellipse. When a <rect> is added to the deepest nested pattern, it causes 10^9 invalidation. This is due to pattern rect elements nesting relationship.

NOTE: This can be fixed by marking the invalidated renderers as visited so they can be skipped if they are revisited.
Comment 1 Said Abou-Hallawa 2023-10-18 15:16:52 PDT
*** Bug 263280 has been marked as a duplicate of this bug. ***
Comment 2 Said Abou-Hallawa 2023-10-18 17:11:38 PDT
rdar://116532387
Comment 3 Said Abou-Hallawa 2023-10-18 17:21:40 PDT
I could not create the PR using this bug. So I created bug 263349.

*** This bug has been marked as a duplicate of bug 263349 ***