4.26ms uninterruptible reflow at _updateTabsVisibilityStatus@chrome://browser/content/tabbrowser.xml:7481:1

RESOLVED FIXED in Firefox 55

Status

()

Firefox
Tabbed Browser
P1
normal
RESOLVED FIXED
2 months ago
27 days ago

People

(Reporter: sfleiter, Assigned: dao)

Tracking

(Blocks: 1 bug)

Trunk
Firefox 55
Points:
---
Bug Flags:
qe-verify -

Firefox Tracking Flags

(firefox55 fixed)

Details

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

MozReview Requests

()

Submitter Diff Changes Open Issues Last Updated
Loading...
Error loading review requests:

Attachments

(1 attachment)

(Reporter)

Description

2 months ago
Here's the stack:

_updateTabsVisibilityStatus@chrome://browser/content/tabbrowser.xml:7481:1
onxblpopupshowing@chrome://browser/content/tabbrowser.xml:7591:11
(Reporter)

Comment 1

2 months ago
Happens when clicking on the down arrow (listing open tabs) right next to the new tab button every time for me

Updated

2 months ago
Component: Untriaged → Tabbed Browser

Updated

2 months ago
Flags: qe-verify?
Priority: -- → P2

Updated

2 months ago
Blocks: 1363755
No longer blocks: 1348289

Updated

a month ago
Whiteboard: [ohnoreflow][qf][photon-performance] → [ohnoreflow][qf:p3][photon-performance]

Updated

a month ago
Flags: qe-verify? → qe-verify-
(Assignee)

Updated

a month ago
Flags: needinfo?(dao+bmo)

Updated

a month ago
Priority: P2 → P3
Whiteboard: [ohnoreflow][qf:p3][photon-performance] → [ohnoreflow][qf:p3][reserve-photon-performance]
Comment hidden (mozreview-request)
(Assignee)

Updated

a month ago
Assignee: nobody → dao+bmo
Status: NEW → ASSIGNED
Flags: needinfo?(dao+bmo)

Updated

a month ago
Priority: P3 → P1
Comment hidden (mozreview-request)

Comment 4

28 days ago
mozreview-review
Comment on attachment 8871655 [details]
Bug 1362542 - Avoid flusing layout when updating tabs' visiblity status for the overflow menu.

https://reviewboard.mozilla.org/r/143176/#review147528

Thanks for looking at this! The patch looks reasonable, but I have a question:

_updateTabsVisibilityStatus is called both from the popupshowing event handler, and from a 'scroll' event listener. For the popupshowing case, the user hasn't interacted very recently with the tab strip so I think there's no doubt that getBoundsWithoutFlushing will get correct results. For the case where the user scrolls through the tab strip while the panel is open, I'm less sure (I can't test this on Mac where the native menu popup eats all mouse events). Have you verified that scrolling the tabstrip still updates the visible tabs correctly? If not, do we need to call _updateTabsVisibilityStatus from a MozAfterPaint listener for the 'scroll' case?

Unrelated to what the patch changes: I wonder how this code performs when there are many tabs. Would adding a binary search for the position of the first visible tab be worth the effort (potentially in a follow-up)?
(Assignee)

Comment 5

28 days ago
(In reply to Florian Quèze [:florian] [:flo] (away until Monday May 29th) from comment #4)
> Comment on attachment 8871655 [details]
> Bug 1362542 - Avoid flusing layout when updating tabs' visiblity status for
> the overflow menu.
> 
> https://reviewboard.mozilla.org/r/143176/#review147528
> 
> Thanks for looking at this! The patch looks reasonable, but I have a
> question:
> 
> _updateTabsVisibilityStatus is called both from the popupshowing event
> handler, and from a 'scroll' event listener. For the popupshowing case, the
> user hasn't interacted very recently with the tab strip so I think there's
> no doubt that getBoundsWithoutFlushing will get correct results. For the
> case where the user scrolls through the tab strip while the panel is open,
> I'm less sure (I can't test this on Mac where the native menu popup eats all
> mouse events). [...]

This doesn't work on any platform. I'll remove the scroll event listener.
Comment hidden (mozreview-request)

Comment 7

27 days ago
mozreview-review
Comment on attachment 8871655 [details]
Bug 1362542 - Avoid flusing layout when updating tabs' visiblity status for the overflow menu.

https://reviewboard.mozilla.org/r/143176/#review147666

Thanks!
Attachment #8871655 - Flags: review?(florian) → review+

Comment 8

27 days ago
Pushed by dgottwald@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/90075cb286d6
Avoid flusing layout when updating tabs' visiblity status for the overflow menu. r=florian

Comment 9

27 days ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/90075cb286d6
Status: ASSIGNED → RESOLVED
Last Resolved: 27 days ago
status-firefox55: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → Firefox 55

Updated

27 days ago
Iteration: --- → 55.7 - Jun 12
You need to log in before you can comment on or make changes to this bug.