mirror of
https://github.com/zen-browser/desktop.git
synced 2026-01-07 05:43:21 +00:00
fix: Iterate through active folder tabs instead of all tabs, b=no-bug, c=common, folders, workspaces
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js
|
||||
index d80a66a01002e78a9c65545d08fe786328ddf124..bb57b1eeb033f602d5014ab23e2cc1389bb9e615 100644
|
||||
index d80a66a01002e78a9c65545d08fe786328ddf124..4adabe030bfb322db1a9c95f71eb1adc58e2af77 100644
|
||||
--- a/browser/components/tabbrowser/content/tabbrowser.js
|
||||
+++ b/browser/components/tabbrowser/content/tabbrowser.js
|
||||
@@ -422,15 +422,60 @@
|
||||
@@ -337,7 +337,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..bb57b1eeb033f602d5014ab23e2cc138
|
||||
if (!tab) {
|
||||
let createLazyBrowser =
|
||||
- restoreTabsLazily && !select && !tabData.pinned;
|
||||
+ restoreTabsLazily;
|
||||
+ restoreTabsLazily && !(tabData.pinned && !Services.prefs.getBoolPref("browser.sessionstore.restore_pinned_tabs_on_demand"));
|
||||
|
||||
let url = "about:blank";
|
||||
if (tabData.entries?.length) {
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
// are initialized before we start our own initialization.
|
||||
// please, do not remove this line and if you do, make sure to
|
||||
// test the startup process.
|
||||
await new Promise((resolve) => resolve());
|
||||
await new Promise((resolve) => setTimeout(resolve, 0));
|
||||
this.openWatermark();
|
||||
this.#initBrowserBackground();
|
||||
this.#changeSidebarLocation();
|
||||
|
||||
@@ -1251,11 +1251,10 @@
|
||||
// But we should be setting the margin only on `folder1`.
|
||||
if (!group.activeTabs.includes(selectedTab) && selectedTab) return;
|
||||
group._prevActiveTabs = group.activeTabs;
|
||||
for (const item of group.tabs) {
|
||||
for (const item of group._prevActiveTabs) {
|
||||
if (
|
||||
item.hasAttribute('folder-active') &&
|
||||
(selectedTab ? item === selectedTab : !item.selected || !onlyIfActive) &&
|
||||
group.activeTabs.includes(item)
|
||||
(selectedTab ? item === selectedTab : !item.selected || !onlyIfActive)
|
||||
) {
|
||||
item.removeAttribute('folder-active');
|
||||
group.activeTabs = group.activeTabs.filter((t) => t !== item);
|
||||
@@ -1282,14 +1281,14 @@
|
||||
expandVisibleTab(group) {
|
||||
if (!group?.isZenFolder) return;
|
||||
|
||||
for (const item of group.allItems) {
|
||||
if (item.hasAttribute('was-folder-active')) {
|
||||
item.setAttribute('folder-active', 'true');
|
||||
item.removeAttribute('was-folder-active');
|
||||
group.activeTabs = group._prevActiveTabs || [];
|
||||
for (const tab of group.activeTabs) {
|
||||
if (tab.hasAttribute('was-folder-active')) {
|
||||
tab.setAttribute('folder-active', 'true');
|
||||
tab.removeAttribute('was-folder-active');
|
||||
}
|
||||
}
|
||||
|
||||
group.activeTabs = group._prevActiveTabs || [];
|
||||
this.on_TabGroupExpand({ target: group, forExpandVisible: true });
|
||||
|
||||
gBrowser.tabContainer._invalidateCachedVisibleTabs();
|
||||
|
||||
@@ -277,7 +277,7 @@ zen-folder {
|
||||
fill-opacity: 0.9;
|
||||
-moz-context-properties: fill, fill-opacity;
|
||||
fill: var(--zen-folder-stroke);
|
||||
transform: translate(-180%, 9%);
|
||||
transform: translate(-180%, 2.5px);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1602,7 +1602,9 @@ var gZenWorkspaces = new (class extends nsZenMultiWindowFeature {
|
||||
const emptyTab = this._emptyTab;
|
||||
if (emptyTab) {
|
||||
emptyTab.setAttribute('zen-workspace-id', this.activeWorkspace);
|
||||
gBrowser.TabStateFlusher.flush(emptyTab.linkedBrowser);
|
||||
if (emptyTab.linkedBrowser) {
|
||||
gBrowser.TabStateFlusher.flush(emptyTab.linkedBrowser);
|
||||
}
|
||||
const container = this.activeWorkspaceStrip;
|
||||
if (container) {
|
||||
container.insertBefore(emptyTab, container.firstChild);
|
||||
|
||||
Reference in New Issue
Block a user