Closed Bug 2046373 Opened 3 months ago Closed 3 months ago

5.4 - 4.92% stylebench Before and after pseudo elements/Adding leaf elements - 2/Sync + 1 more (OSX) regression on Wed June 3 2026

Categories

(Core :: Layout: Positioned, defect)

defect

Tracking

()

RESOLVED FIXED
153 Branch
Tracking Status
firefox-esr140 --- unaffected
firefox151 --- unaffected
firefox152 --- unaffected
firefox153 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: TYLin)

References

(Regression)

Details

(Keywords: perf, perf-alert, regression)

Attachments

(2 files)

Perfherder has detected a browsertime performance regression from push 661802e1edce3d2a0e966f9f9e21838f50658b7e. As author of one of the patches included in that push, we need your help to address this regression.

Please acknowledge, and begin investigating this alert within 3 business days, or the patch(es) may be backed out in accordance with our regression policy.

Regression Test Platform Options Absolute values [old vs new] Performance Profiles
5% stylebench Before and after pseudo elements/Adding leaf elements - 2/Sync (doc) macosx1470-64-shippable fission webrender 10.12 -> 10.67 Before/After
5% stylebench Before and after pseudo elements/Adding leaf elements - 2 (doc) macosx1470-64-shippable fission webrender 11.12 -> 11.67 Before/After

Support & Actionable Steps

For questions, please contact aesanu@mozilla.com. You can also find help on Slack (#perf-help) or Matrix (#perftest).

Action guide details:

Flags: needinfo?(aethanyc)

Set release status flags based on info from the regressing bug 2041551

When layout.abspos.fragment-aware-inline-cb.enabled=true, nsBlockFrame needs to recursively traverse all inline descendants to reflow abspos descendants [1]. If the block subtree does not contain any abspos descendants, this traversal is not needed. I'm investigating if we can set a bit indicating "this block has abspos descendants" to avoid that traversal.

[1] https://searchfox.org/firefox-main/rev/8e16ea8e5df0354144902ae0911a5609344bdb6d/layout/generic/nsBlockFrame.cpp#1802-1807

ReflowAbsoluteFramesInInlineFrame() always returns Some() if any abspos is
reflowed. This patch makes WalkInlineDescendantsToReflowAbsoluteFrames()
behave the same.

This prepares for the next part, where we can examine the returned value to
decide if any abspos element is reflowed.

Assignee: nobody → aethanyc
Status: NEW → ASSIGNED
Flags: needinfo?(aethanyc)
Severity: -- → S3
Pushed by aethanyc@gmail.com: https://github.com/mozilla-firefox/firefox/commit/0838d8446ee4 https://hg.mozilla.org/integration/autoland/rev/5c809ce03bc3 Part 1 - Let WalkInlineDescendantsToReflowAbsoluteFrames() return Some() if abspos element is reflowed. r=layout-reviewers,dshin https://github.com/mozilla-firefox/firefox/commit/12095ec8066b https://hg.mozilla.org/integration/autoland/rev/45cb5c8c5f2d Part 2 - Skip calling ReflowAbsoluteDescendantsInInlineFrame() if there are no abspos descendants. r=dholbert,layout-reviewers https://github.com/mozilla-firefox/firefox/commit/cd3e69dff923 https://hg.mozilla.org/integration/autoland/rev/92c2cb7f67cf apply code formatting via Lando
Status: ASSIGNED → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → 153 Branch
QA Whiteboard: [qa-triage-done-c154/b153]
Regressions: 2049299
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: