chore: More migration for firefox 138.0, b=(no-bug), c=tabs, common, split-view

This commit is contained in:
Mr. M 2025-04-19 14:07:51 +02:00
parent ec3e2ab870
commit 2e6e71e3b6
No known key found for this signature in database
GPG key ID: 6292C4C8F8652B18
17 changed files with 135 additions and 293 deletions

View file

@ -31,6 +31,7 @@ pref("browser.privateWindowSeparation.enabled", false);
// Mica
pref("widget.windows.mica", true);
pref("widget.windows.mica.popups", true);
pref("widget.windows.mica.toplevel-backdrop", 2);
#endif
pref('browser.newtabpage.activity-stream.newtabWallpapers.enabled', true);
@ -142,10 +143,6 @@ pref('zen.view.experimental-rounded-view', false);
pref('zen.view.experimental-rounded-view', true);
#endif
#ifdef XP_WIN
pref('zen.widget.windows.acrylic', true);
#endif
// Glance
pref('zen.glance.enabled', true);
pref('zen.glance.hold-duration', 300); // in ms

View file

@ -1,5 +1,5 @@
diff --git a/browser/components/customizableui/CustomizableUI.sys.mjs b/browser/components/customizableui/CustomizableUI.sys.mjs
index 91088fab1759b9af908912648d28daa5938a29c9..999c1950e25560164463ac57773ca7fedac6255f 100644
index 91088fab1759b9af908912648d28daa5938a29c9..3f52ee8cd77ac171fd2cbf355ade1371e57d0db5 100644
--- a/browser/components/customizableui/CustomizableUI.sys.mjs
+++ b/browser/components/customizableui/CustomizableUI.sys.mjs
@@ -13,6 +13,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
@ -114,9 +114,9 @@ index 91088fab1759b9af908912648d28daa5938a29c9..999c1950e25560164463ac57773ca7fe
* The identifier string of the area that aNode is being inserted into.
*/
insertWidgetBefore(aNode, aNextNode, aContainer, aAreaId) {
+ if (aArea === CustomizableUI.AREA_NAVBAR && aNode.ownerGlobal.gZenVerticalTabsManager._hasSetSingleToolbar) {
+ if (aAreaId === CustomizableUI.AREA_NAVBAR && aNode.ownerGlobal.gZenVerticalTabsManager._hasSetSingleToolbar) {
+ aContainer = aNode.ownerDocument.getElementById("zen-sidebar-top-buttons-customization-target");
+ aArea = "zen-sidebar-top-buttons";
+ aAreaId = "zen-sidebar-top-buttons";
+ }
this.notifyDOMChange(aNode, aNextNode, aContainer, false, () => {
this.setLocationAttributes(aNode, aAreaId);

View file

@ -1,5 +1,5 @@
diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js
index bfba253af3253a8cf547a5d69a1695651fc5c203..fca9c6c918f7d2353edd4f675dd19ca4c4208a50 100644
index bfba253af3253a8cf547a5d69a1695651fc5c203..1ba8b8c51f27d92222f1e682681cf9c9f61ca14c 100644
--- a/browser/components/tabbrowser/content/tabbrowser.js
+++ b/browser/components/tabbrowser/content/tabbrowser.js
@@ -415,11 +415,67 @@
@ -638,8 +638,8 @@ index bfba253af3253a8cf547a5d69a1695651fc5c203..fca9c6c918f7d2353edd4f675dd19ca4
}
}
-
+ if (tab.group?.hasAttribute("split-view-group")) {
+ tab = tab.group;
+ if (element.group?.hasAttribute("split-view-group")) {
+ element = element.group;
+ }
// Don't allow mixing pinned and unpinned tabs.
if (element.pinned && !targetElement?.pinned) {
@ -652,7 +652,7 @@ index bfba253af3253a8cf547a5d69a1695651fc5c203..fca9c6c918f7d2353edd4f675dd19ca4
+ targetElement = targetElement.group;
+ }
let getContainer = () => {
+ if (tab.hasAttribute("zen-essential")) {
+ if (element.hasAttribute("zen-essential")) {
+ return document.getElementById("zen-essentials-container");
+ }
if (element.pinned && this.tabContainer.verticalMode) {

View file

@ -1,8 +1,8 @@
diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js
index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc977c8415 100644
index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..5ba36f48da0d85cf9be1abcd8d5446e1a977b7b1 100644
--- a/browser/components/tabbrowser/content/tabs.js
+++ b/browser/components/tabbrowser/content/tabs.js
@@ -93,7 +93,7 @@
@@ -83,7 +83,7 @@
};
this.arrowScrollbox._canScrollToElement = element => {
if (isTab(element)) {
@ -11,7 +11,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
}
return true;
};
@@ -347,7 +347,7 @@
@@ -342,7 +342,7 @@
// and we're not hitting the scroll buttons.
if (
event.button != 0 ||
@ -20,7 +20,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
event.composedTarget.localName == "toolbarbutton"
) {
return;
@@ -396,6 +396,7 @@
@@ -391,6 +391,7 @@
// Reset the "ignored click" flag
target._ignoredCloseButtonClicks = false;
}
@ -28,8 +28,8 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
}
/* Protects from close-tab-button errant doubleclick:
@@ -693,7 +694,7 @@
if (this.#isContainerVerticalPinnedExpanded(tab)) {
@@ -692,7 +693,7 @@
if (this.#isContainerVerticalPinnedGrid(tab)) {
// In expanded vertical mode, the max number of pinned tabs per row is dynamic
// Set this before adjusting dragged tab's position
- let pinnedTabs = this.visibleTabs.slice(0, gBrowser.pinnedTabCount);
@ -37,7 +37,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
let tabsPerRow = 0;
let position = 0;
for (let pinnedTab of pinnedTabs) {
@@ -899,6 +900,10 @@
@@ -913,6 +914,10 @@
}
let draggedTab = event.dataTransfer.mozGetDataAt(TAB_DROP_TYPE, 0);
@ -47,8 +47,8 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
+ }
if (
(effects == "move" || effects == "copy") &&
this == draggedTab.container &&
@@ -1012,6 +1017,18 @@
document == draggedTab.ownerDocument &&
@@ -1069,6 +1074,18 @@
this._tabDropIndicator.hidden = true;
event.stopPropagation();
@ -60,14 +60,14 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
+ let moved = gZenPinnedTabManager.moveToAnotherTabContainerIfNecessary(event, movingTabs);
+
+ if (moved) {
+ this._finishMoveTogetherSelectedTabs(draggedTab);
+ this.finishMoveTogetherSelectedTabs(draggedTab);
+ return;
+ }
+ }
if (draggedTab && dropEffect == "copy") {
// copy the dropped tab (wherever it's from)
let newIndex = this._getDropIndex(event);
@@ -1050,10 +1067,11 @@
let duplicatedDraggedTab;
let duplicatedTabs = [];
@@ -1108,10 +1125,11 @@
}
} else {
let isPinned = draggedTab.pinned;
@ -83,8 +83,8 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
);
let size = this.verticalMode ? "height" : "width";
let screenAxis = this.verticalMode ? "screenY" : "screenX";
@@ -1129,7 +1147,7 @@
tab.removeAttribute("tabdrop-samewindow");
@@ -1203,7 +1221,7 @@
item.removeAttribute("tabdrop-samewindow");
resolve();
};
- if (gReduceMotion) {
@ -92,22 +92,18 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
postTransitionCleanup();
} else {
let onTransitionEnd = transitionendEvent => {
@@ -1246,7 +1264,7 @@
return;
}
}
-
@@ -1327,6 +1345,7 @@
let nextItem = this.ariaFocusableItems[newIndex];
let tabGroup = isTab(nextItem) && nextItem.group;
+ if (gZenViewSplitter.handleTabDrop(event, urls, replace, inBackground)) return;
gBrowser.loadTabs(urls, {
inBackground,
replace,
@@ -1276,13 +1294,25 @@
@@ -1357,6 +1376,16 @@
return;
}
- this._finishMoveTogetherSelectedTabs(draggedTab);
this._finishAnimateTabMove();
+ if (!dt.mozUserCancelled && dt.dropEffect == "none" && !this._isCustomizing) {
+ const moved = gZenViewSplitter.moveTabToSplitView(event, draggedTab);
+ if (moved) {
@ -118,18 +114,10 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
+ if (gZenViewSplitter._lastOpenedTab) gZenViewSplitter._lastOpenedTab._visuallySelected = false;
+ }
+
+ this._finishMoveTogetherSelectedTabs(draggedTab);
+
if (
dt.mozUserCancelled ||
dt.dropEffect != "none" ||
- this._isCustomizing
+ this._isCustomizing ||
+ draggedTab.pinned
) {
delete draggedTab._dragData;
return;
@@ -1504,7 +1534,7 @@
this.finishMoveTogetherSelectedTabs(draggedTab);
this.finishAnimateTabMove();
this.#expandGroupOnDrop(draggedTab);
@@ -1582,7 +1611,7 @@
}
get newTabButton() {
@ -138,7 +126,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
}
get verticalMode() {
@@ -1524,29 +1554,41 @@
@@ -1606,29 +1635,41 @@
if (this.#allTabs) {
return this.#allTabs;
}
@ -188,7 +176,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
}
/**
@@ -1566,7 +1608,7 @@
@@ -1648,7 +1689,7 @@
*/
get visibleTabs() {
if (!this.#visibleTabs) {
@ -197,7 +185,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
}
return this.#visibleTabs;
}
@@ -1601,23 +1643,18 @@
@@ -1683,23 +1724,18 @@
}
let elementIndex = 0;
@ -225,7 +213,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
let visibleTabsInGroup = child.tabs.filter(tab => tab.visible);
visibleTabsInGroup.forEach(tab => {
tab.elementIndex = elementIndex++;
@@ -1627,10 +1664,7 @@
@@ -1709,10 +1745,7 @@
}
}
@ -237,7 +225,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
return this.#focusableItems;
}
@@ -1638,6 +1672,7 @@
@@ -1720,6 +1753,7 @@
_invalidateCachedTabs() {
this.#allTabs = null;
this._invalidateCachedVisibleTabs();
@ -245,18 +233,18 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
}
_invalidateCachedVisibleTabs() {
@@ -1652,8 +1687,8 @@
#isContainerVerticalPinnedExpanded(tab) {
@@ -1734,8 +1768,8 @@
#isContainerVerticalPinnedGrid(tab) {
return (
this.verticalMode &&
- tab.hasAttribute("pinned") &&
- this.hasAttribute("expanded")
- this.hasAttribute("expanded") &&
+ (tab.hasAttribute("zen-essential")) &&
+ (this.hasAttribute("expanded") || document.documentElement.hasAttribute("zen-sidebar-expanded"))
+ (this.hasAttribute("expanded") || document.documentElement.hasAttribute("zen-sidebar-expanded")) &&
!this.expandOnHover
);
}
@@ -1668,7 +1703,7 @@
@@ -1751,7 +1785,7 @@
if (node == null) {
// We have a container for non-tab elements at the end of the scrollbox.
@ -265,7 +253,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
}
node.before(tab);
@@ -1763,7 +1798,7 @@
@@ -1846,7 +1880,7 @@
// There are separate "new tab" buttons for horizontal tabs toolbar, vertical tabs and
// for when the tab strip is overflowed (which is shared by vertical and horizontal tabs);
// Attach the long click popup to all of them.
@ -274,7 +262,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
const newTab2 = this.newTabButton;
const newTabVertical = document.getElementById(
"vertical-tabs-newtab-button"
@@ -1846,7 +1881,7 @@
@@ -1929,7 +1963,7 @@
let rect = ele => {
return window.windowUtils.getBoundsWithoutFlushing(ele);
};
@ -283,7 +271,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
if (tab && rect(tab).width <= this._tabClipWidth) {
this.setAttribute("closebuttons", "activetab");
} else {
@@ -1858,10 +1893,12 @@
@@ -1941,10 +1975,12 @@
_handleTabSelect(aInstant) {
let selectedTab = this.selectedItem;
@ -296,34 +284,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
selectedTab._notselectedsinceload = false;
}
@@ -1873,7 +1910,7 @@
return;
}
- let tabs = this.visibleTabs;
+ let tabs = this.visibleTabs.filter(tab => !tab.hasAttribute("zen-glance-tab"));
if (!tabs.length) {
return;
}
@@ -1909,7 +1946,7 @@
if (isEndTab && !this._hasTabTempMaxWidth) {
return;
}
- let numPinned = gBrowser.pinnedTabCount;
+ let numPinned = gBrowser._numVisiblePinTabs;
// Force tabs to stay the same width, unless we're closing the last tab,
// which case we need to let them expand just enough so that the overall
// tabbar width is the same.
@@ -1924,7 +1961,7 @@
let tabsToReset = [];
for (let i = numPinned; i < tabs.length; i++) {
let tab = tabs[i];
- tab.style.setProperty("max-width", aTabWidth, "important");
+ //tab.style.setProperty("max-width", aTabWidth, "important");
if (!isEndTab) {
// keep tabs the same width
tab.style.transition = "none";
@@ -1990,16 +2027,15 @@
@@ -2085,16 +2121,15 @@
// Move pinned tabs to another container when the tabstrip is toggled to vertical
// and when session restore code calls _positionPinnedTabs; update styling whenever
// the number of pinned tabs changes.
@ -346,7 +307,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
}
}
@@ -2007,9 +2043,7 @@
@@ -2102,9 +2137,7 @@
}
_resetVerticalPinnedTabs() {
@ -357,7 +318,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
if (!verticalTabsContainer.children.length) {
return;
@@ -2022,8 +2056,8 @@
@@ -2117,8 +2150,8 @@
}
_positionPinnedTabs() {
@ -368,7 +329,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
let absPositionHorizontalTabs =
this.overflowing && tabs.length > numPinned && numPinned > 0;
@@ -2032,7 +2066,7 @@
@@ -2127,7 +2160,7 @@
if (this.verticalMode) {
this._updateVerticalPinnedTabs();
@ -377,7 +338,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
let layoutData = this._pinnedTabsLayoutCache;
let uiDensity = document.documentElement.getAttribute("uidensity");
if (!layoutData || layoutData.uiDensity != uiDensity) {
@@ -2104,7 +2138,7 @@
@@ -2191,7 +2224,7 @@
return;
}
@ -386,7 +347,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
let directionX = screenX > dragData.animLastScreenX;
let directionY = screenY > dragData.animLastScreenY;
@@ -2112,7 +2146,7 @@
@@ -2199,7 +2232,7 @@
dragData.animLastScreenX = screenX;
let { width: tabWidth, height: tabHeight } =
@ -395,7 +356,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
let shiftSizeX = tabWidth * movingTabs.length;
let shiftSizeY = tabHeight;
dragData.tabWidth = tabWidth;
@@ -2296,11 +2330,15 @@
@@ -2375,11 +2408,15 @@
this.#clearDragOverCreateGroupTimer();
let isPinned = draggedTab.pinned;
@ -415,7 +376,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
if (this.#rtlMode) {
tabs.reverse();
@@ -2314,7 +2352,7 @@
@@ -2393,7 +2430,7 @@
let size = this.verticalMode ? "height" : "width";
let translateAxis = this.verticalMode ? "translateY" : "translateX";
let scrollDirection = this.verticalMode ? "scrollTop" : "scrollLeft";
@ -424,7 +385,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
let translateX = event.screenX - dragData.screenX;
let translateY = event.screenY - dragData.screenY;
@@ -2328,6 +2366,12 @@
@@ -2407,6 +2444,12 @@
let lastTab = tabs.at(-1);
let lastMovingTab = movingTabs.at(-1);
let firstMovingTab = movingTabs[0];
@ -437,20 +398,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
let endEdge = ele => ele[screenAxis] + bounds(ele)[size];
let lastMovingTabScreen = endEdge(lastMovingTab);
let firstMovingTabScreen = firstMovingTab[screenAxis];
@@ -2348,7 +2392,11 @@
translate = Math.min(Math.max(translate, firstBound), lastBound);
for (let tab of movingTabs) {
- tab.style.transform = `${translateAxis}(${translate}px)`;
+ if (tab.group?.hasAttribute("split-view-group")) {
+ tab.group.style.transform = `${translateAxis}(${translate}px)`;
+ } else {
+ tab.style.transform = `${translateAxis}(${translate}px)`;
+ }
}
dragData.translatePos = translate;
@@ -2485,6 +2533,9 @@
@@ -2568,6 +2611,9 @@
break;
}
let element = tabs[mid];
@ -460,7 +408,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
let elementForSize = isTabGroupLabel(element)
? element.parentElement
: element;
@@ -2507,6 +2558,10 @@
@@ -2590,6 +2636,10 @@
if (!dropElement) {
dropElement = this.ariaFocusableItems[oldDropElementIndex];
}
@ -471,7 +419,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
let newDropElementIndex = dropElement
? dropElement.elementIndex
: oldDropElementIndex;
@@ -2515,7 +2570,7 @@
@@ -2598,7 +2648,7 @@
let shouldCreateGroupOnDrop;
let dropBefore;
if (dropElement) {
@ -480,11 +428,11 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
? dropElement.parentElement
: dropElement;
@@ -2566,12 +2621,12 @@
@@ -2660,12 +2710,12 @@
}
}
- if (gBrowser._tabGroupsEnabled && !isPinned) {
- if (gBrowser._tabGroupsEnabled && isTab(draggedTab) && !isPinned) {
+ if (true) {
let dragOverGroupingThreshold = 1 - moveOverThreshold;
@ -495,7 +443,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
dropElement != draggedTab &&
isTab(dropElement) &&
!dropElement?.group &&
@@ -2639,7 +2694,7 @@
@@ -2735,7 +2785,7 @@
// Shift background tabs to leave a gap where the dragged tab
// would currently be dropped.
for (let item of tabs) {
@ -504,7 +452,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
continue;
}
@@ -2648,6 +2703,9 @@
@@ -2744,6 +2794,9 @@
if (isTabGroupLabel(item)) {
// Shift the `.tab-group-label-container` to shift the label element.
item = item.parentElement;
@ -514,19 +462,19 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
}
item.style.transform = transform;
}
@@ -2697,8 +2755,9 @@
@@ -2796,8 +2849,9 @@
);
}
- _finishAnimateTabMove() {
- if (!this.hasAttribute("movingtab")) {
+ _finishAnimateTabMove(always = false) {
- finishAnimateTabMove() {
- if (!this.#isMovingTab()) {
+ finishAnimateTabMove(always = false) {
+ gZenPinnedTabManager.removeTabContainersDragoverClass();
+ if (!this.hasAttribute("movingtab") && !always) {
+ if (!this.#isMovingTab() && !always) {
return;
}
@@ -2711,6 +2770,12 @@
@@ -2809,6 +2863,12 @@
item = item.parentElement;
}
item.style.transform = "";
@ -539,7 +487,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
item.removeAttribute("dragover-createGroup");
}
this.removeAttribute("movingtab-createGroup");
@@ -2754,7 +2819,7 @@
@@ -2855,7 +2915,7 @@
let postTransitionCleanup = () => {
movingTab._moveTogetherSelectedTabsData.animate = false;
};
@ -548,7 +496,7 @@ index 0fbdbf3aefc467880e6b0bae2615cb145735cb0f..75a30478387494c06e5c8131f55ba5dc
postTransitionCleanup();
} else {
let onTransitionEnd = transitionendEvent => {
@@ -2924,7 +2989,7 @@
@@ -3028,7 +3088,7 @@
}
_notifyBackgroundTab(aTab) {

View file

@ -1,13 +0,0 @@
diff --git a/browser/extensions/newtab/content-src/components/CustomizeMenu/ContentSection/ContentSection.jsx b/browser/extensions/newtab/content-src/components/CustomizeMenu/ContentSection/ContentSection.jsx
index dcf192d0ab7323d69f1bf505971e57c98ad4397d..a4d88304786af35030391f71bc99eee6cf7c1a64 100644
--- a/browser/extensions/newtab/content-src/components/CustomizeMenu/ContentSection/ContentSection.jsx
+++ b/browser/extensions/newtab/content-src/components/CustomizeMenu/ContentSection/ContentSection.jsx
@@ -188,7 +188,7 @@ export class ContentSection extends React.PureComponent {
data-l10n-args='{"num": 4}'
/>
</select>
- {mayHaveSponsoredTopSites && (
+ {false && (
<div className="check-wrapper" role="presentation">
<input
id="sponsored-shortcuts"

View file

@ -1,5 +1,5 @@
diff --git a/browser/themes/shared/tabbrowser/tabs.css b/browser/themes/shared/tabbrowser/tabs.css
index bafbb39aac37843e3b6dceb0e81304af51e186cc..92b4fd725118150634ab2ae0a24efb52c16c5227 100644
index f03eb840f363c01a0ab304659795b51f4f61a866..24a0c0cc573e27776843925b83cc919fa546aeb9 100644
--- a/browser/themes/shared/tabbrowser/tabs.css
+++ b/browser/themes/shared/tabbrowser/tabs.css
@@ -32,7 +32,7 @@
@ -11,7 +11,7 @@ index bafbb39aac37843e3b6dceb0e81304af51e186cc..92b4fd725118150634ab2ae0a24efb52
--tab-hover-background-color: color-mix(in srgb, currentColor 11%, transparent);
--tab-selected-textcolor: var(--toolbar-color);
--tab-selected-bgcolor: var(--toolbar-bgcolor);
@@ -214,8 +214,7 @@
@@ -210,8 +210,7 @@
}
#tabbrowser-tabs[positionpinnedtabs] > #tabbrowser-arrowscrollbox > &[pinned] {
@ -20,16 +20,16 @@ index bafbb39aac37843e3b6dceb0e81304af51e186cc..92b4fd725118150634ab2ae0a24efb52
+
}
#tabbrowser-tabs[movingtab] &:is([selected], [multiselected]) {
@@ -254,7 +253,6 @@
#tabbrowser-tabs[movingtab] &:is(:active, [multiselected]) {
@@ -257,7 +256,6 @@
}
:root:not([uidensity=compact]) &[pinned] {
:root:not([uidensity=compact], [sidebar-expand-on-hover]) &[pinned] {
- padding: 0 10px;
}
&:is([selected], [multiselected]) {
@@ -268,6 +266,7 @@
@@ -271,6 +269,7 @@
border-radius: inherit;
position: relative;
overflow: hidden;
@ -37,7 +37,7 @@ index bafbb39aac37843e3b6dceb0e81304af51e186cc..92b4fd725118150634ab2ae0a24efb52
&::before {
position: absolute;
@@ -442,6 +441,7 @@
@@ -458,6 +457,7 @@
.tab-icon-image {
-moz-context-properties: fill, stroke;
fill: currentColor;
@ -45,7 +45,7 @@ index bafbb39aac37843e3b6dceb0e81304af51e186cc..92b4fd725118150634ab2ae0a24efb52
/* Apply crisp rendering for favicons at exactly 2dppx resolution */
@media (resolution: 2dppx) {
@@ -523,7 +523,7 @@
@@ -557,7 +557,7 @@
z-index: 1; /* Overlay tab title */
#tabbrowser-tabs[orient=vertical] & {
@ -54,7 +54,7 @@ index bafbb39aac37843e3b6dceb0e81304af51e186cc..92b4fd725118150634ab2ae0a24efb52
}
&[crashed] {
@@ -531,7 +531,7 @@
@@ -565,7 +565,7 @@
}
#tabbrowser-tabs[orient="vertical"]:not([expanded]) &:not([crashed]),
@ -63,7 +63,7 @@ index bafbb39aac37843e3b6dceb0e81304af51e186cc..92b4fd725118150634ab2ae0a24efb52
&[soundplaying] {
list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-playing-small.svg");
}
@@ -561,7 +561,7 @@
@@ -595,7 +595,7 @@
background-image: linear-gradient(var(--audio-overlay-extra-background)),
linear-gradient(var(--toolbox-bgcolor));
-moz-context-properties: fill;
@ -72,44 +72,7 @@ index bafbb39aac37843e3b6dceb0e81304af51e186cc..92b4fd725118150634ab2ae0a24efb52
color-scheme: var(--tab-selected-color-scheme);
border-radius: var(--border-radius-circle);
@@ -593,7 +593,7 @@
}
#tabbrowser-tabs[orient="vertical"]:not([expanded]) &:is([soundplaying], [muted], [activemedia-blocked]),
- &[pinned]:is([soundplaying], [muted], [activemedia-blocked]),
+ &:is([soundplaying], [muted], [activemedia-blocked]),
&[crashed] {
display: revert;
}
@@ -607,7 +607,7 @@
--button-min-height-small: 24px;
--button-border-radius: var(--border-radius-small);
- #tabbrowser-tabs:is([orient="vertical"][expanded], [orient="horizontal"]) &:not([pinned]):not([crashed]) {
+ #tabbrowser-tabs:is([orient="horizontal"]) &:not([pinned]):not([crashed]) {
&:is([soundplaying], [muted], [activemedia-blocked]) {
display: block;
}
@@ -638,14 +638,14 @@
}
&[textoverflow] {
- &[labeldirection=ltr]:not([pinned]),
- &:not([labeldirection], [pinned]):-moz-locale-dir(ltr) {
+ &[labeldirection=ltr],
+ &:not([labeldirection]):-moz-locale-dir(ltr) {
direction: ltr;
mask-image: linear-gradient(to left, transparent, black var(--tab-label-mask-size));
}
- &[labeldirection=rtl]:not([pinned]),
- &:not([labeldirection], [pinned]):-moz-locale-dir(rtl) {
+ &[labeldirection=rtl],
+ &:not([labeldirection]):-moz-locale-dir(rtl) {
direction: rtl;
mask-image: linear-gradient(to right, transparent, black var(--tab-label-mask-size));
}
@@ -1201,7 +1201,7 @@
@@ -1362,7 +1362,7 @@ tab-group {
}
}
@ -118,7 +81,7 @@ index bafbb39aac37843e3b6dceb0e81304af51e186cc..92b4fd725118150634ab2ae0a24efb52
#vertical-tabs-newtab-button {
appearance: none;
min-height: var(--tab-min-height);
@@ -1212,7 +1212,7 @@
@@ -1373,7 +1373,7 @@ tab-group {
margin-inline: var(--tab-inner-inline-margin);
#tabbrowser-tabs[orient="vertical"]:not([expanded]) & > .toolbarbutton-text {
@ -127,7 +90,7 @@ index bafbb39aac37843e3b6dceb0e81304af51e186cc..92b4fd725118150634ab2ae0a24efb52
}
&:hover {
@@ -1236,7 +1236,7 @@
@@ -1397,7 +1397,7 @@ tab-group {
* flex container. #tabs-newtab-button is a child of the arrowscrollbox where
* we don't want a gap (between tabs), so we have to add some margin.
*/
@ -136,15 +99,16 @@ index bafbb39aac37843e3b6dceb0e81304af51e186cc..92b4fd725118150634ab2ae0a24efb52
margin-block: var(--tab-block-margin);
}
@@ -1260,7 +1260,6 @@
@@ -1471,8 +1471,6 @@ tab-group {
}
#vertical-pinned-tabs-container {
- --tab-inline-padding: calc((calc(var(--tab-collapsed-background-width) + 2 * var(--tab-pinned-margin-inline-expanded) - var(--icon-size-default)) / 2));
display: none;
grid-template-columns: repeat(auto-fit, minmax(var(--tab-pinned-min-width-expanded), auto));
overflow-y: auto;
@@ -1480,7 +1479,7 @@
:root:not([sidebar-expand-on-hover]) & {
- --tab-inline-padding: calc((var(--tab-collapsed-background-width) + 2 *
- var(--tab-pinned-margin-inline-expanded) - var(--icon-size-default)) / 2);
/* stylelint-disable-next-line media-query-no-invalid */
@media not -moz-pref("sidebar.visibility", "expand-on-hover") {
/* We need these rules to apply at all times when the sidebar.visibility
@@ -1717,7 +1715,7 @@ tab-group {
toolbarbutton:not(#firefox-view-button),
toolbarpaletteitem:not(#wrapper-firefox-view-button)
) ~ #tabbrowser-tabs {
@ -153,7 +117,7 @@ index bafbb39aac37843e3b6dceb0e81304af51e186cc..92b4fd725118150634ab2ae0a24efb52
padding-inline-start: calc(var(--tab-overflow-pinned-tabs-width) + 2px);
margin-inline-start: 2px;
}
@@ -1514,7 +1513,6 @@ toolbar:not(#TabsToolbar) #firefox-view-button {
@@ -1751,7 +1749,6 @@ toolbar:not(#TabsToolbar) #firefox-view-button {
list-style-image: url(chrome://global/skin/icons/plus.svg);
}

View file

@ -1,20 +1,13 @@
diff --git a/browser/themes/windows/browser.css b/browser/themes/windows/browser.css
index 9af78803f0005a2b89e1c73f52153ed4d9e3154a..b63dc3d050144f048ac6a326acd57cc85fa8a3a7 100644
index 3e75a5f366e76acf4b9457a510b58b0cb8af580f..4962151f34ff52e8d009b82a9a12da99c4745a7a 100644
--- a/browser/themes/windows/browser.css
+++ b/browser/themes/windows/browser.css
@@ -40,14 +40,13 @@
* override these on the tabs toolbar because the accent color is
* arbitrary, so the hardcoded colors from browser-custom-colors might
* not provide sufficient contrast. */
- --toolbarbutton-icon-fill: currentColor;
--toolbarbutton-hover-background: color-mix(in srgb, currentColor 17%, transparent);
--toolbarbutton-active-background: color-mix(in srgb, currentColor 30%, transparent);
@@ -57,7 +57,7 @@
}
}
&[sizemode="normal"] #navigator-toolbox {
- border-top: .5px solid ActiveBorder;
+ /* border-top: .5px solid ActiveBorder; Zen: Remove annoying top border, dont remove */
- &[sizemode="normal"] #navigator-toolbox {
+ &[sizemode="normal"] #browser {
border-top: .5px solid ActiveBorder;
&:-moz-window-inactive {
border-top-color: InactiveBorder;
}

View file

@ -11,10 +11,3 @@
value: 1
mirror: always
#endif
#ifdef XP_WIN
- name: zen.widget.windows.acrylic
type: bool
value: true
mirror: always
#endif

View file

@ -1,12 +1,12 @@
diff --git a/toolkit/content/aboutSupport.xhtml b/toolkit/content/aboutSupport.xhtml
index 05e3d72a6e67900e9b3d9bfd35c89b056c7ca747..55408e77830492765c976dd967ca14a7b74cba97 100644
index 296259cd0360a403e8659e22d0c08e968529a38a..bde1ee8d0a05e6ce2eb3ff8ff8a19ba28c20af98 100644
--- a/toolkit/content/aboutSupport.xhtml
+++ b/toolkit/content/aboutSupport.xhtml
@@ -31,6 +31,7 @@
#ifndef ANDROID
<link rel="localization" href="toolkit/featuregates/features.ftl"/>
#endif
+ <script src="chrome://browser/content/zenThemeModifier.js"></script>
</head>
@@ -10,6 +10,7 @@
<body class="wide-container">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
+ <script src="chrome://browser/content/zenThemeModifier.js"></script>
<meta http-equiv="Content-Security-Policy" content="default-src chrome:; object-src 'none'" />
<meta name="color-scheme" content="light dark" />
<title data-l10n-id="page-title"/>

View file

@ -1,9 +1,9 @@
diff --git a/toolkit/mozapps/extensions/internal/XPIProvider.sys.mjs b/toolkit/mozapps/extensions/internal/XPIProvider.sys.mjs
index 3af9a7779dd43a6ded906ceaf6768c56d53c8605..c0b597fa3f8073b9bfb4118d5352246a5b54c2d7 100644
index 2cafde2156680a557081c5b82923f14618749358..0f4f5160f649165df80f35fbe72e02786a5b867e 100644
--- a/toolkit/mozapps/extensions/internal/XPIProvider.sys.mjs
+++ b/toolkit/mozapps/extensions/internal/XPIProvider.sys.mjs
@@ -2556,8 +2556,8 @@ export var XPIProvider = {
}
@@ -2674,8 +2674,8 @@ export var XPIProvider = {
if (AppConstants.platform != "android") {
// Keep version in sync with toolkit/mozapps/extensions/default-theme/manifest.json
this.maybeInstallBuiltinAddon(
- "default-theme@mozilla.org",
@ -12,4 +12,4 @@ index 3af9a7779dd43a6ded906ceaf6768c56d53c8605..c0b597fa3f8073b9bfb4118d5352246a
+ "1.3",
"resource://default-theme/"
);
}

View file

@ -1,32 +1,15 @@
diff --git a/toolkit/themes/shared/popup.css b/toolkit/themes/shared/popup.css
index ed0caa97db5726a7d1bc1cd0aa7af3fdf99690dc..ce49d7f6900a1184c9aed00c26bd7b42916482aa 100644
index 5701d305fdfc0407ead51aa52eefee38e7429de8..642325e981e9597eaaefefa725852a49b49ee6dc 100644
--- a/toolkit/themes/shared/popup.css
+++ b/toolkit/themes/shared/popup.css
@@ -21,8 +21,8 @@ panel {
@@ -22,8 +22,8 @@ panel {
--panel-border-color: ThreeDShadow;
--panel-width: initial;
- --panel-shadow-margin: 0px;
- --panel-shadow-margin: 4px;
- --panel-shadow: 0 0 var(--panel-shadow-margin) hsla(0,0%,0%,.2);
+ --panel-shadow-margin: 10px;
+ --panel-shadow: var(--zen-big-shadow);
-moz-window-input-region-margin: var(--panel-shadow-margin);
margin: calc(-1 * var(--panel-shadow-margin));
@@ -30,8 +30,6 @@ panel {
--background-color-canvas: var(--panel-background);
@media (-moz-platform: linux) {
- --panel-border-radius: 8px;
- --panel-padding-block: 3px;
@media (prefers-contrast) {
--panel-border-color: color-mix(in srgb, currentColor 60%, transparent);
@@ -208,7 +206,6 @@ panel:where([type="arrow"]) {
}
&[animating] {
- pointer-events: none;
}
}
}

View file

@ -1,12 +0,0 @@
diff --git a/widget/windows/WinUtils.cpp b/widget/windows/WinUtils.cpp
index 598c96cbb5cd06a986a5793ebe9c5438d419d4a9..de1317749e6a6dd7df644818970d7706a51e6c14 100644
--- a/widget/windows/WinUtils.cpp
+++ b/widget/windows/WinUtils.cpp
@@ -2007,6 +2007,7 @@ bool WinUtils::GetTimezoneName(wchar_t* aBuffer) {
static constexpr nsLiteralCString kMicaPrefs[] = {
"widget.windows.mica"_ns,
"widget.windows.mica.popups"_ns,
+ "zen.widget.windows.acrylic"_ns,
};
static BOOL CALLBACK UpdateMicaInHwnd(HWND aHwnd, LPARAM aLParam) {

View file

@ -1,21 +0,0 @@
diff --git a/widget/windows/nsWindow.cpp b/widget/windows/nsWindow.cpp
index d2863d5fd9ce5cedc88253a07cb061a660d42e61..5c1097ad16cd6e27e76cc6dfbed85218d36cc36f 100644
--- a/widget/windows/nsWindow.cpp
+++ b/widget/windows/nsWindow.cpp
@@ -165,6 +165,7 @@
#include "mozilla/StaticPrefs_layout.h"
#include "mozilla/StaticPrefs_ui.h"
#include "mozilla/StaticPrefs_widget.h"
+#include "mozilla/StaticPrefs_zen.h"
#include "nsNativeAppSupportWin.h"
#include "nsIGfxInfo.h"
@@ -2546,7 +2547,7 @@ void nsWindow::UpdateMicaBackdrop(bool aForce) {
if (!useBackdrop) {
return DWMSBT_AUTO;
}
- return IsPopup() ? DWMSBT_TRANSIENTWINDOW : DWMSBT_TABBEDWINDOW;
+ return IsPopup() ? DWMSBT_TRANSIENTWINDOW : (StaticPrefs::zen_widget_windows_acrylic() ? DWMSBT_TRANSIENTWINDOW : DWMSBT_TABBEDWINDOW);
}();
::DwmSetWindowAttribute(mWnd, DWMWA_SYSTEMBACKDROP_TYPE, &backdrop,
sizeof backdrop);

View file

@ -6,7 +6,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
class ZenUIMigration {
PREF_NAME = 'zen.migration.version';
MIGRATION_VERSION = 1;
MIGRATION_VERSION = 2;
init(isNewProfile, win) {
if (!isNewProfile) {
@ -27,13 +27,16 @@ class ZenUIMigration {
if (this._migrationVersion < 1) {
this._migrateV1(win);
}
if (this._migrationVersion < 2) {
this._migrateV2(win);
}
}
clearVariables() {
this._migrationVersion = this.MIGRATION_VERSION;
}
async _migrateV1(win) {
_migrateV1(win) {
// Introduction of the new URL bar, show a message to the user
const notification = win.gNotificationBox.appendNotification(
'zen-new-urlbar-notification',
@ -57,6 +60,13 @@ class ZenUIMigration {
]
);
}
_migrateV2(win) {
if (Services.prefs.getBoolPref('zen.widget.windows.acrylic', false)) {
Services.prefs.setIntPref('widget.windows.mica.toplevel-backdrop', 2);
Services.prefs.clearUserPref('zen.widget.windows.acrylic');
}
}
}
export var gZenUIMigration = new ZenUIMigration();

View file

@ -163,7 +163,7 @@
@media (-moz-windows-mica) or (-moz-platform: macos) {
background: transparent;
--zen-themed-toolbar-bg-transparent: transparent;
@media -moz-pref('zen.widget.windows.acrylic') {
@media -moz-pref("widget.windows.mica.toplevel-backdrop", 2) {
--zen-themed-toolbar-bg-transparent: color-mix(in srgb, var(--zen-themed-toolbar-bg) 35%, transparent 65%);
}
}

View file

@ -187,7 +187,7 @@ class ZenViewSplitter extends ZenDOMOperatedFeature {
if (!draggedTab || gBrowser.selectedTab.hasAttribute('zen-empty-tab')) {
return;
}
draggedTab.container._finishMoveTogetherSelectedTabs(draggedTab);
draggedTab.container.finishMoveTogetherSelectedTabs(draggedTab);
}
if (
!draggedTab ||

View file

@ -16,7 +16,7 @@ z-index: 1;
&:not([zen-has-hover='true']):not([has-popup-menu]):not(:focus-within):not(:has(*:is([panelopen='true'], [open='true']))) {
transition-delay: 0.2s;
height: calc(var(--zen-element-separation) + 0.5px);
height: var(--zen-element-separation);
overflow: hidden;
opacity: 0;
& > * {