Bug 241489 - Track SVG renderer updates using a NodeFlag instead of on Style::Update
Summary: Track SVG renderer updates using a NodeFlag instead of on Style::Update
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Cameron McCormack (:heycam)
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2022-06-09 14:00 PDT by Cameron McCormack (:heycam)
Modified: 2022-06-14 15:00 PDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Cameron McCormack (:heycam) 2022-06-09 14:00:32 PDT
SVG renderer updates are currently tracked as a kind of Style::Update change.  When a page is updating attributes on many SVG elements, but is not making changes that require a restyle on those elements, we can spend a lot of time hashing to store and look up the Style::Update associated with an element.

We could track the "SVG renderer update is needed" state using a Node flag instead, but continue using the Style::Update mechanism for root tracking, to reduce the overhead.
Comment 1 Radar WebKit Bug Importer 2022-06-09 14:00:54 PDT
<rdar://problem/94756741>
Comment 2 Cameron McCormack (:heycam) 2022-06-09 14:20:24 PDT
Pull request: https://github.com/WebKit/WebKit/pull/1430
Comment 3 Cameron McCormack (:heycam) 2022-06-13 22:01:30 PDT
Pull request: https://github.com/WebKit/WebKit/pull/1492
Comment 4 Cameron McCormack (:heycam) 2022-06-13 22:04:38 PDT
Pull request: https://github.com/WebKit/WebKit/pull/1493
Comment 5 EWS 2022-06-14 15:00:42 PDT
Committed r295539 (251544@main): <https://commits.webkit.org/251544@main>

Reviewed commits have been landed. Closing PR #1430 and removing active labels.