🚧 Merge branch 'alpha' into sidebar-customization

This commit is contained in:
PressJump 2022-09-27 03:46:14 +10:00
commit 671559179d
17 changed files with 262 additions and 113 deletions

View File

@ -0,0 +1,51 @@
# Firefox Update
This bumps Firefox up to `{NEW_VERSION}` for security and performance reasons. Reviewers check the following before continuing:
## QA Requirements
- [ ] Sidebar
- [ ] The sidebar exists
- [ ] The settings and addons button are visible down the bottom
- [ ] The bookmarks, history and synced tabs icons are in the sidebar
- [ ] An [installed extension](https://addons.mozilla.org/en-US/firefox/addon/sidebar-note/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search) will appear in the sidebar
- [ ] Extensions
- [ ] Tabliss is loading correctly
- [ ] Tabliss does not have the webextention symbol in the title bar
- [ ] uBlock origin is loading correctly
- [ ] FirePicker is loading correctly
- [ ] About dialog
- [ ] The new about dialog is present
- [ ] The dialog has not significantly changed
- [ ] Pocket
- [ ] Pocket is not present in the browser
- [ ] Preferences
- [ ] All tabs in preferences open
- [ ] The "More from {Vendor}" option is not present
- [ ] The sidebar preferences are present and work as expected
- [ ] Welcome experience
- [ ] The import button opens the import wizard
- [ ] The theme picker is present and works as expected
- [ ] The search engine picker is present and works as expected
- [ ] Pulse theme
- [ ] The tabs appear to be consistent
- [ ] Mozilla theme
- [ ] The sidebar tabs are correct
- [ ] Useragent
- [ ] The user agent is reporting as Mozilla Firefox

44
.github/workflows/addons.yml vendored Normal file
View File

@ -0,0 +1,44 @@
name: Addon updates
on:
workflow_dispatch:
push:
branches: [alpha, beta, stable]
jobs:
generate:
name: Generate Addon Update Manifests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- name: Setup Gluon
run: yarn && yarn setupLink
- name: Load config
run: yarn gluon ci --brand ${GITHUB_REF##*/}
- name: Generate update manifest
run: yarn gluon updates-addons
- name: Checkout tools repo
uses: actions/checkout@v3
with:
repository: pulse-browser/updates
path: updates
token: ${{ secrets.ROBOT_TOKEN }}
- name: Copy update manifests
run: |
mkdir -p updates/browser
cp -a dist/update/. updates/
- uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: 🔖 Upload update addon manifests
commit_user_name: Fushra Robot
commit_user_email: trickypr@gmail.com
repository: ./updates

View File

@ -129,7 +129,7 @@ jobs:
yarn && yarn setupLink
- name: Load gluon CI setup
run: yarn gluon ci -- --brand alpha --display-version ${{ needs.build-data.outputs.version }}
run: yarn gluon ci --brand alpha --display-version ${{ needs.build-data.outputs.version }}
- name: Download firefox source and dependencies
run: yarn download
@ -196,6 +196,14 @@ jobs:
echo 'export PATH="/usr/local/opt/gnu-tar/libexec/gnubin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/gnu-tar/libexec/gnubin:$PATH"' >> ~/.zsh
source ~/.bash_profile
# There are bugs in python 3.10 which prevent firefox from building correctly. This should
# fix it for the moment until mozilla or Python fix it
- name: Hotfix for bug 1766497 & 1786419
uses: actions/setup-python@v4
with:
python-version: '3.9'
- name: Save sccache
uses: actions/cache@v2
@ -216,31 +224,9 @@ jobs:
- name: Import
run: yarn imp
- name: Bootstrap
run: |
cd engine
./mach --no-interactive bootstrap --application-choice browser
cd ..
# Note: We still need this to generate our .mozconfig
- name: Gluon build
continue-on-error: true
run: yarn build --verbose
- name: Log
continue-on-error: true
run: |
ls engine
cat engine/mozconfig
cat engine/.mozconfig
- name: Mach build
run: |
cd engine
export MACH_USE_SYSTEM_PYTHON=true
./mach build
cd ..
- name: Package
run: gluon package
@ -370,7 +356,7 @@ jobs:
uses: 'marvinpinto/action-automatic-releases@latest'
with:
repo_token: '${{ secrets.GITHUB_TOKEN }}'
automatic_release_tag: 'alpha-${{ needs.build-data.outputs.build_date }}'
automatic_release_tag: ${{ needs.build-data.outputs.version }}
prerelease: true
title: 'Alpha build'
files: |
@ -384,25 +370,24 @@ jobs:
- name: List
run: find .
- name: Checkout tools repo
uses: actions/checkout@v3
with:
repository: pulse-browser/updates
path: updates
token: ${{ secrets.ROBOT_TOKEN }}
- name: Copy update manifests
run: |
mkdir -p updates/browser
cp -a macos_update_manifest/. updates/browser/
cp -a linux_update_manifest/. updates/browser/
cp -a windows_update_manifest/. updates/browser/
- uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: 🔖 Upload update manifests ${{ steps.data.outputs.version }}
commit_message: 🔖 Upload update manifests ${{ needs.build-data.outputs.version }}
commit_user_name: Fushra Robot
commit_user_email: trickypr@gmail.com
repository: ./updates

View File

@ -55,5 +55,3 @@ jobs:
This PR/issue depends on:
{{ dependencies }}
By **[Dependent Issues](https://github.com/z0al/dependent-issues)** (🤖). Happy coding!

View File

@ -19,5 +19,6 @@
},
"[html]": {
"editor.formatOnSave": false
}
},
"github-actions.workflows.pinned.workflows": [".github/workflows/addons.yml"]
}

