mirror of
https://github.com/zen-browser/desktop.git
synced 2026-03-29 11:51:51 +00:00
feat: Correctly mark tab visibility inside active folders, b=no-bug, c=common, folders
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/tabbrowser/content/tab.js b/browser/components/tabbrowser/content/tab.js
|
||||
index 836bee14d2b63604688ebe477a5d915a5e99b305..a675aed711560b4a44604fc17478cffa7fb68439 100644
|
||||
index 836bee14d2b63604688ebe477a5d915a5e99b305..53b6cb827b1199b314b0e6543055fe7b074b0dfa 100644
|
||||
--- a/browser/components/tabbrowser/content/tab.js
|
||||
+++ b/browser/components/tabbrowser/content/tab.js
|
||||
@@ -21,6 +21,7 @@
|
||||
@@ -65,11 +65,11 @@ index 836bee14d2b63604688ebe477a5d915a5e99b305..a675aed711560b4a44604fc17478cffa
|
||||
+ return false;
|
||||
+ }
|
||||
+ // Selected tabs are always visible
|
||||
+ if (this.selected || this.multiselected || this.hasAttribute("folder-active")) return true;
|
||||
+ if (this.selected || this.multiselected) return true;
|
||||
+ // Recursively check all parent groups
|
||||
+ let currentParent = this.group;
|
||||
+ while (currentParent) {
|
||||
+ if (currentParent.collapsed) {
|
||||
+ if (currentParent.collapsed && !currentParent.activeTabs.includes(this)) {
|
||||
+ return false;
|
||||
+ }
|
||||
+ currentParent = currentParent.group;
|
||||
|
||||
@@ -30,7 +30,7 @@ panel[type="arrow"]:not(#feature-callout) {
|
||||
}
|
||||
|
||||
@media (-moz-platform: macos) {
|
||||
&:where([nativepopover="true"]) {
|
||||
&:where(:not([nativepopover="true"])) {
|
||||
appearance: auto !important;
|
||||
-moz-default-appearance: menupopup;
|
||||
/* We set the default background here, rather than on ::part(content),
|
||||
|
||||
@@ -1140,9 +1140,7 @@ class nsZenFolders extends nsZenDOMOperatedFeature {
|
||||
}
|
||||
|
||||
gBrowser.tabContainer._invalidateCachedTabs();
|
||||
setTimeout(() => {
|
||||
delete this._sessionRestoring;
|
||||
}, 0);
|
||||
delete this._sessionRestoring;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1278,7 +1276,7 @@ class nsZenFolders extends nsZenDOMOperatedFeature {
|
||||
}
|
||||
|
||||
get #folderAnimationDuration() {
|
||||
return this._sessionRestoring || this._dontAnimateFolder ? 0 : 0.12;
|
||||
return this._dontAnimateFolder ? 0 : 0.12;
|
||||
}
|
||||
|
||||
async animateCollapse(group) {
|
||||
@@ -1696,7 +1694,10 @@ class nsZenFolders extends nsZenDOMOperatedFeature {
|
||||
for (let i = 0; i < groupItems.length; i++) {
|
||||
const { item, splitViewId } = groupItems[i];
|
||||
|
||||
itemsToShow.push(item);
|
||||
let itemVisible = item.visible;
|
||||
if (itemVisible) {
|
||||
itemsToShow.push(item);
|
||||
}
|
||||
|
||||
// Skip selected items
|
||||
if (selectedTabs.includes(item)) {
|
||||
@@ -1708,7 +1709,7 @@ class nsZenFolders extends nsZenDOMOperatedFeature {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!item.hasAttribute?.("folder-active")) {
|
||||
if (!itemVisible) {
|
||||
if (!itemsToHide.includes(item)) {
|
||||
itemsToHide.push(item);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user