Closed Bug 1358387 Opened 7 years ago Closed 7 years ago

1.02ms uninterruptible reflow at set_label@chrome://browser/content/tabbrowser.xml:7593:37

Categories

(Firefox :: Tabbed Browser, defect, P1)

defect

Tracking

()

RESOLVED FIXED
Firefox 55
Iteration:
55.7 - Jun 12
Performance Impact medium
Tracking Status
firefox55 --- fixed

People

(Reporter: rjward0, Assigned: dao)

References

(Blocks 1 open bug)

Details

(Whiteboard: [ohnoreflow][reserve-photon-performance])

Attachments

(1 file)

Here's the stack:

set_label@chrome://browser/content/tabbrowser.xml:7593:37
updateStatusField@chrome://browser/content/browser.js:4512:7
onStatusChange@chrome://browser/content/browser.js:4799:5
XWB_onUpdateCurrentBrowser@chrome://browser/content/browser.js:4860:5
callListeners@chrome://browser/content/tabbrowser.xml:492:24
_callProgressListeners@chrome://browser/content/tabbrowser.xml:507:13
updateCurrentBrowser@chrome://browser/content/tabbrowser.xml:1159:15
onselect@chrome://browser/content/browser.xul:1:44
set_selectedIndex@chrome://browser/content/tabbrowser.xml:7706:13
set_selectedPanel@chrome://global/content/bindings/tabbox.xml:691:13
set_selectedIndex@chrome://global/content/bindings/tabbox.xml:409:15
set_selectedItem@chrome://global/content/bindings/tabbox.xml:441:34
set_selectedTab@chrome://global/content/bindings/tabbox.xml:111:15
set_selectedTab@chrome://browser/content/tabbrowser.xml:3341:11
_blurTab@chrome://browser/content/tabbrowser.xml:2908:13
removeTab@chrome://browser/content/tabbrowser.xml:2599:13
removeCurrentTab@chrome://browser/content/tabbrowser.xml:2530:13
BrowserCloseTabOrWindow@chrome://browser/content/browser.js:2241:3
oncommand@chrome://browser/content/browser.xul:1:1
permitUnload@chrome://global/content/bindings/remote-browser.xml:357:13
_beginRemoveTab@chrome://browser/content/tabbrowser.xml:2644:46
removeTab@chrome://browser/content/tabbrowser.xml:2571:18
removeCurrentTab@chrome://browser/content/tabbrowser.xml:2530:13
BrowserCloseTabOrWindow@chrome://browser/content/browser.js:2241:3
oncommand@chrome://browser/content/browser.xul:1:1
Component: Untriaged → Tabbed Browser
Flags: qe-verify?
Priority: -- → P2
In bug 1356663 we removed the sync flush at http://searchfox.org/mozilla-central/rev/7aa21f3b531ddee90a353215bd86e97d6974e25b/browser/base/content/tabbrowser.xml#7597 but there's another one 5 lines above with "getComputedStyle(this).width".

Dão, do you know what this code is doing? It seems to be trying to get the width of the panel before we change its value. It's not clear to me what the goal of this is (do we want to prevent that panel from shrinking when the message changes?), but if it's correct, this sync flush looks like a good candidate for fixing with getBoundsWithoutFlushing.
Flags: needinfo?(dao+bmo)
(In reply to Florian Quèze [:florian] [:flo] from comment #1)
> Dão, do you know what this code is doing? It seems to be trying to get the
> width of the panel before we change its value. It's not clear to me what the
> goal of this is (do we want to prevent that panel from shrinking when the
> message changes?)

Yep.
Flags: needinfo?(dao+bmo)
Whiteboard: [ohnoreflow][qf][photon-performance] → [ohnoreflow][qf:p1][photon-performance]
Depends on: 1358495
Another stack:

set_label@chrome://browser/content/tabbrowser.xml:7706:37
updateStatusField@chrome://browser/content/browser.js:4547:7
onStatusChange@chrome://browser/content/browser.js:4834:5
callListeners@chrome://browser/content/tabbrowser.xml:492:24
_callProgressListeners@chrome://browser/content/tabbrowser.xml:507:13
_callProgressListeners@chrome://browser/content/tabbrowser.xml:563:22
onStatusChange@chrome://browser/content/tabbrowser.xml:860:15
Flags: qe-verify? → qe-verify-
Priority: P2 → P3
Whiteboard: [ohnoreflow][qf:p1][photon-performance] → [ohnoreflow][qf:p1][reserve-photon-performance]
Whiteboard: [ohnoreflow][qf:p1][reserve-photon-performance] → [ohnoreflow][qf:p2][reserve-photon-performance]
Flags: needinfo?(dao+bmo)
Assignee: nobody → dao+bmo
Status: NEW → ASSIGNED
Flags: needinfo?(dao+bmo)
Priority: P3 → P1
No longer depends on: 1358495
Comment on attachment 8872118 [details]
Bug 1358387 - Avoid style flush when setting the statuspanel's current width as its min-width on status label changes.

https://reviewboard.mozilla.org/r/143608/#review147538

Thanks!
Attachment #8872118 - Flags: review?(florian) → review+
Pushed by dgottwald@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d2ee41a263fc
Avoid style flush when setting the statuspanel's current width as its min-width on status label changes. r=florian
https://hg.mozilla.org/mozilla-central/rev/d2ee41a263fc
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 55
Iteration: --- → 55.7 - Jun 12
Performance Impact: --- → P2
Whiteboard: [ohnoreflow][qf:p2][reserve-photon-performance] → [ohnoreflow][reserve-photon-performance]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: