In maximized Private Browsing window, the tabstrip continuously jiggles side to side
Categories
(Toolkit :: UI Widgets, defect, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr115 | --- | unaffected |
firefox-esr128 | --- | unaffected |
firefox129 | --- | unaffected |
firefox130 | --- | unaffected |
firefox131 | --- | verified |
People
(Reporter: dholbert, Assigned: emilio)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: regression)
Attachments
(3 files, 1 obsolete file)
STR:
- Open a private browsing window.
- Maximize the window.
- Look at the tabstrip.
ACTUAL RESULTS:
The tabstrip is continously jiggling left and right, all on its own, as fast as it possibly can. It kinda looks like it's a superposition of two layouts.
EXPECTED RESULTS:
No such jiggling.
Mozregression says this is a regression from bug 1913322.
This reproduces for me on a fresh profile, but only on one machine so far. That machine is a MS Surface Pro 7+ running Ubuntu 24.04, using 2736x1824 resolution and 200% pixel scaling in Ubuntu's display settings.
Reporter | ||
Comment 1•6 months ago
•
|
||
Here's a screencast showing the bug. It doesn't really do the bug justice since the screencast's frame rate isn't fast enough to fully capture the jiggling, but you can see it to some extent. Just take my word for it that the private browsing window's tabstrip is furiously wiggling between the two positions shown here as rapidly as it possibly can.
Reporter | ||
Comment 2•6 months ago
•
|
||
profile: https://share.firefox.dev/3XfPit8
The marker chart is extremely busy. Not sure which markers are the root causes & which are just symptoms, but one possible clue: the "DOMEvent" track seems to show that we're alternating between an underflow
event and then an overflow
event (over and over). Perhaps we're responding to one in some way, to avoid {under/over}-flowing, and we end up overshooting and triggering the other one, and we respond to that, and this repeats forever?
Comment 3•6 months ago
|
||
Set release status flags based on info from the regressing bug 1913322
:emilio, since you are the author of the regressor, bug 1913322, could you take a look? Also, could you set the severity field?
For more information, please visit BugBot documentation.
![]() |
||
Comment 4•6 months ago
|
||
This problem can be reproduced even in normal sizemode when a Private window has a certain window width on ubuntu22.04.
And I got a same regression window above.
See screencast: https://youtu.be/VkMEJg3pM4s
![]() |
||
Comment 5•6 months ago
|
||
And in Windows11, I can see the unwanted scroll buttons at both side of tab strip at certain width of Private window.
This could be the same cause.
See screencast: https://youtu.be/rmMzd7iZsbE
Assignee | ||
Comment 6•6 months ago
|
||
Yeah, I can get to a state where:
temp0.clientWidthDouble // 1188.9832763671875
temp0.firstChild.getBoundingClientRect().width // 1188.9833984375
This is because DOMRect rounds differently than anything else.
Assignee | ||
Comment 7•6 months ago
|
||
No behavior change.
Assignee | ||
Comment 8•6 months ago
|
||
Otherwise we can get into states where identical numbers end up being
different from the ones exposed in other APIs.
This is a somewhat risky change, so gate it behind a pref.
This fixes the issue, but given it's a tricky change I'll also add a
workaround to avoid depending on it on the front-end.
Assignee | ||
Comment 9•6 months ago
|
||
See the comment.
Comment 10•6 months ago
|
||
Assignee | ||
Updated•6 months ago
|
Comment 11•6 months ago
|
||
Comment 12•6 months ago
|
||
Backed out 75588bc18622 for causing unforeseen failures as requested by Emilio.
Comment 13•6 months ago
|
||
Comment on attachment 9420791 [details]
Bug 1914831 - Try to use consistent rounding in DOMRect::SetLayoutRect. r=#layout
Revision D220126 was moved to bug 1914970. Setting attachment 9420791 [details] to obsolete.
Reporter | ||
Comment 15•6 months ago
|
||
FWIW, I just manually verified that the remaining patch (https://hg.mozilla.org/integration/autoland/rev/d794404ec2a2 / https://phabricator.services.mozilla.com/D220127 ) does indeed fix this issue for me.
(I'm testing with a local debug build from yesterday's mozilla-central, which repro's the issue with my steps in comment 0, but does not repro if I manually apply d794404ec2a2's raw patch file and rebuild.)
Updated•6 months ago
|
Comment 16•6 months ago
|
||
Comment on attachment 9420791 [details]
Bug 1914831 - Try to use consistent rounding in DOMRect::SetLayoutRect. r=#layout
Revision D220126 was moved to bug 1914970. Setting attachment 9420791 [details] to obsolete.
Updated•6 months ago
|
Comment 17•6 months ago
|
||
bugherder |
![]() |
||
Comment 18•6 months ago
|
||
bugherder |
Assignee | ||
Updated•6 months ago
|
Updated•6 months ago
|
Updated•6 months ago
|
Updated•6 months ago
|
Comment 19•5 months ago
|
||
I was able to reproduce the issue on Ubuntu24.04 using Firefox build 131.0a1(20240826094418).
Verified as fixed on Ubuntu24.04/Win11x64 using Firefox builds 132.0a1(20240923090434) and 131.0b9.
Description
•