Add preference for using Google favicons and refactor related logic

This commit is contained in:
mr. M
2025-03-13 13:15:28 +01:00
parent 8ee527a3d0
commit 0dc05978ce
10 changed files with 40 additions and 22 deletions

View File

@@ -186,6 +186,7 @@ pref('zen.sidebar.data', "{\"data\":\n {\"p1\":{\n \"url\":\"https://www.wikip
pref('zen.sidebar.enabled', true); pref('zen.sidebar.enabled', true);
pref('zen.sidebar.close-on-blur', true); pref('zen.sidebar.close-on-blur', true);
pref('zen.sidebar.max-webpanels', 8); pref('zen.sidebar.max-webpanels', 8);
pref('zen.sidebar.use-google-favicons', true);
// Zen Split View // Zen Split View
pref('zen.splitView.enable-tab-drop', true); pref('zen.splitView.enable-tab-drop', true);

View File

@@ -48,6 +48,7 @@
openWatermark() { openWatermark() {
if (!Services.prefs.getBoolPref('zen.watermark.enabled', false)) { if (!Services.prefs.getBoolPref('zen.watermark.enabled', false)) {
document.documentElement.removeAttribute('zen-before-loaded');
return; return;
} }
for (let elem of document.querySelectorAll('#browser > *, #urlbar')) { for (let elem of document.querySelectorAll('#browser > *, #urlbar')) {

View File

@@ -19,12 +19,6 @@
text-overflow: ellipsis; text-overflow: ellipsis;
} }
@media not (-moz-bool-pref: 'zen.watermark.enabled') {
#zen-watermark {
display: none;
}
}
#customization-footer #customization-toolbar-visibility-button { #customization-footer #customization-toolbar-visibility-button {
display: none !important; display: none !important;
} }

View File

@@ -556,16 +556,18 @@ class ZenBrowserManagerSidebar extends ZenDOMOperatedFeature {
_getWebPanelIcon(url, element) { _getWebPanelIcon(url, element) {
let { preferredURI } = Services.uriFixup.getFixupURIInfo(url); let { preferredURI } = Services.uriFixup.getFixupURIInfo(url);
element.setAttribute('image', `page-icon:${preferredURI.spec}`); element.setAttribute('image', `page-icon:${preferredURI.spec}`);
fetch(`https://s2.googleusercontent.com/s2/favicons?domain_url=${preferredURI.spec}`).then(async (response) => { if (Services.prefs.getBoolPref('zen.sidebar.use-google-favicons')) {
if (response.ok) { fetch(`https://s2.googleusercontent.com/s2/favicons?domain_url=${preferredURI.spec}`).then(async (response) => {
let blob = await response.blob(); if (response.ok) {
let reader = new FileReader(); let blob = await response.blob();
reader.onload = function () { let reader = new FileReader();
element.setAttribute('image', reader.result); reader.onload = function () {
}; element.setAttribute('image', reader.result);
reader.readAsDataURL(blob); };
} reader.readAsDataURL(blob);
}); }
});
}
} }
_getBrowserById(id) { _getBrowserById(id) {

View File

@@ -149,6 +149,9 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
} }
_initializeEmptyTab() { _initializeEmptyTab() {
if (Services.prefs.getBoolPref('zen.workspaces.disable_empty_state_for_testing', false)) {
return;
}
this._emptyTab = gBrowser.addTrustedTab('about:blank', { inBackground: true, userContextId: 0, _forZenEmptyTab: true }); this._emptyTab = gBrowser.addTrustedTab('about:blank', { inBackground: true, userContextId: 0, _forZenEmptyTab: true });
} }
@@ -615,6 +618,9 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
} }
async _selectStartPage() { async _selectStartPage() {
if (Services.prefs.getBoolPref('zen.workspaces.disable_empty_state_for_testing', false)) {
return;
}
const currentTab = gBrowser.selectedTab; const currentTab = gBrowser.selectedTab;
let showed = false; let showed = false;
await this.promiseEmptyTabInitialized; await this.promiseEmptyTabInitialized;

View File

@@ -1,3 +0,0 @@
*
!.gitignore

View File

@@ -0,0 +1,16 @@
diff --git a/testing/profiles/mochitest/user.js b/testing/profiles/mochitest/user.js
index a4068ac3f61161d014c49d54ae7a3bf886868f1b..84523e9e10d44269172aa6913699ec50def8166e 100644
--- a/testing/profiles/mochitest/user.js
+++ b/testing/profiles/mochitest/user.js
@@ -41,3 +41,11 @@ user_pref("places.history.floodingPrevention.enabled", false);
// permission, and we can open it and wait for the user to give permission, then
// don't do that.
user_pref("geo.prompt.open_system_prefs", false);
+
+user_pref("zen.keyboard.shortcuts.enabled", false);
+user_pref("zen.welcome-screen.seen", true);
+user_pref("zen.tab-unloader.enabled", false);
+user_pref("zen.workspaces.disable_empty_state_for_testing", true);
+user_pref("zen.watermark.enabled", false);
+user_pref("zen.urlbar.replace-newtab", false);
+user_pref("zen.sidebar.use-google-favicons", false); // Crashes on some platforms

View File

@@ -1,8 +1,8 @@
diff --git a/testing/profiles/profileserver/user.js b/testing/profiles/profileserver/user.js diff --git a/testing/profiles/profileserver/user.js b/testing/profiles/profileserver/user.js
index 19ff7d474f6d22d2d386764e2e6942ce6a324470..40d1906bdebd08510014fd6124be17052248e748 100644 index 19ff7d474f6d22d2d386764e2e6942ce6a324470..a1ed4b51f26f458f965fbc29dfa7b8ad451faf7f 100644
--- a/testing/profiles/profileserver/user.js --- a/testing/profiles/profileserver/user.js
+++ b/testing/profiles/profileserver/user.js +++ b/testing/profiles/profileserver/user.js
@@ -8,3 +8,11 @@ @@ -8,3 +8,12 @@
user_pref("dom.timeout.enable_budget_timer_throttling", false); user_pref("dom.timeout.enable_budget_timer_throttling", false);
// Turn off update // Turn off update
user_pref("app.update.disabledForTesting", true); user_pref("app.update.disabledForTesting", true);
@@ -10,7 +10,8 @@ index 19ff7d474f6d22d2d386764e2e6942ce6a324470..40d1906bdebd08510014fd6124be1705
+// zen: +// zen:
+// Disable some of zen's features to better match the default Firefox experience +// Disable some of zen's features to better match the default Firefox experience
+user_pref("zen.workspaces.disabled_for_testing", true); +user_pref("zen.workspaces.disabled_for_testing", true);
+user_pref("zen.welcome-screen.enabled", false); +user_pref("zen.workspaces.disable_empty_state_for_testing", true);
+user_pref("zen.welcome-screen.seen", true);
+user_pref("zen.tab-unloader.enabled", false); +user_pref("zen.tab-unloader.enabled", false);
+user_pref("zen.watermark.enabled", false); +user_pref("zen.watermark.enabled", false);
+user_pref("zen.glance.enabled", false); +user_pref("zen.glance.enabled", false);