Closed
Bug 774717
Opened 12 years ago
Closed 5 years ago
Make tab closing async
Categories
(Firefox :: Tabbed Browser, defect)
Firefox
Tabbed Browser
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: reuben, Unassigned)
References
Details
Attachments
(1 file)
54.23 KB,
video/webm
|
Details |
When closing tabs that have content allocating a lot of memory there is a large delay between clicking the close button and the tab being closed and removed from the tab strip. We should remove it from the tab strip asynchronously while content is still being destroyed. I can reproduce this with long running Facebook, Netflix and Vimeo (with long HD videos) tabs. Chrome doesn't seem to be affected at all by content when closing tabs, and Safari has a much smaller but still noticeable delay.
Updated•12 years ago
|
OS: Mac OS X → All
Hardware: x86 → All
Comment 1•12 years ago
|
||
Any chance to profile what takes so long until the animation kicks in? Removing a tab is actually split into two steps: 1) We mark the tab as closing and call docShell.contentViewer.permitUnload(). We fire the TabClose event and kick off the animation. 2) When the transition has ended (we received the transitionend event) then we're finally destroying the whole tab and its browser. So it's not really asynchronous but at least everything should be done *after* the animation has almost ended.
Comment 2•12 years ago
|
||
Bug 754495 supposedly fixed aspects of this. Also, it looks like you set browser.tabs.autoHide to true, which isn't the default setting.
Reporter | ||
Comment 3•12 years ago
|
||
(In reply to Tim Taubert [:ttaubert] from comment #1) > Any chance to profile what takes so long until the animation kicks in? Sure, is the built-in Gecko profiler capable of doing this or should I use other tools? > Removing a tab is actually split into two steps: > > 1) We mark the tab as closing and call > docShell.contentViewer.permitUnload(). We fire the TabClose event and kick > off the animation. > > 2) When the transition has ended (we received the transitionend event) then > we're finally destroying the whole tab and its browser. > > So it's not really asynchronous but at least everything should be done > *after* the animation has almost ended. So event handlers for page close that take a long time to execute should only be running after the tab is gone (or transitioning) from the tab strip? If that's the case, I'm very curious to what's causing this, specially for pages that don't use plugins, like Facebook. (In reply to Dão Gottwald [:dao] from comment #2) > Bug 754495 supposedly fixed aspects of this. > > Also, it looks like you set browser.tabs.autoHide to true, which isn't the > default setting. Yes, Silverlight fullscreen on Netflix causes FPS drops so I have to hide the chrome manually, but I don't think that's related to the problem, as I've reproduced it with browser.tabs.autoHide=false before.
Reporter | ||
Updated•5 years ago
|
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•