2
gluon

@ -1 +1 @@
Subproject commit 8265c788eb3236fce1f7f5e632f7e0168cab60e0
Subproject commit e0e5337a80da24275bf2bcd5708398072d65f559

View File

@ -5,27 +5,38 @@
"binaryName": "pulse-browser",
"version": {
"product": "firefox",
"version": "102.0"
"version": "105.0.1"
},
"buildOptions": {
"generateBranding": true
},
"addons": {
"ublock": {
"platform": "github",
"id": "uBlock0@raymondhill.net",
"url": "https://github.com/gorhill/uBlock/releases/download/1.43.0/uBlock0_1.43.0.firefox.signed.xpi"
"repo": "gorhill/uBlock",
"version": "1.44.4",
"fileGlob": "uBlock0_*.firefox.xpi"
},
"tabliss": {
"platform": "amo",
"id": "extension@tabliss.io",
"url": "https://addons.mozilla.org/firefox/downloads/file/3940751/tabliss-2.6.0.xpi"
"amoId": "850407",
"version": "2.6.0"
},
"firepicker": {
"id": "fire-picker@browser.fushra.com",
"url": "https://github.com/pulse-browser/fire-picker/releases/download/v1.1.0/release.zip"
"platform": "github",
"repo": "pulse-browser/fire-picker",
"version": "v1.1.2",
"fileGlob": "release.zip"
},
"sidebar-tabs": {
"id": "sidebartabs@browser.fushra.com",
"url": "https://github.com/pulse-browser/sidebar-tabs/releases/download/v0.0.0/release.zip"
"platform": "github",
"repo": "pulse-browser/sidebar-tabs",
"version": "v0.0.0",
"fileGlob": "release.zip"
}
},
"brands": {
@ -69,7 +80,7 @@
"brandShortName": "Pulse Browser",
"brandFullName": "Pulse Browser Alpha",
"release": {
"displayVersion": "1.0.0-a.10",
"displayVersion": "1.0.0-a.22",
"github": {
"repo": "pulse-browser/browser"
},
@ -82,10 +93,8 @@
}
},
"license": {
"ignoredFiles": [
".*\\.json"
],
"ignoredFiles": [".*\\.json"],
"licenseType": "MPL-2.0"
},
"updateHostname": "updates.pulsebrowser.app"
}
}

View File

