Closed Bug 1703405 Opened 4 years ago Closed 4 years ago

browser/base/content/test/performance/browser_appmenu.js fails under proton

Categories

(Firefox :: Toolbars and Customization, defect)

Desktop
All
defect

Tracking

()

RESOLVED FIXED
89 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox87 --- unaffected
firefox88 --- unaffected
firefox89 --- fixed

People

(Reporter: Gijs, Assigned: Gijs)

References

(Regression)

Details

(Keywords: regression, Whiteboard: [proton-hamburger-menu])

Attachments

(1 file)

[task 2021-04-06T21:15:14.972Z] 21:15:14     INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/performance/browser_appmenu.js | unexpected reflow at collectItems@resource:///modules/PanelMultiView.jsm hit 1 times
[task 2021-04-06T21:15:14.972Z] 21:15:14     INFO - Stack:
[task 2021-04-06T21:15:14.972Z] 21:15:14     INFO -   collectItems@resource:///modules/PanelMultiView.jsm:1509:30
[task 2021-04-06T21:15:14.973Z] 21:15:14     INFO -   descriptionHeightWorkaround@resource:///modules/PanelMultiView.jsm:1527:7
[task 2021-04-06T21:15:14.973Z] 21:15:14     INFO -   handleEvent@resource:///modules/PanelMultiView.jsm:1258:23

I'm 99% sure this is because we added wrapping to the sync item in the app menu in bug 1698062. Wrapping items cause us to hit descriptionheightworkaround code, which causes sync layout flushes.

I'm not sure what we want to do here. Mike/Emma, thoughts? We can add an exception but that is kind of sad because adding sync layout flushes is bad...

Flags: needinfo?(mconley)
Flags: needinfo?(emalysz)

Hm, I initially thought the cleanup work in Bug 1703417 and avoiding this call https://searchfox.org/mozilla-central/rev/ee9dab6aa95f167a34cb178960f7375210a0bba4/browser/base/content/browser-sync.js#514-516 may fix it, but we're still hitting a sync layout flush.

Is there a preferred way to wrap items? afaik the app menu has previously never dealt with this issue before and all items were kept to the same line

I suggest we add it to the allowlist for now, and file a cleanup bug to remove the flush.

(In reply to Emma Malysz from comment #1)

Is there a preferred way to wrap items? afaik the app menu has previously never dealt with this issue before and all items were kept to the same line

I am afraid the second part here is correct. As for a preferred way, there are two other things that may be worth trying:

  1. if we know the width available for the text beforehand (which I think we do, because the width of the panel is fixed?), ensure it is set directly on the element to ensure the XUL code for the preferred height of the element gets it right first time.
  2. switch the element in question to an HTML equivalent that wraps (possibly combined with (1)) and ensure we don't hit it in the descriptionHeightWorkAround code.
  3. switch everything in the main view to non-XUL flexbox and see if that helps.

But...

(In reply to Mike Conley (:mconley) (:⚙️) (Catching up on needinfos) from comment #2)

I suggest we add it to the allowlist for now, and file a cleanup bug to remove the flush.

I think this is probably the realistic option here given timelines.

Assignee: nobody → gijskruitbosch+bugs
Status: NEW → ASSIGNED
Flags: needinfo?(mconley)
Flags: needinfo?(emalysz)
Whiteboard: [proton-hamburger-menu]
Blocks: 1703494

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

Pushed by gijskruitbosch@gmail.com: https://hg.mozilla.org/integration/autoland/rev/cc8b64f3831b add expected reflow for hamburger menu opening under proton, r=mconley
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 89 Branch
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: