Skip to content

LibWeb: Stop refreshing SVG payloads from records at run close - #11093

Merged
gmta merged 1 commit into
LadybirdBrowser:masterfrom
kalenikaliaksandr:remove-svg-payload-refresh
Aug 11, 2026
Merged

LibWeb: Stop refreshing SVG payloads from records at run close#11093
gmta merged 1 commit into
LadybirdBrowser:masterfrom
kalenikaliaksandr:remove-svg-payload-refresh

Conversation

@kalenikaliaksandr

Copy link
Copy Markdown
Member

The close-time refresh compensated for the pass-global used-values store: SVG resource subtrees are laid out once per consumer, and a later consumer's layout rewrote shared records after an earlier placement had already snapshotted them into fragments. Now that runs own their used-values records, each consumer's resource box carries its own slots and every SVG payload write lands before the owning box's placement snapshots it, so the walk never found anything to patch. Delete the refresh and the flag that gated it.

The close-time refresh compensated for the pass-global used-values
store: SVG resource subtrees are laid out once per consumer, and a
later consumer's layout rewrote shared records after an earlier
placement had already snapshotted them into fragments. Now that runs
own their used-values records, each consumer's resource box carries
its own slots and every SVG payload write lands before the owning
box's placement snapshots it, so the walk never found anything to
patch. Delete the refresh and the flag that gated it.
@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 6d4b5057-ea0e-491b-be47-5267f8d196af

📥 Commits

Reviewing files that changed from the base of the PR and between a1dba53 and 5dac746.

📒 Files selected for processing (2)
  • Libraries/LibWeb/Rust/src/layout/fragment_tree.rs
  • Libraries/LibWeb/Rust/src/layout/svg_formatting_context.rs
💤 Files with no reviewable changes (2)
  • Libraries/LibWeb/Rust/src/layout/svg_formatting_context.rs
  • Libraries/LibWeb/Rust/src/layout/fragment_tree.rs

📝 Walkthrough

Walkthrough

The change removes SVG payload-write tracking from RunFragmentBuilder. It deletes tracking state, initialization, notification methods, and close-time recursive payload refreshes. SVG formatting setters no longer notify fragment builders when they update transforms or viewport sizes. SVG path storage also no longer sends a notification.

Possibly related PRs

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description check ✅ Passed The description directly explains the removal of SVG payload refresh logic and its gating flag.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@gmta
gmta enabled auto-merge (rebase) August 11, 2026 10:28
@gmta
gmta merged commit c3ad127 into LadybirdBrowser:master Aug 11, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants