Pinned tabs populating tab bar create visual noise on startup
Categories
(Firefox :: Session Restore, defect, P2)
Tracking
()
Performance Impact | medium |
People
(Reporter: alexical, Unassigned)
References
Details
(Keywords: perf:frontend, perf:startup)
Attachments
(5 files)
Updated•7 years ago
|
Reporter | ||
Comment 1•7 years ago
|
||
Comment hidden (mozreview-request) |
Comment 3•7 years ago
|
||
mozreview-review |
Reporter | ||
Comment 4•7 years ago
|
||
Reporter | ||
Comment 5•7 years ago
|
||
Reporter | ||
Comment 6•7 years ago
|
||
Comment hidden (mozreview-request) |
Comment 9•7 years ago
|
||
mozreview-review |
Reporter | ||
Comment 10•7 years ago
|
||
mozreview-review-reply |
Comment 11•7 years ago
|
||
Reporter | ||
Comment 12•7 years ago
|
||
Comment 13•7 years ago
|
||
Reporter | ||
Comment 14•7 years ago
|
||
Comment 15•7 years ago
|
||
Comment 16•7 years ago
|
||
Comment hidden (mozreview-request) |
Comment 18•7 years ago
|
||
Reporter | ||
Comment 19•7 years ago
|
||
Comment 20•7 years ago
|
||
Reporter | ||
Comment 21•7 years ago
|
||
Comment 22•7 years ago
|
||
Reporter | ||
Comment 23•7 years ago
|
||
Reporter | ||
Comment 24•7 years ago
|
||
Comment hidden (mozreview-request) |
Comment 26•7 years ago
|
||
Updated•7 years ago
|
Reporter | ||
Comment 27•7 years ago
|
||
Reporter | ||
Comment 28•7 years ago
|
||
Comment 29•7 years ago
|
||
mozreview-review |
Updated•7 years ago
|
Comment hidden (mozreview-request) |
Reporter | ||
Comment 31•7 years ago
|
||
mozreview-review-reply |
Comment hidden (mozreview-request) |
Comment 33•7 years ago
|
||
mozreview-review |
Reporter | ||
Comment 34•7 years ago
|
||
mozreview-review-reply |
Comment hidden (mozreview-request) |
Comment 36•7 years ago
|
||
mozreview-review |
Comment hidden (mozreview-request) |
Comment 38•7 years ago
|
||
mozreview-review |
Updated•7 years ago
|
Updated•6 years ago
|
Comment 39•6 years ago
|
||
Reporter | ||
Comment 40•6 years ago
|
||
Short answer: I don't know. There was work to be done when I last looked at this and I'm sure it has rotted.
Leaving the needinfo - I'll do some work to determine what this actually takes soon.
Reporter | ||
Comment 41•6 years ago
|
||
When we open firefox with pinned tabs, we first paint a window with
one tab open, and then that tab gets displaced after the pinned tabs
come in. This aims to ensure that our first paint contains the
pinned tab, so that we don't have tabs moving around after first
paint.
MozReview-Commit-ID: GC1y6NlgLTd
Reporter | ||
Comment 42•6 years ago
|
||
Dao, feel free to do a drive by review here - I put Gijs on the review in this case to not add more to your plate. Also Gijs feel free to punt this back if you don't feel comfortable reviewing it.
Also, regarding:
Can you just check aTab.linkedPanel here?
I went with an explicit parameter inside _notifyPinnedStatus to avoid a footgun where someone adds a lazy browser and we silently don't send the message. They will get a warning in this case when they prematurely create the browser.
Reporter | ||
Comment 43•6 years ago
|
||
Depends on D18742
Comment 44•6 years ago
|
||
Comment 45•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/7a20c79a0e12
https://hg.mozilla.org/mozilla-central/rev/f100f8631f78
Comment 46•6 years ago
|
||
I think this change had me lose my whole session on Windows nightly rev/110ea2a7c3d4f34b5079c195f7ea57966748e6da
I think I hit a condition where something is null (checked browser console). That something was very likely this.getBrowserForTab(aTab) @ chrome://browser/content/tabbrowser.js:621 and so anything after that just failed.
Unfortunately I can't confirm this anymore that it failed exactly there but it would make sense. I got to a state where I had two pinned tabs at one window - both without any content. That window and two others also had one "unloaded" normal tab.
I had several pinned tabs there (6?) but it is pretty likely that at least one of them was not loaded since I hadn't activated the tab in a long while - days, at least maybe even few weeks.
Comment 47•6 years ago
|
||
Backed out 2 changesets (Bug 1442694) for breaking session restores on update / requested by :dthayer on irc.
Comment 48•6 years ago
|
||
Updated•6 years ago
|
![]() |
||
Updated•6 years ago
|
Reporter | ||
Comment 49•6 years ago
|
||
This adds test which reproduce the failure as well as the fix. Essentially,
if we hit the edited case in SessionStore with tab
equal to tabbrowser.tabs[t]
,
we remove the tab and then try to pin it, which obviously blows up.
Note: the additional method in SessionStore.jsm was largely to get around
complexity requirements inside restoreWindow. Cleaner solutions welcome.
Depends on D19463
Reporter | ||
Comment 50•6 years ago
|
||
All right. I think I've done all I can reasonably do to be confident about this, but I am feeling a little timid about landing it due to the previous failures. I'm going to wait until Monday though and not land this on a Friday afternoon just in case. If anyone has any concerns in the mean time and would like me to test a particular case please let me know.
Comment 51•6 years ago
|
||
Comment 52•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/59c8fffe9e41
https://hg.mozilla.org/mozilla-central/rev/3bd9591627ce
https://hg.mozilla.org/mozilla-central/rev/8b3fe0426ffc
Comment 53•6 years ago
|
||
I've backed this out because of bug 1532498 comment 12, because we're close to the soft code freeze, and because I want to fix bug 1532719 without causing conflicts if we backed this out later.
remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/be70692904a1ca3b13870146ef8253e8245df156
remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/c923e07cf0ff04559568f8ef795709b047343a2c
remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/0a6ad39a784aff0b69f7e02c7704ebe468eb8cf1
remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/c83859672dbe4d96a6f26408eabb139033711d6c
![]() |
||
Updated•6 years ago
|
Updated•3 years ago
|
Updated•2 years ago
|
Reporter | ||
Updated•4 months ago
|
Description
•