@ -1,5 +1,5 @@
diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
index 76b495ea6c9e6b5cf15099389e17b54df212f61c..c7b15a2c3abfc08e2bd907f6a34baf1c036aeb8d 100644
index e91b0d5b4198b7e3967b6d144ae195da954f3ef3..ff38f32739948842a74499aa56f7487e3351ec7c 100644
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -19,6 +19,8 @@
@ -19,7 +19,7 @@ index 76b495ea6c9e6b5cf15099389e17b54df212f61c..c7b15a2c3abfc08e2bd907f6a34baf1c
pref("xpinstall.signatures.devInfoURL", "https://wiki.mozilla.org/Addons/Extension_Signing");
// Enable extensionStorage storage actor by default
@@ -1895,7 +1896,6 @@ pref("browser.send_to_device_locales", "de,en-GB,en-US,es-AR,es-CL,es-ES,es-MX,f
@@ -1937,7 +1938,6 @@ pref("browser.send_to_device_locales", "de,en-GB,en-US,es-AR,es-CL,es-ES,es-MX,f
pref("browser.vpn_promo.disallowed_regions", "ae,by,cn,cu,iq,ir,kp,om,ru,sd,sy,tm,tr,ua");
// Default to enabling VPN promo messages to be shown when specified and allowed
@ -27,15 +27,15 @@ index 76b495ea6c9e6b5cf15099389e17b54df212f61c..c7b15a2c3abfc08e2bd907f6a34baf1c
// Only show vpn card to certain regions. Comma separated string of two letter ISO 3166-1 country codes.
// The most recent list of supported countries can be found at https://support.mozilla.org/en-US/kb/mozilla-vpn-countries-available-subscribe
// The full list of supported country codes can also be found at https://github.com/mozilla/bedrock/search?q=VPN_COUNTRY_CODES
@@ -2015,7 +2015,6 @@ pref("browser.tabs.crashReporting.includeURL", false);
@@ -2060,7 +2060,6 @@ pref("browser.tabs.crashReporting.includeURL", false);
// If true, unprivileged extensions may use experimental APIs on
// nightly and developer edition.
-pref("extensions.experiments.enabled", false);
#if defined(XP_WIN)
// Allows us to deprioritize the processes of background tabs at an OS level
@@ -2059,13 +2058,6 @@ pref("browser.migrate.chrome.history.limit", 2000);
#if defined(XP_LINUX) || defined(XP_WIN)
// Allows us to adjust the priority of child processes at the OS level
@@ -2108,13 +2107,6 @@ pref("browser.migrate.chrome.history.limit", 2000);
pref("browser.migrate.chrome.history.maxAgeInDays", 180);
pref("browser.migrate.showBookmarksToolbarAfterMigration", true);
@ -49,7 +49,7 @@ index 76b495ea6c9e6b5cf15099389e17b54df212f61c..c7b15a2c3abfc08e2bd907f6a34baf1c
// Enable Pocket button home panel for non link pages.
pref("extensions.pocket.showHome", true);
@@ -2206,9 +2198,6 @@ pref("toolkit.coverage.enabled", false);
@@ -2246,9 +2238,6 @@ pref("toolkit.coverage.enabled", false);
pref("toolkit.coverage.endpoint.base", "https://coverage.mozilla.org");
// Discovery prefs

View File

@ -4,7 +4,7 @@
//
// Note: You must have semicolons at the end of each line in user setting files
// Enable downloading drm
// Enable downloading DRM.
pref('media.eme.enabled', true);
// Disable firefox's about:welcome page
@ -37,4 +37,13 @@ pref('extensions.experiments.enabled', true);
// Disable VPN promos
pref('browser.vpn_promo.enabled', false);
// Enable WebMIDI. This is still currently in testing inside of Firefox, but
// will also provide us with the benefit of more features
pref('dom.webmidi.enabled', true);
// Check for system add-on updates.
pref("extensions.systemAddon.update.url", "https://updates.pulsebrowser.app/browser/addons/%CHANNEL%/update.xml");
pref("extensions.systemAddon.update.enabled", true);
#include better-fox.js

View File

@ -1,5 +1,5 @@
diff --git a/browser/base/content/browser-sidebar.js b/browser/base/content/browser-sidebar.js
index 78afa499b4a93fc75e8706a9afb077e2b5ca7428..1c3bdcd454b1e4118d3a85bbb1926c619a5e9efd 100644
index 78afa499b4a93fc75e8706a9afb077e2b5ca7428..c958b4e40d47783ec5f8209f7a1f44726e34a1ae 100644
--- a/browser/base/content/browser-sidebar.js
+++ b/browser/base/content/browser-sidebar.js
@@ -11,6 +11,10 @@ var SidebarUI = {
@ -201,7 +201,41 @@ index 78afa499b4a93fc75e8706a9afb077e2b5ca7428..1c3bdcd454b1e4118d3a85bbb1926c61
uninit() {
// If this is the last browser window, persist various values that should be
// remembered for after a restart / reopening a browser window.
@@ -573,6 +710,10 @@ var SidebarUI = {
@@ -158,18 +295,28 @@ var SidebarUI = {
/**
* The handler for Services.obs.addObserver.
- **/
- observe(_subject, topic, _data) {
+ **/
+ observe(_subject, topic, data) {
switch (topic) {
case "intl:app-locales-changed": {
if (this.isOpen) {
- // The <tree> component used in history and bookmarks, but it does not
- // support live switching the app locale. Reload the entire sidebar to
// invalidate any old text.
this.hide();
- this._show(this.lastOpenedId);
+ this.showInitially(this.lastOpenedId);
break;
}
+ break;
+ }
+
+ case "nsPref:changed": {
+ switch (data) {
+ case this.SIDEBAR_TABS_PREF:
+ this.setSidebarVisibility(
+ Services.prefs.getBoolPref(this.SIDEBAR_TABS_PREF, true)
+ );
+ break;
+ }
+ break;
}
}
},
@@ -573,6 +720,10 @@ var SidebarUI = {
this._box.setAttribute("sidebarcommand", commandID);
this.lastOpenedId = commandID;
@ -212,7 +246,7 @@ index 78afa499b4a93fc75e8706a9afb077e2b5ca7428..1c3bdcd454b1e4118d3a85bbb1926c61
let { url, title, sourceL10nEl } = this.sidebars.get(commandID);
this.title = title;
// Keep the title element in sync with any l10n changes.
@@ -618,6 +759,24 @@ var SidebarUI = {
@@ -618,6 +769,24 @@ var SidebarUI = {
this.selectMenuItem("");
@ -237,7 +271,7 @@ index 78afa499b4a93fc75e8706a9afb077e2b5ca7428..1c3bdcd454b1e4118d3a85bbb1926c61
// Replace the document currently displayed in the sidebar with about:blank
// so that we can free memory by unloading the page. We need to explicitly
// create a new content viewer because the old one doesn't get destroyed
@@ -641,21 +800,32 @@ var SidebarUI = {
@@ -641,21 +810,32 @@ var SidebarUI = {
* none if the argument is an empty string.
*/
selectMenuItem(commandID) {

View File

@ -1,30 +1,11 @@
diff --git a/browser/components/BrowserGlue.jsm b/browser/components/BrowserGlue.jsm
index 89651a029abc4f41205f099950a0a21eddb26cc1..9b793db6fc17848670cf18ca1d9552960a57f0ea 100644
index 64ac529d54270758b6dfa7a0a04b604b89a92402..e4b7844fd1df5c3ff09432c6d1664f72dba02320 100644
--- a/browser/components/BrowserGlue.jsm
+++ b/browser/components/BrowserGlue.jsm
@@ -4183,6 +4183,18 @@ BrowserGlue.prototype = {
SpecialMessageActions.handleAction(config, browser);
@@ -4321,6 +4321,23 @@ BrowserGlue.prototype = {
},
+ /**
+ * Displays the welcome dialog. Trigured `_maybeShowDefaultBrowserPrompt`.
+ *
+ * @todo Provide documentation for implementing custom popups
+ * @patch FocusBrowser
+ */
+ _showWelcomeDialog() {
+ BrowserWindowTracker.getTopWindow().gDialogBox.open(
+ "chrome://browser/content/welcome/welcome.html"
+ );
+ },
+
async _maybeShowDefaultBrowserPrompt() {
// Highest priority is the upgrade dialog, which can include a "primary
// browser" request and is limited in various ways, e.g., major upgrades.
@@ -4236,6 +4248,23 @@ BrowserGlue.prototype = {
return;
}
+ // =========================================================================
+ // Pulse browser welcome
+
@ -42,6 +23,25 @@ index 89651a029abc4f41205f099950a0a21eddb26cc1..9b793db6fc17848670cf18ca1d955296
+
+ // =========================================================================
+
const willPrompt = await DefaultBrowserCheck.willCheckDefaultBrowser(
/* isStartupCheck */ true
);
// Highest priority is the upgrade dialog, which can include a "primary
// browser" request and is limited in various ways, e.g., major upgrades.
const dialogVersion = 100;
@@ -4780,6 +4797,18 @@ BrowserGlue.prototype = {
"nsIObserver",
"nsISupportsWeakReference",
]),
+
+ /**
+ * Displays the welcome dialog. Trigured `_maybeShowDefaultBrowserPrompt`.
+ *
+ * @todo Add gluon docs for how to show custom popups on startup
+ * @patch Pulse Browser
+ */
+ _showWelcomeDialog() {
+ lazy.BrowserWindowTracker.getTopWindow().gDialogBox.open(
+ "chrome://browser/content/welcome/welcome.html"
+ );
+ },
};
var ContentBlockingCategoriesPrefs = {

View File

@ -1,19 +1,16 @@
diff --git a/browser/components/customizableui/CustomizableUI.jsm b/browser/components/customizableui/CustomizableUI.jsm
index 87aede1449d7ac4f30e13990f6d928fba3484162..32deb776daa5f4a353667e282f2ebfd904cefedb 100644
index 00e8533bc51245f3d55cefa3f20fc588c0e49c70..fd11b297a715f8861fc34c89861f726d1fd9336f 100644
--- a/browser/components/customizableui/CustomizableUI.jsm
+++ b/browser/components/customizableui/CustomizableUI.jsm
@@ -13,6 +13,10 @@ const { AppConstants } = ChromeUtils.import(
"resource://gre/modules/AppConstants.jsm"
);
+const { makeWidgetId } = ChromeUtils.import(
+ "resource://gre/modules/ExtensionCommon.jsm"
+).ExtensionCommon;
+
XPCOMUtils.defineLazyModuleGetters(this, {
@@ -18,6 +18,7 @@ const lazy = {};
XPCOMUtils.defineLazyModuleGetters(lazy, {
AddonManager: "resource://gre/modules/AddonManager.jsm",
AddonManagerPrivate: "resource://gre/modules/AddonManager.jsm",
@@ -32,6 +36,7 @@ XPCOMUtils.defineLazyGetter(this, "gWidgetsBundle", function() {
+ ExtensionCommon: "resource://gre/modules/ExtensionCommon.jsm",
SearchWidgetTracker: "resource:///modules/SearchWidgetTracker.jsm",
CustomizableWidgets: "resource:///modules/CustomizableWidgets.jsm",
PanelMultiView: "resource:///modules/PanelMultiView.jsm",
@@ -34,6 +35,7 @@ XPCOMUtils.defineLazyGetter(lazy, "gWidgetsBundle", function() {
});
const kDefaultThemeID = "default-theme@mozilla.org";
@ -21,8 +18,12 @@ index 87aede1449d7ac4f30e13990f6d928fba3484162..32deb776daa5f4a353667e282f2ebfd9
const kSpecialWidgetPfx = "customizableui-special-";
@@ -232,15 +237,15 @@ var CustomizableUIInternal = {
@@ -231,17 +233,21 @@ var CustomizableUIInternal = {
true
);
+ const { makeWidgetId } = lazy.ExtensionCommon;
+
let navbarPlacements = [
"back-button",
- "forward-button",
@ -32,6 +33,8 @@ index 87aede1449d7ac4f30e13990f6d928fba3484162..32deb776daa5f4a353667e282f2ebfd9
? null
: "home-button",
"spring",
+ // TODO: Would be nice if this was moved to an extension API rather than
+ // manually being edited here...
+ `${makeWidgetId(kUBlockOriginID)}-browser-action`,
"urlbar-container",
"spring",

View File

@ -0,0 +1,19 @@
diff --git a/browser/components/preferences/preferences.js b/browser/components/preferences/preferences.js
index d3a1fce03d4f2109532f32cbaa027600505de5a6..6c14b0079f5677bf8f4b465473d4909da65d33bb 100644
--- a/browser/components/preferences/preferences.js
+++ b/browser/components/preferences/preferences.js
@@ -156,7 +156,13 @@ function register_module(categoryName, categoryObject) {
if (template) {
// Replace the template element with the nodes inside of it.
let frag = template.content;
- await document.l10n.translateFragment(frag);
+
+ // Pulse Browser
+ // Something seems to be bugged out here, but it doesn't matter. So, the
+ // simple solution is to silent catch the error...
+ try {
+ await document.l10n.translateFragment(frag);
+ } catch (e) {}
// Actually insert them into the DOM.
document.l10n.pauseObserving();

View File

@ -1,8 +1,8 @@
diff --git a/browser/components/urlbar/UrlbarInput.jsm b/browser/components/urlbar/UrlbarInput.jsm
index 880674f6aeb41cd06557246e8137f65704d2a512..79232ff5c17a09e69f01a537f3d4e17a261d9277 100644
--- a/browser/components/urlbar/UrlbarInput.jsm
+++ b/browser/components/urlbar/UrlbarInput.jsm
@@ -365,6 +365,17 @@ class UrlbarInput {
diff --git a/browser/components/urlbar/UrlbarInput.sys.mjs b/browser/components/urlbar/UrlbarInput.sys.mjs
index c2b886df8188350b8c4586ed517b089d5eafe447..bb5bb690aedbeb3a7329ac78a8c813c35ee1295c 100644
--- a/browser/components/urlbar/UrlbarInput.sys.mjs
+++ b/browser/components/urlbar/UrlbarInput.sys.mjs
@@ -369,6 +369,17 @@ export class UrlbarInput {
!dueToSessionRestore &&
(!this.window.isBlankPageURL(uri.spec) ||
uri.schemeIs("moz-extension"));
@ -19,4 +19,4 @@ index 880674f6aeb41cd06557246e8137f65704d2a512..79232ff5c17a09e69f01a537f3d4e17a
+
} else if (
this.window.isInitialPage(value) &&
BrowserUIUtils.checkEmptyPageOrigin(this.window.gBrowser.selectedBrowser)
lazy.BrowserUIUtils.checkEmptyPageOrigin(

View File

@ -1,5 +1,5 @@
diff --git a/browser/themes/addons/jar.mn b/browser/themes/addons/jar.mn
index 271106757c7f60cdf78ff89c2dff375b524d197c..999049782628d501296a76990484fa29a5c3d5a9 100644
index 69bb3000d6d2d249d1d77262dc2a0057d0318308..68fc1df73672c271990b6d2eca489093569ec0fb 100644
--- a/browser/themes/addons/jar.mn
+++ b/browser/themes/addons/jar.mn
@@ -16,6 +16,14 @@ browser.jar:
@ -14,6 +14,6 @@ index 271106757c7f60cdf78ff89c2dff375b524d197c..999049782628d501296a76990484fa29
+ content/builtin-themes/pulse/light/experiment.css (pulse/light/experiment.css)
+ content/builtin-themes/pulse/light/manifest.json (pulse/light/manifest.json)
+
content/builtin-themes/monochromatic/lush/soft (monochromatic/lush/soft/*.svg)
content/builtin-themes/monochromatic/lush/soft/manifest.json (monochromatic/lush/soft/manifest.json)
content/builtin-themes/monochromatic/lush/balanced (monochromatic/lush/balanced/*.svg)
content/builtin-themes/colorways/2021lush/soft (colorways/2021-life-in-color/lush/soft/*.svg)
content/builtin-themes/colorways/2021lush/soft/manifest.json (colorways/2021-life-in-color/lush/soft/manifest.json)
content/builtin-themes/colorways/2021lush/balanced (colorways/2021-life-in-color/lush/balanced/*.svg)

View File

@ -125,18 +125,14 @@ tab.tabbrowser-tab:nth-child(1) {
}
/* Fixing toolbar buttons when the tab box is present */
.toolbar-items toolbarbutton image,
.toolbar-items toolbarbutton stack {
width: 24px !important;
height: 24px !important;
#TabsToolbar-customization-target toolbarbutton > .toolbarbutton-icon,
#TabsToolbar-customization-target toolbarbutton > .toolbarbutton-badge-stack {
margin-left: 8px;
padding: 4px !important;
border-radius: var(--toolbarbutton-border-radius) !important;
}
.toolbar-items toolbarbutton image {
padding: 0 !important;
margin-inline-end: 0 !important;
width: auto !important;
height: auto !important;
border-radius: var(--toolbarbutton-border-radius) !important;
}
/* ========================================================================== */

View File

@ -1,8 +1,8 @@
diff --git a/toolkit/mozapps/extensions/internal/XPIDatabase.jsm b/toolkit/mozapps/extensions/internal/XPIDatabase.jsm
index a2a86fc2b06166269d5af250999d3c9cdaec2696..4a8677c6625268c69a9e52003fb5c97a27337b99 100644
index ae514dfea6ba51e1409b1b08983628df54079643..841f601e85d46672deaf0e38362a05fda05068c2 100644
--- a/toolkit/mozapps/extensions/internal/XPIDatabase.jsm
+++ b/toolkit/mozapps/extensions/internal/XPIDatabase.jsm
@@ -1492,7 +1492,7 @@ const updatedAddonFluentIds = new Map([
@@ -1542,7 +1542,7 @@ const updatedAddonFluentIds = new Map([
addon.type === "theme"
) {
// Built-in themes are localized with Fluent instead of the WebExtension API.
@ -10,4 +10,4 @@ index a2a86fc2b06166269d5af250999d3c9cdaec2696..4a8677c6625268c69a9e52003fb5c97a
+ let addonIdPrefix = addon.id.replace("@mozilla.org", "").replace('@browser.fushra.com', '');
const colorwaySuffix = "colorway";
if (addonIdPrefix.endsWith(colorwaySuffix)) {
if (aProp == "description") {
// FIXME: Depending on BuiltInThemes here is sort of a hack. Bug 1733466