0.98ms uninterruptible reflow caused by underflow event at get_scrollClientRect@chrome://global/content/bindings/scrollbox.xml:131:18

RESOLVED FIXED in Firefox 55

Status

()

defect
P1
normal
RESOLVED FIXED
2 years ago
2 years ago

People

(Reporter: florian, Assigned: florian)

Tracking

(Blocks 1 bug)

unspecified
Firefox 55
Points:
---
Dependency tree / graph
Bug Flags:
qe-verify -

Firefox Tracking Flags

(firefox55 fixed)

Details

(Whiteboard: [ohnoreflow][qf][photon-performance][qa-commented])

Attachments

(1 attachment)

Here's the stack:

get_scrollClientRect@chrome://global/content/bindings/scrollbox.xml:131:18
ensureElementIsVisible@chrome://global/content/bindings/scrollbox.xml:241:15
onxblunderflow@chrome://global/content/bindings/scrollbox.xml:765:13


This happens when increasing the width of a browser window. I don't understand how this action could cause the current tab to become invisible, because if there's no overflow anymore, all tabs are visible, right?

The relevant code is at http://searchfox.org/mozilla-central/rev/a7334b2896ed720fba25800e11e24952e6037d77/toolkit/content/widgets/scrollbox.xml#762
Flags: qe-verify?
Priority: -- → P2
Not sure. This could be a workaround for weird layout behavior like http://searchfox.org/mozilla-central/rev/214345204f1e7d97abb571b7992b6deedb5ff98f/browser/base/content/tabbrowser.xml#5945-5953
Depends on: 1356705
Flags: needinfo?(dao+bmo)
So should we just try and ask QA to verify with some exploratory testing? Or is bug 1356705 going to fix this?
(In reply to Florian Quèze [:florian] [:flo] from comment #3)
> So should we just try and ask QA to verify with some exploratory testing?

Fine by me.

> Or is bug 1356705 going to fix this?

Given the current WIP patch, it would remove the layout flush, but leave behind this potentially useless code.
Posted patch PatchSplinter Review
Attachment #8859596 - Flags: review?(dao+bmo)
Assignee: nobody → florian
Status: NEW → ASSIGNED
Flags: qe-verify? → qe-verify+
Attachment #8859596 - Flags: review?(dao+bmo) → review+
Iteration: --- → 55.4 - May 1
Priority: P2 → P1
QA Contact: adrian.florinescu
Pushed by florian@queze.net:
https://hg.mozilla.org/integration/mozilla-inbound/rev/3e59d06de614
remove potentially useless ensureElementIsVisible call (that currently causes a sync reflow) when an arrowscrollbox handles an underflow event, r=dao.
https://hg.mozilla.org/mozilla-central/rev/3e59d06de614
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 55
No longer blocks: photon-performance-triage
No longer depends on: 1356705
We requested QA here because we don't really know what the lines we removed here were doing. It's code related to one (or more?) tab(s) making us leave the overflow mode on the tab bar.
Whiteboard: [ohnoreflow][qf][photon-performance] → [ohnoreflow][qf][photon-performance][qa-commented]
Removing the qe+ flag from this issue since the change is from 55 iteration + the areas that might've presented regressions have been already covered in different bug verification or exploratory/regression testing.
Flags: qe-verify+
Flags: qe-verify-
You need to log in before you can comment on or make changes to this bug.