User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:2.0b4pre) Gecko/20100812 Minefield/4.0b4pre
Build Identifier: Mozilla/5.0 (Windows NT 5.1; rv:2.0b4pre) Gecko/20100812 Minefield/4.0b4pre
a bit similar to bug 577650 - Better handle closing the last visible tab
+ Create two groups; one with a single tab and another with several
tabs. Go into the single tab and then close the tab. You return to the
TabCandy interface as you should, but you see one of the other tabs
zooming out. There should be no zoom out in this case.
Steps to Reproduce:
1. create 2 groups, one with several tabs, one with a single tab
2. go into the single tab, and close the tab
The single tab is closed, and a tab from the group is shown. But there is only one visible tab.
Switch to the other group, with the other tabs from the group visible.
Going in TabView restores the normal situation.
Created attachment 465804 [details] [diff] [review]
Removed some code which is no longer needed and causes problem. All tests pass without the removed code. The default behaviour is to return to Tab candy interface when the last visible is closed.
backed out http://hg.mozilla.org/mozilla-central/rev/c14d91f2d939
This seemed to be causing this failure:
TEST-UNEXPECTED-FAIL | chrome://mochikit/content/browser/browser/components/privatebrowsing/test/browser/browser_privatebrowsing_windowtitle.js | The window title for about:blank is correct (outside private browsing mode) - Got Minefield, expected Minefield Tab Sets
Somehow the tabcandy title is being tracked as the expected title, but it gets correctly reset when switching out of private browsing and fails.
Created attachment 466028 [details] [diff] [review]
Since TabClose event is fired when a tab is closing, we are uncertain that when the tab is actually removed. The 1ms delay wasn't enough so it's increased to 5ms for checking number of tabs in the same group. Ideally, a TabClosed event should be introduced so we know exactly when a tab is closed.
Raymond, this is probably related to the tabbrowser changes where when you close the last visible tab, it's going to try to select a nearby tab and make it visible, so that there's always a tab in the tabstrip when possible.
So knowing that, perhaps tabbrowser should expose a way to turn off the behavior of selecting a hidden tab if there are no visible tabs to select.
Dao, is there a good way to tell if the TabSelect from unhiding-after-last-visible-closed vs a plain tab switch?
Oh, sorry nevermind. The ui.js is detecting that the last visible tab is being closed -- TabClose and gBrowser.visibleTabs.length == 1.
Seems fixed by the removal of setTimeouts in bug 586693.
*** This bug has been marked as a duplicate of bug 586693 ***
Comment on attachment 466028 [details] [diff] [review]
Don't need this patch since 586693 takes care of it.
Duplicate bug, removing blocking.