mirror of
https://github.com/zen-browser/desktop.git
synced 2026-04-29 10:44:15 +00:00
fix: Fixed 'switch tab' not working when tabs are unloaded, b=no-bug, c=workspaces
This commit is contained in:
@@ -2772,7 +2772,12 @@ var gZenWorkspaces = new (class extends nsZenMultiWindowFeature {
|
||||
}
|
||||
}
|
||||
}
|
||||
this._allStoredTabs = tabs;
|
||||
const currentWorkspace = this.activeWorkspace;
|
||||
this._allStoredTabs = tabs.sort((a, b) => {
|
||||
const aWorkspaceId = a.getAttribute('zen-workspace-id');
|
||||
const bWorkspaceId = b.getAttribute('zen-workspace-id');
|
||||
return aWorkspaceId === currentWorkspace ? -1 : bWorkspaceId === currentWorkspace ? 1 : 0;
|
||||
});
|
||||
return this._allStoredTabs;
|
||||
}
|
||||
|
||||
@@ -2807,20 +2812,14 @@ var gZenWorkspaces = new (class extends nsZenMultiWindowFeature {
|
||||
if (!this._hasInitializedTabsStrip) {
|
||||
return gBrowser.browsers;
|
||||
}
|
||||
const browsers = Array.from(gBrowser.tabpanels.querySelectorAll('browser'));
|
||||
// Sort browsers by making the current workspace first
|
||||
const currentWorkspace = this.activeWorkspace;
|
||||
const sortedBrowsers = browsers.sort((a, b) => {
|
||||
const aTab = gBrowser.getTabForBrowser(a);
|
||||
const bTab = gBrowser.getTabForBrowser(b);
|
||||
if (!bTab || !aTab) {
|
||||
return 0;
|
||||
const browsers = [];
|
||||
for (const tab of this.allStoredTabs) {
|
||||
const browser = tab.linkedBrowser;
|
||||
if (browser) {
|
||||
browsers.push(browser);
|
||||
}
|
||||
const aWorkspaceId = aTab.getAttribute('zen-workspace-id');
|
||||
const bWorkspaceId = bTab.getAttribute('zen-workspace-id');
|
||||
return aWorkspaceId === currentWorkspace ? -1 : bWorkspaceId === currentWorkspace ? 1 : 0;
|
||||
});
|
||||
return sortedBrowsers;
|
||||
}
|
||||
return browsers;
|
||||
}
|
||||
|
||||
get pinnedTabCount() {
|
||||
|
||||
Reference in New Issue
Block a user