chore: Update Firefox version to 128.0!

This commit is contained in:
Mauro Balades
2024-07-10 18:27:52 +02:00
parent eece97990d
commit 9fca7074ee
29 changed files with 177 additions and 234 deletions

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/customizableui/CustomizableUI.sys.mjs b/browser/components/customizableui/CustomizableUI.sys.mjs
index 5b09402dc1e19e89dcdfc8b5b45a2004c8cec0e6..0f8d774c728087b96242f35fe038e1fef55e58b3 100644
index f466105b8290b13c672351bb68dd92644dd670fe..7861d98a3679d7d81ea2076bb31d2c49425e7854 100644
--- a/browser/components/customizableui/CustomizableUI.sys.mjs
+++ b/browser/components/customizableui/CustomizableUI.sys.mjs
@@ -25,7 +25,7 @@ ChromeUtils.defineLazyGetter(lazy, "gWidgetsBundle", function () {
@@ -11,10 +11,10 @@ index 5b09402dc1e19e89dcdfc8b5b45a2004c8cec0e6..0f8d774c728087b96242f35fe038e1fe
const kSpecialWidgetPfx = "customizableui-special-";
@@ -249,14 +249,11 @@ var CustomizableUIInternal = {
Services.policies.isAllowed("removeHomeButtonByDefault")
@@ -250,13 +250,10 @@ var CustomizableUIInternal = {
? null
: "home-button",
Services.prefs.getBoolPref("sidebar.revamp") ? "sidebar-button" : null,
- "spring",
"urlbar-container",
- "spring",
@@ -22,12 +22,11 @@ index 5b09402dc1e19e89dcdfc8b5b45a2004c8cec0e6..0f8d774c728087b96242f35fe038e1fe
"downloads-button",
AppConstants.MOZ_DEV_EDITION ? "developer-button" : null,
- "fxa-toolbar-menu-button",
lazy.resetPBMToolbarButtonEnabled ? "reset-pbm-toolbar-button" : null,
+ "wrapper-sidebar-button",
lazy.resetPBMToolbarButtonEnabled ? "reset-pbm-toolbar-button" : null,
].filter(name => name);
this.registerArea(
@@ -287,7 +284,7 @@ var CustomizableUIInternal = {
@@ -288,7 +285,7 @@ var CustomizableUIInternal = {
{
type: CustomizableUI.TYPE_TOOLBAR,
defaultPlacements: [

View File

@@ -1,14 +1,12 @@
diff --git a/browser/components/moz.build b/browser/components/moz.build
index 0f91b90fb0ce4eac232d71ad4f9ff82ab7316635..82aa7bb8bd41b061ac861d3fbabbf9f9879a2091 100644
index 6cbb7ce0037c1457eeae5c331a996719691ebd6b..611707852198740c9b4103f5e2a66e8ee4099a21 100644
--- a/browser/components/moz.build
+++ b/browser/components/moz.build
@@ -72,6 +72,9 @@ DIRS += [
"urlbar",
]
+# Zen Components:
+DIRS += ["zen-welcome"]
+
DIRS += ["build"]
@@ -27,6 +27,7 @@ with Files("controlcenter/**"):
DIRS += [
+ "zen-welcome",
"about",
"aboutlogins",
"aboutwelcome",

View File

@@ -1,13 +0,0 @@
diff --git a/browser/components/newtab/content-src/styles/_theme.scss b/browser/components/newtab/content-src/styles/_theme.scss
index 6b097ae93edc046fb82dc843357e4ce8f34aca60..a76a3d8082d611a5169b0e85053aaca05a59ede1 100644
--- a/browser/components/newtab/content-src/styles/_theme.scss
+++ b/browser/components/newtab/content-src/styles/_theme.scss
@@ -25,7 +25,7 @@ $shadow-image-inset: inset 0 0 0 0.5px $black-15;
// Default theme
:root {
// General styles
- --newtab-background-color: #{$in-content-page-background};
+ --newtab-background-color: var(--zen-colors-tertiary);
--newtab-background-color-secondary: #{$newtab-background-secondary};
--newtab-text-primary-color: #{$in-content-page-color};
--newtab-primary-action-background: #{$primary-blue};

View File

@@ -0,0 +1,13 @@
diff --git a/browser/components/tabbrowser/content/tab-hover-preview.mjs b/browser/components/tabbrowser/content/tab-hover-preview.mjs
index b07dba3e060dd730e603997b2c374f218a1eb591..412d35a263d1e6a789927206a506c184a5ac0d46 100644
--- a/browser/components/tabbrowser/content/tab-hover-preview.mjs
+++ b/browser/components/tabbrowser/content/tab-hover-preview.mjs
@@ -7,7 +7,7 @@ var { XPCOMUtils } = ChromeUtils.importESModule(
);
const POPUP_OPTIONS = {
- position: "bottomleft topleft",
+ position: "topright topleft",
x: 0,
y: -2,
};

View File

@@ -0,0 +1,16 @@
diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js
index 3bca0b6d30468dc3a755219723f673ec80dfce6e..200a609ea31a8c904e2d3e39a3a06ff67fb313ed 100644
--- a/browser/components/tabbrowser/content/tabbrowser.js
+++ b/browser/components/tabbrowser/content/tabbrowser.js
@@ -7623,6 +7623,11 @@ var TabContextMenu = {
this.contextTab.linkedBrowser,
document.getElementById("context_sendTabToDevice")
);
+
+ document
+ .getElementById("context_zenSplitTabs")
+ .setAttribute("data-l10n-args", tabCountInfo);
+ document.getElementById("context_zenSplitTabs").disabled = !gZenViewSplitter.contextCanSplitTabs();
},
handleEvent(aEvent) {

View File

@@ -0,0 +1,284 @@
diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js
index 4733e6d0b66f254c72a592bf3eabeb1a939e76fa..ab16fe96e1e8036df7e8321c992624170bde0e63 100644
--- a/browser/components/tabbrowser/content/tabs.js
+++ b/browser/components/tabbrowser/content/tabs.js
@@ -538,19 +538,36 @@
}
dt.setDragImage(toDrag, dragImageOffset, dragImageOffset);
+ const zenVerticalTabs = Services.prefs.getBoolPref(
+ "zen.tabs.vertical",
+ false
+ );
+
// _dragData.offsetX/Y give the coordinates that the mouse should be
// positioned relative to the corner of the new window created upon
// dragend such that the mouse appears to have the same position
// relative to the corner of the dragged tab.
function clientX(ele) {
+ if (zenVerticalTabs) {
+ return 0;
+ }
return ele.getBoundingClientRect().left;
}
+ function clientY(ele) {
+ if (!zenVerticalTabs) {
+ return 0;
+ }
+ return ele.getBoundingClientRect().top;
+ }
let tabOffsetX = clientX(tab) - clientX(this);
+ let tabOffsetY = clientY(tab) - clientY(this);
tab._dragData = {
offsetX: event.screenX - window.screenX - tabOffsetX,
- offsetY: event.screenY - window.screenY,
+ offsetY: event.screenY - window.screenY - tabOffsetY,
scrollX: this.arrowScrollbox.scrollbox.scrollLeft,
+ scrollY: this.arrowScrollbox.scrollbox.scrollTop,
screenX: event.screenX,
+ screenY: event.screenY,
movingTabs: (tab.multiselected ? gBrowser.selectedTabs : [tab]).filter(
t => t.pinned == tab.pinned
),
@@ -637,21 +654,30 @@
}
}
+ const verticalTabs = Services.prefs.getBoolPref(
+ "zen.tabs.vertical",
+ false
+ );
+ const left = verticalTabs ? "top" : "left";
+ const right = verticalTabs ? "bottom" : "right";
+ const width = verticalTabs ? "height" : "width";
+ const clientWidth = verticalTabs ? "clientHeight" : "clientWidth";
+
var rect = arrowScrollbox.getBoundingClientRect();
var newMargin;
if (pixelsToScroll) {
// if we are scrolling, put the drop indicator at the edge
// so that it doesn't jump while scrolling
let scrollRect = arrowScrollbox.scrollClientRect;
- let minMargin = scrollRect.left - rect.left;
+ let minMargin = scrollRect[left] - rect[left];
let maxMargin = Math.min(
- minMargin + scrollRect.width,
- scrollRect.right
+ minMargin + scrollRect[width],
+ scrollRect[right]
);
if (RTL_UI) {
[minMargin, maxMargin] = [
- this.clientWidth - maxMargin,
- this.clientWidth - minMargin,
+ this[clientWidth] - maxMargin,,
+ this[clientWidth] - minMargin,
];
}
newMargin = pixelsToScroll > 0 ? maxMargin : minMargin;
@@ -661,29 +687,38 @@
if (newIndex == children.length) {
let tabRect = this._getVisibleTabs().at(-1).getBoundingClientRect();
if (RTL_UI) {
- newMargin = rect.right - tabRect.left;
+ newMargin = rect[right] - tabRect[left];
} else {
- newMargin = tabRect.right - rect.left;
+ newMargin = tabRect[right] - rect[left];
}
} else {
let tabRect = children[newIndex].getBoundingClientRect();
if (RTL_UI) {
- newMargin = rect.right - tabRect.right;
+ newMargin = rect[right] - tabRect[right];
} else {
- newMargin = tabRect.left - rect.left;
+ newMargin = tabRect[left] - rect[left];
}
}
}
ind.hidden = false;
- newMargin += ind.clientWidth / 2;
- if (RTL_UI) {
+ newMargin += ind[clientWidth] / 2;
+ if (RTL_UI && !verticalTabs) {
newMargin *= -1;
}
ind.style.transform = "translate(" + Math.round(newMargin) + "px)";
+
+ ind.style.transform =
+ "translate(" + verticalTabs
+ ? "0, "
+ : "" + Math.round(newMargin) + "px)";
}
on_drop(event) {
+ const verticalTabs = Services.prefs.getBoolPref(
+ "zen.tabs.vertical",
+ false
+ );
var dt = event.dataTransfer;
var dropEffect = dt.dropEffect;
var draggedTab;
@@ -740,7 +775,7 @@
incrementDropIndex = false;
}
- if (oldTranslateX && oldTranslateX != newTranslateX && !gReduceMotion) {
+ if (oldTranslateX && oldTranslateX != newTranslateX && !(gReduceMotion || verticalTabs)) {
for (let tab of movingTabs) {
tab.toggleAttribute("tabdrop-samewindow", true);
tab.style.transform = "translateX(" + newTranslateX + "px)";
@@ -1126,10 +1161,13 @@
}
_initializeArrowScrollbox() {
+ this.toggleAttribute("overflow", true);
+
let arrowScrollbox = this.arrowScrollbox;
arrowScrollbox.shadowRoot.addEventListener(
"underflow",
event => {
+ return;
// Ignore underflow events:
// - from nested scrollable elements
// - for vertical orientation
@@ -1492,19 +1530,30 @@
}
}
- if (!("animLastScreenX" in draggedTab._dragData)) {
- draggedTab._dragData.animLastScreenX = draggedTab._dragData.screenX;
- }
-
- let screenX = event.screenX;
- if (screenX == draggedTab._dragData.animLastScreenX) {
- return;
+ const verticalTabs = Services.prefs.getBoolPref(
+ "zen.tabs.vertical",
+ false
+ );
+ const animLastScreen = verticalTabs
+ ? "animLastScreenY"
+ : "animLastScreenX";
+ const screen = verticalTabs ? "screenY" : "screenX";
+ const dimensions = verticalTabs ? "height" : "width";
+ const scrollEdge = verticalTabs ? "scrollTop" : "scrollLeft";
+ const scrollDimension = verticalTabs ? "scrollY" : "scrollX";
+ const translate = verticalTabs ? "translateY" : "translateX";
+ if (!(animLastScreen in draggedTab._dragData)) {
+ draggedTab._dragData[animLastScreen] = draggedTab._dragData[screen];
+ }
+ let screenX = event[screen];
+ if (screenX == draggedTab._dragData[animLastScreen]) {
+ return;
}
// Direction of the mouse movement.
- let ltrMove = screenX > draggedTab._dragData.animLastScreenX;
+ let ltrMove = screenX > draggedTab._dragData[animLastScreen];
- draggedTab._dragData.animLastScreenX = screenX;
+ draggedTab._dragData[animLastScreen] = screenX;
let pinned = draggedTab.pinned;
let numPinned = gBrowser._numPinnedTabs;
@@ -1513,36 +1562,39 @@
pinned ? numPinned : undefined
);
- if (RTL_UI) {
+ if (RTL_UI && !verticalTabs) {
tabs.reverse();
// Copy moving tabs array to avoid infinite reversing.
movingTabs = [...movingTabs].reverse();
}
- let tabWidth = draggedTab.getBoundingClientRect().width;
+ let tabWidth = draggedTab.getBoundingClientRect()[dimensions];
let shiftWidth = tabWidth * movingTabs.length;
+ // We want to store the output value as the width and the height to force
+ // compatibility with code elsewhere
draggedTab._dragData.tabWidth = tabWidth;
+ draggedTab._dragData.tabHeight = tabWidth;
// Move the dragged tab based on the mouse position.
let leftTab = tabs[0];
let rightTab = tabs[tabs.length - 1];
- let rightMovingTabScreenX = movingTabs[movingTabs.length - 1].screenX;
- let leftMovingTabScreenX = movingTabs[0].screenX;
- let translateX = screenX - draggedTab._dragData.screenX;
+ let rightMovingTabScreenX = movingTabs[movingTabs.length - 1][screen];
+ let leftMovingTabScreenX = movingTabs[0][screen];
+ let translateX = screenX - draggedTab._dragData[screen];
if (!pinned) {
translateX +=
- this.arrowScrollbox.scrollbox.scrollLeft -
- draggedTab._dragData.scrollX;
+ this.arrowScrollbox.scrollbox[scrollEdge] -
+ draggedTab._dragData[scrollDimension];
}
- let leftBound = leftTab.screenX - leftMovingTabScreenX;
+ let leftBound = leftTab[screen] - leftMovingTabScreenX;
let rightBound =
- rightTab.screenX +
- rightTab.getBoundingClientRect().width -
+ rightTab[screen] +
+ rightTab.getBoundingClientRect()[dimensions] -
(rightMovingTabScreenX + tabWidth);
translateX = Math.min(Math.max(translateX, leftBound), rightBound);
for (let tab of movingTabs) {
- tab.style.transform = "translateX(" + translateX + "px)";
+ tab.style.transform = translate + "(" + translateX + "px)";
}
draggedTab._dragData.translateX = translateX;
@@ -1575,11 +1627,11 @@
if (tabs[mid] == draggedTab && ++mid > high) {
break;
}
- screenX = tabs[mid].screenX + getTabShift(tabs[mid], oldIndex);
+ screenX = tabs[mid][screen] + getTabShift(tabs[mid], oldIndex);
if (screenX > tabCenter) {
high = mid - 1;
} else if (
- screenX + tabs[mid].getBoundingClientRect().width <
+ screenX + tabs[mid].getBoundingClientRect()[dimensions] <
tabCenter
) {
low = mid + 1;
@@ -1602,16 +1654,16 @@
for (let tab of tabs) {
if (tab != draggedTab) {
let shift = getTabShift(tab, newIndex);
- tab.style.transform = shift ? "translateX(" + shift + "px)" : "";
+ tab.style.transform = shift ? translate + "(" + shift + "px)" : "";
}
}
function getTabShift(tab, dropIndex) {
if (tab._tPos < draggedTab._tPos && tab._tPos >= dropIndex) {
- return RTL_UI ? -shiftWidth : shiftWidth;
+ return RTL_UI && !verticalTabs ? -shiftWidth : shiftWidth;
}
if (tab._tPos > draggedTab._tPos && tab._tPos < dropIndex) {
- return RTL_UI ? shiftWidth : -shiftWidth;
+ return RTL_UI && !verticalTabs ? shiftWidth : -shiftWidth;
}
return 0;
}
@@ -1683,9 +1735,9 @@
// Slide the relevant tabs to their new position.
for (let t of this._getVisibleTabs()) {
- if (t.groupingTabsData && t.groupingTabsData.translateX) {
- let translateX = (RTL_UI ? -1 : 1) * t.groupingTabsData.translateX;
- t.style.transform = "translateX(" + translateX + "px)";
+ if (t.groupingTabsData && t.groupingTabsData.translateY) {
+ let translateX = (RTL_UI ? -1 : 1) * t.groupingTabsData.translateY;
+ t.style.transform = "translateY(" + translateX + "px)";
}
}

View File

@@ -1,13 +0,0 @@
diff --git a/browser/components/tabpreview/tab-preview-panel.mjs b/browser/components/tabpreview/tab-preview-panel.mjs
index 683b2c17ec893a97680d885c622029591dda7f29..605f8682368d691f7cc18dfb1775fa2622006ebd 100644
--- a/browser/components/tabpreview/tab-preview-panel.mjs
+++ b/browser/components/tabpreview/tab-preview-panel.mjs
@@ -7,7 +7,7 @@ var { XPCOMUtils } = ChromeUtils.importESModule(
);
const POPUP_OPTIONS = {
- position: "bottomleft topleft",
+ position: "topright topleft",
x: 0,
y: -2,
};

View File

@@ -1,30 +0,0 @@
diff --git a/browser/components/tabpreview/tabpreview.css b/browser/components/tabpreview/tabpreview.css
index e978266e5da72f3051d5455d7a3f2867a88648c5..c57e844107ea6e99b406422496e9b41511089594 100644
--- a/browser/components/tabpreview/tabpreview.css
+++ b/browser/components/tabpreview/tabpreview.css
@@ -42,3 +42,24 @@
width: 100%;
}
}
+
+/**
+ * Zen overrides (try to avoid git conflicts as much as possible)
+ */
+
+.tab-preview-container {
+ --zen-border-color: #bdbcbc;
+ overflow: hidden;
+ border: 1px solid var(--zen-border-color);
+}
+
+@media (prefers-color-scheme: dark) {
+ .tab-preview-container {
+ --zen-border-color: #565656;
+ }
+}
+
+.tab-preview-thumbnail-container img,
+.tab-preview-thumbnail-container canvas {
+ border-top: 1px solid var(--zen-border-color);
+}
\ No newline at end of file

View File

@@ -8,10 +8,6 @@ file, You can obtain one at http://mozilla.org/MPL/2.0/.
<html lang="en">
<head>
<meta name="color-scheme" content="light dark">
<meta
http-equiv="Content-Security-Policy"
content="default-src chrome:; object-src 'none'"
/>
<meta name="referrer" content="no-referrer" />
<link

View File

@@ -246,8 +246,8 @@ class Search extends Page {
const searchElements = document.getElementById('searchList')
this.store.getEngine().forEach((search) => {
const container = this.loadSpecificSearch(search, defaultEngine)
this.store.getEngine().forEach(async (search) => {
const container = await this.loadSpecificSearch(search, defaultEngine)
searchElements.appendChild(container)
this.searchList.push(container)
@@ -257,7 +257,7 @@ class Search extends Page {
/**
* @returns {HTMLDivElement}
*/
loadSpecificSearch(search, defaultSearch) {
async loadSpecificSearch(search, defaultSearch) {
const container = document.createElement('div');
container.classList.add('card')
container.classList.add('card-no-hover')
@@ -273,7 +273,7 @@ class Search extends Page {
})
const img = document.createElement('img');
img.src = search.originalEngine._iconURI.spec;
img.src = await search.originalEngine.getIconURL();
const name = document.createElement('h3')
name.textContent = search.name