Merge branch 'dev' into window-sync

This commit is contained in:
mr. m
2025-10-18 19:53:04 +02:00
committed by GitHub
553 changed files with 7873 additions and 4870 deletions

View File

@@ -1,5 +1,5 @@
diff --git a/browser/actors/WebRTCParent.sys.mjs b/browser/actors/WebRTCParent.sys.mjs
index f327e1684d0966a0dcfdcdbf8cc70259b27a4504..c8f722bda4cf297f5d0a6aa22dafbe27c4218123 100644
index 80fd2177c7112c958ff51bbf7a18ebea39e50fbf..24f62810901dc558e25ee874bd49736bd64fd358 100644
--- a/browser/actors/WebRTCParent.sys.mjs
+++ b/browser/actors/WebRTCParent.sys.mjs
@@ -152,6 +152,7 @@ export class WebRTCParent extends JSWindowActorParent {

View File

@@ -1,8 +1,8 @@
diff --git a/browser/base/content/browser-addons.js b/browser/base/content/browser-addons.js
index d7542a38a0242dd9c9c6390171d59992d75a0c19..d20e5a9fa42c88c7ba28fac1ef13dd693f1f1135 100644
index 754ce380ed233eb8764af07af3c8dc95d3f39d5c..29864ab59819271b7319b273c08bdc2736d40c93 100644
--- a/browser/base/content/browser-addons.js
+++ b/browser/base/content/browser-addons.js
@@ -1064,7 +1064,7 @@ var gXPInstallObserver = {
@@ -1071,7 +1071,7 @@ var gXPInstallObserver = {
persistent: true,
hideClose: true,
popupOptions: {
@@ -11,7 +11,7 @@ index d7542a38a0242dd9c9c6390171d59992d75a0c19..d20e5a9fa42c88c7ba28fac1ef13dd69
},
};
@@ -1273,7 +1273,7 @@ var gXPInstallObserver = {
@@ -1280,7 +1280,7 @@ var gXPInstallObserver = {
hideClose: true,
timeout: Date.now() + 30000,
popupOptions: {
@@ -20,7 +20,47 @@ index d7542a38a0242dd9c9c6390171d59992d75a0c19..d20e5a9fa42c88c7ba28fac1ef13dd69
},
};
@@ -2608,7 +2608,7 @@ var gUnifiedExtensions = {
@@ -2212,7 +2212,7 @@ var gUnifiedExtensions = {
// If the new ID is not added in NOTIFICATION_IDS, consider handling the case
// in the "PopupNotificationsBeforeAnchor" handler elsewhere in this file.
getPopupAnchorID(aBrowser, aWindow) {
- const anchorID = "unified-extensions-button";
+ const anchorID = "zen-site-data-icon-button";
const attr = anchorID + "popupnotificationanchor";
if (!aBrowser[attr]) {
@@ -2223,7 +2223,7 @@ var gUnifiedExtensions = {
anchorID
// Anchor on the toolbar icon to position the popup right below the
// button.
- ).firstElementChild;
+ );
}
return anchorID;
@@ -2516,11 +2516,7 @@ var gUnifiedExtensions = {
// Lazy load the unified-extensions-panel panel the first time we need to
// display it.
if (!this._panel) {
- let template = document.getElementById(
- "unified-extensions-panel-template"
- );
- template.replaceWith(template.content);
- this._panel = document.getElementById("unified-extensions-panel");
+ this._panel = document.getElementById("zen-unified-site-data-panel");
let customizationArea = this._panel.querySelector(
"#unified-extensions-area"
);
@@ -2570,7 +2566,7 @@ var gUnifiedExtensions = {
// The button should directly open `about:addons` when the user does not
// have any active extensions listed in the unified extensions panel.
- if (!this.hasExtensionsInPanel()) {
+ if (!this.hasExtensionsInPanel() && false) {
let viewID;
if (
Services.prefs.getBoolPref("extensions.getAddons.showPane", true) &&
@@ -2615,7 +2611,7 @@ var gUnifiedExtensions = {
this.recordButtonTelemetry(reason || "extensions_panel_showing");
this.ensureButtonShownBeforeAttachingPanel(panel);
PanelMultiView.openPopup(panel, this._button, {
@@ -29,7 +69,7 @@ index d7542a38a0242dd9c9c6390171d59992d75a0c19..d20e5a9fa42c88c7ba28fac1ef13dd69
triggerEvent: aEvent,
});
}
@@ -2795,18 +2795,20 @@ var gUnifiedExtensions = {
@@ -2802,18 +2798,20 @@ var gUnifiedExtensions = {
this._maybeMoveWidgetNodeBack(widgetId);
}

View File

@@ -1,5 +1,5 @@
diff --git a/browser/base/content/browser-commands.js b/browser/base/content/browser-commands.js
index 637e9dda83df5b490d6340367dd63077904ea056..6ffb1dc6ed1d6e58b4e8de1faca887f6b38115cb 100644
index 74aae01ddcdc4b6460ebbe174355ca129a89010b..52dd4e6aa49929394ed6afa6b25f4ee4954b8b94 100644
--- a/browser/base/content/browser-commands.js
+++ b/browser/base/content/browser-commands.js
@@ -317,6 +317,10 @@ var BrowserCommands = {

View File

@@ -1,5 +1,5 @@
diff --git a/browser/base/content/browser-fullScreenAndPointerLock.js b/browser/base/content/browser-fullScreenAndPointerLock.js
index d477ac782e0cb921203f8cd38da70a003ac41b39..648d0b4066b630a9b31da0bb8490f29da701dd3d 100644
index b41449d4c4bc373a4c9cf449c0bb370bfdbc20d6..f1166929397dd39b7f44bd9cb0d62a45d67f0e1d 100644
--- a/browser/base/content/browser-fullScreenAndPointerLock.js
+++ b/browser/base/content/browser-fullScreenAndPointerLock.js
@@ -427,10 +427,10 @@ var FullScreen = {

View File

@@ -1,16 +1,16 @@
diff --git a/browser/base/content/browser-init.js b/browser/base/content/browser-init.js
index e4a94863c0f0810d1894475b020814b2ad32ffb3..515f61d2df5d4a593fc32d3f32e8fdec2b8f5983 100644
index 8e63654b343e8518aa0e366a3fd3bf7e0856eafb..3cebc9bb057f51cea639130fecd7576e1c9db79c 100644
--- a/browser/base/content/browser-init.js
+++ b/browser/base/content/browser-init.js
@@ -191,6 +191,7 @@ var gBrowserInit = {
@@ -198,6 +198,7 @@ var gBrowserInit = {
},
onLoad() {
+ Services.scriptloader.loadSubScript("chrome://browser/content/zenThemeModifier.js", window);
gBrowser.addEventListener("DOMUpdateBlockedPopups", e =>
PopupBlockerObserver.handleEvent(e)
PopupAndRedirectBlockerObserver.handleEvent(e)
);
@@ -359,6 +360,7 @@ var gBrowserInit = {
@@ -372,6 +373,7 @@ var gBrowserInit = {
this._handleURIToLoad();

View File

@@ -1,5 +1,5 @@
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
index c5b7ef2616c1dab9f42970605897e862d57ab7d0..77f0731db6c4a8d835cf8733115d27ae7782a987 100644
index 32b67f846b9942ad3da4276bb8748fee915eb485..f77d5df7c8ef49c0366ada8b3153c5a6c676239b 100644
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -31,6 +31,7 @@ ChromeUtils.defineESModuleGetters(this, {
@@ -10,7 +10,7 @@ index c5b7ef2616c1dab9f42970605897e862d57ab7d0..77f0731db6c4a8d835cf8733115d27ae
DevToolsSocketStatus:
"resource://devtools/shared/security/DevToolsSocketStatus.sys.mjs",
DownloadUtils: "resource://gre/modules/DownloadUtils.sys.mjs",
@@ -2291,6 +2292,8 @@ var XULBrowserWindow = {
@@ -2293,6 +2294,8 @@ var XULBrowserWindow = {
AboutReaderParent.updateReaderButton(gBrowser.selectedBrowser);
TranslationsParent.onLocationChange(gBrowser.selectedBrowser);
@@ -19,7 +19,7 @@ index c5b7ef2616c1dab9f42970605897e862d57ab7d0..77f0731db6c4a8d835cf8733115d27ae
PictureInPicture.updateUrlbarToggle(gBrowser.selectedBrowser);
if (!gMultiProcessBrowser) {
@@ -5232,6 +5235,9 @@ var ConfirmationHint = {
@@ -4782,6 +4785,9 @@ var ConfirmationHint = {
MozXULElement.insertFTLIfNeeded("toolkit/branding/brandings.ftl");
MozXULElement.insertFTLIfNeeded("browser/confirmationHints.ftl");
document.l10n.setAttributes(this._message, messageId, options.l10nArgs);

View File

@@ -0,0 +1,12 @@
diff --git a/browser/base/content/browser-pageActions.js b/browser/base/content/browser-pageActions.js
index 00da33bc11189db17b6a2e656acb3a778531197c..9571155baccad9a886cbe9c7bf0bd76a135331c4 100644
--- a/browser/base/content/browser-pageActions.js
+++ b/browser/base/content/browser-pageActions.js
@@ -451,6 +451,7 @@ var BrowserPageActions = {
),
document.getElementById(this.mainButtonNode.id),
document.getElementById("identity-icon"),
+ document.getElementById("zen-site-data-icon-button"),
];
for (let node of potentialAnchorNodes) {
if (node && !node.hidden) {

View File

@@ -1,5 +1,5 @@
diff --git a/browser/base/content/browser-places.js b/browser/base/content/browser-places.js
index 5ba2b6a58776e2b1d70b80e8cb1533cb20caafc6..65736705968732a185e81561b2866bfbe6f3233a 100644
index 79b4f6f8fb2f7dd8784920038784e6bb0c967e2d..1f3f4991b3ba7c00516e9708e89e8f95db25a36a 100644
--- a/browser/base/content/browser-places.js
+++ b/browser/base/content/browser-places.js
@@ -252,6 +252,8 @@ var StarUI = {

View File

@@ -1,8 +1,20 @@
diff --git a/browser/base/content/browser-siteIdentity.js b/browser/base/content/browser-siteIdentity.js
index 65354e0ad3097e10de72f36e257c94472524baf7..bc9527ec9ddfab11c0839398d3f3953872ad9632 100644
index 65354e0ad3097e10de72f36e257c94472524baf7..866cf5672f30f81a1d8e061c9af0c1af5fbb5fb2 100644
--- a/browser/base/content/browser-siteIdentity.js
+++ b/browser/base/content/browser-siteIdentity.js
@@ -834,7 +834,7 @@ var gIdentityHandler = {
@@ -453,11 +453,6 @@ var gIdentityHandler = {
// avoid a pretty ugly transition. Also hide it even
// if the update resulted in no site data, to keep the
// illusion that clicking the button had an effect.
- let hidden = new Promise(c => {
- this._identityPopup.addEventListener("popuphidden", c, { once: true });
- });
- PanelMultiView.hidePopup(this._identityPopup);
- await hidden;
let baseDomain = SiteDataManager.getBaseDomainFromHost(this._uri.host);
if (SiteDataManager.promptSiteDataRemoval(window, [baseDomain])) {
@@ -834,7 +829,7 @@ var gIdentityHandler = {
// This is a secure internal Firefox page.
this._identityBox.className = "chromeUI";
let brandBundle = document.getElementById("bundle_brand");
@@ -11,7 +23,7 @@ index 65354e0ad3097e10de72f36e257c94472524baf7..bc9527ec9ddfab11c0839398d3f39538
} else if (this._pageExtensionPolicy) {
// This is a WebExtension page.
this._identityBox.className = "extensionPage";
@@ -1163,6 +1163,12 @@ var gIdentityHandler = {
@@ -1163,6 +1158,12 @@ var gIdentityHandler = {
}
}

View File

@@ -1,8 +1,8 @@
diff --git a/browser/base/content/browser.xhtml b/browser/base/content/browser.xhtml
index 7c4c05b72845dfb37c11317d011b8e7c6ba07934..856c368e4d6fe7c7d7ab468423348c844cbf1cdf 100644
index ffddea280e2edffa2531b4b129489c2be0e2c3d2..f03db9e2db0dec06f997740337f28e76a08a3bdb 100644
--- a/browser/base/content/browser.xhtml
+++ b/browser/base/content/browser.xhtml
@@ -26,6 +26,7 @@
@@ -19,6 +19,7 @@
sizemode="normal"
retargetdocumentfocus="urlbar-input"
scrolling="false"
@@ -10,7 +10,7 @@ index 7c4c05b72845dfb37c11317d011b8e7c6ba07934..856c368e4d6fe7c7d7ab468423348c84
persist="screenX screenY width height sizemode"
data-l10n-sync="true">
<head>
@@ -105,8 +106,10 @@
@@ -98,8 +99,10 @@
<title data-l10n-id="browser-main-window-default-title"></title>
@@ -21,7 +21,7 @@ index 7c4c05b72845dfb37c11317d011b8e7c6ba07934..856c368e4d6fe7c7d7ab468423348c84
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
# All sets except for popupsets (commands, keys, and stringbundles)
@@ -128,9 +131,11 @@
@@ -132,9 +135,11 @@
</vbox>
</html:template>

View File

@@ -1,5 +1,5 @@
diff --git a/browser/base/content/main-popupset.inc.xhtml b/browser/base/content/main-popupset.inc.xhtml
index fc219ea3dc901fe2ed351161240700113efb8799..f25bdbf886733e2081a4dff55614809056e9885e 100644
index 69b83857f40bab6a7298c1416989df2d929d78c1..4ac9f02eb31f58a72d4c58c239ebeadcb66d1e16 100644
--- a/browser/base/content/main-popupset.inc.xhtml
+++ b/browser/base/content/main-popupset.inc.xhtml
@@ -208,6 +208,10 @@
@@ -21,7 +21,7 @@ index fc219ea3dc901fe2ed351161240700113efb8799..f25bdbf886733e2081a4dff556148090
</panel>
</html:template>
@@ -613,6 +618,8 @@
@@ -615,6 +620,8 @@
#include popup-notifications.inc.xhtml

View File

@@ -1,5 +1,5 @@
diff --git a/browser/base/content/navigator-toolbox.inc.xhtml b/browser/base/content/navigator-toolbox.inc.xhtml
index 8e56b24b39e9c1607e3ff208d284a9b555a91ebb..2402848ae564234ec22d5a317c43864ea1b36f29 100644
index 328a9b052e2f758f48df1caa8165347ed0301b33..1c111abe148f2e16afa6b5f33eb118b7c02dfd69 100644
--- a/browser/base/content/navigator-toolbox.inc.xhtml
+++ b/browser/base/content/navigator-toolbox.inc.xhtml
@@ -2,7 +2,7 @@

View File

@@ -1,5 +1,5 @@
diff --git a/browser/base/content/navigator-toolbox.js b/browser/base/content/navigator-toolbox.js
index 413bad2a62058a1c434d6a44e927e44eb397289d..b621c586e679bb8686fe9a5e6743512e71604425 100644
index 413bad2a62058a1c434d6a44e927e44eb397289d..472eab5d3bca2bc665920707a71105167cbe75ec 100644
--- a/browser/base/content/navigator-toolbox.js
+++ b/browser/base/content/navigator-toolbox.js
@@ -8,7 +8,7 @@
@@ -11,6 +11,24 @@ index 413bad2a62058a1c434d6a44e927e44eb397289d..b621c586e679bb8686fe9a5e6743512e
const widgetOverflow = document.getElementById("widget-overflow");
function onPopupShowing(event) {
@@ -110,7 +110,7 @@ document.addEventListener(
#pageActionButton,
#downloads-button,
#fxa-toolbar-menu-button,
- #unified-extensions-button,
+ #zen-site-data-icon-button,
#library-button
`);
if (!element) {
@@ -138,7 +138,7 @@ document.addEventListener(
gSync.toggleAccountPanel(element, event);
break;
- case "unified-extensions-button":
+ case "zen-site-data-icon-button":
gUnifiedExtensions.togglePanel(event);
break;
@@ -187,6 +187,7 @@ document.addEventListener(
#reload-button ,
#urlbar-go-button,
@@ -27,3 +45,21 @@ index 413bad2a62058a1c434d6a44e927e44eb397289d..b621c586e679bb8686fe9a5e6743512e
gBrowser.handleNewTabMiddleClick(element, event);
break;
@@ -317,7 +319,7 @@ document.addEventListener(
#pageActionButton,
#downloads-button,
#fxa-toolbar-menu-button,
- #unified-extensions-button,
+ #zen-site-data-icon-button,
#library-button
`);
if (!element) {
@@ -396,7 +398,7 @@ document.addEventListener(
gSync.toggleAccountPanel(element, event);
break;
- case "unified-extensions-button":
+ case "zen-site-data-icon-button":
gUnifiedExtensions.togglePanel(event);
break;

View File

@@ -1,8 +1,8 @@
diff --git a/browser/base/content/nsContextMenu.sys.mjs b/browser/base/content/nsContextMenu.sys.mjs
index bc71ba720ef3603e8b90d295fb16d8415ba114c4..99677f70e22258f61cc9bda31e4d8745d7ca9395 100644
index b4fe996f9685a085c14324a35a1d51e2fed569b7..c83d5e9bf92f8f2e3d96b121ba3b758dd124393b 100644
--- a/browser/base/content/nsContextMenu.sys.mjs
+++ b/browser/base/content/nsContextMenu.sys.mjs
@@ -1095,6 +1095,8 @@ export class nsContextMenu {
@@ -1105,6 +1105,8 @@ export class nsContextMenu {
!this.isSecureAboutPage()
);

View File

@@ -5,10 +5,7 @@
<commandset id="zenCommandSet">
<command id="cmd_zenCompactModeToggle" />
<command id="cmd_zenCompactModeShowSidebar" />
<command id="cmd_zenCompactModeShowToolbar" />
<command id="cmd_zenCompactModeHideSidebar" />
<command id="cmd_zenCompactModeHideToolbar" />
<command id="cmd_zenCompactModeHideBoth" />
<command id="cmd_toggleCompactModeIgnoreHover" />
<command id="cmd_zenWorkspaceForward" />
<command id="cmd_zenWorkspaceBackward" />
@@ -42,6 +39,7 @@
<command id="cmd_contextZenRemoveFromEssentials" />
<command id="cmd_zenCtxDeleteWorkspace" />
<command id="cmd_zenUnloadWorkspace" />
<command id="cmd_zenChangeWorkspaceName" />
<command id="cmd_zenChangeWorkspaceIcon" />
<command id="cmd_zenReorderWorkspaces" />

View File

@@ -2,8 +2,10 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<linkset>
<link rel="localization" href="browser/zen-workspaces.ftl"/>
<link rel="localization" href="browser/zen-split-view.ftl"/>
<link rel="localization" href="browser/zen-general.ftl"/>
<link rel="localization" href="browser/zen-vertical-tabs.ftl"/>
<link rel="localization" href="browser/zen-folders.ftl"/>
</linkset>

View File

@@ -25,6 +25,7 @@
hide-if-usercontext-disabled="true">
<menupopup />
</menu>
<menuitem id="context_zenUnloadWorkspace" data-l10n-id="zen-workspaces-panel-unload" command="cmd_zenUnloadWorkspace"/>
<menuseparator id="context_zenWorkspacesSeparator"/>
<menuseparator/>
<menuitem id="context_zenReorderWorkspaces" data-l10n-id="zen-workspaces-panel-context-reorder" command="cmd_zenReorderWorkspaces"/>
@@ -49,3 +50,12 @@
<menuitem id="context_zenFolderUnpack" data-l10n-id="zen-folders-panel-unpack-folder"/>
<menuitem id="context_zenFolderDelete" data-l10n-id="zen-folders-panel-delete-folder"/>
</menupopup>
<menupopup id="zenSiteDataActions">
<menuitem id="context_zenClearSiteData" data-l10n-id="identity-clear-site-data"/>
<menuseparator />
<menuitem command="Tools:Addons" data-l10n-id="zen-site-data-manage-addons"/>
<menuitem id="context_zenOpenGetAddons" data-l10n-id="zen-site-data-get-addons"/>
<menuseparator />
<menuitem id="context_zenOpenSiteSettings" data-l10n-id="zen-site-data-site-settings"/>
</menupopup>

View File

@@ -0,0 +1,87 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<panel id="zen-unified-site-data-panel"
role="group"
type="arrow"
noautofocus="true"
position="bottomright topright">
<panelmultiview mainViewId="unified-extensions-view">
# We'll keep the view with this name/id in order to prevent
# any sort of future issues we may have if firefox decides
# to change the functionality of this view
<panelview id="unified-extensions-view"
class="cui-widget-panelview"
mainview-with-header="true">
<hbox id="zen-site-data-header">
<toolbarbutton id="zen-site-data-header-share"
data-l10n-id="zen-site-data-share"
flex="1"
closemenu="none" />
<toolbarbutton id="zen-site-data-header-reader-mode"
command="View:ReaderView"
flex="1" />
<toolbarbutton id="zen-site-data-header-screenshot"
command="Browser:Screenshot"
flex="1" />
<toolbarbutton id="zen-site-data-header-bookmark"
command="Browser:AddBookmarkAs"
flex="1" />
</hbox>
<vbox class="zen-site-data-section">
<hbox class="zen-site-data-section-header">
<label data-l10n-id="unified-extensions-header-title" flex="1" />
<label data-l10n-id="zen-generic-manage" id="zen-site-data-manage-addons" />
</hbox>
<hbox class="panel-subview-body" context="unified-extensions-context-menu" id="zen-site-data-addons">
<html:div id="unified-extensions-messages-container">
<!-- messages will be inserted here -->
</html:div>
<vbox id="overflowed-extensions-list">
<!-- overflowed extension buttons from the nav-bar will go here -->
</vbox>
<vbox id="unified-extensions-area">
<!-- default area for extension browser action buttons -->
</vbox>
<vbox class="unified-extensions-list">
<!-- active visible extensions go here -->
</vbox>
<vbox id="zen-site-data-new-addon-button-container">
<toolbarbutton id="zen-site-data-new-addon-button"
class="subviewbutton toolbarbutton-1" />
</vbox>
</hbox>
# Keep this button on the DOM even though we hide it for ever,
# again, to keep firefox happy if they decide to change functionality
# for this specific button / id
<toolbarbutton id="unified-extensions-manage-extensions"
class="subviewbutton panel-subview-footer-button unified-extensions-manage-extensions"
data-l10n-id="unified-extensions-manage-extensions"
hidden="true" />
</vbox>
<vbox class="zen-site-data-section">
<hbox class="zen-site-data-section-header">
<label data-l10n-id="zen-site-data-settings" flex="1" />
<label data-l10n-id="zen-generic-more" id="zen-site-data-settings-more" />
</hbox>
<vbox id="zen-site-data-settings-list">
<!-- settings will be inserted here -->
</vbox>
</vbox>
<hbox id="zen-site-data-footer">
<toolbarbutton id="zen-site-data-security-info"
class="subviewbutton zen-interactive-button" />
<toolbarbutton id="zen-site-data-actions"
class="subviewbutton zen-interactive-button"
closemenu="none"
context="zenSiteDataActions" />
</hbox>
</panelview>
</panelmultiview>
</panel>

View File

@@ -5,5 +5,6 @@
#include zen-panels/gradient-generator.inc
#include zen-panels/emojis-picker.inc
#include zen-panels/folders-search.inc
#include zen-panels/site-data.inc
#include zen-panels/popups.inc

View File

@@ -2,7 +2,7 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<vbox id="zen-toast-container"></vbox>
<vbox id="zen-toast-container" />
#include ../../../zen/split-view/zen-splitview-overlay.inc.xhtml
#include ../../../zen/glance/zen-glance.inc.xhtml

View File

@@ -1,8 +1,8 @@
diff --git a/browser/base/moz.build b/browser/base/moz.build
index 2f2807a246c262298d0802a6a80abe211c99732c..089a86c9e7f69b994657f20fb2392f3dcc8646bf 100644
index 086b462e706bb46727d0fed85b4c98debaeaf721..44a4fcb9b8181678667ee11b0443eed681dd2a43 100644
--- a/browser/base/moz.build
+++ b/browser/base/moz.build
@@ -81,3 +81,5 @@ DEFINES["MOZ_APP_VERSION_DISPLAY"] = CONFIG["MOZ_APP_VERSION_DISPLAY"]
@@ -82,3 +82,5 @@ DEFINES["MOZ_APP_VERSION_DISPLAY"] = CONFIG["MOZ_APP_VERSION_DISPLAY"]
DEFINES["APP_LICENSE_BLOCK"] = "%s/content/overrides/app-license.html" % SRCDIR
JAR_MANIFESTS += ["jar.mn"]

View File

@@ -1,12 +0,0 @@
diff --git a/browser/components/BrowserContentHandler.sys.mjs b/browser/components/BrowserContentHandler.sys.mjs
index 8630614d23147365628e0cb7e9625b8f2a160588..0750869f16336452a458f27627e6fe0492aae462 100644
--- a/browser/components/BrowserContentHandler.sys.mjs
+++ b/browser/components/BrowserContentHandler.sys.mjs
@@ -1276,6 +1276,7 @@ function maybeRecordToHandleTelemetry(uri, isLaunch) {
".avif",
".htm",
".html",
+ ".jxl",
".pdf",
".shtml",
".xht",

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/BrowserGlue.sys.mjs b/browser/components/BrowserGlue.sys.mjs
index eae3ed9518ad9ce2103bb912963465c1b10ac050..ccbb04cd36fd8fd63fd8c9ebd0b51f0a5966829c 100644
index 67b2806835baba3070f295d6b96f97077639995a..5f28e0073c893c57c1d6c37deaacf7b097351d60 100644
--- a/browser/components/BrowserGlue.sys.mjs
+++ b/browser/components/BrowserGlue.sys.mjs
@@ -8,6 +8,7 @@ import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
@@ -10,7 +10,7 @@ index eae3ed9518ad9ce2103bb912963465c1b10ac050..ccbb04cd36fd8fd63fd8c9ebd0b51f0a
AboutHomeStartupCache: "resource:///modules/AboutHomeStartupCache.sys.mjs",
AWToolbarButton: "resource:///modules/aboutwelcome/AWToolbarUtils.sys.mjs",
ASRouter: "resource:///modules/asrouter/ASRouter.sys.mjs",
@@ -1448,7 +1449,7 @@ BrowserGlue.prototype = {
@@ -1458,7 +1459,7 @@ BrowserGlue.prototype = {
windowcount++;
let tabbrowser = win.gBrowser;
if (tabbrowser) {
@@ -19,7 +19,7 @@ index eae3ed9518ad9ce2103bb912963465c1b10ac050..ccbb04cd36fd8fd63fd8c9ebd0b51f0a
}
}
@@ -1611,6 +1612,8 @@ BrowserGlue.prototype = {
@@ -1623,6 +1624,8 @@ BrowserGlue.prototype = {
} else if (profileDataVersion < APP_DATA_VERSION) {
lazy.ProfileDataUpgrader.upgrade(profileDataVersion, APP_DATA_VERSION);
}

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/controlcenter/content/identityPanel.inc.xhtml b/browser/components/controlcenter/content/identityPanel.inc.xhtml
index 225340c698f775a321bf5f82c0156bb0e3e2aa96..59e6613638efadfd2961999bd77b388c4529314b 100644
index 8e23aad8ca0bb686a669b11e1d78b7906f5f38d0..cf4873cc6165b5f77091c056d7e275e0f3d36769 100644
--- a/browser/components/controlcenter/content/identityPanel.inc.xhtml
+++ b/browser/components/controlcenter/content/identityPanel.inc.xhtml
@@ -28,7 +28,7 @@

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/customizableui/CustomizableUI.sys.mjs b/browser/components/customizableui/CustomizableUI.sys.mjs
index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0ade05e3b 100644
index d9a059f608779fea7cd8c595a432f6fe95183e0c..09a7c4045afd0b96027d0bbbad22e02e52fd7b22 100644
--- a/browser/components/customizableui/CustomizableUI.sys.mjs
+++ b/browser/components/customizableui/CustomizableUI.sys.mjs
@@ -14,6 +14,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
@@ -10,7 +10,16 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
HomePage: "resource:///modules/HomePage.sys.mjs",
PanelMultiView:
"moz-src:///browser/components/customizableui/PanelMultiView.sys.mjs",
@@ -333,19 +334,14 @@ var CustomizableUIInternal = {
@@ -326,7 +327,7 @@ var CustomizableUIInternal = {
{
type: CustomizableUI.TYPE_PANEL,
defaultPlacements: [],
- anchor: "unified-extensions-button",
+ anchor: "zen-site-data-icon-button",
},
false
);
@@ -336,19 +337,14 @@ var CustomizableUIInternal = {
"back-button",
"forward-button",
"stop-reload-button",
@@ -31,7 +40,7 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
this.registerArea(
CustomizableUI.AREA_NAVBAR,
{
@@ -353,8 +349,6 @@ var CustomizableUIInternal = {
@@ -356,8 +352,6 @@ var CustomizableUIInternal = {
overflowable: true,
defaultPlacements: navbarPlacements,
verticalTabsDefaultPlacements: [
@@ -40,7 +49,7 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
],
defaultCollapsed: false,
},
@@ -378,10 +372,7 @@ var CustomizableUIInternal = {
@@ -381,10 +375,7 @@ var CustomizableUIInternal = {
{
type: CustomizableUI.TYPE_TOOLBAR,
defaultPlacements: [
@@ -51,7 +60,7 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
],
verticalTabsDefaultPlacements: [],
defaultCollapsed: null,
@@ -463,6 +454,7 @@ var CustomizableUIInternal = {
@@ -466,6 +457,7 @@ var CustomizableUIInternal = {
CustomizableUI.AREA_NAVBAR,
CustomizableUI.AREA_BOOKMARKS,
CustomizableUI.AREA_TABSTRIP,
@@ -59,7 +68,7 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
]);
if (AppConstants.platform != "macosx") {
toolbars.add(CustomizableUI.AREA_MENUBAR);
@@ -1247,6 +1239,9 @@ var CustomizableUIInternal = {
@@ -1250,6 +1242,9 @@ var CustomizableUIInternal = {
placements = gPlacements.get(area);
}
@@ -69,7 +78,7 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
// For toolbars that need it, mark as dirty.
let defaultPlacements = areaProperties.get("defaultPlacements");
if (
@@ -1754,7 +1749,7 @@ var CustomizableUIInternal = {
@@ -1757,7 +1752,7 @@ var CustomizableUIInternal = {
lazy.log.info(
"Widget " + aWidgetId + " not found, unable to remove from " + aArea
);
@@ -78,7 +87,7 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
}
this.notifyDOMChange(widgetNode, null, container, true, () => {
@@ -1764,7 +1759,7 @@ var CustomizableUIInternal = {
@@ -1767,7 +1762,7 @@ var CustomizableUIInternal = {
// We also need to remove the panel context menu if it's there:
this.ensureButtonContextMenu(widgetNode);
if (gPalette.has(aWidgetId) || this.isSpecialWidget(aWidgetId)) {
@@ -87,7 +96,7 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
} else {
window.gNavToolbox.palette.appendChild(widgetNode);
}
@@ -1932,16 +1927,16 @@ var CustomizableUIInternal = {
@@ -1935,16 +1930,16 @@ var CustomizableUIInternal = {
elem.setAttribute("skipintoolbarset", "true");
}
}
@@ -107,7 +116,7 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
// Handle initial state of vertical tabs.
if (isVerticalTabs) {
// Show the vertical tabs toolbar
@@ -2183,6 +2178,10 @@ var CustomizableUIInternal = {
@@ -2186,6 +2181,10 @@ var CustomizableUIInternal = {
* The identifier string of the area that aNode is being inserted into.
*/
insertWidgetBefore(aNode, aNextNode, aContainer, aAreaId) {
@@ -118,15 +127,7 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
this.notifyDOMChange(aNode, aNextNode, aContainer, false, () => {
this.setLocationAttributes(aNode, aAreaId);
aContainer.insertBefore(aNode, aNextNode);
@@ -3303,7 +3302,6 @@ var CustomizableUIInternal = {
if (!this.isWidgetRemovable(aWidgetId)) {
return;
}
-
let placements = gPlacements.get(oldPlacement.area);
let position = placements.indexOf(aWidgetId);
if (position != -1) {
@@ -4538,7 +4536,7 @@ var CustomizableUIInternal = {
@@ -4541,7 +4540,7 @@ var CustomizableUIInternal = {
* For all registered areas, builds those areas to reflect the current
* placement state of all widgets.
*/
@@ -135,7 +136,7 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
for (let [areaId, areaNodes] of gBuildAreas) {
let placements = gPlacements.get(areaId);
let isFirstChangedToolbar = true;
@@ -4549,7 +4547,7 @@ var CustomizableUIInternal = {
@@ -4552,7 +4551,7 @@ var CustomizableUIInternal = {
if (area.get("type") == CustomizableUI.TYPE_TOOLBAR) {
let defaultCollapsed = area.get("defaultCollapsed");
let win = areaNode.ownerGlobal;
@@ -144,7 +145,7 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
win.setToolbarVisibility(
areaNode,
typeof defaultCollapsed == "string"
@@ -5840,6 +5838,7 @@ export var CustomizableUI = {
@@ -5843,6 +5842,7 @@ export var CustomizableUI = {
unregisterArea(aName, aDestroyPlacements) {
CustomizableUIInternal.unregisterArea(aName, aDestroyPlacements);
},
@@ -152,7 +153,16 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
/**
* Add a widget to an area.
* If the area to which you try to add is not known to CustomizableUI,
@@ -7887,11 +7886,11 @@ class OverflowableToolbar {
@@ -7866,7 +7866,7 @@ class OverflowableToolbar {
) {
continue;
}
- sum += parseFloat(style.marginLeft) + parseFloat(style.marginRight);
+ sum += parseFloat(style.marginLeft) + Math.max(0, parseFloat(style.marginRight));
if (child != aExceptChild) {
sum += getInlineSize(child);
}
@@ -7890,11 +7890,11 @@ class OverflowableToolbar {
parseFloat(style.paddingLeft) -
parseFloat(style.paddingRight) -
toolbarChildrenWidth;
@@ -166,17 +176,30 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
});
lazy.log.debug(
@@ -7901,7 +7900,8 @@ class OverflowableToolbar {
// If the target has min-width: 0, their children might actually overflow
// it, so check for both cases explicitly.
let targetContentWidth = Math.max(targetWidth, targetChildrenWidth);
- let isOverflowing = Math.floor(targetContentWidth) > totalAvailWidth;
@@ -7909,7 +7909,8 @@ class OverflowableToolbar {
Math.max(targetWidth, targetChildrenWidth)
);
totalAvailWidth = Math.ceil(totalAvailWidth);
- let isOverflowing = targetContentWidth > totalAvailWidth;
+ if (win.gZenVerticalTabsManager._hasSetSingleToolbar && this.#toolbar.id == 'nav-bar') return { isOverflowing: false, targetContentWidth, totalAvailWidth };
+ let isOverflowing = Math.floor(targetContentWidth) + (win.gZenVerticalTabsManager._hasSetSingleToolbar ? 0.1 : 0) > totalAvailWidth;
+ let isOverflowing = targetContentWidth + (win.gZenVerticalTabsManager._hasSetSingleToolbar ? 0.1 : 0) > totalAvailWidth;
return { isOverflowing, targetContentWidth, totalAvailWidth };
}
@@ -7995,7 +7995,7 @@ class OverflowableToolbar {
@@ -7970,7 +7971,11 @@ class OverflowableToolbar {
return;
}
}
- if (totalAvailWidth <= minSize) {
+ let isLastItem = win.gZenVerticalTabsManager._hasSetSingleToolbar &&
+ this.#target.id == 'zen-sidebar-top-buttons-customization-target' &&
+ this.#overflowedInfo.size == 1 &&
+ !child.classList.contains('unified-extensions-item');
+ if (totalAvailWidth <= minSize && !isLastItem) {
lazy.log.debug(
`Need ${minSize} but width is ${totalAvailWidth} so bailing`
);
@@ -8003,7 +8008,7 @@ class OverflowableToolbar {
}
}
if (!inserted) {
@@ -185,7 +208,7 @@ index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0
}
child.removeAttribute("cui-anchorid");
child.removeAttribute("overflowedItem");
@@ -8340,7 +8340,7 @@ class OverflowableToolbar {
@@ -8348,7 +8353,7 @@ class OverflowableToolbar {
break;
}
case "mousedown": {

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/customizableui/CustomizeMode.sys.mjs b/browser/components/customizableui/CustomizeMode.sys.mjs
index fd3c54a1d80f5800ffd2dcaaf594eed4bd2d300c..259af2688e5a8bca88017e5da0bfdb488ab59f59 100644
index fd3c54a1d80f5800ffd2dcaaf594eed4bd2d300c..3178bd28affd8bd2e18c347fde6c3ec00068710c 100644
--- a/browser/components/customizableui/CustomizeMode.sys.mjs
+++ b/browser/components/customizableui/CustomizeMode.sys.mjs
@@ -503,7 +503,7 @@ export class CustomizeMode {
@@ -28,24 +28,3 @@ index fd3c54a1d80f5800ffd2dcaaf594eed4bd2d300c..259af2688e5a8bca88017e5da0bfdb48
aNode.localName == "toolbarseparator" ||
aNode.localName == "toolbarspring" ||
aNode.localName == "toolbarspacer"
@@ -3128,6 +3129,20 @@ export class CustomizeMode {
if (makeSpaceImmediately) {
aDraggedOverItem.setAttribute("notransition", "true");
}
+ if (aItem.parentElement.id === "TabsToolbar-customization-target") {
+ // We change the border values so we can properly implement the native vertical tabs
+ // drag and drop behavior.
+ aItem.style.borderColor = "transparent";
+ if (aValue == "before") {
+ prop = "borderTopWidth";
+ otherProp = "borderBottomWidth";
+ aItem.style.borderTopStyle = "solid";
+ } else {
+ prop = "borderBottomWidth";
+ otherProp = "borderTopWidth";
+ aItem.style.borderBottomStyle = "solid";
+ }
+ }
aDraggedOverItem.style[prop] = borderWidth + "px";
aDraggedOverItem.style.removeProperty(otherProp);
if (makeSpaceImmediately) {

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/extensions/parent/ext-browser.js b/browser/components/extensions/parent/ext-browser.js
index 0baa038232d7e0fd9942f392c48acf7ea5ba50ed..093e1c29c3538d18eb2162b4e4b23ba40c695739 100644
index 89b0bb3b92c15b89499ffc6cf35dcee7ebb89e48..327afaea3821cdca8d7f58bfaa65c7ce3dbfa7a3 100644
--- a/browser/components/extensions/parent/ext-browser.js
+++ b/browser/components/extensions/parent/ext-browser.js
@@ -351,6 +351,7 @@ class TabTracker extends TabTrackerBase {
@@ -354,6 +354,7 @@ class TabTracker extends TabTrackerBase {
}
getId(nativeTab) {
@@ -10,7 +10,7 @@ index 0baa038232d7e0fd9942f392c48acf7ea5ba50ed..093e1c29c3538d18eb2162b4e4b23ba4
let id = this._tabs.get(nativeTab);
if (id) {
return id;
@@ -385,6 +386,7 @@ class TabTracker extends TabTrackerBase {
@@ -388,6 +389,7 @@ class TabTracker extends TabTrackerBase {
if (nativeTab.ownerGlobal.closed) {
throw new Error("Cannot attach ID to a tab in a closed window.");
}
@@ -18,7 +18,7 @@ index 0baa038232d7e0fd9942f392c48acf7ea5ba50ed..093e1c29c3538d18eb2162b4e4b23ba4
this._tabs.set(nativeTab, id);
if (nativeTab.linkedBrowser) {
@@ -1268,6 +1270,10 @@ class TabManager extends TabManagerBase {
@@ -1271,6 +1273,10 @@ class TabManager extends TabManagerBase {
}
canAccessTab(nativeTab) {

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/places/content/browserPlacesViews.js b/browser/components/places/content/browserPlacesViews.js
index 29fb3308dcc98d785a3345dee78050d633927db2..0ae28fa0618def4a146723b19a22280956a25371 100644
index ee6050d411df009d8b61e49d7fdaba79f1bc5db1..0149528329dad3d48449175a35d96d3ed3a3058e 100644
--- a/browser/components/places/content/browserPlacesViews.js
+++ b/browser/components/places/content/browserPlacesViews.js
@@ -330,12 +330,23 @@ class PlacesViewBase {

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/preferences/jar.mn b/browser/components/preferences/jar.mn
index eac1fc65c01107cc7f1a3f3aeb1e8caac3c4a3f5..c3bd265acc924bcf26816e9e78f314c31af41f6d 100644
index a786155d80a9f1f09d209f2da11437ee2d662739..2e422b48b452698275118d336d1b16af6a221577 100644
--- a/browser/components/preferences/jar.mn
+++ b/browser/components/preferences/jar.mn
@@ -27,3 +27,5 @@ browser.jar:
@@ -30,3 +30,5 @@ browser.jar:
content/browser/preferences/widgets/setting-control.mjs (widgets/setting-control/setting-control.mjs)
content/browser/preferences/widgets/setting-group.mjs (widgets/setting-group/setting-group.mjs)
content/browser/preferences/widgets/setting-group.css (widgets/setting-group/setting-group.css)

View File

@@ -1,18 +1,20 @@
diff --git a/browser/components/preferences/main.inc.xhtml b/browser/components/preferences/main.inc.xhtml
index 66ce978d9b022285dea67fdb75b3c005adb05d9b..db61587570ca18403a82ea6796a756d403cc207e 100644
index 891cf7108cf4606c99a902afa420e744b9690b87..2bdbc1f0b6ac2c883dcbd706aed0615fad5e0760 100644
--- a/browser/components/preferences/main.inc.xhtml
+++ b/browser/components/preferences/main.inc.xhtml
@@ -29,6 +29,9 @@
@@ -29,6 +29,11 @@
<vbox id="startupPageBox">
<checkbox id="browserRestoreSession"
data-l10n-id="startup-restore-windows-and-tabs"/>
+ <checkbox id="zenWorkspaceContinueWhereLeftOff"
+ data-l10n-id="zen-workspace-continue-where-left-off"
+ preference="zen.workspaces.continue-where-left-off"/>
+ <vbox class="indent">
+ <checkbox id="zenWorkspaceContinueWhereLeftOff"
+ data-l10n-id="zen-workspace-continue-where-left-off"
+ preference="zen.workspaces.continue-where-left-off"/>
+ </vbox>
#ifdef XP_WIN
<hbox id="windowsLaunchOnLoginBox" align="center" hidden="true">
<checkbox id="windowsLaunchOnLogin"
@@ -188,7 +191,8 @@
@@ -189,7 +194,8 @@
<!-- Browser layout -->
<groupbox data-category="paneGeneral"
data-subcategory="layout"
@@ -22,7 +24,7 @@ index 66ce978d9b022285dea67fdb75b3c005adb05d9b..db61587570ca18403a82ea6796a756d4
<label><html:h2 data-l10n-id="browser-layout-header"/></label>
<radiogroup id="browserLayoutRadioGroup" preference="sidebar.verticalTabs">
<radio id="browserLayoutHorizontalTabs" data-l10n-id="browser-layout-horizontal-tabs" value="false"/>
@@ -419,6 +423,7 @@
@@ -420,6 +426,7 @@
languages-customize-add.label,
" />
</hbox>

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
index 3f578f3888684a1830d456f2a4896e8a5f6630fd..7de18a724d3953a5616577f65a8cf9a18f71893c 100644
index 259bc260328af1b1f2b95866e7cf92dec341a4b0..3cebff51774b2542a8d4d888aa99dc10929c80be 100644
--- a/browser/components/preferences/main.js
+++ b/browser/components/preferences/main.js
@@ -424,7 +424,7 @@ function getBundleForLocales(newLocales) {
@@ -443,7 +443,7 @@ function getBundleForLocales(newLocales) {
])
);
return new Localization(

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/preferences/preferences.js b/browser/components/preferences/preferences.js
index b5af9af69fd715012af5c0613e0627dd9cf9c3b7..7f86bac8cce278c5b7b7e1230230b3a27b7cf49a 100644
index 1fb8a954f61e89736b369f5fa01bb4f89fff16ad..3030c32cb66529f14e575428654778abd312dfd8 100644
--- a/browser/components/preferences/preferences.js
+++ b/browser/components/preferences/preferences.js
@@ -117,6 +117,7 @@ ChromeUtils.defineLazyGetter(this, "gSubDialog", function () {

View File

@@ -1,17 +1,17 @@
diff --git a/browser/components/preferences/preferences.xhtml b/browser/components/preferences/preferences.xhtml
index 21d951a19df06da67a28f717b9f80f8f4ebf77d2..b1f998f2b3ed99b19666e81e61428587541b0da5 100644
index 0081bb470c9b15b39441ff844680e5e91b05fb86..3e4e7c43cf0e4feffb80623491de6222bb88a64b 100644
--- a/browser/components/preferences/preferences.xhtml
+++ b/browser/components/preferences/preferences.xhtml
@@ -44,6 +44,8 @@
<link rel="stylesheet" href="chrome://browser/skin/preferences/privacy.css" />
@@ -45,6 +45,8 @@
<link rel="stylesheet" href="chrome://browser/content/preferences/widgets/setting-group.css" />
<link rel="stylesheet" href="chrome://browser/content/preferences/widgets/setting-control.css" />
+#include zen-preferences-links.xhtml
+
<link rel="localization" href="branding/brand.ftl"/>
<link rel="localization" href="browser/browser.ftl"/>
<!-- Used by fontbuilder.js -->
@@ -104,6 +106,11 @@
@@ -106,6 +108,11 @@
<hbox flex="1">
<vbox class="navigation">
@@ -23,7 +23,7 @@ index 21d951a19df06da67a28f717b9f80f8f4ebf77d2..b1f998f2b3ed99b19666e81e61428587
<!-- category list -->
<richlistbox id="categories" data-l10n-id="category-list" data-l10n-attrs="aria-label">
<richlistitem id="category-general"
@@ -116,6 +123,50 @@
@@ -118,6 +125,50 @@
<label class="category-name" flex="1" data-l10n-id="pane-general-title"></label>
</richlistitem>
@@ -74,7 +74,7 @@ index 21d951a19df06da67a28f717b9f80f8f4ebf77d2..b1f998f2b3ed99b19666e81e61428587
<richlistitem id="category-home"
class="category"
value="paneHome"
@@ -227,11 +278,6 @@
@@ -229,11 +280,6 @@
<html:a href="about:policies" target="_blank" data-l10n-id="managed-notice"/>
</hbox>
</hbox>
@@ -86,7 +86,7 @@ index 21d951a19df06da67a28f717b9f80f8f4ebf77d2..b1f998f2b3ed99b19666e81e61428587
</hbox>
</hbox>
<vbox id="mainPrefPane">
@@ -245,6 +291,10 @@
@@ -247,6 +293,10 @@
#include sync.inc.xhtml
#include experimental.inc.xhtml
#include moreFromMozilla.inc.xhtml

View File

@@ -648,8 +648,6 @@ var gZenLooksAndFeel = {
Services.prefs.removeObserver(pref, this);
}
});
this.setCompactModeStyle();
this.applySidebarLayout();
},
@@ -696,41 +694,6 @@ var gZenLooksAndFeel = {
});
}
},
setCompactModeStyle() {
const chooser = document.getElementById('zen-compact-mode-styles-form');
const radios = [...chooser.querySelectorAll('input')];
let value = '';
if (
Services.prefs.getBoolPref('zen.view.compact.hide-tabbar', false) &&
Services.prefs.getBoolPref('zen.view.compact.hide-toolbar', false)
) {
value = 'both';
} else {
value = Services.prefs.getBoolPref('zen.view.compact.hide-tabbar') ? 'left' : 'top';
}
chooser.querySelector(`[value='${value}']`).checked = true;
for (let radio of radios) {
radio.addEventListener('change', (e) => {
let value = e.target.value;
switch (value) {
case 'left':
Services.prefs.setBoolPref('zen.view.compact.hide-tabbar', true);
Services.prefs.setBoolPref('zen.view.compact.hide-toolbar', false);
break;
case 'top':
Services.prefs.setBoolPref('zen.view.compact.hide-tabbar', false);
Services.prefs.setBoolPref('zen.view.compact.hide-toolbar', true);
break;
default:
Services.prefs.setBoolPref('zen.view.compact.hide-tabbar', true);
Services.prefs.setBoolPref('zen.view.compact.hide-toolbar', true);
break;
}
});
}
},
};
/* eslint-disable no-unused-vars */
@@ -1010,7 +973,7 @@ var gZenCKSSettings = {
this._latestValidKey = null;
return;
} else if (shortcut == 'Escape' && !modifiersActive) {
const hasConflicts = gZenKeyboardShortcutsManager.checkForConflicts(
const { hasConflicts, conflictShortcut } = gZenKeyboardShortcutsManager.checkForConflicts(
this._latestValidKey ? this._latestValidKey : shortcut,
this._latestModifier ? this._latestModifier : modifiers,
this._currentActionID
@@ -1023,12 +986,29 @@ var gZenCKSSettings = {
input.classList.add(`${ZEN_CKS_INPUT_FIELD_CLASS}-invalid`);
}
input.classList.remove(`${ZEN_CKS_INPUT_FIELD_CLASS}-unsafed`);
if (hasConflicts && !input.nextElementSibling) {
input.after(
window.MozXULElement.parseXULToFragment(`
<label class="${ZEN_CKS_CLASS_BASE}-conflict" data-l10n-id="zen-key-conflict"></label>
`)
);
if (hasConflicts) {
const shortcutL10nKey =
zenMissingKeyboardShortcutL10n[conflictShortcut.getID()] ??
conflictShortcut.getL10NID();
const [group, shortcut] = await document.l10n.formatValues([
{ id: `${ZEN_CKS_GROUP_PREFIX}-${conflictShortcut.getGroup()}` },
{ id: shortcutL10nKey },
]);
if (!input.nextElementSibling) {
input.after(
window.MozXULElement.parseXULToFragment(`
<label class="${ZEN_CKS_CLASS_BASE}-conflict" data-l10n-id="zen-key-conflict"></label>
`)
);
}
document.l10n.setAttributes(input.nextElementSibling, 'zen-key-conflict', {
group: group ?? '',
shortcut: shortcut ?? '',
});
}
} else {
input.classList.remove(`${ZEN_CKS_INPUT_FIELD_CLASS}-editing`);
@@ -1075,11 +1055,6 @@ var gZenCKSSettings = {
};
Preferences.addAll([
{
id: 'zen.view.compact.hide-toolbar',
type: 'bool',
default: false,
},
{
id: 'zen.view.compact.toolbar-flash-popup',
type: 'bool',

View File

@@ -56,43 +56,6 @@
<label><html:h2 data-l10n-id="zen-look-and-feel-compact-view-header"/></label>
<description class="description-deemphasized" data-l10n-id="zen-look-and-feel-compact-view-description" />
<html:div id="ZenCompactModeStyle">
<form xmlns="http://www.w3.org/1999/xhtml" autocomplete="off" id="zen-compact-mode-styles-form">
<label class="web-appearance-choice">
<div class="web-appearance-choice-image-container">
<div class="zen-compact-mode-styles-browser-wrapper" left="">
<div></div>
</div>
</div>
<div class="web-appearance-choice-footer">
<input type="radio" name="web-appearance" value="left" data-l10n-id="preferences-web-appearance-choice-input-auto"
/><span data-l10n-id="zen-compact-mode-styles-left" />
</div>
</label>
<label class="web-appearance-choice">
<div class="web-appearance-choice-image-container">
<div class="zen-compact-mode-styles-browser-wrapper" top="">
<div></div>
</div>
</div>
<div class="web-appearance-choice-footer">
<input type="radio" name="web-appearance" value="top" data-l10n-id="preferences-web-appearance-choice-input-light"
/><span data-l10n-id="zen-compact-mode-styles-top" />
</div>
</label>
<label class="web-appearance-choice">
<div class="web-appearance-choice-image-container">
<div class="zen-compact-mode-styles-browser-wrapper" both="">
<div></div>
</div>
</div>
<div class="web-appearance-choice-footer">
<input type="radio" name="web-appearance" value="both" data-l10n-id="preferences-web-appearance-choice-input-dark"
/><span data-l10n-id="zen-compact-mode-styles-both" />
</div>
</label>
</form>
</html:div>
<vbox class="indent">
<checkbox id="zenLooksAndFeelEnableToolbarFlashPopup"
data-l10n-id="zen-look-and-feel-compact-toolbar-flash-popup"
@@ -124,7 +87,6 @@
#ifdef XP_MACOSX
<menuitem data-l10n-id="zen-glance-trigger-meta-click" value="meta"/>
#endif
<menuitem data-l10n-id="zen-glance-trigger-mantain-click" value="mantain" disabled="true"/>
</menupopup>
</menulist>
</hbox>

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/screenshots/overlay/overlay.css b/browser/components/screenshots/overlay/overlay.css
index 037b060327d896e1ec0d087ade80df7548c8c1f7..7a158291c56df0e3b01bf7a37d04de71940d395f 100644
index ee2740fc48e9b70fe17b0f27b60053209516dbbf..cc0270e0eb28c3e60216460b02d62111abb970de 100644
--- a/browser/components/screenshots/overlay/overlay.css
+++ b/browser/components/screenshots/overlay/overlay.css
@@ -225,6 +225,9 @@
@@ -196,6 +196,9 @@
pointer-events: none;
position: absolute;
z-index: var(--screenshots-high-layer);
@@ -12,7 +12,7 @@ index 037b060327d896e1ec0d087ade80df7548c8c1f7..7a158291c56df0e3b01bf7a37d04de71
}
#top-background {
@@ -243,7 +246,7 @@
@@ -214,7 +217,7 @@
}
.bghighlight {

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/search/SearchUIUtils.sys.mjs b/browser/components/search/SearchUIUtils.sys.mjs
index 6ef224ce377cf3ff511e435f3c7a5dc1de819c60..5b4c395c222c6317fd88499a1aa5307032ea13f8 100644
index 55f90f4e802480728bbd5ef962b507183e017997..2a83f861fe6edee2b127c8d7946abcdcdbf677f5 100644
--- a/browser/components/search/SearchUIUtils.sys.mjs
+++ b/browser/components/search/SearchUIUtils.sys.mjs
@@ -426,7 +426,7 @@ export var SearchUIUtils = {
@@ -430,7 +430,7 @@ export var SearchUIUtils = {
triggeringSearchEngine: engine.name,
},
});

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/sessionstore/SessionStore.sys.mjs b/browser/components/sessionstore/SessionStore.sys.mjs
index e8192ea9d8d35165fbfbb8c4fc4a96641a80cc86..cf13724d147c8b8fc35c76d7f77601eb1077ea5c 100644
index eb62ff3e733e43fdaa299babddea3ba0125abb06..8f20ba50b06f5b75d7de08eb4d1b27d89fb95494 100644
--- a/browser/components/sessionstore/SessionStore.sys.mjs
+++ b/browser/components/sessionstore/SessionStore.sys.mjs
@@ -126,6 +126,8 @@ const TAB_EVENTS = [
@@ -11,7 +11,7 @@ index e8192ea9d8d35165fbfbb8c4fc4a96641a80cc86..cf13724d147c8b8fc35c76d7f77601eb
];
const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
@@ -1898,6 +1900,8 @@ var SessionStoreInternal = {
@@ -1904,6 +1906,8 @@ var SessionStoreInternal = {
case "TabPinned":
case "TabUnpinned":
case "SwapDocShells":
@@ -20,7 +20,7 @@ index e8192ea9d8d35165fbfbb8c4fc4a96641a80cc86..cf13724d147c8b8fc35c76d7f77601eb
this.saveStateDelayed(win);
break;
case "TabGroupCreate":
@@ -2133,7 +2137,6 @@ var SessionStoreInternal = {
@@ -2139,7 +2143,6 @@ var SessionStoreInternal = {
if (closedWindowState) {
let newWindowState;
if (
@@ -28,7 +28,7 @@ index e8192ea9d8d35165fbfbb8c4fc4a96641a80cc86..cf13724d147c8b8fc35c76d7f77601eb
!lazy.SessionStartup.willRestore()
) {
// We want to split the window up into pinned tabs and unpinned tabs.
@@ -2366,11 +2369,9 @@ var SessionStoreInternal = {
@@ -2372,11 +2375,9 @@ var SessionStoreInternal = {
tabbrowser.selectedTab.label;
}
@@ -40,7 +40,7 @@ index e8192ea9d8d35165fbfbb8c4fc4a96641a80cc86..cf13724d147c8b8fc35c76d7f77601eb
// Store the window's close date to figure out when each individual tab
// was closed. This timestamp should allow re-arranging data based on how
@@ -3355,7 +3356,7 @@ var SessionStoreInternal = {
@@ -3361,7 +3362,7 @@ var SessionStoreInternal = {
if (!isPrivateWindow && tabState.isPrivate) {
return;
}
@@ -49,7 +49,7 @@ index e8192ea9d8d35165fbfbb8c4fc4a96641a80cc86..cf13724d147c8b8fc35c76d7f77601eb
return;
}
@@ -4067,6 +4068,11 @@ var SessionStoreInternal = {
@@ -4073,6 +4074,11 @@ var SessionStoreInternal = {
Math.min(tabState.index, tabState.entries.length)
);
tabState.pinned = false;
@@ -61,7 +61,7 @@ index e8192ea9d8d35165fbfbb8c4fc4a96641a80cc86..cf13724d147c8b8fc35c76d7f77601eb
if (inBackground === false) {
aWindow.gBrowser.selectedTab = newTab;
@@ -4503,6 +4509,7 @@ var SessionStoreInternal = {
@@ -4509,6 +4515,7 @@ var SessionStoreInternal = {
// Append the tab if we're opening into a different window,
tabIndex: aSource == aTargetWindow ? pos : Infinity,
pinned: state.pinned,
@@ -138,7 +138,7 @@ index e8192ea9d8d35165fbfbb8c4fc4a96641a80cc86..cf13724d147c8b8fc35c76d7f77601eb
this._log.debug(
`restoreWindow, createTabsForSessionRestore returned ${tabs.length} tabs`
);
@@ -6349,6 +6360,25 @@ var SessionStoreInternal = {
@@ -6348,6 +6359,25 @@ var SessionStoreInternal = {
// Most of tabData has been restored, now continue with restoring
// attributes that may trigger external events.
@@ -164,7 +164,7 @@ index e8192ea9d8d35165fbfbb8c4fc4a96641a80cc86..cf13724d147c8b8fc35c76d7f77601eb
if (tabData.pinned) {
tabbrowser.pinTab(tab);
@@ -7264,7 +7294,7 @@ var SessionStoreInternal = {
@@ -7263,7 +7293,7 @@ var SessionStoreInternal = {
let groupsToSave = new Map();
for (let tIndex = 0; tIndex < window.tabs.length; ) {

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/sidebar/browser-sidebar.js b/browser/components/sidebar/browser-sidebar.js
index f62decaa3f7400787b245b3e765197f4e70dffbb..329240cf434fdbefcf145a733179bd565a814280 100644
index c4edb5442e5243b7d9fe35e1774b2fc651903601..d58076fedafe07d3401ab1723eaa837fabbae09f 100644
--- a/browser/components/sidebar/browser-sidebar.js
+++ b/browser/components/sidebar/browser-sidebar.js
@@ -779,7 +779,7 @@ var SidebarController = {

View File

@@ -0,0 +1,13 @@
diff --git a/browser/components/tabbrowser/TabsList.sys.mjs b/browser/components/tabbrowser/TabsList.sys.mjs
index 20a543dede6bf4428c8af19c5d0589788ddd8eaa..27a378e70f5b280b720c95ba8dac2cc4e88985be 100644
--- a/browser/components/tabbrowser/TabsList.sys.mjs
+++ b/browser/components/tabbrowser/TabsList.sys.mjs
@@ -87,7 +87,7 @@ class TabsListBase {
/** @type {function(MozTabbrowserTab):boolean} */
this.filterFn = onlyHiddenTabs
? tab => filterFn(tab) && tab.hidden
- : filterFn;
+ : tab => !tab.hasAttribute("zen-empty-tab") && filterFn(tab);
/** @type {Element} */
this.containerNode = containerNode;
/** @type {Element|null} */

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/tabbrowser/content/tab.js b/browser/components/tabbrowser/content/tab.js
index fd2465046407261e8c29b4cd3d56122d232e701c..108bc7eae78898bf8a84ddadbacca2d6e64a457d 100644
index 425aaf8c8e4adf1507eb0d8ded671f8295544b04..12988986c4cf00990c1d1b2e4be362efc001afdd 100644
--- a/browser/components/tabbrowser/content/tab.js
+++ b/browser/components/tabbrowser/content/tab.js
@@ -21,6 +21,7 @@
@@ -31,7 +31,7 @@ index fd2465046407261e8c29b4cd3d56122d232e701c..108bc7eae78898bf8a84ddadbacca2d6
"fadein,pinned,busy,progress,selected=visuallyselected",
".tab-icon-pending":
@@ -93,9 +96,9 @@
"src=image,triggeringprincipal=iconloadingprincipal,requestcontextid,fadein,pinned,selected=visuallyselected,busy,crashed,sharing,pictureinpicture,pending,discarded",
"src=image,requestcontextid,fadein,pinned,selected=visuallyselected,busy,crashed,sharing,pictureinpicture,pending,discarded",
".tab-sharing-icon-overlay": "sharing,selected=visuallyselected,pinned",
".tab-icon-overlay":
- "sharing,pictureinpicture,crashed,busy,soundplaying,soundplaying-scheduledremoval,pinned,muted,blocked,selected=visuallyselected,activemedia-blocked",
@@ -65,7 +65,7 @@ index fd2465046407261e8c29b4cd3d56122d232e701c..108bc7eae78898bf8a84ddadbacca2d6
+ }
+
+ // Selected tabs are always visible
+ if ((this.selected || this.multiselected || this.hasAttribute("folder-active")) && !this.hasAttribute("was-folder-active")) return true;
+ if (this.selected || this.multiselected || this.hasAttribute("folder-active")) return true;
+ // Recursively check all parent groups
+ let currentParent = this.group;
+ while (currentParent) {
@@ -101,7 +101,7 @@ index fd2465046407261e8c29b4cd3d56122d232e701c..108bc7eae78898bf8a84ddadbacca2d6
}
return null;
}
@@ -459,6 +475,8 @@
@@ -468,6 +484,8 @@
this.style.MozUserFocus = "ignore";
} else if (
event.target.classList.contains("tab-close-button") ||
@@ -110,7 +110,7 @@ index fd2465046407261e8c29b4cd3d56122d232e701c..108bc7eae78898bf8a84ddadbacca2d6
event.target.classList.contains("tab-icon-overlay") ||
event.target.classList.contains("tab-audio-button")
) {
@@ -513,6 +531,10 @@
@@ -522,6 +540,10 @@
this.style.MozUserFocus = "";
}
@@ -121,7 +121,7 @@ index fd2465046407261e8c29b4cd3d56122d232e701c..108bc7eae78898bf8a84ddadbacca2d6
on_click(event) {
if (event.button != 0) {
return;
@@ -561,6 +583,7 @@
@@ -570,6 +592,7 @@
)
);
} else {
@@ -129,7 +129,7 @@ index fd2465046407261e8c29b4cd3d56122d232e701c..108bc7eae78898bf8a84ddadbacca2d6
gBrowser.removeTab(this, {
animate: true,
triggeringEvent: event,
@@ -573,6 +596,14 @@
@@ -582,6 +605,14 @@
// (see tabbrowser-tabs 'click' handler).
gBrowser.tabContainer._blockDblClick = true;
}
@@ -138,13 +138,13 @@ index fd2465046407261e8c29b4cd3d56122d232e701c..108bc7eae78898bf8a84ddadbacca2d6
+ gZenPinnedTabManager._onTabResetPinButton(event, this, 'reset');
+ gBrowser.tabContainer._blockDblClick = true;
+ } else if (event.target.classList.contains("tab-reset-button")) {
+ gZenPinnedTabManager._onCloseTabShortcut(event, this);
+ gZenPinnedTabManager.onCloseTabShortcut(event, this);
+ gBrowser.tabContainer._blockDblClick = true;
+ }
}
on_dblclick(event) {
@@ -596,6 +627,8 @@
@@ -605,6 +636,8 @@
animate: true,
triggeringEvent: event,
});

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js
index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80ed9d2317a 100644
index c099e8646b9341a3ff55bf394037c8fc2769969b..0d524a0519bbbdf304a594d1fb56c394b7dbc6a7 100644
--- a/browser/components/tabbrowser/content/tabbrowser.js
+++ b/browser/components/tabbrowser/content/tabbrowser.js
@@ -427,15 +427,64 @@
@@ -432,15 +432,64 @@
return this.tabContainer.visibleTabs;
}
@@ -69,7 +69,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
set selectedTab(val) {
if (
gSharedTabWarning.willShowSharedTabWarning(val) ||
@@ -583,6 +632,7 @@
@@ -588,6 +637,7 @@
this.tabpanels.appendChild(panel);
let tab = this.tabs[0];
@@ -77,22 +77,26 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
tab.linkedPanel = uniqueId;
this._selectedTab = tab;
this._selectedBrowser = browser;
@@ -868,9 +918,13 @@
@@ -873,13 +923,17 @@
}
this.showTab(aTab);
+ const handled = gZenFolders.handleTabPin(aTab);
+ if (!handled) {
+ this.ungroupTab(aTab);
this.#handleTabMove(aTab, () =>
- this.pinnedTabsContainer.appendChild(aTab)
this.#handleTabMove(aTab, () => {
let periphery = document.getElementById(
"pinned-tabs-container-periphery"
);
// If periphery is null, append to end
- this.pinnedTabsContainer.insertBefore(aTab, periphery);
+ aTab.hasAttribute("zen-essential") ? gZenWorkspaces.getEssentialsSection(aTab).appendChild(aTab) : this.pinnedTabsContainer.insertBefore(aTab, this.pinnedTabsContainer.lastChild)
);
});
+ }
aTab.setAttribute("pinned", "true");
this._updateTabBarForPinnedTabs();
@@ -883,11 +937,15 @@
@@ -892,11 +946,15 @@
}
this.#handleTabMove(aTab, () => {
@@ -109,7 +113,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
});
aTab.style.marginInlineStart = "";
@@ -1065,6 +1123,8 @@
@@ -1073,6 +1131,8 @@
let LOCAL_PROTOCOLS = ["chrome:", "about:", "resource:", "data:"];
@@ -117,8 +121,8 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
+ gZenPinnedTabManager.onTabIconChanged(aTab, aIconURL);
if (
aIconURL &&
!aLoadingPrincipal &&
@@ -1075,6 +1135,9 @@
!LOCAL_PROTOCOLS.some(protocol => aIconURL.startsWith(protocol))
@@ -1082,6 +1142,9 @@
);
return;
}
@@ -128,7 +132,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
let browser = this.getBrowserForTab(aTab);
browser.mIconURL = aIconURL;
@@ -1333,6 +1396,7 @@
@@ -1445,6 +1508,7 @@
if (!this._previewMode) {
newTab.recordTimeFromUnloadToReload();
newTab.updateLastAccessed();
@@ -136,7 +140,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
oldTab.updateLastAccessed();
// if this is the foreground window, update the last-seen timestamps.
if (this.ownerGlobal == BrowserWindowTracker.getTopWindow()) {
@@ -1485,6 +1549,9 @@
@@ -1597,6 +1661,9 @@
}
let activeEl = document.activeElement;
@@ -146,7 +150,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
// If focus is on the old tab, move it to the new tab.
if (activeEl == oldTab) {
newTab.focus();
@@ -1808,7 +1875,8 @@
@@ -1920,7 +1987,8 @@
}
_setTabLabel(aTab, aLabel, { beforeTabOpen, isContentTitle, isURL } = {}) {
@@ -156,7 +160,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
return false;
}
@@ -1916,7 +1984,7 @@
@@ -2028,7 +2096,7 @@
newIndex = this.selectedTab._tPos + 1;
}
@@ -165,7 +169,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
if (this.isTabGroupLabel(targetTab)) {
throw new Error(
"Replacing a tab group label with a tab is not supported"
@@ -2191,6 +2259,7 @@
@@ -2303,6 +2371,7 @@
uriIsAboutBlank,
userContextId,
skipLoad,
@@ -173,7 +177,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
} = {}) {
let b = document.createXULElement("browser");
// Use the JSM global to create the permanentKey, so that if the
@@ -2264,8 +2333,7 @@
@@ -2376,8 +2445,7 @@
// we use a different attribute name for this?
b.setAttribute("name", name);
}
@@ -183,7 +187,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
b.setAttribute("transparent", "true");
}
@@ -2430,7 +2498,7 @@
@@ -2542,7 +2610,7 @@
let panel = this.getPanel(browser);
let uniqueId = this._generateUniquePanelID();
@@ -192,7 +196,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
aTab.linkedPanel = uniqueId;
// Inject the <browser> into the DOM if necessary.
@@ -2489,8 +2557,8 @@
@@ -2601,8 +2669,8 @@
// If we transitioned from one browser to two browsers, we need to set
// hasSiblings=false on both the existing browser and the new browser.
if (this.tabs.length == 2) {
@@ -203,7 +207,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
} else {
aTab.linkedBrowser.browsingContext.hasSiblings = this.tabs.length > 1;
}
@@ -2654,7 +2722,6 @@
@@ -2779,7 +2847,6 @@
this.selectedTab = this.addTrustedTab(BROWSER_NEW_TAB_URL, {
tabIndex: tab._tPos + 1,
userContextId: tab.userContextId,
@@ -211,7 +215,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
focusUrlBar: true,
});
resolve(this.selectedBrowser);
@@ -2734,6 +2801,8 @@
@@ -2859,6 +2926,8 @@
schemelessInput,
hasValidUserGestureActivation = false,
textDirectiveUserActivation = false,
@@ -220,7 +224,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
} = {}
) {
// all callers of addTab that pass a params object need to pass
@@ -2744,6 +2813,12 @@
@@ -2869,6 +2938,12 @@
);
}
@@ -233,7 +237,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
if (!UserInteraction.running("browser.tabs.opening", window)) {
UserInteraction.start("browser.tabs.opening", "initting", window);
}
@@ -2807,6 +2882,19 @@
@@ -2932,6 +3007,19 @@
noInitialLabel,
skipBackgroundNotify,
});
@@ -253,7 +257,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
if (insertTab) {
// Insert the tab into the tab container in the correct position.
this.#insertTabAtIndex(t, {
@@ -2815,6 +2903,7 @@
@@ -2940,6 +3028,7 @@
ownerTab,
openerTab,
pinned,
@@ -261,7 +265,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
bulkOrderedOpen,
tabGroup: tabGroup ?? openerTab?.group,
});
@@ -2833,6 +2922,7 @@
@@ -2958,6 +3047,7 @@
openWindowInfo,
skipLoad,
triggeringRemoteType,
@@ -269,7 +273,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
}));
if (focusUrlBar) {
@@ -2953,6 +3043,12 @@
@@ -3078,6 +3168,12 @@
}
}
@@ -282,7 +286,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
// Additionally send pinned tab events
if (pinned) {
this.#notifyPinnedStatus(t);
@@ -3041,10 +3137,10 @@
@@ -3248,10 +3344,10 @@
isAdoptingGroup = false,
isUserTriggered = false,
telemetryUserCreateSource = "unknown",
@@ -294,7 +298,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
}
if (!color) {
@@ -3065,9 +3161,14 @@
@@ -3272,9 +3368,14 @@
label,
isAdoptingGroup
);
@@ -311,7 +315,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
);
group.addTabs(tabs);
@@ -3188,7 +3289,7 @@
@@ -3395,7 +3496,7 @@
}
this.#handleTabMove(tab, () =>
@@ -320,7 +324,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
);
}
@@ -3390,6 +3491,7 @@
@@ -3597,6 +3698,7 @@
openWindowInfo,
skipLoad,
triggeringRemoteType,
@@ -328,7 +332,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
}
) {
// If we don't have a preferred remote type (or it is `NOT_REMOTE`), and
@@ -3459,6 +3561,7 @@
@@ -3666,6 +3768,7 @@
openWindowInfo,
name,
skipLoad,
@@ -336,7 +340,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
});
}
@@ -3646,7 +3749,7 @@
@@ -3853,7 +3956,7 @@
// Add a new tab if needed.
if (!tab) {
let createLazyBrowser =
@@ -345,7 +349,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
let url = "about:blank";
if (tabData.entries?.length) {
@@ -3683,8 +3786,10 @@
@@ -3890,8 +3993,10 @@
insertTab: false,
skipLoad: true,
preferredRemoteType,
@@ -357,7 +361,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
if (select) {
tabToSelect = tab;
}
@@ -3696,7 +3801,8 @@
@@ -3903,7 +4008,8 @@
this.pinTab(tab);
// Then ensure all the tab open/pinning information is sent.
this._fireTabOpen(tab, {});
@@ -367,7 +371,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
let { groupId } = tabData;
const tabGroup = tabGroupWorkingData.get(groupId);
// if a tab refers to a tab group we don't know, skip any group
@@ -3710,7 +3816,10 @@
@@ -3917,7 +4023,10 @@
tabGroup.stateData.id,
tabGroup.stateData.color,
tabGroup.stateData.collapsed,
@@ -379,7 +383,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
);
tabsFragment.appendChild(tabGroup.node);
}
@@ -3755,9 +3864,23 @@
@@ -3962,9 +4071,23 @@
// to remove the old selected tab.
if (tabToSelect) {
let leftoverTab = this.selectedTab;
@@ -403,7 +407,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
if (tabs.length > 1 || !tabs[0].selected) {
this._updateTabsAfterInsert();
@@ -3948,11 +4071,14 @@
@@ -4155,11 +4278,14 @@
if (ownerTab) {
tab.owner = ownerTab;
}
@@ -419,7 +423,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
if (
!bulkOrderedOpen &&
((openerTab &&
@@ -3964,7 +4090,7 @@
@@ -4171,7 +4297,7 @@
let lastRelatedTab =
openerTab && this._lastRelatedTabMap.get(openerTab);
let previousTab = lastRelatedTab || openerTab || this.selectedTab;
@@ -428,7 +432,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
tabGroup = previousTab.group;
}
if (
@@ -3975,7 +4101,7 @@
@@ -4182,7 +4308,7 @@
) {
elementIndex = Infinity;
} else if (previousTab.visible) {
@@ -437,7 +441,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
} else if (previousTab == FirefoxViewHandler.tab) {
elementIndex = 0;
}
@@ -4003,14 +4129,14 @@
@@ -4210,14 +4336,14 @@
}
// Ensure index is within bounds.
if (tab.pinned) {
@@ -456,7 +460,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
if (pinned && !itemAfter?.pinned) {
itemAfter = null;
@@ -4021,7 +4147,7 @@
@@ -4228,7 +4354,7 @@
this.tabContainer._invalidateCachedTabs();
@@ -465,7 +469,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
if (this.isTab(itemAfter) && itemAfter.group == tabGroup) {
// Place at the front of, or between tabs in, the same tab group
this.tabContainer.insertBefore(tab, itemAfter);
@@ -4057,6 +4183,7 @@
@@ -4264,6 +4390,7 @@
if (pinned) {
this._updateTabBarForPinnedTabs();
}
@@ -473,7 +477,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
TabBarVisibility.update();
}
@@ -4346,6 +4473,9 @@
@@ -4553,6 +4680,9 @@
return;
}
@@ -483,7 +487,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
this.removeTabs(selectedTabs, { isUserTriggered, telemetrySource });
}
@@ -4607,6 +4737,7 @@
@@ -4814,6 +4944,7 @@
telemetrySource,
} = {}
) {
@@ -491,7 +495,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
// When 'closeWindowWithLastTab' pref is enabled, closing all tabs
// can be considered equivalent to closing the window.
if (
@@ -4696,6 +4827,7 @@
@@ -4903,6 +5034,7 @@
if (lastToClose) {
this.removeTab(lastToClose, aParams);
}
@@ -499,7 +503,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
} catch (e) {
console.error(e);
}
@@ -4734,6 +4866,12 @@
@@ -4941,6 +5073,12 @@
aTab._closeTimeNoAnimTimerId = Glean.browserTabclose.timeNoAnim.start();
}
@@ -512,7 +516,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
// Handle requests for synchronously removing an already
// asynchronously closing tab.
if (!animate && aTab.closing) {
@@ -4748,6 +4886,9 @@
@@ -4955,6 +5093,9 @@
// state).
let tabWidth = window.windowUtils.getBoundsWithoutFlushing(aTab).width;
let isLastTab = this.#isLastTabInWindow(aTab);
@@ -522,7 +526,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
if (
!this._beginRemoveTab(aTab, {
closeWindowFastpath: true,
@@ -4796,7 +4937,13 @@
@@ -5003,7 +5144,13 @@
// We're not animating, so we can cancel the animation stopwatch.
Glean.browserTabclose.timeAnim.cancel(aTab._closeTimeAnimTimerId);
aTab._closeTimeAnimTimerId = null;
@@ -537,7 +541,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
return;
}
@@ -4930,7 +5077,7 @@
@@ -5137,7 +5284,7 @@
closeWindowWithLastTab != null
? closeWindowWithLastTab
: !window.toolbar.visible ||
@@ -546,7 +550,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
if (closeWindow) {
// We've already called beforeunload on all the relevant tabs if we get here,
@@ -4954,6 +5101,7 @@
@@ -5161,6 +5308,7 @@
newTab = true;
}
@@ -554,7 +558,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
aTab._endRemoveArgs = [closeWindow, newTab];
// swapBrowsersAndCloseOther will take care of closing the window without animation.
@@ -4994,13 +5142,7 @@
@@ -5201,13 +5349,7 @@
aTab._mouseleave();
if (newTab) {
@@ -569,7 +573,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
} else {
TabBarVisibility.update();
}
@@ -5133,6 +5275,7 @@
@@ -5340,6 +5482,7 @@
this.tabs[i]._tPos = i;
}
@@ -577,7 +581,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
if (!this._windowIsClosing) {
// update tab close buttons state
this.tabContainer._updateCloseButtons();
@@ -5345,6 +5488,7 @@
@@ -5552,6 +5695,7 @@
}
let excludeTabs = new Set(aExcludeTabs);
@@ -585,7 +589,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
// If this tab has a successor, it should be selectable, since
// hiding or closing a tab removes that tab as a successor.
@@ -5357,13 +5501,13 @@
@@ -5564,13 +5708,13 @@
!excludeTabs.has(aTab.owner) &&
Services.prefs.getBoolPref("browser.tabs.selectOwnerOnClose")
) {
@@ -601,7 +605,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
);
let tab = this.tabContainer.findNextTab(aTab, {
@@ -5379,7 +5523,7 @@
@@ -5586,7 +5730,7 @@
}
if (tab) {
@@ -610,7 +614,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
}
// If no qualifying visible tab was found, see if there is a tab in
@@ -5400,7 +5544,7 @@
@@ -5607,7 +5751,7 @@
});
}
@@ -619,7 +623,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
}
_blurTab(aTab) {
@@ -5802,10 +5946,10 @@
@@ -6013,10 +6157,10 @@
SessionStore.deleteCustomTabValue(aTab, "hiddenBy");
}
@@ -632,7 +636,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
aTab.selected ||
aTab.closing ||
// Tabs that are sharing the screen, microphone or camera cannot be hidden.
@@ -5864,6 +6008,7 @@
@@ -6075,6 +6219,7 @@
* @param {MozTabbrowserTab|MozTabbrowserTabGroup|MozTabbrowserTabGroup.labelElement} aTab
*/
replaceTabWithWindow(aTab, aOptions) {
@@ -640,7 +644,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
if (this.tabs.length == 1) {
return null;
}
@@ -5997,7 +6142,7 @@
@@ -6208,7 +6353,7 @@
* `true` if element is a `<tab-group>`
*/
isTabGroup(element) {
@@ -649,7 +653,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
}
/**
@@ -6073,8 +6218,8 @@
@@ -6284,8 +6429,8 @@
}
// Don't allow mixing pinned and unpinned tabs.
@@ -660,7 +664,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
} else {
tabIndex = Math.max(tabIndex, this.pinnedTabCount);
}
@@ -6100,10 +6245,16 @@
@@ -6311,10 +6456,16 @@
this.#handleTabMove(
element,
() => {
@@ -679,7 +683,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
if (neighbor && this.isTab(element) && tabIndex > element._tPos) {
neighbor.after(element);
} else {
@@ -6161,23 +6312,28 @@
@@ -6372,23 +6523,28 @@
#moveTabNextTo(element, targetElement, moveBefore = false, metricsContext) {
if (this.isTabGroupLabel(targetElement)) {
targetElement = targetElement.group;
@@ -714,7 +718,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
} else if (!element.pinned && targetElement && targetElement.pinned) {
// If the caller asks to move an unpinned element next to a pinned
// tab, move the unpinned element to be the first unpinned element
@@ -6190,14 +6346,34 @@
@@ -6401,14 +6557,34 @@
// move the tab group right before the first unpinned tab.
// 4. Moving a tab group and the first unpinned tab is grouped:
// move the tab group right before the first unpinned tab's tab group.
@@ -750,7 +754,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
element.pinned
? this.tabContainer.pinnedTabsContainer
: this.tabContainer;
@@ -6206,7 +6382,7 @@
@@ -6417,7 +6593,7 @@
element,
() => {
if (moveBefore) {
@@ -759,7 +763,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
} else if (targetElement) {
targetElement.after(element);
} else {
@@ -6252,10 +6428,10 @@
@@ -6489,10 +6665,10 @@
* @param {TabMetricsContext} [metricsContext]
*/
moveTabToGroup(aTab, aGroup, metricsContext) {
@@ -772,7 +776,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
return;
}
if (aTab.group && aTab.group.id === aGroup.id) {
@@ -6285,6 +6461,7 @@
@@ -6522,6 +6698,7 @@
let state = {
tabIndex: tab._tPos,
@@ -780,7 +784,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
};
if (tab.visible) {
state.elementIndex = tab.elementIndex;
@@ -6311,7 +6488,7 @@
@@ -6548,7 +6725,7 @@
let changedTabGroup =
previousTabState.tabGroupId != currentTabState.tabGroupId;
@@ -789,7 +793,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
tab.dispatchEvent(
new CustomEvent("TabMove", {
bubbles: true,
@@ -6348,6 +6525,10 @@
@@ -6585,6 +6762,10 @@
moveActionCallback();
@@ -800,7 +804,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
// Clear tabs cache after moving nodes because the order of tabs may have
// changed.
this.tabContainer._invalidateCachedTabs();
@@ -7249,7 +7430,7 @@
@@ -7486,7 +7667,7 @@
// preventDefault(). It will still raise the window if appropriate.
break;
}
@@ -809,7 +813,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
window.focus();
aEvent.preventDefault();
break;
@@ -7264,7 +7445,6 @@
@@ -7501,7 +7682,6 @@
}
case "TabGroupCollapse":
aEvent.target.tabs.forEach(tab => {
@@ -817,7 +821,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
});
break;
case "TabGroupCreateByUser":
@@ -8199,6 +8379,7 @@
@@ -8442,6 +8622,7 @@
aWebProgress.isTopLevel
) {
this.mTab.setAttribute("busy", "true");
@@ -825,7 +829,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
gBrowser._tabAttrModified(this.mTab, ["busy"]);
this.mTab._notselectedsinceload = !this.mTab.selected;
}
@@ -9200,7 +9381,7 @@ var TabContextMenu = {
@@ -9443,7 +9624,7 @@ var TabContextMenu = {
);
contextUnpinSelectedTabs.hidden =
!this.contextTab.pinned || !this.multiselected;
@@ -834,7 +838,7 @@ index 3204f253c23551650991d3385dd256d55892a012..7c30015ac4591fdb97426521ae87b80e
// Build Ask Chat items
TabContextMenu.GenAI.buildTabMenu(
document.getElementById("context_askChat"),
@@ -9520,6 +9701,7 @@ var TabContextMenu = {
@@ -9763,6 +9944,7 @@ var TabContextMenu = {
)
);
} else {

View File

@@ -1,24 +1,23 @@
diff --git a/browser/components/tabbrowser/content/tabgroup.js b/browser/components/tabbrowser/content/tabgroup.js
index c0cb11590d6dfbcf6fa49ef5e10c6d3877191d1f..cd98bd2401e4618b003c184108e8532174e2a7cf 100644
index 1b4f6bf4ed6556492f84476d33e9103fbb1c74e9..77bd8738db6f2e65c2bfcae8347b424098ba3e7b 100644
--- a/browser/components/tabbrowser/content/tabgroup.js
+++ b/browser/components/tabbrowser/content/tabgroup.js
@@ -13,10 +13,12 @@
@@ -14,11 +14,11 @@
class MozTabbrowserTabGroup extends MozXULElement {
static markup = `
- <vbox class="tab-group-label-container" pack="center">
+ <hbox class="tab-group-label-container" pack="center">
<label class="tab-group-label" role="button"/>
- </vbox>
<vbox class="tab-group-label-container" pack="center">
- <vbox class="tab-group-label-hover-highlight" pack="center">
<label class="tab-group-label" role="button" />
- </vbox>
</vbox>
- <html:slot/>
+ </hbox>
+ <html:div class="tab-group-container">
+ <html:div class="zen-tab-group-start"/>
+ </html:div>
<vbox class="tab-group-overflow-count-container" pack="center">
<label class="tab-group-overflow-count" role="button" />
</vbox>
@@ -57,20 +59,36 @@
@@ -69,20 +69,36 @@
}
connectedCallback() {
@@ -59,10 +58,10 @@ index c0cb11590d6dfbcf6fa49ef5e10c6d3877191d1f..cd98bd2401e4618b003c184108e85321
this._initialized = true;
this.saveOnWindowClose = true;
@@ -99,11 +117,14 @@
@@ -114,11 +130,14 @@
this.#labelElement.addEventListener("mouseover", this);
this.#labelElement.addEventListener("mouseout", this);
this.#labelContainerElement.addEventListener("mouseover", this);
this.#labelContainerElement.addEventListener("mouseout", this);
- this.#labelElement.addEventListener("contextmenu", e => {
- e.preventDefault();
- gBrowser.tabGroupMenu.openEditModal(this);
@@ -79,7 +78,7 @@ index c0cb11590d6dfbcf6fa49ef5e10c6d3877191d1f..cd98bd2401e4618b003c184108e85321
this.#updateLabelAriaAttributes();
this.#updateCollapsedAriaAttributes();
@@ -129,6 +150,8 @@
@@ -144,6 +163,8 @@
// mounts after getting created by `Tabbrowser.adoptTabGroup`.
this.#wasCreatedByAdoption = false;
}
@@ -88,7 +87,7 @@ index c0cb11590d6dfbcf6fa49ef5e10c6d3877191d1f..cd98bd2401e4618b003c184108e85321
resetDefaultGroupName = () => {
this.#defaultGroupName = "";
@@ -213,7 +236,10 @@
@@ -228,7 +249,10 @@
}
});
}
@@ -100,7 +99,7 @@ index c0cb11590d6dfbcf6fa49ef5e10c6d3877191d1f..cd98bd2401e4618b003c184108e85321
}
get color() {
@@ -307,6 +333,9 @@
@@ -322,6 +346,9 @@
}
set collapsed(val) {
@@ -110,7 +109,7 @@ index c0cb11590d6dfbcf6fa49ef5e10c6d3877191d1f..cd98bd2401e4618b003c184108e85321
if (!!val == this.collapsed) {
return;
}
@@ -364,7 +393,6 @@
@@ -399,7 +426,6 @@
tabGroupName,
})
.then(result => {
@@ -118,7 +117,7 @@ index c0cb11590d6dfbcf6fa49ef5e10c6d3877191d1f..cd98bd2401e4618b003c184108e85321
});
}
@@ -383,7 +411,57 @@
@@ -418,7 +444,57 @@
* @returns {MozTabbrowserTab[]}
*/
get tabs() {
@@ -177,7 +176,7 @@ index c0cb11590d6dfbcf6fa49ef5e10c6d3877191d1f..cd98bd2401e4618b003c184108e85321
}
/**
@@ -442,7 +520,6 @@
@@ -498,7 +574,6 @@
addTabs(tabs, metricsContext) {
for (let tab of tabs) {
if (tab.pinned) {
@@ -185,7 +184,7 @@ index c0cb11590d6dfbcf6fa49ef5e10c6d3877191d1f..cd98bd2401e4618b003c184108e85321
}
let tabToMove =
this.ownerGlobal === tab.ownerGlobal
@@ -505,7 +582,7 @@
@@ -561,7 +636,7 @@
*/
on_click(event) {
let isToggleElement =
@@ -194,7 +193,7 @@ index c0cb11590d6dfbcf6fa49ef5e10c6d3877191d1f..cd98bd2401e4618b003c184108e85321
event.target === this.#overflowCountLabel;
if (isToggleElement && event.button === 0) {
event.preventDefault();
@@ -570,5 +647,6 @@
@@ -630,5 +705,6 @@
}
}

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js
index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536322388ea 100644
index 1425607ef87d6c28fb676e722617edfb51ba12a1..97cdeaf7cde41f39d70bd50ac8ca78bec02d253a 100644
--- a/browser/components/tabbrowser/content/tabs.js
+++ b/browser/components/tabbrowser/content/tabs.js
@@ -44,6 +44,9 @@
@@ -12,7 +12,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
if (isTab(element)) {
return element;
}
@@ -411,7 +414,7 @@
@@ -423,7 +426,7 @@
// and we're not hitting the scroll buttons.
if (
event.button != 0 ||
@@ -21,7 +21,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
event.composedTarget.localName == "toolbarbutton"
) {
return;
@@ -492,7 +495,6 @@
@@ -504,7 +507,6 @@
});
}
} else if (isTabGroupLabel(event.target)) {
@@ -29,7 +29,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
} else if (
event.originalTarget.closest("scrollbox") &&
!Services.prefs.getBoolPref(
@@ -528,6 +530,9 @@
@@ -540,6 +542,9 @@
}
on_keydown(event) {
@@ -39,7 +39,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
let { altKey, shiftKey } = event;
let [accel, nonAccel] =
AppConstants.platform == "macosx"
@@ -765,7 +770,7 @@
@@ -777,7 +782,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
@@ -48,7 +48,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
let tabsPerRow = 0;
let position = RTL_UI
? window.windowUtils.getBoundsWithoutFlushing(
@@ -930,7 +935,7 @@
@@ -942,7 +947,7 @@
let dropEffect = this.getDropEffectForTabDrag(event);
let isMovingInTabStrip = !fromTabList && dropEffect == "move";
let collapseTabGroupDuringDrag =
@@ -57,7 +57,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
tab._dragData = {
offsetX: this.verticalMode
@@ -940,7 +945,7 @@
@@ -952,7 +957,7 @@
? event.screenY - window.screenY - tabOffset
: event.screenY - window.screenY,
scrollPos:
@@ -66,15 +66,15 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
? this.pinnedTabsContainer.scrollPosition
: this.arrowScrollbox.scrollPosition,
screenX: event.screenX,
@@ -969,6 +974,7 @@
@@ -981,6 +986,7 @@
if (collapseTabGroupDuringDrag) {
tab.group.collapsed = true;
+ gZenFolders.collapseVisibleTab(tab.group);
+ gZenFolders.animateGroupMove(tab.group);
}
}
}
@@ -1015,6 +1021,10 @@
@@ -1027,6 +1033,10 @@
}
let draggedTab = event.dataTransfer.mozGetDataAt(TAB_DROP_TYPE, 0);
@@ -85,7 +85,17 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
if (
(dropEffect == "move" || dropEffect == "copy") &&
document == draggedTab.ownerDocument &&
@@ -1196,6 +1206,18 @@
@@ -1154,7 +1164,8 @@
isTabGroupLabel(draggedTab) &&
draggedTab._dragData?.expandGroupOnDrop
) {
- draggedTab.group.collapsed = false;
+ draggedTab.group.collapsed = draggedTab.group.hasAttribute("has-active");
+ gZenFolders.animateGroupMove(draggedTab.group, true);
}
}
@@ -1208,6 +1219,18 @@
this._tabDropIndicator.hidden = true;
event.stopPropagation();
@@ -104,7 +114,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
if (draggedTab && dropEffect == "copy") {
let duplicatedDraggedTab;
let duplicatedTabs = [];
@@ -1220,8 +1242,9 @@
@@ -1232,8 +1255,9 @@
let translateOffsetY = oldTranslateY % tabHeight;
let newTranslateX = oldTranslateX - translateOffsetX;
let newTranslateY = oldTranslateY - translateOffsetY;
@@ -116,7 +126,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
if (this.#isContainerVerticalPinnedGrid(draggedTab)) {
// Update both translate axis for pinned vertical expanded tabs
@@ -1237,8 +1260,8 @@
@@ -1249,8 +1273,8 @@
}
} else {
let tabs = this.ariaFocusableItems.slice(
@@ -127,7 +137,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
);
let size = this.verticalMode ? "height" : "width";
let screenAxis = this.verticalMode ? "screenY" : "screenX";
@@ -1287,11 +1310,13 @@
@@ -1299,11 +1323,13 @@
this.dragToPinPromoCard,
];
let shouldPin =
@@ -141,7 +151,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
isTab(draggedTab) &&
draggedTab.pinned &&
this.arrowScrollbox.contains(event.target);
@@ -1309,6 +1334,7 @@
@@ -1321,6 +1347,7 @@
(oldTranslateY && oldTranslateY != newTranslateY);
} else if (this.verticalMode) {
shouldTranslate &&= oldTranslateY && oldTranslateY != newTranslateY;
@@ -149,7 +159,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
} else {
shouldTranslate &&= oldTranslateX && oldTranslateX != newTranslateX;
}
@@ -1503,6 +1529,7 @@
@@ -1515,6 +1542,7 @@
let nextItem = this.ariaFocusableItems[newIndex];
let tabGroup = isTab(nextItem) && nextItem.group;
@@ -157,7 +167,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
gBrowser.loadTabs(urls, {
inBackground,
replace,
@@ -1541,6 +1568,17 @@
@@ -1553,6 +1581,17 @@
}
this.#resetTabsAfterDrop(draggedTab.ownerDocument);
@@ -175,7 +185,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
if (
dt.mozUserCancelled ||
dt.dropEffect != "none" ||
@@ -1707,7 +1745,6 @@
@@ -1719,7 +1758,6 @@
this.toggleAttribute("overflow", true);
this._updateCloseButtons();
@@ -183,7 +193,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
document
.getElementById("tab-preview-panel")
@@ -1765,7 +1802,7 @@
@@ -1777,7 +1815,7 @@
}
get newTabButton() {
@@ -192,7 +202,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
}
get verticalMode() {
@@ -1781,6 +1818,7 @@
@@ -1793,6 +1831,7 @@
}
get overflowing() {
@@ -200,28 +210,25 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
return this.hasAttribute("overflow");
}
@@ -1789,31 +1827,51 @@
if (this.#allTabs) {
return this.#allTabs;
@@ -1806,29 +1845,54 @@
if (pinnedChildren?.at(-1)?.id == "pinned-tabs-container-periphery") {
pinnedChildren.pop();
}
- // Remove temporary periphery element added at drag start.
- let pinnedChildren = Array.from(this.pinnedTabsContainer.children);
- if (pinnedChildren?.at(-1)?.id == "pinned-tabs-container-periphery") {
- pinnedChildren.pop();
- }
- let unpinnedChildren = Array.from(this.arrowScrollbox.children);
- // remove arrowScrollbox periphery element.
- unpinnedChildren.pop();
-
+ let children = gZenWorkspaces.tabboxChildren;
+ children.pop();
// explode tab groups
+ let unpinnedChildren = gZenWorkspaces.tabboxChildren;
// remove arrowScrollbox periphery element.
unpinnedChildren.pop();
// explode tab groups and split view wrappers
// Iterate backwards over the array to preserve indices while we modify
// things in place
- for (let i = unpinnedChildren.length - 1; i >= 0; i--) {
- if (unpinnedChildren[i].tagName == "tab-group") {
- if (
- unpinnedChildren[i].tagName == "tab-group" ||
- unpinnedChildren[i].tagName == "tab-split-view-wrapper"
- ) {
- unpinnedChildren.splice(i, 1, ...unpinnedChildren[i].tabs);
+ const pinnedTabs = [...gZenWorkspaces.getCurrentEssentialsContainer().children, ...this.pinnedTabsContainer.children];
+ const pinnedTabs = [...gZenWorkspaces.getCurrentEssentialsContainer().children, ...pinnedChildren];
+ const expandTabs = (tabs) => {
+ for (let i = tabs.length - 1; i >= 0; i--) {
+ const tab = tabs[i];
@@ -231,15 +238,13 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
+ // add the tabs in the group to the list
+ tabs.splice(i, 0, ...tab.tabs);
+ }
}
}
-
- this.#allTabs = [...pinnedChildren, ...unpinnedChildren];
+ }
+ };
+ expandTabs(pinnedTabs);
+ expandTabs(children);
+ expandTabs(unpinnedChildren);
+ const allTabs = [
+ ...pinnedTabs,
+ ...children,
+ ...unpinnedChildren,
+ ];
+ const lastPinnedTabIdx = pinnedTabs.length - 1;
+ let i = 0;
@@ -254,21 +259,23 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
+ // remove the separator from the list
+ allTabs.splice(i, 1);
+ i--;
+ }
}
+ i++;
+ }
}
-
- this.#allTabs = [...pinnedChildren, ...unpinnedChildren];
+ this.#allTabs = allTabs;
return this.#allTabs;
}
get allGroups() {
- let children = Array.from(this.arrowScrollbox.children);
let children = Array.from(this.arrowScrollbox.children);
- return children.filter(node => node.tagName == "tab-group");
+ return gZenWorkspaces.allTabGroups;
}
/**
@@ -1880,29 +1938,23 @@
@@ -1895,29 +1959,23 @@
let elementIndex = 0;
@@ -307,7 +314,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
}
}
@@ -1914,6 +1966,7 @@
@@ -1929,6 +1987,7 @@
_invalidateCachedTabs() {
this.#allTabs = null;
this._invalidateCachedVisibleTabs();
@@ -315,7 +322,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
}
_invalidateCachedVisibleTabs() {
@@ -1929,8 +1982,8 @@
@@ -1944,8 +2003,8 @@
#isContainerVerticalPinnedGrid(tab) {
return (
this.verticalMode &&
@@ -326,7 +333,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
!this.expandOnHover
);
}
@@ -1946,7 +1999,7 @@
@@ -1961,7 +2020,7 @@
if (node == null) {
// We have a container for non-tab elements at the end of the scrollbox.
@@ -335,7 +342,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
}
node.before(tab);
@@ -2041,7 +2094,7 @@
@@ -2056,7 +2115,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.
@@ -344,7 +351,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
const newTab2 = this.newTabButton;
const newTabVertical = document.getElementById(
"vertical-tabs-newtab-button"
@@ -2139,8 +2192,10 @@
@@ -2156,8 +2215,10 @@
*/
_handleTabSelect(aInstant) {
let selectedTab = this.selectedItem;
@@ -355,16 +362,16 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
selectedTab._notselectedsinceload = false;
}
@@ -2149,7 +2204,7 @@
@@ -2166,7 +2227,7 @@
* @param {boolean} [shouldScrollInstantly=false]
*/
#ensureTabIsVisible(tab, shouldScrollInstantly = false) {
- let arrowScrollbox = tab.closest("arrowscrollbox");
+ let arrowScrollbox = this.arrowScrollbox;
if (arrowScrollbox.overflowing) {
if (arrowScrollbox?.overflowing) {
arrowScrollbox.ensureElementIsVisible(tab, shouldScrollInstantly);
}
@@ -2288,6 +2343,16 @@
@@ -2305,6 +2366,16 @@
when the tab is first selected to be dragged.
*/
#updateTabStylesOnDrag(tab) {
@@ -381,7 +388,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
let isPinned = tab.pinned;
let numPinned = gBrowser.pinnedTabCount;
let allTabs = this.ariaFocusableItems;
@@ -2540,7 +2605,7 @@
@@ -2578,7 +2649,7 @@
return;
}
@@ -390,7 +397,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
let directionX = screenX > dragData.animLastScreenX;
let directionY = screenY > dragData.animLastScreenY;
@@ -2549,6 +2614,8 @@
@@ -2587,6 +2658,8 @@
let { width: tabWidth, height: tabHeight } =
draggedTab.getBoundingClientRect();
@@ -399,7 +406,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
let shiftSizeX = tabWidth * movingTabs.length;
let shiftSizeY = tabHeight;
dragData.tabWidth = tabWidth;
@@ -2585,8 +2652,8 @@
@@ -2623,8 +2696,8 @@
let lastBoundX =
lastTabInRow.screenX +
lastTabInRow.getBoundingClientRect().width -
@@ -410,9 +417,9 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
translateX = Math.min(Math.max(translateX, firstBoundX), lastBoundX);
translateY = Math.min(Math.max(translateY, firstBoundY), lastBoundY);
@@ -2743,13 +2810,18 @@
@@ -2782,13 +2855,18 @@
this.#clearDragOverGroupingTimer();
this.#clearPinnedDropIndicatorTimer();
- let isPinned = draggedTab.pinned;
- let numPinned = gBrowser.pinnedTabCount;
@@ -433,7 +440,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
if (this.#rtlMode) {
tabs.reverse();
@@ -2760,7 +2832,7 @@
@@ -2799,7 +2877,7 @@
let screenAxis = this.verticalMode ? "screenY" : "screenX";
let size = this.verticalMode ? "height" : "width";
let translateAxis = this.verticalMode ? "translateY" : "translateX";
@@ -442,7 +449,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
let tabSize = this.verticalMode ? tabHeight : tabWidth;
let translateX = event.screenX - dragData.screenX;
let translateY = event.screenY - dragData.screenY;
@@ -2776,6 +2848,12 @@
@@ -2815,6 +2893,12 @@
);
let lastMovingTab = movingTabs.at(-1);
let firstMovingTab = movingTabs[0];
@@ -455,7 +462,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
let endEdge = ele => ele[screenAxis] + bounds(ele)[size];
let lastMovingTabScreen = endEdge(lastMovingTab);
let firstMovingTabScreen = firstMovingTab[screenAxis];
@@ -2790,6 +2868,11 @@
@@ -2829,6 +2913,11 @@
let endBound = this.#rtlMode
? endEdge(this) - lastMovingTabScreen
: periphery[screenAxis] - 1 - lastMovingTabScreen;
@@ -467,7 +474,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
translate = Math.min(Math.max(translate, startBound), endBound);
// Center the tab under the cursor if the tab is not under the cursor while dragging
@@ -2979,6 +3062,8 @@
@@ -3018,6 +3107,8 @@
};
let dropElement = getOverlappedElement();
@@ -476,7 +483,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
let newDropElementIndex;
if (dropElement) {
@@ -3060,7 +3145,7 @@
@@ -3099,7 +3190,7 @@
? Services.prefs.getIntPref(
"browser.tabs.dragDrop.moveOverThresholdPercent"
) / 100
@@ -485,7 +492,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
moveOverThreshold = Math.min(1, Math.max(0, moveOverThreshold));
let shouldMoveOver = overlapPercent > moveOverThreshold;
if (logicalForward && shouldMoveOver) {
@@ -3093,6 +3178,7 @@
@@ -3132,6 +3223,7 @@
// If dragging a group over another group, don't make it look like it is
// possible to drop the dragged group inside the other group.
if (
@@ -493,7 +500,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
isTabGroupLabel(draggedTab) &&
dropElement?.group &&
(!dropElement.group.collapsed ||
@@ -3119,20 +3205,13 @@
@@ -3158,20 +3250,13 @@
let isOutOfBounds = isPinned
? dropElement.elementIndex >= numPinned
: dropElement.elementIndex < numPinned;
@@ -518,7 +525,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
let groupingDelay = Services.prefs.getIntPref(
"browser.tabs.dragDrop.createGroup.delayMS"
);
@@ -3140,6 +3219,7 @@
@@ -3179,6 +3264,7 @@
// When dragging tab(s) over an ungrouped tab, signal to the user
// that dropping the tab(s) will create a new tab group.
let shouldCreateGroupOnDrop =
@@ -526,7 +533,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
!movingTabsSet.has(dropElement) &&
isTab(dropElement) &&
!dropElement?.group &&
@@ -3148,6 +3228,7 @@
@@ -3187,6 +3273,7 @@
// When dragging tab(s) over a collapsed tab group label, signal to the
// user that dropping the tab(s) will add them to the group.
let shouldDropIntoCollapsedTabGroup =
@@ -534,7 +541,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
isTabGroupLabel(dropElement) &&
dropElement.group.collapsed &&
overlapPercent > dragOverGroupingThreshold;
@@ -3192,19 +3273,14 @@
@@ -3231,19 +3318,14 @@
dropElement = dropElementGroup;
colorCode = undefined;
} else if (isTabGroupLabel(dropElement)) {
@@ -562,7 +569,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
}
this.#setDragOverGroupColor(colorCode);
this.toggleAttribute("movingtab-addToGroup", colorCode);
@@ -3223,11 +3299,11 @@
@@ -3262,11 +3344,11 @@
dragData.dropElement = dropElement;
dragData.dropBefore = dropBefore;
dragData.animDropElementIndex = newDropElementIndex;
@@ -576,7 +583,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
continue;
}
@@ -3346,12 +3422,14 @@
@@ -3388,12 +3470,14 @@
element?.removeAttribute("dragover-groupTarget");
}
@@ -593,7 +600,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
for (let item of this.ariaFocusableItems) {
this.#resetGroupTarget(item);
@@ -3394,16 +3472,15 @@
@@ -3440,17 +3524,16 @@
tab.style.left = "";
tab.style.top = "";
tab.style.maxWidth = "";
@@ -607,12 +614,13 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
- label.style.height = "";
label.style.left = "";
label.style.top = "";
label.style.maxWidth = "";
- label.removeAttribute("dragtarget");
+ label.removeAttribute("zen-dragtarget");
}
let periphery = draggedTabDocument.getElementById(
"tabbrowser-arrowscrollbox-periphery"
@@ -3475,7 +3552,7 @@
@@ -3522,7 +3605,7 @@
let postTransitionCleanup = () => {
movingTab._moveTogetherSelectedTabsData.animate = false;
};
@@ -621,7 +629,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
postTransitionCleanup();
} else {
let onTransitionEnd = transitionendEvent => {
@@ -3639,7 +3716,7 @@
@@ -3686,7 +3769,7 @@
}
_notifyBackgroundTab(aTab) {
@@ -630,7 +638,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
return;
}
@@ -3748,7 +3825,10 @@
@@ -3795,7 +3878,10 @@
#getDragTarget(event, { ignoreSides = false } = {}) {
let { target } = event;
while (target) {
@@ -642,7 +650,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536
break;
}
target = target.parentNode;
@@ -3765,6 +3845,9 @@
@@ -3812,6 +3898,9 @@
return null;
}
}

View File

@@ -1,12 +1,20 @@
diff --git a/browser/components/urlbar/UrlbarController.sys.mjs b/browser/components/urlbar/UrlbarController.sys.mjs
index 36e3ab4a5a153230bb488b66dda7e3e7c763ca23..81f2944b939ac0963c129f86aab0b55817349401 100644
index a1faf7e4278c66865f267283515f22052769928d..297391205ab3cd96bed2e5a3e36a181c6da90098 100644
--- a/browser/components/urlbar/UrlbarController.sys.mjs
+++ b/browser/components/urlbar/UrlbarController.sys.mjs
@@ -434,6 +434,8 @@ export class UrlbarController {
@@ -297,7 +297,6 @@ export class UrlbarController {
const isMac = AppConstants.platform == "macosx";
// Handle readline/emacs-style navigation bindings on Mac.
if (
- isMac &&
this.view.isOpen &&
event.ctrlKey &&
(event.key == "n" || event.key == "p")
@@ -441,6 +440,8 @@ export class UrlbarController {
});
}
event.preventDefault();
+ } else {
+ } else if (!this.input.value && !(event.ctrlKey || event.altKey || event.shiftKey)) {
+ this.browserWindow.gZenUIManager.enableCommandsMode(event);
}
break;

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/urlbar/UrlbarInput.sys.mjs b/browser/components/urlbar/UrlbarInput.sys.mjs
index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079774eed27 100644
index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..e31ad41ab28b2be67c25c2efc75e9dd1acfd896f 100644
--- a/browser/components/urlbar/UrlbarInput.sys.mjs
+++ b/browser/components/urlbar/UrlbarInput.sys.mjs
@@ -74,6 +74,13 @@ ChromeUtils.defineLazyGetter(lazy, "logger", () =>
@@ -76,6 +76,13 @@ ChromeUtils.defineLazyGetter(lazy, "logger", () =>
lazy.UrlbarUtils.getLogger({ prefix: "Input" })
);
@@ -16,7 +16,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
const DEFAULT_FORM_HISTORY_NAME = "searchbar-history";
const UNLIMITED_MAX_RESULTS = 99;
@@ -355,7 +362,16 @@ export class UrlbarInput {
@@ -437,7 +444,16 @@ export class UrlbarInput {
// See _on_select(). HTMLInputElement.select() dispatches a "select"
// event but does not set the primary selection.
this._suppressPrimaryAdjustment = true;
@@ -33,7 +33,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
this._suppressPrimaryAdjustment = false;
}
@@ -431,6 +447,10 @@ export class UrlbarInput {
@@ -513,6 +529,10 @@ export class UrlbarInput {
hideSearchTerms = false,
isSameDocument = false
) {
@@ -41,10 +41,10 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
+ return;
+ }
+
// We only need to update the searchModeUI on tab switch conditionally
// as we only persist searchMode with ScotchBonnet enabled.
if (
@@ -703,8 +723,16 @@ export class UrlbarInput {
if (!this.isAddressbar) {
throw new Error(
"Cannot set URI for UrlbarInput that is not an address bar"
@@ -790,8 +810,16 @@ export class UrlbarInput {
return;
}
}
@@ -62,7 +62,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
}
/**
@@ -1116,7 +1144,11 @@ export class UrlbarInput {
@@ -1207,7 +1235,11 @@ export class UrlbarInput {
}
if (!this.#providesSearchMode(result)) {
@@ -75,11 +75,44 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
}
if (isCanonized) {
@@ -2205,6 +2237,12 @@ export class UrlbarInput {
@@ -2298,6 +2330,32 @@ export class UrlbarInput {
await this.#updateLayoutBreakoutDimensions();
}
+ zenFormatURLValue() {
+ return this.#lazy.valueFormatter._formatURL();
+ }
+
+ get zenUrlbarBehavior() {
+ if (this.document.documentElement.hasAttribute("inDOMFullscreen")) {
+ return "float";
+ }
+ return lazy.ZEN_URLBAR_BEHAVIOR;
+ }
+
+ get zenStrippedURI() {
+ let strippedURI = null;
+
+ // Error check occurs during isClipboardURIValid
+ let uri = this.window.gBrowser.currentURI;
+ try {
+ strippedURI = lazy.QueryStringStripper.stripForCopyOrShare(uri);
+ } catch (e) {
+ console.warn(`stripForCopyOrShare: ${e.message}`);
+ return [uri, lazy.ClipboardHelper];
+ }
+
+ return [strippedURI ? this.makeURIReadable(strippedURI) : uri, lazy.ClipboardHelper];
+ }
+
startLayoutExtend() {
if (!this.#allowBreakout || this.hasAttribute("breakout-extend")) {
// Do not expand if the Urlbar does not support being expanded or it is
@@ -2312,6 +2370,12 @@ export class UrlbarInput {
this.setAttribute("breakout-extend", "true");
+ if (lazy.ZEN_URLBAR_BEHAVIOR == 'float' || (lazy.ZEN_URLBAR_BEHAVIOR == 'floating-on-type' && !this.focusedViaMousedown)) {
+ if (this.zenUrlbarBehavior == 'float' || (this.zenUrlbarBehavior == 'floating-on-type' && !this.focusedViaMousedown)) {
+ this.setAttribute("zen-floating-urlbar", "true");
+ this.window.gZenUIManager.onFloatingURLBarOpen();
+ } else {
@@ -88,7 +121,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
// Enable the animation only after the first extend call to ensure it
// doesn't run when opening a new window.
if (!this.hasAttribute("breakout-extend-animate")) {
@@ -2224,6 +2262,24 @@ export class UrlbarInput {
@@ -2331,6 +2395,24 @@ export class UrlbarInput {
return;
}
@@ -113,7 +146,20 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
this.removeAttribute("breakout-extend");
this.#updateTextboxPosition();
}
@@ -2553,7 +2609,7 @@ export class UrlbarInput {
@@ -2595,10 +2677,12 @@ export class UrlbarInput {
return;
}
this.textbox.style.top = px(
+ this.window.gZenVerticalTabsManager._hasSetSingleToolbar ?
this.textbox.parentNode.getBoxQuads({
ignoreTransforms: true,
flush: false,
})[0].p1.y
+ : -5
);
}
@@ -2660,7 +2744,7 @@ export class UrlbarInput {
this.textbox.parentNode.style.setProperty(
"--urlbar-container-height",
@@ -122,7 +168,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
);
this.textbox.style.setProperty(
"--urlbar-height",
@@ -2986,6 +3042,7 @@ export class UrlbarInput {
@@ -3093,6 +3177,7 @@ export class UrlbarInput {
}
_toggleActionOverride(event) {
@@ -130,24 +176,24 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
if (
event.keyCode == KeyEvent.DOM_VK_SHIFT ||
event.keyCode == KeyEvent.DOM_VK_ALT ||
@@ -3087,7 +3144,7 @@ export class UrlbarInput {
*/
_trimValue(val) {
@@ -3197,7 +3282,7 @@ export class UrlbarInput {
return val;
}
let trimmedValue = lazy.UrlbarPrefs.get("trimURLs")
- ? lazy.BrowserUIUtils.trimURL(val)
+ ? this._zenTrimURL(val)
: val;
// Only trim value if the directionality doesn't change to RTL and we're not
// showing a strikeout https protocol.
@@ -3303,6 +3360,7 @@ export class UrlbarInput {
@@ -3501,6 +3586,7 @@ export class UrlbarInput {
resultDetails = null,
browser = this.window.gBrowser.selectedBrowser
) {
+ openUILinkWhere = this.window.gZenUIManager.getOpenUILinkWhere(url, browser, openUILinkWhere);
// No point in setting these because we'll handleRevert() a few rows below.
if (openUILinkWhere == "current") {
// Make sure URL is formatted properly (don't show punycode).
@@ -3455,6 +3513,10 @@ export class UrlbarInput {
if (this.isAddressbar) {
this.#prepareAddressbarLoad(
url,
@@ -3608,6 +3694,10 @@ export class UrlbarInput {
}
reuseEmpty = true;
}
@@ -158,7 +204,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
if (
where == "tab" &&
reuseEmpty &&
@@ -3462,6 +3524,9 @@ export class UrlbarInput {
@@ -3615,6 +3705,9 @@ export class UrlbarInput {
) {
where = "current";
}
@@ -168,7 +214,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
return where;
}
@@ -3719,6 +3784,7 @@ export class UrlbarInput {
@@ -3872,6 +3965,7 @@ export class UrlbarInput {
this.setResultForCurrentValue(null);
this.handleCommand();
this.controller.clearLastQueryContextCache();
@@ -176,7 +222,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
this._suppressStartQuery = false;
});
@@ -3726,7 +3792,6 @@ export class UrlbarInput {
@@ -3879,7 +3973,6 @@ export class UrlbarInput {
contextMenu.addEventListener("popupshowing", () => {
// Close the results pane when the input field contextual menu is open,
// because paste and go doesn't want a result selection.
@@ -184,7 +230,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
let controller =
this.document.commandDispatcher.getControllerForCommand("cmd_paste");
@@ -3836,7 +3901,11 @@ export class UrlbarInput {
@@ -3991,7 +4084,11 @@ export class UrlbarInput {
if (!engineName && !source && !this.hasAttribute("searchmode")) {
return;
}
@@ -194,10 +240,10 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
+ detail: { searchMode },
+ })
+ );
this._searchModeIndicatorTitle.textContent = "";
this._searchModeIndicatorTitle.removeAttribute("data-l10n-id");
@@ -4130,6 +4199,7 @@ export class UrlbarInput {
if (this._searchModeIndicatorTitle) {
this._searchModeIndicatorTitle.textContent = "";
this._searchModeIndicatorTitle.removeAttribute("data-l10n-id");
@@ -4302,6 +4399,7 @@ export class UrlbarInput {
this.document.l10n.setAttributes(
this.inputField,
@@ -205,7 +251,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
l10nId,
l10nId == "urlbar-placeholder-with-name" ? { name } : undefined
);
@@ -4241,6 +4311,11 @@ export class UrlbarInput {
@@ -4413,6 +4511,11 @@ export class UrlbarInput {
}
_on_click(event) {
@@ -217,7 +263,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
if (
event.target == this.inputField ||
event.target == this._inputContainer
@@ -4311,7 +4386,7 @@ export class UrlbarInput {
@@ -4485,7 +4588,7 @@ export class UrlbarInput {
}
}
@@ -226,7 +272,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
this.view.autoOpen({ event });
} else {
if (this._untrimOnFocusAfterKeydown) {
@@ -4351,9 +4426,16 @@ export class UrlbarInput {
@@ -4525,9 +4628,16 @@ export class UrlbarInput {
}
_on_mousedown(event) {
@@ -235,16 +281,16 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
case this.textbox: {
this._mousedownOnUrlbarDescendant = true;
+ const isProbablyFloating =
+ (lazy.ZEN_URLBAR_BEHAVIOR == "floating-on-type" &&
+ (this.zenUrlbarBehavior == "floating-on-type" &&
+ this.hasAttribute("breakout-extend") && !this.focusedViaMousedown) ||
+ (lazy.ZEN_URLBAR_BEHAVIOR == "float") || this.window.gZenVerticalTabsManager._hasSetSingleToolbar;
+ (this.zenUrlbarBehavior == "float") || this.window.gZenVerticalTabsManager._hasSetSingleToolbar;
+ if (event.type != "click" && isProbablyFloating || event.type == "click" && !isProbablyFloating) {
+ return true;
+ }
if (
event.target != this.inputField &&
@@ -4364,6 +4446,10 @@ export class UrlbarInput {
@@ -4538,6 +4648,10 @@ export class UrlbarInput {
this.focusedViaMousedown = !this.focused;
this._preventClickSelectsAll = this.focused;
@@ -255,7 +301,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
// Keep the focus status, since the attribute may be changed
// upon calling this.focus().
@@ -4399,7 +4485,7 @@ export class UrlbarInput {
@@ -4573,7 +4687,7 @@ export class UrlbarInput {
}
// Don't close the view when clicking on a tab; we may want to keep the
// view open on tab switch, and the TabSelect event arrived earlier.
@@ -264,7 +310,7 @@ index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..1dc520f63b240cccda7be074346d2079
break;
}
@@ -4716,7 +4802,7 @@ export class UrlbarInput {
@@ -4890,7 +5004,7 @@ export class UrlbarInput {
// When we are in actions search mode we can show more results so
// increase the limit.
let maxResults =

View File

@@ -1,16 +1,16 @@
diff --git a/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs b/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs
index cdc476a3eb2ee2cb6193d215513b65ed375f6153..bc66d9651e521bda75a3bb9e7f1e4b3bb325be90 100644
index 20be2dbbb8471aeb43a9bf77888c9858a0b61186..a9f974a78c5676d1340a3543852e4126c1d32b04 100644
--- a/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs
+++ b/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs
@@ -855,6 +855,7 @@ class MuxerUnifiedComplete extends UrlbarMuxer {
@@ -852,6 +852,7 @@ class MuxerUnifiedComplete extends UrlbarMuxer {
}
if (result.providerName == lazy.UrlbarProviderTabToSearch.name) {
if (result.providerName == "UrlbarProviderTabToSearch") {
+ return false;
// Discard the result if a tab-to-search result was added already.
if (!state.canAddTabToSearch) {
return false;
@@ -1501,7 +1502,9 @@ class MuxerUnifiedComplete extends UrlbarMuxer {
@@ -1498,7 +1499,9 @@ class MuxerUnifiedComplete extends UrlbarMuxer {
usedLimits.maxResultCount++;
}

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/urlbar/UrlbarPrefs.sys.mjs b/browser/components/urlbar/UrlbarPrefs.sys.mjs
index 3c179db3b310c43f8c6c06b1ecbcf5ed59feefe6..d9d2ce116ebcee8d403e165066c3a569bb952cd2 100644
index 46ad55519aecd6c14034a9faa91c7ad8e5c1c422..e8d9c06499a2b273483edd21faf902c936462b59 100644
--- a/browser/components/urlbar/UrlbarPrefs.sys.mjs
+++ b/browser/components/urlbar/UrlbarPrefs.sys.mjs
@@ -719,6 +719,7 @@ function makeResultGroups({ showSearchSuggestionsFirst }) {
@@ -731,6 +731,7 @@ function makeResultGroups({ showSearchSuggestionsFirst }) {
*/
let rootGroup = {
children: [

View File

@@ -1,13 +1,13 @@
diff --git a/browser/components/urlbar/UrlbarProviderPlaces.sys.mjs b/browser/components/urlbar/UrlbarProviderPlaces.sys.mjs
index ad971f090bdaba2865cf1fac2840b1f553d2630c..a9e676e43d35b617eebd5a67c8653397b7c0c6bf 100644
index b2c3bfa6fbe83fceb019196c210baaa7b4881372..02f2c8be89f163e16c5fd29f9b7e145e16ea53ed 100644
--- a/browser/components/urlbar/UrlbarProviderPlaces.sys.mjs
+++ b/browser/components/urlbar/UrlbarProviderPlaces.sys.mjs
@@ -40,11 +40,13 @@ function defaultQuery(conditions = "") {
@@ -44,11 +44,13 @@ function defaultQuery(conditions = "") {
let query = `
SELECT h.url, h.title, ${SQL_BOOKMARK_TAGS_FRAGMENT}, h.id, t.open_count,
${lazy.PAGES_FRECENCY_FIELD} AS frecency, t.userContextId,
- h.last_visit_date, t.groupId
+ h.last_visit_date, t.groupId, zp.url AS pinned_url, zp.title AS pinned_title
- h.last_visit_date, NULLIF(t.groupId, '') groupId
+ h.last_visit_date, NULLIF(t.groupId, '') groupId, zp.url AS pinned_url, zp.title AS pinned_title
FROM moz_places h
LEFT JOIN moz_openpages_temp t
ON t.url = h.url
@@ -17,7 +17,7 @@ index ad971f090bdaba2865cf1fac2840b1f553d2630c..a9e676e43d35b617eebd5a67c8653397
WHERE (
(:switchTabsEnabled AND t.open_count > 0) OR
${lazy.PAGES_FRECENCY_FIELD} <> 0
@@ -58,7 +60,7 @@ function defaultQuery(conditions = "") {
@@ -62,7 +64,7 @@ function defaultQuery(conditions = "") {
:matchBehavior, :searchBehavior, NULL)
ELSE
AUTOCOMPLETE_MATCH(:searchString, h.url,
@@ -26,7 +26,7 @@ index ad971f090bdaba2865cf1fac2840b1f553d2630c..a9e676e43d35b617eebd5a67c8653397
h.visit_count, h.typed,
0, t.open_count,
:matchBehavior, :searchBehavior, NULL)
@@ -1116,11 +1118,13 @@ Search.prototype = {
@@ -1120,11 +1122,13 @@ Search.prototype = {
? lazy.PlacesUtils.toDate(lastVisitPRTime).getTime()
: undefined;
let tabGroup = row.getResultByName("groupId");

View File

@@ -0,0 +1,12 @@
diff --git a/browser/components/urlbar/UrlbarProvidersManager.sys.mjs b/browser/components/urlbar/UrlbarProvidersManager.sys.mjs
index ece407214669009e263b507b5236ab28da33efe9..8f22426295e2b001438918f44d2c22ed7a697c2f 100644
--- a/browser/components/urlbar/UrlbarProvidersManager.sys.mjs
+++ b/browser/components/urlbar/UrlbarProvidersManager.sys.mjs
@@ -845,6 +845,7 @@ export class Query {
if (
result.heuristic &&
this.context.searchMode &&
+ !(this.context.searchMode.source === lazy.UrlbarUtils.RESULT_SOURCE.ZEN_ACTIONS && result.payload?.zenAction) &&
(!this.context.trimmedSearchString ||
(!this.context.searchMode.engineName && !result.autofill))
) {

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/urlbar/UrlbarUtils.sys.mjs b/browser/components/urlbar/UrlbarUtils.sys.mjs
index 0bc15c02f56dd8f46a21fed02b4e21a741f27f41..40da868f68f21d8411107fb8a95e2d0b74337b51 100644
index f38e860e46fa979b3e0c66ecd3eb88a64df60fc1..d130bbc7488ff3de926823974a1df13dc8e61fbc 100644
--- a/browser/components/urlbar/UrlbarUtils.sys.mjs
+++ b/browser/components/urlbar/UrlbarUtils.sys.mjs
@@ -75,6 +75,7 @@ export var UrlbarUtils = {
@@ -74,6 +74,7 @@ export var UrlbarUtils = {
RESTRICT_SEARCH_KEYWORD: "restrictSearchKeyword",
SUGGESTED_INDEX: "suggestedIndex",
TAIL_SUGGESTION: "tailSuggestion",
@@ -10,7 +10,7 @@ index 0bc15c02f56dd8f46a21fed02b4e21a741f27f41..40da868f68f21d8411107fb8a95e2d0b
}),
// Defines provider types.
@@ -134,6 +135,7 @@ export var UrlbarUtils = {
@@ -133,6 +134,7 @@ export var UrlbarUtils = {
OTHER_NETWORK: 6,
ADDON: 7,
ACTIONS: 8,
@@ -18,12 +18,12 @@ index 0bc15c02f56dd8f46a21fed02b4e21a741f27f41..40da868f68f21d8411107fb8a95e2d0b
}),
// Per-result exposure telemetry.
@@ -553,6 +555,8 @@ export var UrlbarUtils = {
return this.RESULT_GROUP.HEURISTIC_SEARCH_TIP;
case "HistoryUrlHeuristic":
@@ -544,6 +546,8 @@ export var UrlbarUtils = {
return this.RESULT_GROUP.HEURISTIC_FALLBACK;
case "UrlbarProviderHistoryUrlHeuristic":
return this.RESULT_GROUP.HEURISTIC_HISTORY_URL;
+ case "ZenUrlbarProviderGlobalActions":
+ return this.RESULT_GROUP.ZEN_ACTION;
default:
if (result.providerName.startsWith("TestProvider")) {
return this.RESULT_GROUP.HEURISTIC_TEST;
case "UrlbarProviderOmnibox":
return this.RESULT_GROUP.HEURISTIC_OMNIBOX;
case "UrlbarProviderRestrictKeywordsAutofill":

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/urlbar/UrlbarValueFormatter.sys.mjs b/browser/components/urlbar/UrlbarValueFormatter.sys.mjs
index dfa91b76ad3890ceadb1b1b5d7a63b7074fbb776..6369fa1cdb242de32338bbce6debcdab2a04ca02 100644
index 50961e4beb75012ef0ed6f261a95854712cc69d7..93bcfca9270ff34dbe6386789fdae6066457438d 100644
--- a/browser/components/urlbar/UrlbarValueFormatter.sys.mjs
+++ b/browser/components/urlbar/UrlbarValueFormatter.sys.mjs
@@ -585,6 +585,7 @@ export class UrlbarValueFormatter {

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/urlbar/UrlbarView.sys.mjs b/browser/components/urlbar/UrlbarView.sys.mjs
index fdbab8806fd320f4aacec46a42c8ef953580d00c..031a615ad09274c578184b129434bbd93b49353d 100644
index b3c7c8a995226e2cbe852d82515f9bc7077980e7..4c8611556f7f71e5f8860787ed1db9b50b9fa2e8 100644
--- a/browser/components/urlbar/UrlbarView.sys.mjs
+++ b/browser/components/urlbar/UrlbarView.sys.mjs
@@ -613,7 +613,7 @@ export class UrlbarView {
@@ -620,7 +620,7 @@ export class UrlbarView {
!this.input.value ||
this.input.getAttribute("pageproxystate") == "valid"
) {
@@ -11,7 +11,7 @@ index fdbab8806fd320f4aacec46a42c8ef953580d00c..031a615ad09274c578184b129434bbd9
// Try to reuse the cached top-sites context. If it's not cached, then
// there will be a gap of time between when the input is focused and
// when the view opens that can be perceived as flicker.
@@ -2706,6 +2706,8 @@ export class UrlbarView {
@@ -2734,6 +2734,8 @@ export class UrlbarView {
if (row?.hasAttribute("row-selectable")) {
row?.toggleAttribute("selected", true);
}
@@ -20,12 +20,12 @@ index fdbab8806fd320f4aacec46a42c8ef953580d00c..031a615ad09274c578184b129434bbd9
if (element != row) {
row?.toggleAttribute("descendant-selected", true);
}
@@ -3189,7 +3191,7 @@ export class UrlbarView {
@@ -3215,7 +3217,7 @@ export class UrlbarView {
}
#enableOrDisableRowWrap() {
- let wrap = getBoundsWithoutFlushing(this.input.textbox).width < 650;
+ let wrap = false;
this.#rows.toggleAttribute("wrap", wrap);
this.oneOffSearchButtons.container.toggleAttribute("wrap", wrap);
this.oneOffSearchButtons?.container.toggleAttribute("wrap", wrap);
}

View File

@@ -1,8 +1,8 @@
diff --git a/browser/extensions/newtab/lib/ActivityStream.sys.mjs b/browser/extensions/newtab/lib/ActivityStream.sys.mjs
index 1a482b6de24468ccfec069586f374937d8ef68dd..8614beda3fdfc038092f31f11b2604d5cfb843a1 100644
index 6207e6c8aa1e303ec151bc1e5c51c277ef776ee6..d3783a3c459c94880be1c95dc265a7d4887f67a1 100644
--- a/browser/extensions/newtab/lib/ActivityStream.sys.mjs
+++ b/browser/extensions/newtab/lib/ActivityStream.sys.mjs
@@ -248,7 +248,7 @@ export const PREFS_CONFIG = new Map([
@@ -223,7 +223,7 @@ export const PREFS_CONFIG = new Map([
"showSponsoredTopSites",
{
title: "Show sponsored top sites",

View File

@@ -1,8 +1,8 @@
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
index 70f268914f1078ef45e86d295f4bb2ce179a05e0..73d8ffc4457468e8a57ad2c29e4d49f45436bf00 100644
index b884f0167e5de87a45cf523436ceaceb710d35ae..eedc80278a5c93f81ce90c0d6198924549c07fc3 100644
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -361,17 +361,17 @@ bin/libfreebl_64int_3.so
@@ -362,17 +362,17 @@ bin/libfreebl_64int_3.so
; [MaintenanceService]
;
#ifdef MOZ_MAINTENANCE_SERVICE

View File

@@ -1,16 +0,0 @@
diff --git a/browser/themes/BuiltInThemeConfig.sys.mjs b/browser/themes/BuiltInThemeConfig.sys.mjs
index 28b254d5757caf35c4ba755ef4cfed44bab5af00..660f517e0e3342970c6e30837fcf4d0adf360777 100644
--- a/browser/themes/BuiltInThemeConfig.sys.mjs
+++ b/browser/themes/BuiltInThemeConfig.sys.mjs
@@ -33,11 +33,4 @@ export const BuiltInThemeConfig = new Map([
path: "resource://builtin-themes/dark/",
},
],
- [
- "firefox-alpenglow@mozilla.org",
- {
- version: "1.5",
- path: "resource://builtin-themes/alpenglow/",
- },
- ],
]);

View File

@@ -1,8 +1,16 @@
diff --git a/browser/themes/linux/browser.css b/browser/themes/linux/browser.css
index 9723a8199cc5b8d25bb92c46992792b8c94a3565..302f5b675abd1970e64f56a5a4592bb174f9a72a 100644
index b0ec88f361399cea255ef8fb6c7f2b87779a8e04..5b0d0bd663c309be3ddd0e946e1681b66938ee4d 100644
--- a/browser/themes/linux/browser.css
+++ b/browser/themes/linux/browser.css
@@ -43,7 +43,8 @@
@@ -14,7 +14,6 @@
@media (-moz-gtk-theme-family) {
--tabs-navbar-separator-style: none;
@media (prefers-color-scheme: light) {
- --urlbar-box-bgcolor: #fafafa;
}
}
}
@@ -43,7 +42,8 @@
-moz-default-appearance: -moz-window-decorations;
appearance: auto;
@@ -12,7 +20,7 @@ index 9723a8199cc5b8d25bb92c46992792b8c94a3565..302f5b675abd1970e64f56a5a4592bb1
dialog::backdrop {
border-top-left-radius: env(-moz-gtk-csd-titlebar-radius);
border-top-right-radius: env(-moz-gtk-csd-titlebar-radius);
@@ -51,13 +52,11 @@
@@ -51,13 +51,11 @@
/* stylelint-disable-next-line media-query-no-invalid */
@media -moz-pref("widget.gtk.rounded-bottom-corners.enabled") {

View File

@@ -1,5 +1,5 @@
diff --git a/browser/themes/osx/browser.css b/browser/themes/osx/browser.css
index c209151370225d8efade7c51aea30ce7365e5f4f..4dd5cf4a98ea010b2d347ac0ba7314ae81320e75 100644
index b1062108c6f6174a680e9b235ee9cb2037f94924..31aac7bdee4ebb07e9de58e7c3e5e6833c94e968 100644
--- a/browser/themes/osx/browser.css
+++ b/browser/themes/osx/browser.css
@@ -38,7 +38,7 @@

View File

@@ -1,8 +1,8 @@
diff --git a/browser/themes/shared/browser-shared.css b/browser/themes/shared/browser-shared.css
index c612e7d021122e3e4823994071cd613563d3e12e..682d7a47624460ce33e8fcb5ff9c995f3413bab2 100644
index c77a0e6388c4061d9e6ee5f396a3e3af8867e4fe..3da164d2414e8726675ac0184310c9363365387f 100644
--- a/browser/themes/shared/browser-shared.css
+++ b/browser/themes/shared/browser-shared.css
@@ -99,7 +99,7 @@ body {
@@ -102,7 +102,7 @@ body {
--toolbarbutton-border-radius: 4px;
--identity-box-margin-inline: 4px;
--urlbar-min-height: max(32px, 1.4em);
@@ -11,7 +11,7 @@ index c612e7d021122e3e4823994071cd613563d3e12e..682d7a47624460ce33e8fcb5ff9c995f
/* This should be used for icons and chiclets inside the input field. It makes
the gap around them more uniform when they are close to the field edges */
@@ -167,8 +167,6 @@ body {
@@ -170,8 +170,6 @@ body {
*/
&.fullscreen-with-menubar {
z-index: var(--browser-area-z-index-toolbox-while-animating);
@@ -20,3 +20,19 @@ index c612e7d021122e3e4823994071cd613563d3e12e..682d7a47624460ce33e8fcb5ff9c995f
}
/* Themes define a set of toolbox foreground and background colors which we
@@ -281,13 +279,13 @@ body {
@media (-moz-platform: macos) and (not (-moz-mac-rtl)) {
&:-moz-locale-dir(ltr) {
- order: -1;
+ order: -2;
}
}
@media (-moz-mac-rtl) {
&:-moz-locale-dir(rtl) {
- order: -1;
+ order: -2;
}
}

View File

@@ -1,17 +1,22 @@
diff --git a/browser/themes/shared/identity-block/identity-block.css b/browser/themes/shared/identity-block/identity-block.css
index 8edca63dc52ec207475ed9965559d28c06e27971..884343473857c6b6256922d47085fac6eabe74fb 100644
index 8edca63dc52ec207475ed9965559d28c06e27971..a5a949be1868af5d0bb04747a9f5b737c00ae49c 100644
--- a/browser/themes/shared/identity-block/identity-block.css
+++ b/browser/themes/shared/identity-block/identity-block.css
@@ -83,7 +83,7 @@
@@ -81,13 +81,6 @@
}
}
#identity-box[pageproxystate="valid"]:is(.notSecureText, .chromeUI, .extensionPage) > .identity-box-button,
#urlbar-label-box {
-#identity-box[pageproxystate="valid"]:is(.notSecureText, .chromeUI, .extensionPage) > .identity-box-button,
-#urlbar-label-box {
- background-color: var(--urlbar-box-bgcolor);
+ background-color: transparent;
color: var(--urlbar-box-text-color);
padding-inline: 8px;
border-radius: var(--urlbar-icon-border-radius);
@@ -178,16 +178,17 @@
- color: var(--urlbar-box-text-color);
- padding-inline: 8px;
- border-radius: var(--urlbar-icon-border-radius);
-}
#urlbar[focused] {
#identity-box[pageproxystate="valid"]:is(.notSecureText, .chromeUI, .extensionPage) > .identity-box-button:not(:hover, [open]),
@@ -178,16 +171,17 @@
}
#identity-icon {

View File

@@ -1,11 +1,11 @@
diff --git a/browser/themes/shared/jar.inc.mn b/browser/themes/shared/jar.inc.mn
index bc47c162cd4792c7df17565014aac1c2258c6d40..21c0b7ddb04cbb828c758dad34885f91c1ddde6c 100644
index 94036d036a64c8845c02d4ffbcf3f99b5d88576e..2ab3f060c9952f1b0c7bee3d5c3a1d7035e6736a 100644
--- a/browser/themes/shared/jar.inc.mn
+++ b/browser/themes/shared/jar.inc.mn
@@ -316,3 +316,5 @@
skin/classic/browser/weather/night-mostly-cloudy-with-flurries.svg (../shared/weather/night-mostly-cloudy-with-flurries.svg)
skin/classic/browser/illustrations/market-opt-in.svg (../shared/illustrations/market-opt-in.svg)
skin/classic/browser/illustrations/yelpRealtime-opt-in.svg (../shared/illustrations/yelpRealtime-opt-in.svg)
+
+#include zen-sources.inc.mn
\ No newline at end of file

View File

@@ -156,38 +156,6 @@ groupbox h2 {
margin-bottom: 15px;
}
#zen-compact-mode-styles-form {
display: flex;
justify-content: space-between;
gap: var(--space-large);
margin-top: 5px;
& .web-appearance-choice-image-container {
display: flex;
justify-content: center;
align-items: center;
padding: 20px 0;
background: color-mix(in srgb, var(--zen-colors-tertiary) 50%, transparent 50%);
}
}
@media -moz-pref('zen.view.use-single-toolbar') {
#zen-compact-mode-styles-form {
display: none;
}
}
#zen-expand-tabbar-strat {
display: flex;
flex-direction: column;
}
#zen-expand-tabbar-strat > hbox {
margin-top: 10px;
}
#category-zen-looks > .category-icon {
list-style-image: url('chrome://browser/skin/customize.svg');
}

View File

@@ -1,5 +1,5 @@
diff --git a/browser/themes/shared/tabbrowser/content-area.css b/browser/themes/shared/tabbrowser/content-area.css
index 44f6c942f2e4b08f784b2ff96f785e9beed01ecd..834e174186972c3297a552bbd579f0ea1261c19e 100644
index e06addf1602dc26ff4e75a8db6251231690f3f80..86e2cd0194bb37fa140a2f93eccfdd61419a9aec 100644
--- a/browser/themes/shared/tabbrowser/content-area.css
+++ b/browser/themes/shared/tabbrowser/content-area.css
@@ -276,7 +276,7 @@

View File

@@ -1,5 +1,5 @@
diff --git a/browser/themes/shared/tabbrowser/tabs.css b/browser/themes/shared/tabbrowser/tabs.css
index 07574cdd974f63b90355f069f0fbc3fa6cd61b50..c650da2adf0d1a53b05a09d1b43fa5f52d78a307 100644
index 8a7499426a718a56c74daea562a50de20db706e7..7ee8d7e0bd98733341e1da0d2ff965d85fc4c91a 100644
--- a/browser/themes/shared/tabbrowser/tabs.css
+++ b/browser/themes/shared/tabbrowser/tabs.css
@@ -21,7 +21,7 @@
@@ -102,7 +102,7 @@ index 07574cdd974f63b90355f069f0fbc3fa6cd61b50..c650da2adf0d1a53b05a09d1b43fa5f5
&:is([soundplaying], [muted], [activemedia-blocked]) {
display: flex;
}
@@ -1137,7 +1130,7 @@ tab-group {
@@ -1226,7 +1219,7 @@ tab-group {
}
#tabbrowser-tabs[orient="vertical"][expanded] {
@@ -111,7 +111,7 @@ index 07574cdd974f63b90355f069f0fbc3fa6cd61b50..c650da2adf0d1a53b05a09d1b43fa5f5
&[movingtab][movingtab-addToGroup]:not([movingtab-group], [movingtab-ungroup]) .tabbrowser-tab:is(:active, [multiselected]) {
margin-inline-start: var(--space-medium);
}
@@ -1567,7 +1560,7 @@ tab-group {
@@ -1685,7 +1678,7 @@ tab-group {
}
}
@@ -120,7 +120,7 @@ index 07574cdd974f63b90355f069f0fbc3fa6cd61b50..c650da2adf0d1a53b05a09d1b43fa5f5
#vertical-tabs-newtab-button {
appearance: none;
min-height: var(--tab-min-height);
@@ -1578,7 +1571,7 @@ tab-group {
@@ -1696,7 +1689,7 @@ tab-group {
margin-inline: var(--tab-inner-inline-margin);
#tabbrowser-tabs[orient="vertical"]:not([expanded]) & > .toolbarbutton-text {
@@ -129,7 +129,7 @@ index 07574cdd974f63b90355f069f0fbc3fa6cd61b50..c650da2adf0d1a53b05a09d1b43fa5f5
}
&:hover {
@@ -1602,7 +1595,7 @@ tab-group {
@@ -1720,7 +1713,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.
*/
@@ -138,7 +138,7 @@ index 07574cdd974f63b90355f069f0fbc3fa6cd61b50..c650da2adf0d1a53b05a09d1b43fa5f5
margin-block: var(--tab-block-margin);
}
@@ -1793,7 +1786,6 @@ tab-group {
@@ -1913,7 +1906,6 @@ tab-group {
&:not([expanded]) {
.tabbrowser-tab[pinned] {
@@ -146,7 +146,7 @@ index 07574cdd974f63b90355f069f0fbc3fa6cd61b50..c650da2adf0d1a53b05a09d1b43fa5f5
}
.tab-background {
@@ -1833,8 +1825,8 @@ tab-group {
@@ -1953,8 +1945,8 @@ tab-group {
display: block;
position: absolute;
inset: auto;
@@ -157,7 +157,7 @@ index 07574cdd974f63b90355f069f0fbc3fa6cd61b50..c650da2adf0d1a53b05a09d1b43fa5f5
&:-moz-window-inactive {
background-image:
@@ -1953,7 +1945,6 @@ toolbar:not(#TabsToolbar) #firefox-view-button {
@@ -2073,7 +2065,6 @@ toolbar:not(#TabsToolbar) #firefox-view-button {
list-style-image: url(chrome://global/skin/icons/plus.svg);
}

View File

@@ -1,8 +1,8 @@
diff --git a/browser/themes/shared/toolbarbuttons.css b/browser/themes/shared/toolbarbuttons.css
index e7b1c17391ffae02226015d0dd8bbe8eca29731f..938a8cb8c3d854a75fe300db2a7330d188c9ed6f 100644
index e2b8a7cae70ed2bd3c80ee4214a09dbdb68a0d01..71320c7268d92aaa06bfa15c74bdbf02f1442745 100644
--- a/browser/themes/shared/toolbarbuttons.css
+++ b/browser/themes/shared/toolbarbuttons.css
@@ -256,7 +256,7 @@ toolbar .toolbaritem-combined-buttons > separator {
@@ -279,7 +279,7 @@ toolbar .toolbaritem-combined-buttons {
#nav-bar-overflow-button {
list-style-image: url("chrome://global/skin/icons/chevron.svg");
@@ -11,7 +11,7 @@ index e7b1c17391ffae02226015d0dd8bbe8eca29731f..938a8cb8c3d854a75fe300db2a7330d1
display: none;
}
@@ -466,7 +466,7 @@ toolbarbutton.bookmark-item:not(.subviewbutton) {
@@ -489,7 +489,7 @@ toolbarbutton.bookmark-item:not(.subviewbutton) {
*/
align-items: stretch;
> .toolbarbutton-icon {

View File

@@ -1,5 +1,5 @@
diff --git a/browser/themes/shared/urlbar-searchbar.css b/browser/themes/shared/urlbar-searchbar.css
index 11636a976736ba56dcc5a58081cee998bbdf58d4..0a6ca26f25511c799d8b40484b6bd1c81ceeb4e0 100644
index 1744e627bbcfc69ccccb207ad1cbf0c262afb9be..50cc9da2076d946771fb5aca1402f1cbe6a531c8 100644
--- a/browser/themes/shared/urlbar-searchbar.css
+++ b/browser/themes/shared/urlbar-searchbar.css
@@ -6,7 +6,7 @@
@@ -11,7 +11,7 @@ index 11636a976736ba56dcc5a58081cee998bbdf58d4..0a6ca26f25511c799d8b40484b6bd1c8
--urlbar-margin-inline: 5px;
--urlbar-padding-block: 4px;
@@ -33,7 +33,7 @@
@@ -48,7 +48,7 @@
#urlbar[usertyping] > .urlbar-input-container > #page-action-buttons > #urlbar-zoom-button,
.urlbar:is(:not([usertyping]), :not([focused])) > .urlbar-input-container > .urlbar-go-button,
.urlbar-revert-button-container {
@@ -20,7 +20,7 @@ index 11636a976736ba56dcc5a58081cee998bbdf58d4..0a6ca26f25511c799d8b40484b6bd1c8
}
/* When rich suggestions are enabled the urlbar identity icon is given extra padding to
@@ -307,10 +307,14 @@
@@ -321,10 +321,14 @@
.urlbar[breakout][breakout-extend] {
height: auto;

View File

@@ -1,5 +1,5 @@
diff --git a/browser/themes/shared/urlbarView.css b/browser/themes/shared/urlbarView.css
index 743b1bc81474378ac994ca9cfeb8f4cc6b434581..3486cebd74efa2df481d2a112e89b219bd6bb8a2 100644
index ec849fc792572e75d12b9e7cd7e6b7f32c799fa9..17c7d442854b774817ef5b3b96e732c19bebef9d 100644
--- a/browser/themes/shared/urlbarView.css
+++ b/browser/themes/shared/urlbarView.css
@@ -20,7 +20,7 @@

View File

@@ -40,22 +40,30 @@
list-style-image: url('trash.svg');
}
.reset-icon {
list-style-image: url('reload.svg') !important;
}
.tab-reset-button,
#PanelUI-zen-gradient-generator-color-remove {
list-style-image: url('unpin.svg') !important;
}
.tab-reset-button {
list-style-image: url('unpin.svg');
@media (-moz-pref('zen.pinned-tab-manager.close-shortcut-behavior', 'close')) {
list-style-image: url('close.svg');
}
}
#sidebar-button {
list-style-image: url('sidebars-right.svg') !important;
}
#sidebar-button:-moz-locale-dir(ltr):not([positionend]),
#sidebar-button:-moz-locale-dir(rtl)[positionend] {
list-style-image: url('chrome://browser/skin/sidebars.svg') !important;
#sidebar-button:-moz-locale-dir(rtl)[positionend],
#zen-toggle-compact-mode {
list-style-image: url('sidebar.svg') !important;
:root[zen-right-side='true'] & {
list-style-image: url('sidebar-right.svg') !important;
}
}
#downloads-button,
@@ -74,7 +82,8 @@
}
#appMenu-zoom-controls,
#PanelUI-zen-gradient-generator-color-add {
#PanelUI-zen-gradient-generator-color-add,
#zen-site-data-new-addon-button {
list-style-image: url('plus.svg') !important;
}
@@ -96,6 +105,14 @@
#nav-bar-overflow-button {
list-style-image: url('chevron.svg') !important;
/* On macos, we don't display the app menu, meaning
* we can re-use the menu icon for the overflow button.
* Which is more intuitive for users and looks better.
*/
@media (-moz-platform: macos) {
list-style-image: url('menu.svg') !important;
}
}
#zen-rice-share-options .options-header,
@@ -116,7 +133,8 @@
#sync-button,
.urlbarView-row[source='tabs'] > .urlbarView-row-inner > .urlbarView-no-wrap > .urlbarView-favicon,
#urlbar-engine-one-off-item-tabs {
#urlbar-engine-one-off-item-tabs,
#zen-open-background-tab-button {
list-style-image: url('tab.svg') !important;
}
@@ -160,8 +178,7 @@
list-style-image: url('search-page.svg') !important;
}
#open-file-button,
#zen-open-background-tab-button {
#open-file-button {
list-style-image: url('open.svg') !important;
}
@@ -402,12 +419,12 @@
list-style-image: url('arrow-left.svg') !important;
}
#overflowMenu-customize-button,
#appmenu-moreTools-button {
list-style-image: url('customize.svg') !important;
}
#zen-copy-current-url-button {
#zen-copy-current-url-button,
#zen-site-data-header-share {
list-style-image: url('share.svg');
}
@@ -415,12 +432,14 @@
list-style-image: url('folder.svg') !important;
}
#zen-site-data-header-bookmark,
#pageAction-panel-bookmark,
#star-button,
#zen-bookmark-button {
list-style-image: url('bookmark-hollow.svg') !important;
}
#zen-site-data-header-bookmark.active,
#pageAction-panel-bookmark[starred],
#star-button[starred] {
list-style-image: url('bookmark.svg') !important;
@@ -466,8 +485,28 @@
}
/* permissions */
#permissions-granted-icon {
list-style-image: url('permissions.svg') !important;
#zen-site-data-icon-button {
display: flex !important;
}
#identity-permission-box,
#identity-box:not([pageproxystate='invalid']) #identity-icon-box:not([open]),
#identity-box[pageproxystate='invalid'] #zen-site-data-icon-button {
display: none !important;
}
#zen-site-data-icon-button {
padding: 0 6px;
& image {
list-style-image: url('permissions.svg');
-moz-context-properties: fill, fill-opacity;
pointer-events: none;
}
&[open] image {
list-style-image: url('permissions-fill.svg');
}
}
.geo-icon {
@@ -495,7 +534,8 @@
list-style-image: url('desktop-notification-blocked.svg') !important;
}
.camera-icon {
.camera-icon,
#zen-site-data-header-screenshot {
list-style-image: url('camera.svg') !important;
}
@@ -569,6 +609,46 @@
list-style-image: url('extension-blocked.svg') !important;
}
.permission-popup-permission-item {
list-style-image: url('settings-fill.svg') !important;
}
.permission-popup-permission-item-geo {
list-style-image: url('geo-fill.svg') !important;
}
.permission-popup-permission-item-xr {
list-style-image: url('xr-fill.svg') !important;
}
.permission-popup-permission-item-desktop-notification {
list-style-image: url('desktop-notification-fill.svg') !important;
}
.permission-popup-permission-item-camera {
list-style-image: url('camera-fill.svg') !important;
}
.permission-popup-permission-item-microphone {
list-style-image: url('microphone-fill.svg') !important;
}
.permission-popup-permission-item-screen {
list-style-image: url('screen.svg') !important;
}
.permission-popup-permission-item-persistent-storage {
list-style-image: url('persistent-storage-fill.svg') !important;
}
.permission-popup-permission-item-popup {
list-style-image: url('popup-fill.svg') !important;
}
.permission-popup-permission-item-autoplay-media {
list-style-image: url('autoplay-media-fill.svg') !important;
}
.zen-permission-shield-icon {
list-style-image: url('tracking-protection-fill.svg');
}
.zen-permission-extension-icon {
list-style-image: url('extension-fill.svg');
}
.zen-permission-cookie-icon {
list-style-image: url('cookies-fill.svg');
}
/* tab sound icons */
.tab-icon-overlay[soundplaying] {
list-style-image: url('tab-audio-playing-small.svg') !important;
@@ -582,23 +662,8 @@
list-style-image: url('tab-audio-blocked-small.svg') !important;
}
/* reload/stop animation */
#stop-reload-button[animate]
> #reload-button[displaystop]
+ #stop-button
> .toolbarbutton-animatable-box
> .toolbarbutton-animatable-image {
background-image: url('reload-to-stop.svg') !important;
}
#stop-reload-button[animate]
> #reload-button
> .toolbarbutton-animatable-box
> .toolbarbutton-animatable-image {
background-image: url('stop-to-reload.svg') !important;
}
#reader-mode-button > .urlbar-icon {
#reader-mode-button > .urlbar-icon,
#zen-site-data-header-reader-mode {
list-style-image: url('reader-mode.svg') !important;
}
@@ -811,3 +876,63 @@
-moz-context-properties: fill;
fill: currentColor;
}
#zen-site-data-security-info {
-moz-context-properties: fill, fill-opacity;
fill: currentColor;
appearance: none;
border-radius: 6px;
padding: 6px 10px 6px 8px;
&[identity='secure'] {
list-style-image: url('security.svg');
}
&[identity='not-secure'] {
list-style-image: url('security-broken.svg');
}
&[identity='extension'] {
list-style-image: url('extension.svg');
}
&:not([identity='secure']) * {
color: light-dark(var(--color-red-70), var(--color-red-30));
}
& .toolbarbutton-text {
font-weight: 600;
padding-inline-start: 4px !important;
}
& .toolbarbutton-icon {
width: 16px;
}
& > * {
opacity: 0.8;
}
}
#zen-site-data-actions {
-moz-context-properties: fill, fill-opacity;
fill: currentColor;
appearance: none;
width: 30px;
height: 30px;
border-radius: 99px;
margin-left: auto !important;
list-style-image: url('menu.svg');
justify-content: center;
align-items: center;
padding: 0;
& label {
display: none;
}
}
#zen-copy-url-button image {
list-style-image: url('link.svg');
fill-opacity: 0.7;
}

View File

@@ -11,12 +11,14 @@
* skin/classic/browser/zen-icons/arrow-up.svg (../shared/zen-icons/lin/arrow-up.svg)
* skin/classic/browser/zen-icons/audio-save.svg (../shared/zen-icons/lin/audio-save.svg)
* skin/classic/browser/zen-icons/autoplay-media-blocked.svg (../shared/zen-icons/lin/autoplay-media-blocked.svg)
* skin/classic/browser/zen-icons/autoplay-media-fill.svg (../shared/zen-icons/lin/autoplay-media-fill.svg)
* skin/classic/browser/zen-icons/autoplay-media.svg (../shared/zen-icons/lin/autoplay-media.svg)
* skin/classic/browser/zen-icons/back.svg (../shared/zen-icons/lin/back.svg)
* skin/classic/browser/zen-icons/bookmark-hollow.svg (../shared/zen-icons/lin/bookmark-hollow.svg)
* skin/classic/browser/zen-icons/bookmark-star-on-tray.svg (../shared/zen-icons/lin/bookmark-star-on-tray.svg)
* skin/classic/browser/zen-icons/bookmark.svg (../shared/zen-icons/lin/bookmark.svg)
* skin/classic/browser/zen-icons/camera-blocked.svg (../shared/zen-icons/lin/camera-blocked.svg)
* skin/classic/browser/zen-icons/camera-fill.svg (../shared/zen-icons/lin/camera-fill.svg)
* skin/classic/browser/zen-icons/camera.svg (../shared/zen-icons/lin/camera.svg)
* skin/classic/browser/zen-icons/canvas-blocked.svg (../shared/zen-icons/lin/canvas-blocked.svg)
* skin/classic/browser/zen-icons/canvas.svg (../shared/zen-icons/lin/canvas.svg)
@@ -25,8 +27,10 @@
* skin/classic/browser/zen-icons/close-all.svg (../shared/zen-icons/lin/close-all.svg)
* skin/classic/browser/zen-icons/close.svg (../shared/zen-icons/lin/close.svg)
* skin/classic/browser/zen-icons/container-tab.svg (../shared/zen-icons/lin/container-tab.svg)
* skin/classic/browser/zen-icons/cookies-fill.svg (../shared/zen-icons/lin/cookies-fill.svg)
* skin/classic/browser/zen-icons/customize.svg (../shared/zen-icons/lin/customize.svg)
* skin/classic/browser/zen-icons/desktop-notification-blocked.svg (../shared/zen-icons/lin/desktop-notification-blocked.svg)
* skin/classic/browser/zen-icons/desktop-notification-fill.svg (../shared/zen-icons/lin/desktop-notification-fill.svg)
* skin/classic/browser/zen-icons/desktop-notification.svg (../shared/zen-icons/lin/desktop-notification.svg)
* skin/classic/browser/zen-icons/developer.svg (../shared/zen-icons/lin/developer.svg)
* skin/classic/browser/zen-icons/downloads.svg (../shared/zen-icons/lin/downloads.svg)
@@ -38,15 +42,16 @@
* skin/classic/browser/zen-icons/edit-paste.svg (../shared/zen-icons/lin/edit-paste.svg)
* skin/classic/browser/zen-icons/edit-redo.svg (../shared/zen-icons/lin/edit-redo.svg)
* skin/classic/browser/zen-icons/edit-select-all.svg (../shared/zen-icons/lin/edit-select-all.svg)
* skin/classic/browser/zen-icons/edit.svg (../shared/zen-icons/lin/edit.svg)
* skin/classic/browser/zen-icons/edit-theme.svg (../shared/zen-icons/lin/edit-theme.svg)
* skin/classic/browser/zen-icons/edit-undo.svg (../shared/zen-icons/lin/edit-undo.svg)
* skin/classic/browser/zen-icons/edit.svg (../shared/zen-icons/lin/edit.svg)
* skin/classic/browser/zen-icons/essential-add.svg (../shared/zen-icons/lin/essential-add.svg)
* skin/classic/browser/zen-icons/essential-remove.svg (../shared/zen-icons/lin/essential-remove.svg)
* skin/classic/browser/zen-icons/expand-sidebar.svg (../shared/zen-icons/lin/expand-sidebar.svg)
* skin/classic/browser/zen-icons/extension-blocked.svg (../shared/zen-icons/lin/extension-blocked.svg)
* skin/classic/browser/zen-icons/extension.svg (../shared/zen-icons/lin/extension.svg)
* skin/classic/browser/zen-icons/ext-link.svg (../shared/zen-icons/lin/ext-link.svg)
* skin/classic/browser/zen-icons/extension-blocked.svg (../shared/zen-icons/lin/extension-blocked.svg)
* skin/classic/browser/zen-icons/extension-fill.svg (../shared/zen-icons/lin/extension-fill.svg)
* skin/classic/browser/zen-icons/extension.svg (../shared/zen-icons/lin/extension.svg)
* skin/classic/browser/zen-icons/face-sun.svg (../shared/zen-icons/lin/face-sun.svg)
* skin/classic/browser/zen-icons/firefox.svg (../shared/zen-icons/lin/firefox.svg)
* skin/classic/browser/zen-icons/folder.svg (../shared/zen-icons/lin/folder.svg)
@@ -55,6 +60,7 @@
* skin/classic/browser/zen-icons/fullscreen-exit.svg (../shared/zen-icons/lin/fullscreen-exit.svg)
* skin/classic/browser/zen-icons/fullscreen.svg (../shared/zen-icons/lin/fullscreen.svg)
* skin/classic/browser/zen-icons/geo-blocked.svg (../shared/zen-icons/lin/geo-blocked.svg)
* skin/classic/browser/zen-icons/geo-fill.svg (../shared/zen-icons/lin/geo-fill.svg)
* skin/classic/browser/zen-icons/geo.svg (../shared/zen-icons/lin/geo.svg)
* skin/classic/browser/zen-icons/help.svg (../shared/zen-icons/lin/help.svg)
* skin/classic/browser/zen-icons/history.svg (../shared/zen-icons/lin/history.svg)
@@ -92,43 +98,47 @@
* skin/classic/browser/zen-icons/palette.svg (../shared/zen-icons/lin/palette.svg)
* skin/classic/browser/zen-icons/passwords.svg (../shared/zen-icons/lin/passwords.svg)
* skin/classic/browser/zen-icons/paste-and-go.svg (../shared/zen-icons/lin/paste-and-go.svg)
* skin/classic/browser/zen-icons/permissions-fill.svg (../shared/zen-icons/lin/permissions-fill.svg)
* skin/classic/browser/zen-icons/permissions.svg (../shared/zen-icons/lin/permissions.svg)
* skin/classic/browser/zen-icons/persistent-storage-blocked.svg (../shared/zen-icons/lin/persistent-storage-blocked.svg)
* skin/classic/browser/zen-icons/persistent-storage-fill.svg (../shared/zen-icons/lin/persistent-storage-fill.svg)
* skin/classic/browser/zen-icons/persistent-storage.svg (../shared/zen-icons/lin/persistent-storage.svg)
* skin/classic/browser/zen-icons/pin.svg (../shared/zen-icons/lin/pin.svg)
* skin/classic/browser/zen-icons/plus.svg (../shared/zen-icons/lin/plus.svg)
* skin/classic/browser/zen-icons/popup-fill.svg (../shared/zen-icons/lin/popup-fill.svg)
* skin/classic/browser/zen-icons/popup.svg (../shared/zen-icons/lin/popup.svg)
* skin/classic/browser/zen-icons/print.svg (../shared/zen-icons/lin/print.svg)
* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/lin/privateBrowsing.svg)
* skin/classic/browser/zen-icons/private-window.svg (../shared/zen-icons/lin/private-window.svg)
* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/lin/privateBrowsing.svg)
* skin/classic/browser/zen-icons/reader-mode.svg (../shared/zen-icons/lin/reader-mode.svg)
* skin/classic/browser/zen-icons/reload.svg (../shared/zen-icons/lin/reload.svg)
* skin/classic/browser/zen-icons/reload-to-stop.svg (../shared/zen-icons/lin/reload-to-stop.svg)
* skin/classic/browser/zen-icons/report.svg (../shared/zen-icons/lin/report.svg)
* skin/classic/browser/zen-icons/save.svg (../shared/zen-icons/lin/save.svg)
* skin/classic/browser/zen-icons/screen-blocked.svg (../shared/zen-icons/lin/screen-blocked.svg)
* skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/lin/screenshot.svg)
* skin/classic/browser/zen-icons/screen.svg (../shared/zen-icons/lin/screen.svg)
* skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/lin/screenshot.svg)
* skin/classic/browser/zen-icons/search-glass.svg (../shared/zen-icons/lin/search-glass.svg)
* skin/classic/browser/zen-icons/search-page.svg (../shared/zen-icons/lin/search-page.svg)
* skin/classic/browser/zen-icons/security-broken.svg (../shared/zen-icons/lin/security-broken.svg)
* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/lin/security.svg)
* skin/classic/browser/zen-icons/security-warning.svg (../shared/zen-icons/lin/security-warning.svg)
* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/lin/security.svg)
* skin/classic/browser/zen-icons/send-to-device.svg (../shared/zen-icons/lin/send-to-device.svg)
* skin/classic/browser/zen-icons/settings-fill.svg (../shared/zen-icons/lin/settings-fill.svg)
* skin/classic/browser/zen-icons/settings.svg (../shared/zen-icons/lin/settings.svg)
* skin/classic/browser/zen-icons/share.svg (../shared/zen-icons/lin/share.svg)
* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/lin/sidebars-right.svg)
* skin/classic/browser/zen-icons/sidebar-right.svg (../shared/zen-icons/lin/sidebar-right.svg)
* skin/classic/browser/zen-icons/sidebar.svg (../shared/zen-icons/lin/sidebar.svg)
* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/lin/sidebars-right.svg)
* skin/classic/browser/zen-icons/source-code.svg (../shared/zen-icons/lin/source-code.svg)
* skin/classic/browser/zen-icons/sparkles.svg (../shared/zen-icons/lin/sparkles.svg)
* skin/classic/browser/zen-icons/spell-check.svg (../shared/zen-icons/lin/spell-check.svg)
* skin/classic/browser/zen-icons/split.svg (../shared/zen-icons/lin/split.svg)
* skin/classic/browser/zen-icons/stop-to-reload.svg (../shared/zen-icons/lin/stop-to-reload.svg)
* skin/classic/browser/zen-icons/tab-audio-blocked-small.svg (../shared/zen-icons/lin/tab-audio-blocked-small.svg)
* skin/classic/browser/zen-icons/tab-audio-muted-small.svg (../shared/zen-icons/lin/tab-audio-muted-small.svg)
* skin/classic/browser/zen-icons/tab-audio-playing-small.svg (../shared/zen-icons/lin/tab-audio-playing-small.svg)
* skin/classic/browser/zen-icons/tab.svg (../shared/zen-icons/lin/tab.svg)
* skin/classic/browser/zen-icons/tool-profiler.svg (../shared/zen-icons/lin/tool-profiler.svg)
* skin/classic/browser/zen-icons/tracking-protection-fill.svg (../shared/zen-icons/lin/tracking-protection-fill.svg)
* skin/classic/browser/zen-icons/tracking-protection.svg (../shared/zen-icons/lin/tracking-protection.svg)
* skin/classic/browser/zen-icons/translations.svg (../shared/zen-icons/lin/translations.svg)
* skin/classic/browser/zen-icons/trash.svg (../shared/zen-icons/lin/trash.svg)
@@ -139,6 +149,7 @@
* skin/classic/browser/zen-icons/video-save.svg (../shared/zen-icons/lin/video-save.svg)
* skin/classic/browser/zen-icons/window.svg (../shared/zen-icons/lin/window.svg)
* skin/classic/browser/zen-icons/xr-blocked.svg (../shared/zen-icons/lin/xr-blocked.svg)
* skin/classic/browser/zen-icons/xr-fill.svg (../shared/zen-icons/lin/xr-fill.svg)
* skin/classic/browser/zen-icons/xr.svg (../shared/zen-icons/lin/xr.svg)
* skin/classic/browser/zen-icons/zoom-control.svg (../shared/zen-icons/lin/zoom-control.svg)
* skin/classic/browser/zen-icons/zoom-out.svg (../shared/zen-icons/lin/zoom-out.svg)
@@ -152,12 +163,14 @@
* skin/classic/browser/zen-icons/arrow-up.svg (../shared/zen-icons/lin/arrow-up.svg)
* skin/classic/browser/zen-icons/audio-save.svg (../shared/zen-icons/lin/audio-save.svg)
* skin/classic/browser/zen-icons/autoplay-media-blocked.svg (../shared/zen-icons/lin/autoplay-media-blocked.svg)
* skin/classic/browser/zen-icons/autoplay-media-fill.svg (../shared/zen-icons/lin/autoplay-media-fill.svg)
* skin/classic/browser/zen-icons/autoplay-media.svg (../shared/zen-icons/lin/autoplay-media.svg)
* skin/classic/browser/zen-icons/back.svg (../shared/zen-icons/lin/back.svg)
* skin/classic/browser/zen-icons/bookmark-hollow.svg (../shared/zen-icons/lin/bookmark-hollow.svg)
* skin/classic/browser/zen-icons/bookmark-star-on-tray.svg (../shared/zen-icons/lin/bookmark-star-on-tray.svg)
* skin/classic/browser/zen-icons/bookmark.svg (../shared/zen-icons/lin/bookmark.svg)
* skin/classic/browser/zen-icons/camera-blocked.svg (../shared/zen-icons/lin/camera-blocked.svg)
* skin/classic/browser/zen-icons/camera-fill.svg (../shared/zen-icons/lin/camera-fill.svg)
* skin/classic/browser/zen-icons/camera.svg (../shared/zen-icons/lin/camera.svg)
* skin/classic/browser/zen-icons/canvas-blocked.svg (../shared/zen-icons/lin/canvas-blocked.svg)
* skin/classic/browser/zen-icons/canvas.svg (../shared/zen-icons/lin/canvas.svg)
@@ -166,8 +179,10 @@
* skin/classic/browser/zen-icons/close-all.svg (../shared/zen-icons/lin/close-all.svg)
* skin/classic/browser/zen-icons/close.svg (../shared/zen-icons/lin/close.svg)
* skin/classic/browser/zen-icons/container-tab.svg (../shared/zen-icons/lin/container-tab.svg)
* skin/classic/browser/zen-icons/cookies-fill.svg (../shared/zen-icons/lin/cookies-fill.svg)
* skin/classic/browser/zen-icons/customize.svg (../shared/zen-icons/lin/customize.svg)
* skin/classic/browser/zen-icons/desktop-notification-blocked.svg (../shared/zen-icons/lin/desktop-notification-blocked.svg)
* skin/classic/browser/zen-icons/desktop-notification-fill.svg (../shared/zen-icons/lin/desktop-notification-fill.svg)
* skin/classic/browser/zen-icons/desktop-notification.svg (../shared/zen-icons/lin/desktop-notification.svg)
* skin/classic/browser/zen-icons/developer.svg (../shared/zen-icons/lin/developer.svg)
* skin/classic/browser/zen-icons/downloads.svg (../shared/zen-icons/lin/downloads.svg)
@@ -179,15 +194,16 @@
* skin/classic/browser/zen-icons/edit-paste.svg (../shared/zen-icons/lin/edit-paste.svg)
* skin/classic/browser/zen-icons/edit-redo.svg (../shared/zen-icons/lin/edit-redo.svg)
* skin/classic/browser/zen-icons/edit-select-all.svg (../shared/zen-icons/lin/edit-select-all.svg)
* skin/classic/browser/zen-icons/edit.svg (../shared/zen-icons/lin/edit.svg)
* skin/classic/browser/zen-icons/edit-theme.svg (../shared/zen-icons/lin/edit-theme.svg)
* skin/classic/browser/zen-icons/edit-undo.svg (../shared/zen-icons/lin/edit-undo.svg)
* skin/classic/browser/zen-icons/edit.svg (../shared/zen-icons/lin/edit.svg)
* skin/classic/browser/zen-icons/essential-add.svg (../shared/zen-icons/lin/essential-add.svg)
* skin/classic/browser/zen-icons/essential-remove.svg (../shared/zen-icons/lin/essential-remove.svg)
* skin/classic/browser/zen-icons/expand-sidebar.svg (../shared/zen-icons/lin/expand-sidebar.svg)
* skin/classic/browser/zen-icons/extension-blocked.svg (../shared/zen-icons/lin/extension-blocked.svg)
* skin/classic/browser/zen-icons/extension.svg (../shared/zen-icons/lin/extension.svg)
* skin/classic/browser/zen-icons/ext-link.svg (../shared/zen-icons/lin/ext-link.svg)
* skin/classic/browser/zen-icons/extension-blocked.svg (../shared/zen-icons/lin/extension-blocked.svg)
* skin/classic/browser/zen-icons/extension-fill.svg (../shared/zen-icons/lin/extension-fill.svg)
* skin/classic/browser/zen-icons/extension.svg (../shared/zen-icons/lin/extension.svg)
* skin/classic/browser/zen-icons/face-sun.svg (../shared/zen-icons/lin/face-sun.svg)
* skin/classic/browser/zen-icons/firefox.svg (../shared/zen-icons/lin/firefox.svg)
* skin/classic/browser/zen-icons/folder.svg (../shared/zen-icons/lin/folder.svg)
@@ -196,6 +212,7 @@
* skin/classic/browser/zen-icons/fullscreen-exit.svg (../shared/zen-icons/lin/fullscreen-exit.svg)
* skin/classic/browser/zen-icons/fullscreen.svg (../shared/zen-icons/lin/fullscreen.svg)
* skin/classic/browser/zen-icons/geo-blocked.svg (../shared/zen-icons/lin/geo-blocked.svg)
* skin/classic/browser/zen-icons/geo-fill.svg (../shared/zen-icons/lin/geo-fill.svg)
* skin/classic/browser/zen-icons/geo.svg (../shared/zen-icons/lin/geo.svg)
* skin/classic/browser/zen-icons/help.svg (../shared/zen-icons/lin/help.svg)
* skin/classic/browser/zen-icons/history.svg (../shared/zen-icons/lin/history.svg)
@@ -233,43 +250,47 @@
* skin/classic/browser/zen-icons/palette.svg (../shared/zen-icons/lin/palette.svg)
* skin/classic/browser/zen-icons/passwords.svg (../shared/zen-icons/lin/passwords.svg)
* skin/classic/browser/zen-icons/paste-and-go.svg (../shared/zen-icons/lin/paste-and-go.svg)
* skin/classic/browser/zen-icons/permissions-fill.svg (../shared/zen-icons/lin/permissions-fill.svg)
* skin/classic/browser/zen-icons/permissions.svg (../shared/zen-icons/lin/permissions.svg)
* skin/classic/browser/zen-icons/persistent-storage-blocked.svg (../shared/zen-icons/lin/persistent-storage-blocked.svg)
* skin/classic/browser/zen-icons/persistent-storage-fill.svg (../shared/zen-icons/lin/persistent-storage-fill.svg)
* skin/classic/browser/zen-icons/persistent-storage.svg (../shared/zen-icons/lin/persistent-storage.svg)
* skin/classic/browser/zen-icons/pin.svg (../shared/zen-icons/lin/pin.svg)
* skin/classic/browser/zen-icons/plus.svg (../shared/zen-icons/lin/plus.svg)
* skin/classic/browser/zen-icons/popup-fill.svg (../shared/zen-icons/lin/popup-fill.svg)
* skin/classic/browser/zen-icons/popup.svg (../shared/zen-icons/lin/popup.svg)
* skin/classic/browser/zen-icons/print.svg (../shared/zen-icons/lin/print.svg)
* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/lin/privateBrowsing.svg)
* skin/classic/browser/zen-icons/private-window.svg (../shared/zen-icons/lin/private-window.svg)
* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/lin/privateBrowsing.svg)
* skin/classic/browser/zen-icons/reader-mode.svg (../shared/zen-icons/lin/reader-mode.svg)
* skin/classic/browser/zen-icons/reload.svg (../shared/zen-icons/lin/reload.svg)
* skin/classic/browser/zen-icons/reload-to-stop.svg (../shared/zen-icons/lin/reload-to-stop.svg)
* skin/classic/browser/zen-icons/report.svg (../shared/zen-icons/lin/report.svg)
* skin/classic/browser/zen-icons/save.svg (../shared/zen-icons/lin/save.svg)
* skin/classic/browser/zen-icons/screen-blocked.svg (../shared/zen-icons/lin/screen-blocked.svg)
* skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/lin/screenshot.svg)
* skin/classic/browser/zen-icons/screen.svg (../shared/zen-icons/lin/screen.svg)
* skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/lin/screenshot.svg)
* skin/classic/browser/zen-icons/search-glass.svg (../shared/zen-icons/lin/search-glass.svg)
* skin/classic/browser/zen-icons/search-page.svg (../shared/zen-icons/lin/search-page.svg)
* skin/classic/browser/zen-icons/security-broken.svg (../shared/zen-icons/lin/security-broken.svg)
* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/lin/security.svg)
* skin/classic/browser/zen-icons/security-warning.svg (../shared/zen-icons/lin/security-warning.svg)
* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/lin/security.svg)
* skin/classic/browser/zen-icons/send-to-device.svg (../shared/zen-icons/lin/send-to-device.svg)
* skin/classic/browser/zen-icons/settings-fill.svg (../shared/zen-icons/lin/settings-fill.svg)
* skin/classic/browser/zen-icons/settings.svg (../shared/zen-icons/lin/settings.svg)
* skin/classic/browser/zen-icons/share.svg (../shared/zen-icons/lin/share.svg)
* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/lin/sidebars-right.svg)
* skin/classic/browser/zen-icons/sidebar-right.svg (../shared/zen-icons/lin/sidebar-right.svg)
* skin/classic/browser/zen-icons/sidebar.svg (../shared/zen-icons/lin/sidebar.svg)
* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/lin/sidebars-right.svg)
* skin/classic/browser/zen-icons/source-code.svg (../shared/zen-icons/lin/source-code.svg)
* skin/classic/browser/zen-icons/sparkles.svg (../shared/zen-icons/lin/sparkles.svg)
* skin/classic/browser/zen-icons/spell-check.svg (../shared/zen-icons/lin/spell-check.svg)
* skin/classic/browser/zen-icons/split.svg (../shared/zen-icons/lin/split.svg)
* skin/classic/browser/zen-icons/stop-to-reload.svg (../shared/zen-icons/lin/stop-to-reload.svg)
* skin/classic/browser/zen-icons/tab-audio-blocked-small.svg (../shared/zen-icons/lin/tab-audio-blocked-small.svg)
* skin/classic/browser/zen-icons/tab-audio-muted-small.svg (../shared/zen-icons/lin/tab-audio-muted-small.svg)
* skin/classic/browser/zen-icons/tab-audio-playing-small.svg (../shared/zen-icons/lin/tab-audio-playing-small.svg)
* skin/classic/browser/zen-icons/tab.svg (../shared/zen-icons/lin/tab.svg)
* skin/classic/browser/zen-icons/tool-profiler.svg (../shared/zen-icons/lin/tool-profiler.svg)
* skin/classic/browser/zen-icons/tracking-protection-fill.svg (../shared/zen-icons/lin/tracking-protection-fill.svg)
* skin/classic/browser/zen-icons/tracking-protection.svg (../shared/zen-icons/lin/tracking-protection.svg)
* skin/classic/browser/zen-icons/translations.svg (../shared/zen-icons/lin/translations.svg)
* skin/classic/browser/zen-icons/trash.svg (../shared/zen-icons/lin/trash.svg)
@@ -280,6 +301,7 @@
* skin/classic/browser/zen-icons/video-save.svg (../shared/zen-icons/lin/video-save.svg)
* skin/classic/browser/zen-icons/window.svg (../shared/zen-icons/lin/window.svg)
* skin/classic/browser/zen-icons/xr-blocked.svg (../shared/zen-icons/lin/xr-blocked.svg)
* skin/classic/browser/zen-icons/xr-fill.svg (../shared/zen-icons/lin/xr-fill.svg)
* skin/classic/browser/zen-icons/xr.svg (../shared/zen-icons/lin/xr.svg)
* skin/classic/browser/zen-icons/zoom-control.svg (../shared/zen-icons/lin/zoom-control.svg)
* skin/classic/browser/zen-icons/zoom-out.svg (../shared/zen-icons/lin/zoom-out.svg)
@@ -293,12 +315,14 @@
* skin/classic/browser/zen-icons/arrow-up.svg (../shared/zen-icons/lin/arrow-up.svg)
* skin/classic/browser/zen-icons/audio-save.svg (../shared/zen-icons/lin/audio-save.svg)
* skin/classic/browser/zen-icons/autoplay-media-blocked.svg (../shared/zen-icons/lin/autoplay-media-blocked.svg)
* skin/classic/browser/zen-icons/autoplay-media-fill.svg (../shared/zen-icons/lin/autoplay-media-fill.svg)
* skin/classic/browser/zen-icons/autoplay-media.svg (../shared/zen-icons/lin/autoplay-media.svg)
* skin/classic/browser/zen-icons/back.svg (../shared/zen-icons/lin/back.svg)
* skin/classic/browser/zen-icons/bookmark-hollow.svg (../shared/zen-icons/lin/bookmark-hollow.svg)
* skin/classic/browser/zen-icons/bookmark-star-on-tray.svg (../shared/zen-icons/lin/bookmark-star-on-tray.svg)
* skin/classic/browser/zen-icons/bookmark.svg (../shared/zen-icons/lin/bookmark.svg)
* skin/classic/browser/zen-icons/camera-blocked.svg (../shared/zen-icons/lin/camera-blocked.svg)
* skin/classic/browser/zen-icons/camera-fill.svg (../shared/zen-icons/lin/camera-fill.svg)
* skin/classic/browser/zen-icons/camera.svg (../shared/zen-icons/lin/camera.svg)
* skin/classic/browser/zen-icons/canvas-blocked.svg (../shared/zen-icons/lin/canvas-blocked.svg)
* skin/classic/browser/zen-icons/canvas.svg (../shared/zen-icons/lin/canvas.svg)
@@ -307,8 +331,10 @@
* skin/classic/browser/zen-icons/close-all.svg (../shared/zen-icons/lin/close-all.svg)
* skin/classic/browser/zen-icons/close.svg (../shared/zen-icons/lin/close.svg)
* skin/classic/browser/zen-icons/container-tab.svg (../shared/zen-icons/lin/container-tab.svg)
* skin/classic/browser/zen-icons/cookies-fill.svg (../shared/zen-icons/lin/cookies-fill.svg)
* skin/classic/browser/zen-icons/customize.svg (../shared/zen-icons/lin/customize.svg)
* skin/classic/browser/zen-icons/desktop-notification-blocked.svg (../shared/zen-icons/lin/desktop-notification-blocked.svg)
* skin/classic/browser/zen-icons/desktop-notification-fill.svg (../shared/zen-icons/lin/desktop-notification-fill.svg)
* skin/classic/browser/zen-icons/desktop-notification.svg (../shared/zen-icons/lin/desktop-notification.svg)
* skin/classic/browser/zen-icons/developer.svg (../shared/zen-icons/lin/developer.svg)
* skin/classic/browser/zen-icons/downloads.svg (../shared/zen-icons/lin/downloads.svg)
@@ -320,15 +346,16 @@
* skin/classic/browser/zen-icons/edit-paste.svg (../shared/zen-icons/lin/edit-paste.svg)
* skin/classic/browser/zen-icons/edit-redo.svg (../shared/zen-icons/lin/edit-redo.svg)
* skin/classic/browser/zen-icons/edit-select-all.svg (../shared/zen-icons/lin/edit-select-all.svg)
* skin/classic/browser/zen-icons/edit.svg (../shared/zen-icons/lin/edit.svg)
* skin/classic/browser/zen-icons/edit-theme.svg (../shared/zen-icons/lin/edit-theme.svg)
* skin/classic/browser/zen-icons/edit-undo.svg (../shared/zen-icons/lin/edit-undo.svg)
* skin/classic/browser/zen-icons/edit.svg (../shared/zen-icons/lin/edit.svg)
* skin/classic/browser/zen-icons/essential-add.svg (../shared/zen-icons/lin/essential-add.svg)
* skin/classic/browser/zen-icons/essential-remove.svg (../shared/zen-icons/lin/essential-remove.svg)
* skin/classic/browser/zen-icons/expand-sidebar.svg (../shared/zen-icons/lin/expand-sidebar.svg)
* skin/classic/browser/zen-icons/extension-blocked.svg (../shared/zen-icons/lin/extension-blocked.svg)
* skin/classic/browser/zen-icons/extension.svg (../shared/zen-icons/lin/extension.svg)
* skin/classic/browser/zen-icons/ext-link.svg (../shared/zen-icons/lin/ext-link.svg)
* skin/classic/browser/zen-icons/extension-blocked.svg (../shared/zen-icons/lin/extension-blocked.svg)
* skin/classic/browser/zen-icons/extension-fill.svg (../shared/zen-icons/lin/extension-fill.svg)
* skin/classic/browser/zen-icons/extension.svg (../shared/zen-icons/lin/extension.svg)
* skin/classic/browser/zen-icons/face-sun.svg (../shared/zen-icons/lin/face-sun.svg)
* skin/classic/browser/zen-icons/firefox.svg (../shared/zen-icons/lin/firefox.svg)
* skin/classic/browser/zen-icons/folder.svg (../shared/zen-icons/lin/folder.svg)
@@ -337,6 +364,7 @@
* skin/classic/browser/zen-icons/fullscreen-exit.svg (../shared/zen-icons/lin/fullscreen-exit.svg)
* skin/classic/browser/zen-icons/fullscreen.svg (../shared/zen-icons/lin/fullscreen.svg)
* skin/classic/browser/zen-icons/geo-blocked.svg (../shared/zen-icons/lin/geo-blocked.svg)
* skin/classic/browser/zen-icons/geo-fill.svg (../shared/zen-icons/lin/geo-fill.svg)
* skin/classic/browser/zen-icons/geo.svg (../shared/zen-icons/lin/geo.svg)
* skin/classic/browser/zen-icons/help.svg (../shared/zen-icons/lin/help.svg)
* skin/classic/browser/zen-icons/history.svg (../shared/zen-icons/lin/history.svg)
@@ -374,43 +402,47 @@
* skin/classic/browser/zen-icons/palette.svg (../shared/zen-icons/lin/palette.svg)
* skin/classic/browser/zen-icons/passwords.svg (../shared/zen-icons/lin/passwords.svg)
* skin/classic/browser/zen-icons/paste-and-go.svg (../shared/zen-icons/lin/paste-and-go.svg)
* skin/classic/browser/zen-icons/permissions-fill.svg (../shared/zen-icons/lin/permissions-fill.svg)
* skin/classic/browser/zen-icons/permissions.svg (../shared/zen-icons/lin/permissions.svg)
* skin/classic/browser/zen-icons/persistent-storage-blocked.svg (../shared/zen-icons/lin/persistent-storage-blocked.svg)
* skin/classic/browser/zen-icons/persistent-storage-fill.svg (../shared/zen-icons/lin/persistent-storage-fill.svg)
* skin/classic/browser/zen-icons/persistent-storage.svg (../shared/zen-icons/lin/persistent-storage.svg)
* skin/classic/browser/zen-icons/pin.svg (../shared/zen-icons/lin/pin.svg)
* skin/classic/browser/zen-icons/plus.svg (../shared/zen-icons/lin/plus.svg)
* skin/classic/browser/zen-icons/popup-fill.svg (../shared/zen-icons/lin/popup-fill.svg)
* skin/classic/browser/zen-icons/popup.svg (../shared/zen-icons/lin/popup.svg)
* skin/classic/browser/zen-icons/print.svg (../shared/zen-icons/lin/print.svg)
* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/lin/privateBrowsing.svg)
* skin/classic/browser/zen-icons/private-window.svg (../shared/zen-icons/lin/private-window.svg)
* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/lin/privateBrowsing.svg)
* skin/classic/browser/zen-icons/reader-mode.svg (../shared/zen-icons/lin/reader-mode.svg)
* skin/classic/browser/zen-icons/reload.svg (../shared/zen-icons/lin/reload.svg)
* skin/classic/browser/zen-icons/reload-to-stop.svg (../shared/zen-icons/lin/reload-to-stop.svg)
* skin/classic/browser/zen-icons/report.svg (../shared/zen-icons/lin/report.svg)
* skin/classic/browser/zen-icons/save.svg (../shared/zen-icons/lin/save.svg)
* skin/classic/browser/zen-icons/screen-blocked.svg (../shared/zen-icons/lin/screen-blocked.svg)
* skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/lin/screenshot.svg)
* skin/classic/browser/zen-icons/screen.svg (../shared/zen-icons/lin/screen.svg)
* skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/lin/screenshot.svg)
* skin/classic/browser/zen-icons/search-glass.svg (../shared/zen-icons/lin/search-glass.svg)
* skin/classic/browser/zen-icons/search-page.svg (../shared/zen-icons/lin/search-page.svg)
* skin/classic/browser/zen-icons/security-broken.svg (../shared/zen-icons/lin/security-broken.svg)
* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/lin/security.svg)
* skin/classic/browser/zen-icons/security-warning.svg (../shared/zen-icons/lin/security-warning.svg)
* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/lin/security.svg)
* skin/classic/browser/zen-icons/send-to-device.svg (../shared/zen-icons/lin/send-to-device.svg)
* skin/classic/browser/zen-icons/settings-fill.svg (../shared/zen-icons/lin/settings-fill.svg)
* skin/classic/browser/zen-icons/settings.svg (../shared/zen-icons/lin/settings.svg)
* skin/classic/browser/zen-icons/share.svg (../shared/zen-icons/lin/share.svg)
* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/lin/sidebars-right.svg)
* skin/classic/browser/zen-icons/sidebar-right.svg (../shared/zen-icons/lin/sidebar-right.svg)
* skin/classic/browser/zen-icons/sidebar.svg (../shared/zen-icons/lin/sidebar.svg)
* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/lin/sidebars-right.svg)
* skin/classic/browser/zen-icons/source-code.svg (../shared/zen-icons/lin/source-code.svg)
* skin/classic/browser/zen-icons/sparkles.svg (../shared/zen-icons/lin/sparkles.svg)
* skin/classic/browser/zen-icons/spell-check.svg (../shared/zen-icons/lin/spell-check.svg)
* skin/classic/browser/zen-icons/split.svg (../shared/zen-icons/lin/split.svg)
* skin/classic/browser/zen-icons/stop-to-reload.svg (../shared/zen-icons/lin/stop-to-reload.svg)
* skin/classic/browser/zen-icons/tab-audio-blocked-small.svg (../shared/zen-icons/lin/tab-audio-blocked-small.svg)
* skin/classic/browser/zen-icons/tab-audio-muted-small.svg (../shared/zen-icons/lin/tab-audio-muted-small.svg)
* skin/classic/browser/zen-icons/tab-audio-playing-small.svg (../shared/zen-icons/lin/tab-audio-playing-small.svg)
* skin/classic/browser/zen-icons/tab.svg (../shared/zen-icons/lin/tab.svg)
* skin/classic/browser/zen-icons/tool-profiler.svg (../shared/zen-icons/lin/tool-profiler.svg)
* skin/classic/browser/zen-icons/tracking-protection-fill.svg (../shared/zen-icons/lin/tracking-protection-fill.svg)
* skin/classic/browser/zen-icons/tracking-protection.svg (../shared/zen-icons/lin/tracking-protection.svg)
* skin/classic/browser/zen-icons/translations.svg (../shared/zen-icons/lin/translations.svg)
* skin/classic/browser/zen-icons/trash.svg (../shared/zen-icons/lin/trash.svg)
@@ -421,95 +453,96 @@
* skin/classic/browser/zen-icons/video-save.svg (../shared/zen-icons/lin/video-save.svg)
* skin/classic/browser/zen-icons/window.svg (../shared/zen-icons/lin/window.svg)
* skin/classic/browser/zen-icons/xr-blocked.svg (../shared/zen-icons/lin/xr-blocked.svg)
* skin/classic/browser/zen-icons/xr-fill.svg (../shared/zen-icons/lin/xr-fill.svg)
* skin/classic/browser/zen-icons/xr.svg (../shared/zen-icons/lin/xr.svg)
* skin/classic/browser/zen-icons/zoom-control.svg (../shared/zen-icons/lin/zoom-control.svg)
* skin/classic/browser/zen-icons/zoom-out.svg (../shared/zen-icons/lin/zoom-out.svg)
#endif
* skin/classic/browser/zen-icons/urlbar-arrow.svg (../shared/zen-icons/common/urlbar-arrow.svg)
* skin/classic/browser/zen-icons/selectable/airplane.svg (../shared/zen-icons/common/selectable/airplane.svg)
* skin/classic/browser/zen-icons/selectable/american-football.svg (../shared/zen-icons/common/selectable/american-football.svg)
* skin/classic/browser/zen-icons/selectable/baseball.svg (../shared/zen-icons/common/selectable/baseball.svg)
* skin/classic/browser/zen-icons/selectable/basket.svg (../shared/zen-icons/common/selectable/basket.svg)
* skin/classic/browser/zen-icons/selectable/bed.svg (../shared/zen-icons/common/selectable/bed.svg)
* skin/classic/browser/zen-icons/selectable/bell.svg (../shared/zen-icons/common/selectable/bell.svg)
* skin/classic/browser/zen-icons/selectable/bookmark.svg (../shared/zen-icons/common/selectable/bookmark.svg)
* skin/classic/browser/zen-icons/selectable/book.svg (../shared/zen-icons/common/selectable/book.svg)
* skin/classic/browser/zen-icons/selectable/briefcase.svg (../shared/zen-icons/common/selectable/briefcase.svg)
* skin/classic/browser/zen-icons/selectable/brush.svg (../shared/zen-icons/common/selectable/brush.svg)
* skin/classic/browser/zen-icons/selectable/bug.svg (../shared/zen-icons/common/selectable/bug.svg)
* skin/classic/browser/zen-icons/selectable/build.svg (../shared/zen-icons/common/selectable/build.svg)
* skin/classic/browser/zen-icons/selectable/cafe.svg (../shared/zen-icons/common/selectable/cafe.svg)
* skin/classic/browser/zen-icons/selectable/call.svg (../shared/zen-icons/common/selectable/call.svg)
* skin/classic/browser/zen-icons/selectable/card.svg (../shared/zen-icons/common/selectable/card.svg)
* skin/classic/browser/zen-icons/selectable/chat.svg (../shared/zen-icons/common/selectable/chat.svg)
* skin/classic/browser/zen-icons/selectable/checkbox.svg (../shared/zen-icons/common/selectable/checkbox.svg)
* skin/classic/browser/zen-icons/selectable/circle.svg (../shared/zen-icons/common/selectable/circle.svg)
* skin/classic/browser/zen-icons/selectable/cloud.svg (../shared/zen-icons/common/selectable/cloud.svg)
* skin/classic/browser/zen-icons/selectable/code.svg (../shared/zen-icons/common/selectable/code.svg)
* skin/classic/browser/zen-icons/selectable/coins.svg (../shared/zen-icons/common/selectable/coins.svg)
* skin/classic/browser/zen-icons/selectable/construct.svg (../shared/zen-icons/common/selectable/construct.svg)
* skin/classic/browser/zen-icons/selectable/cutlery.svg (../shared/zen-icons/common/selectable/cutlery.svg)
* skin/classic/browser/zen-icons/selectable/egg.svg (../shared/zen-icons/common/selectable/egg.svg)
* skin/classic/browser/zen-icons/selectable/extension-puzzle.svg (../shared/zen-icons/common/selectable/extension-puzzle.svg)
* skin/classic/browser/zen-icons/selectable/eye.svg (../shared/zen-icons/common/selectable/eye.svg)
* skin/classic/browser/zen-icons/selectable/fast-food.svg (../shared/zen-icons/common/selectable/fast-food.svg)
* skin/classic/browser/zen-icons/selectable/fish.svg (../shared/zen-icons/common/selectable/fish.svg)
* skin/classic/browser/zen-icons/selectable/flag.svg (../shared/zen-icons/common/selectable/flag.svg)
* skin/classic/browser/zen-icons/selectable/flame.svg (../shared/zen-icons/common/selectable/flame.svg)
* skin/classic/browser/zen-icons/selectable/flask.svg (../shared/zen-icons/common/selectable/flask.svg)
* skin/classic/browser/zen-icons/selectable/folder.svg (../shared/zen-icons/common/selectable/folder.svg)
* skin/classic/browser/zen-icons/selectable/game-controller.svg (../shared/zen-icons/common/selectable/game-controller.svg)
* skin/classic/browser/zen-icons/selectable/globe-1.svg (../shared/zen-icons/common/selectable/globe-1.svg)
* skin/classic/browser/zen-icons/selectable/globe.svg (../shared/zen-icons/common/selectable/globe.svg)
* skin/classic/browser/zen-icons/selectable/grid-2x2.svg (../shared/zen-icons/common/selectable/grid-2x2.svg)
* skin/classic/browser/zen-icons/selectable/grid-3x3.svg (../shared/zen-icons/common/selectable/grid-3x3.svg)
* skin/classic/browser/zen-icons/selectable/heart.svg (../shared/zen-icons/common/selectable/heart.svg)
* skin/classic/browser/zen-icons/selectable/ice-cream.svg (../shared/zen-icons/common/selectable/ice-cream.svg)
* skin/classic/browser/zen-icons/selectable/image.svg (../shared/zen-icons/common/selectable/image.svg)
* skin/classic/browser/zen-icons/selectable/inbox.svg (../shared/zen-icons/common/selectable/inbox.svg)
* skin/classic/browser/zen-icons/selectable/key.svg (../shared/zen-icons/common/selectable/key.svg)
* skin/classic/browser/zen-icons/selectable/layers.svg (../shared/zen-icons/common/selectable/layers.svg)
* skin/classic/browser/zen-icons/selectable/leaf.svg (../shared/zen-icons/common/selectable/leaf.svg)
* skin/classic/browser/zen-icons/selectable/lightning.svg (../shared/zen-icons/common/selectable/lightning.svg)
* skin/classic/browser/zen-icons/selectable/location.svg (../shared/zen-icons/common/selectable/location.svg)
* skin/classic/browser/zen-icons/selectable/lock-closed.svg (../shared/zen-icons/common/selectable/lock-closed.svg)
* skin/classic/browser/zen-icons/selectable/logo-rss.svg (../shared/zen-icons/common/selectable/logo-rss.svg)
* skin/classic/browser/zen-icons/selectable/logo-usd.svg (../shared/zen-icons/common/selectable/logo-usd.svg)
* skin/classic/browser/zen-icons/selectable/mail.svg (../shared/zen-icons/common/selectable/mail.svg)
* skin/classic/browser/zen-icons/selectable/map.svg (../shared/zen-icons/common/selectable/map.svg)
* skin/classic/browser/zen-icons/selectable/megaphone.svg (../shared/zen-icons/common/selectable/megaphone.svg)
* skin/classic/browser/zen-icons/selectable/moon.svg (../shared/zen-icons/common/selectable/moon.svg)
* skin/classic/browser/zen-icons/selectable/music.svg (../shared/zen-icons/common/selectable/music.svg)
* skin/classic/browser/zen-icons/selectable/navigate.svg (../shared/zen-icons/common/selectable/navigate.svg)
* skin/classic/browser/zen-icons/selectable/nuclear.svg (../shared/zen-icons/common/selectable/nuclear.svg)
* skin/classic/browser/zen-icons/selectable/page.svg (../shared/zen-icons/common/selectable/page.svg)
* skin/classic/browser/zen-icons/selectable/palette.svg (../shared/zen-icons/common/selectable/palette.svg)
* skin/classic/browser/zen-icons/selectable/paw.svg (../shared/zen-icons/common/selectable/paw.svg)
* skin/classic/browser/zen-icons/selectable/people.svg (../shared/zen-icons/common/selectable/people.svg)
* skin/classic/browser/zen-icons/selectable/pizza.svg (../shared/zen-icons/common/selectable/pizza.svg)
* skin/classic/browser/zen-icons/selectable/planet.svg (../shared/zen-icons/common/selectable/planet.svg)
* skin/classic/browser/zen-icons/selectable/present.svg (../shared/zen-icons/common/selectable/present.svg)
* skin/classic/browser/zen-icons/selectable/rocket.svg (../shared/zen-icons/common/selectable/rocket.svg)
* skin/classic/browser/zen-icons/selectable/school.svg (../shared/zen-icons/common/selectable/school.svg)
* skin/classic/browser/zen-icons/selectable/shapes.svg (../shared/zen-icons/common/selectable/shapes.svg)
* skin/classic/browser/zen-icons/selectable/shirt.svg (../shared/zen-icons/common/selectable/shirt.svg)
* skin/classic/browser/zen-icons/selectable/skull.svg (../shared/zen-icons/common/selectable/skull.svg)
* skin/classic/browser/zen-icons/selectable/squares.svg (../shared/zen-icons/common/selectable/squares.svg)
* skin/classic/browser/zen-icons/selectable/square.svg (../shared/zen-icons/common/selectable/square.svg)
* skin/classic/browser/zen-icons/selectable/star-1.svg (../shared/zen-icons/common/selectable/star-1.svg)
* skin/classic/browser/zen-icons/selectable/star.svg (../shared/zen-icons/common/selectable/star.svg)
* skin/classic/browser/zen-icons/selectable/stats-chart.svg (../shared/zen-icons/common/selectable/stats-chart.svg)
* skin/classic/browser/zen-icons/selectable/sun.svg (../shared/zen-icons/common/selectable/sun.svg)
* skin/classic/browser/zen-icons/selectable/tada.svg (../shared/zen-icons/common/selectable/tada.svg)
* skin/classic/browser/zen-icons/selectable/terminal.svg (../shared/zen-icons/common/selectable/terminal.svg)
* skin/classic/browser/zen-icons/selectable/ticket.svg (../shared/zen-icons/common/selectable/ticket.svg)
* skin/classic/browser/zen-icons/selectable/time.svg (../shared/zen-icons/common/selectable/time.svg)
* skin/classic/browser/zen-icons/selectable/trash.svg (../shared/zen-icons/common/selectable/trash.svg)
* skin/classic/browser/zen-icons/selectable/triangle.svg (../shared/zen-icons/common/selectable/triangle.svg)
* skin/classic/browser/zen-icons/selectable/video.svg (../shared/zen-icons/common/selectable/video.svg)
* skin/classic/browser/zen-icons/selectable/volume-high.svg (../shared/zen-icons/common/selectable/volume-high.svg)
* skin/classic/browser/zen-icons/selectable/wallet.svg (../shared/zen-icons/common/selectable/wallet.svg)
* skin/classic/browser/zen-icons/selectable/warning.svg (../shared/zen-icons/common/selectable/warning.svg)
* skin/classic/browser/zen-icons/selectable/water.svg (../shared/zen-icons/common/selectable/water.svg)
* skin/classic/browser/zen-icons/selectable/weight.svg (../shared/zen-icons/common/selectable/weight.svg)
* skin/classic/browser/zen-icons/selectable/airplane.svg (../shared/zen-icons/common/selectable/airplane.svg)
* skin/classic/browser/zen-icons/selectable/american-football.svg (../shared/zen-icons/common/selectable/american-football.svg)
* skin/classic/browser/zen-icons/selectable/baseball.svg (../shared/zen-icons/common/selectable/baseball.svg)
* skin/classic/browser/zen-icons/selectable/basket.svg (../shared/zen-icons/common/selectable/basket.svg)
* skin/classic/browser/zen-icons/selectable/bed.svg (../shared/zen-icons/common/selectable/bed.svg)
* skin/classic/browser/zen-icons/selectable/bell.svg (../shared/zen-icons/common/selectable/bell.svg)
* skin/classic/browser/zen-icons/selectable/book.svg (../shared/zen-icons/common/selectable/book.svg)
* skin/classic/browser/zen-icons/selectable/bookmark.svg (../shared/zen-icons/common/selectable/bookmark.svg)
* skin/classic/browser/zen-icons/selectable/briefcase.svg (../shared/zen-icons/common/selectable/briefcase.svg)
* skin/classic/browser/zen-icons/selectable/brush.svg (../shared/zen-icons/common/selectable/brush.svg)
* skin/classic/browser/zen-icons/selectable/bug.svg (../shared/zen-icons/common/selectable/bug.svg)
* skin/classic/browser/zen-icons/selectable/build.svg (../shared/zen-icons/common/selectable/build.svg)
* skin/classic/browser/zen-icons/selectable/cafe.svg (../shared/zen-icons/common/selectable/cafe.svg)
* skin/classic/browser/zen-icons/selectable/call.svg (../shared/zen-icons/common/selectable/call.svg)
* skin/classic/browser/zen-icons/selectable/card.svg (../shared/zen-icons/common/selectable/card.svg)
* skin/classic/browser/zen-icons/selectable/chat.svg (../shared/zen-icons/common/selectable/chat.svg)
* skin/classic/browser/zen-icons/selectable/checkbox.svg (../shared/zen-icons/common/selectable/checkbox.svg)
* skin/classic/browser/zen-icons/selectable/circle.svg (../shared/zen-icons/common/selectable/circle.svg)
* skin/classic/browser/zen-icons/selectable/cloud.svg (../shared/zen-icons/common/selectable/cloud.svg)
* skin/classic/browser/zen-icons/selectable/code.svg (../shared/zen-icons/common/selectable/code.svg)
* skin/classic/browser/zen-icons/selectable/coins.svg (../shared/zen-icons/common/selectable/coins.svg)
* skin/classic/browser/zen-icons/selectable/construct.svg (../shared/zen-icons/common/selectable/construct.svg)
* skin/classic/browser/zen-icons/selectable/cutlery.svg (../shared/zen-icons/common/selectable/cutlery.svg)
* skin/classic/browser/zen-icons/selectable/egg.svg (../shared/zen-icons/common/selectable/egg.svg)
* skin/classic/browser/zen-icons/selectable/extension-puzzle.svg (../shared/zen-icons/common/selectable/extension-puzzle.svg)
* skin/classic/browser/zen-icons/selectable/eye.svg (../shared/zen-icons/common/selectable/eye.svg)
* skin/classic/browser/zen-icons/selectable/fast-food.svg (../shared/zen-icons/common/selectable/fast-food.svg)
* skin/classic/browser/zen-icons/selectable/fish.svg (../shared/zen-icons/common/selectable/fish.svg)
* skin/classic/browser/zen-icons/selectable/flag.svg (../shared/zen-icons/common/selectable/flag.svg)
* skin/classic/browser/zen-icons/selectable/flame.svg (../shared/zen-icons/common/selectable/flame.svg)
* skin/classic/browser/zen-icons/selectable/flask.svg (../shared/zen-icons/common/selectable/flask.svg)
* skin/classic/browser/zen-icons/selectable/folder.svg (../shared/zen-icons/common/selectable/folder.svg)
* skin/classic/browser/zen-icons/selectable/game-controller.svg (../shared/zen-icons/common/selectable/game-controller.svg)
* skin/classic/browser/zen-icons/selectable/globe-1.svg (../shared/zen-icons/common/selectable/globe-1.svg)
* skin/classic/browser/zen-icons/selectable/globe.svg (../shared/zen-icons/common/selectable/globe.svg)
* skin/classic/browser/zen-icons/selectable/grid-2x2.svg (../shared/zen-icons/common/selectable/grid-2x2.svg)
* skin/classic/browser/zen-icons/selectable/grid-3x3.svg (../shared/zen-icons/common/selectable/grid-3x3.svg)
* skin/classic/browser/zen-icons/selectable/heart.svg (../shared/zen-icons/common/selectable/heart.svg)
* skin/classic/browser/zen-icons/selectable/ice-cream.svg (../shared/zen-icons/common/selectable/ice-cream.svg)
* skin/classic/browser/zen-icons/selectable/image.svg (../shared/zen-icons/common/selectable/image.svg)
* skin/classic/browser/zen-icons/selectable/inbox.svg (../shared/zen-icons/common/selectable/inbox.svg)
* skin/classic/browser/zen-icons/selectable/key.svg (../shared/zen-icons/common/selectable/key.svg)
* skin/classic/browser/zen-icons/selectable/layers.svg (../shared/zen-icons/common/selectable/layers.svg)
* skin/classic/browser/zen-icons/selectable/leaf.svg (../shared/zen-icons/common/selectable/leaf.svg)
* skin/classic/browser/zen-icons/selectable/lightning.svg (../shared/zen-icons/common/selectable/lightning.svg)
* skin/classic/browser/zen-icons/selectable/location.svg (../shared/zen-icons/common/selectable/location.svg)
* skin/classic/browser/zen-icons/selectable/lock-closed.svg (../shared/zen-icons/common/selectable/lock-closed.svg)
* skin/classic/browser/zen-icons/selectable/logo-rss.svg (../shared/zen-icons/common/selectable/logo-rss.svg)
* skin/classic/browser/zen-icons/selectable/logo-usd.svg (../shared/zen-icons/common/selectable/logo-usd.svg)
* skin/classic/browser/zen-icons/selectable/mail.svg (../shared/zen-icons/common/selectable/mail.svg)
* skin/classic/browser/zen-icons/selectable/map.svg (../shared/zen-icons/common/selectable/map.svg)
* skin/classic/browser/zen-icons/selectable/megaphone.svg (../shared/zen-icons/common/selectable/megaphone.svg)
* skin/classic/browser/zen-icons/selectable/moon.svg (../shared/zen-icons/common/selectable/moon.svg)
* skin/classic/browser/zen-icons/selectable/music.svg (../shared/zen-icons/common/selectable/music.svg)
* skin/classic/browser/zen-icons/selectable/navigate.svg (../shared/zen-icons/common/selectable/navigate.svg)
* skin/classic/browser/zen-icons/selectable/nuclear.svg (../shared/zen-icons/common/selectable/nuclear.svg)
* skin/classic/browser/zen-icons/selectable/page.svg (../shared/zen-icons/common/selectable/page.svg)
* skin/classic/browser/zen-icons/selectable/palette.svg (../shared/zen-icons/common/selectable/palette.svg)
* skin/classic/browser/zen-icons/selectable/paw.svg (../shared/zen-icons/common/selectable/paw.svg)
* skin/classic/browser/zen-icons/selectable/people.svg (../shared/zen-icons/common/selectable/people.svg)
* skin/classic/browser/zen-icons/selectable/pizza.svg (../shared/zen-icons/common/selectable/pizza.svg)
* skin/classic/browser/zen-icons/selectable/planet.svg (../shared/zen-icons/common/selectable/planet.svg)
* skin/classic/browser/zen-icons/selectable/present.svg (../shared/zen-icons/common/selectable/present.svg)
* skin/classic/browser/zen-icons/selectable/rocket.svg (../shared/zen-icons/common/selectable/rocket.svg)
* skin/classic/browser/zen-icons/selectable/school.svg (../shared/zen-icons/common/selectable/school.svg)
* skin/classic/browser/zen-icons/selectable/shapes.svg (../shared/zen-icons/common/selectable/shapes.svg)
* skin/classic/browser/zen-icons/selectable/shirt.svg (../shared/zen-icons/common/selectable/shirt.svg)
* skin/classic/browser/zen-icons/selectable/skull.svg (../shared/zen-icons/common/selectable/skull.svg)
* skin/classic/browser/zen-icons/selectable/square.svg (../shared/zen-icons/common/selectable/square.svg)
* skin/classic/browser/zen-icons/selectable/squares.svg (../shared/zen-icons/common/selectable/squares.svg)
* skin/classic/browser/zen-icons/selectable/star-1.svg (../shared/zen-icons/common/selectable/star-1.svg)
* skin/classic/browser/zen-icons/selectable/star.svg (../shared/zen-icons/common/selectable/star.svg)
* skin/classic/browser/zen-icons/selectable/stats-chart.svg (../shared/zen-icons/common/selectable/stats-chart.svg)
* skin/classic/browser/zen-icons/selectable/sun.svg (../shared/zen-icons/common/selectable/sun.svg)
* skin/classic/browser/zen-icons/selectable/tada.svg (../shared/zen-icons/common/selectable/tada.svg)
* skin/classic/browser/zen-icons/selectable/terminal.svg (../shared/zen-icons/common/selectable/terminal.svg)
* skin/classic/browser/zen-icons/selectable/ticket.svg (../shared/zen-icons/common/selectable/ticket.svg)
* skin/classic/browser/zen-icons/selectable/time.svg (../shared/zen-icons/common/selectable/time.svg)
* skin/classic/browser/zen-icons/selectable/trash.svg (../shared/zen-icons/common/selectable/trash.svg)
* skin/classic/browser/zen-icons/selectable/triangle.svg (../shared/zen-icons/common/selectable/triangle.svg)
* skin/classic/browser/zen-icons/selectable/video.svg (../shared/zen-icons/common/selectable/video.svg)
* skin/classic/browser/zen-icons/selectable/volume-high.svg (../shared/zen-icons/common/selectable/volume-high.svg)
* skin/classic/browser/zen-icons/selectable/wallet.svg (../shared/zen-icons/common/selectable/wallet.svg)
* skin/classic/browser/zen-icons/selectable/warning.svg (../shared/zen-icons/common/selectable/warning.svg)
* skin/classic/browser/zen-icons/selectable/water.svg (../shared/zen-icons/common/selectable/water.svg)
* skin/classic/browser/zen-icons/selectable/weight.svg (../shared/zen-icons/common/selectable/weight.svg)
skin/classic/browser/zen-icons/icons.css (../shared/zen-icons/icons.css)

View File

@@ -0,0 +1,5 @@
#filter dumbComments emptyLines substitution
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g fill="context-fill" fill-opacity="context-fill-opacity" class="nc-icon-wrapper"><path d="M14.609,5.342c-2.539-1.385-4.21-3.969-4.227-3.995-.18-.281-.521-.41-.843-.316-.319,.094-.54,.387-.54,.72V10.269c-.629-.476-1.403-.769-2.25-.769-2.068,0-3.75,1.682-3.75,3.75s1.682,3.75,3.75,3.75,3.75-1.682,3.75-3.75V3.915c.82,.903,1.977,1.972,3.391,2.743,.363,.198,.819,.065,1.018-.299,.199-.364,.064-.819-.299-1.018Z"></path></g></svg>

View File

@@ -2,4 +2,4 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M14.25,16.25l-5.25-3.5-5.25,3.5V3.75c0-1.105,.895-2,2-2h6.5c1.105,0,2,.895,2,2v12.5Z"></path><polyline points="6.497 8 8.106 9.5 11.503 5" data-color="color-2"></polyline></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g fill="context-fill" fill-opacity="context-fill-opacity" class="nc-icon-wrapper"><path d="M12.25,1H5.75c-1.517,0-2.75,1.233-2.75,2.75v12.5c0,.276,.152,.531,.396,.661,.244,.131,.54,.117,.77-.037l4.834-3.223,4.834,3.223c.125,.083,.271,.126,.416,.126,.122,0,.243-.029,.354-.089,.244-.13,.396-.385,.396-.661V3.75c0-1.517-1.233-2.75-2.75-2.75Z"></path></g></svg>

View File

@@ -0,0 +1,5 @@
#filter dumbComments emptyLines substitution
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g fill="context-fill" fill-opacity="context-fill-opacity" class="nc-icon-wrapper"><path d="M14.25,3h-1.73l-.324-.864c-.254-.68-.913-1.136-1.639-1.136h-3.114c-.726,0-1.384,.457-1.638,1.136l-.324,.864h-1.73c-1.517,0-2.75,1.233-2.75,2.75v6.5c0,1.517,1.233,2.75,2.75,2.75H14.25c1.517,0,2.75-1.233,2.75-2.75V5.75c0-1.517-1.233-2.75-2.75-2.75ZM4,7c-.552,0-1-.448-1-1s.448-1,1-1,1,.448,1,1-.448,1-1,1Zm5,5c-1.657,0-3-1.343-3-3s1.343-3,3-3,3,1.343,3,3-1.343,3-3,3Z"></path></g></svg>

View File

@@ -2,4 +2,4 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M14.25,3.75h-2.25l-.507-1.351c-.146-.39-.519-.649-.936-.649h-3.114c-.417,0-.79,.259-.936,.649l-.507,1.351H3.75c-1.105,0-2,.895-2,2v6.5c0,1.105,.895,2,2,2H14.25c1.105,0,2-.895,2-2V5.75c0-1.105-.895-2-2-2Z"></path><circle cx="9" cy="9" r="2.75" data-color="color-2"></circle><circle cx="4.25" cy="6.25" r=".75" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></circle></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M14.25,3.75h-2.25l-.507-1.351c-.146-.39-.519-.649-.936-.649h-3.114c-.417,0-.79,.259-.936,.649l-.507,1.351H3.75c-1.105,0-2,.895-2,2v6.5c0,1.105,.895,2,2,2H14.25c1.105,0,2-.895,2-2V5.75c0-1.105-.895-2-2-2Z"></path><circle cx="9" cy="9" r="2.75" data-color="color-2"></circle><circle cx="4.25" cy="6.25" r=".75" fill="context-fill" data-color="color-2" data-stroke="none" stroke="none"></circle></g></svg>

View File

@@ -0,0 +1,5 @@
#filter dumbComments emptyLines substitution
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g fill="context-fill" fill-opacity="context-fill-opacity" class="nc-icon-wrapper"><circle cx="12.25" cy="1.75" r=".75" data-color="color-2"></circle><circle cx="14.75" cy="4.25" r=".75" data-color="color-2"></circle><path d="M16.87,7.599c-.039-.222-.176-.415-.373-.524-.197-.109-.433-.125-.642-.042-.363,.144-.735,.217-1.105,.217-1.498,0-2.77-1.128-2.958-2.624-.051-.403-.409-.688-.818-.652l-.224,.026c-1.209,0-2.193-.951-2.239-2.165-.008-.216-.109-.418-.277-.554-.168-.137-.386-.193-.6-.157C3.79,1.788,1,5.1,1,9c0,4.411,3.589,8,8,8s8-3.589,8-8c0-.451-.042-.909-.13-1.401Zm-9.87-1.599c.552,0,1,.448,1,1s-.448,1-1,1-1-.448-1-1,.448-1,1-1Zm.25,6.5c-.69,0-1.25-.56-1.25-1.25s.56-1.25,1.25-1.25,1.25,.56,1.25,1.25-.56,1.25-1.25,1.25Zm4,0c-.414,0-.75-.336-.75-.75s.336-.75,.75-.75,.75,.336,.75,.75-.336,.75-.75,.75Z"></path></g></svg>

View File

@@ -0,0 +1,5 @@
#filter dumbComments emptyLines substitution
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g fill="context-fill" fill-opacity="context-fill-opacity" class="nc-icon-wrapper"><path d="M15.75,12.5c-.689,0-1.25-.561-1.25-1.25V6.5c0-3.033-2.467-5.5-5.5-5.5S3.5,3.467,3.5,6.5v4.75c0,.689-.561,1.25-1.25,1.25-.414,0-.75,.336-.75,.75s.336,.75,.75,.75H15.75c.414,0,.75-.336,.75-.75s-.336-.75-.75-.75Z"></path><path d="M10.2,15h-2.399c-.151,0-.293,.068-.388,.185-.095,.117-.132,.271-.101,.418,.173,.822,.868,1.397,1.689,1.397s1.516-.575,1.689-1.397c.031-.147-.006-.301-.101-.418-.095-.117-.237-.185-.388-.185Z" data-color="color-2"></path></g></svg>

View File

@@ -2,4 +2,4 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M15.75,13.25c-1.105,0-2-.895-2-2V6.5c0-2.623-2.127-4.75-4.75-4.75h0c-2.623,0-4.75,2.127-4.75,4.75v4.75c0,1.105-.895,2-2,2H15.75Z"></path><path d="M10.588,15.185c-.095-.117-.237-.185-.388-.185h-2.399c-.151,0-.293,.068-.388,.185-.095,.117-.132,.271-.101,.418,.173,.822,.868,1.397,1.689,1.397s1.516-.575,1.689-1.397c.031-.147-.006-.301-.101-.418Z" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></path></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M15.75,13.25c-1.105,0-2-.895-2-2V6.5c0-2.623-2.127-4.75-4.75-4.75h0c-2.623,0-4.75,2.127-4.75,4.75v4.75c0,1.105-.895,2-2,2H15.75Z"></path><path d="M10.588,15.185c-.095-.117-.237-.185-.388-.185h-2.399c-.151,0-.293,.068-.388,.185-.095,.117-.132,.271-.101,.418,.173,.822,.868,1.397,1.689,1.397s1.516-.575,1.689-1.397c.031-.147-.006-.301-.101-.418Z" fill="context-fill" data-color="color-2" data-stroke="none" stroke="none"></path></g></svg>

View File

@@ -0,0 +1,5 @@
#filter dumbComments emptyLines substitution
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g fill="context-fill" fill-opacity="context-fill-opacity" class="nc-icon-wrapper"><path d="M15.414,8.665c.233,.117,.509,.104,.73-.032,.221-.137,.356-.378,.356-.638v-1.744c0-1.517-1.233-2.75-2.75-2.75h-1.775c.01-.083,.025-.164,.025-.25,0-1.103-.897-2-2-2s-2,.897-2,2c0,.086,.015,.167,.025,.25h-1.775c-1.517,0-2.75,1.233-2.75,2.75v1.775c-.083-.011-.164-.025-.25-.025-1.103,0-2,.897-2,2s.897,2,2,2c.086,0,.167-.015,.25-.025v1.775c0,1.517,1.233,2.75,2.75,2.75h1.744c.26,0,.501-.135,.638-.355,.136-.221,.149-.498,.033-.73-.109-.219-.165-.442-.165-.665,0-.827,.673-1.5,1.5-1.5s1.5,.673,1.5,1.5c0,.221-.056,.445-.166,.666-.116,.232-.103,.508,.034,.729,.137,.221,.378,.355,.638,.355h1.744c1.517,0,2.75-1.233,2.75-2.75v-1.744c0-.26-.135-.501-.356-.638s-.498-.15-.73-.032c-1.027,.515-2.164-.285-2.164-1.335,0-1.05,1.134-1.85,2.164-1.335Z"></path></g></svg>

View File

@@ -0,0 +1,5 @@
#filter dumbComments emptyLines substitution
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g fill="context-fill" fill-opacity="context-fill-opacity" class="nc-icon-wrapper"><path d="M9,1C5.791,1,2.471,3.344,2.471,7.267c0,2.792,3.252,6.915,5.189,9.125,.339,.387,.827,.609,1.34,.609s1.001-.222,1.339-.608c1.938-2.21,5.19-6.335,5.19-9.125,0-3.922-3.32-6.267-6.529-6.267Zm0,8.25c-.967,0-1.75-.784-1.75-1.75s.783-1.75,1.75-1.75,1.75,.784,1.75,1.75-.783,1.75-1.75,1.75Z"></path></g></svg>

View File

@@ -0,0 +1,5 @@
#filter dumbComments emptyLines substitution
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g fill="context-fill" fill-opacity="context-fill-opacity" class="nc-icon-wrapper"><path d="M13.25,2H4.75c-1.517,0-2.75,1.233-2.75,2.75V13.25c0,1.517,1.233,2.75,2.75,2.75H13.25c1.517,0,2.75-1.233,2.75-2.75V4.75c0-1.517-1.233-2.75-2.75-2.75ZM5.25,6h1.25v-1c0-.414,.336-.75,.75-.75s.75,.336,.75,.75v3.5c0,.414-.336,.75-.75,.75s-.75-.336-.75-.75v-1h-1.25c-.414,0-.75-.336-.75-.75s.336-.75,.75-.75Zm3,6h-3c-.414,0-.75-.336-.75-.75s.336-.75,.75-.75h3c.414,0,.75,.336,.75,.75s-.336,.75-.75,.75Zm4.5,0h-1.25v1c0,.414-.336,.75-.75,.75s-.75-.336-.75-.75v-3.5c0-.414,.336-.75,.75-.75s.75,.336,.75,.75v1h1.25c.414,0,.75,.336,.75,.75s-.336,.75-.75,.75Zm0-4.5h-3c-.414,0-.75-.336-.75-.75s.336-.75,.75-.75h3c.414,0,.75,.336,.75,.75s-.336,.75-.75,.75Z"></path></g></svg>

View File

@@ -0,0 +1,5 @@
#filter dumbComments emptyLines substitution
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g fill="context-fill" fill-opacity="context-fill-opacity" class="nc-icon-wrapper"><path d="M16.871,10.502l-2.204-6.621c-.375-1.125-1.423-1.881-2.609-1.881H5.942c-1.186,0-2.235,.756-2.609,1.881L1.129,10.502s-.129,.439-.129,.748v2c0,1.241,1.009,2.25,2.25,2.25H14.75c1.241,0,2.25-1.009,2.25-2.25v-2c0-.385-.129-.748-.129-.748Zm-1.371,2.748c0,.414-.336,.75-.75,.75H3.25c-.414,0-.75-.336-.75-.75v-2c0-.414,.336-.75,.75-.75H14.75c.414,0,.75,.336,.75,.75v2Z"></path><path d="M7,11.5h-2.75c-.414,0-.75,.336-.75,.75s.336,.75,.75,.75h2.75c.414,0,.75-.336,.75-.75s-.336-.75-.75-.75Z" data-color="color-2"></path></g></svg>

View File

@@ -0,0 +1,5 @@
#filter dumbComments emptyLines substitution
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g fill="context-fill" fill-opacity="context-fill-opacity" class="nc-icon-wrapper"><path d="M14.25,2H3.75c-1.517,0-2.75,1.233-2.75,2.75V13.25c0,1.517,1.233,2.75,2.75,2.75H14.25c1.517,0,2.75-1.233,2.75-2.75V4.75c0-1.517-1.233-2.75-2.75-2.75Zm-7.25,2c.552,0,1,.448,1,1s-.448,1-1,1-1-.448-1-1,.448-1,1-1Zm-3,0c.552,0,1,.448,1,1s-.448,1-1,1-1-.448-1-1,.448-1,1-1ZM15.5,13.25c0,.689-.561,1.25-1.25,1.25H3.75c-.689,0-1.25-.561-1.25-1.25v-5.25H15.5v5.25Z"></path></g></svg>

View File

@@ -2,4 +2,4 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><circle cx="4.25" cy="5.25" r=".75" fill="currentColor" data-stroke="none" data-color="color-2" stroke="none"></circle><circle cx="6.75" cy="5.25" r=".75" fill="currentColor" data-stroke="none" data-color="color-2" stroke="none"></circle><line x1="1.75" y1="7.75" x2="16.25" y2="7.75"></line><path d="M16.25,8.709v-3.959c0-1.104-.895-2-2-2H3.75c-1.105,0-2,.896-2,2V13.25c0,1.104,.895,2,2,2h4.619"></path><circle cx="14" cy="14" r="3.25" data-color="color-2"></circle><line x1="11.702" y1="16.298" x2="16.292" y2="11.708" data-color="color-2"></line></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><circle cx="4.25" cy="5.25" r=".75" fill="context-fill" data-stroke="none" data-color="color-2" stroke="none"></circle><circle cx="6.75" cy="5.25" r=".75" fill="context-fill" data-stroke="none" data-color="color-2" stroke="none"></circle><line x1="1.75" y1="7.75" x2="16.25" y2="7.75"></line><path d="M16.25,8.709v-3.959c0-1.104-.895-2-2-2H3.75c-1.105,0-2,.896-2,2V13.25c0,1.104,.895,2,2,2h4.619"></path><circle cx="14" cy="14" r="3.25" data-color="color-2"></circle><line x1="11.702" y1="16.298" x2="16.292" y2="11.708" data-color="color-2"></line></g></svg>

View File

@@ -2,4 +2,4 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><line x1="5.75" y1="6.75" x2="7.75" y2="6.75" data-color="color-2"></line><line x1="5.75" y1="9.75" x2="12.25" y2="9.75" data-color="color-2"></line><line x1="5.75" y1="12.75" x2="12.25" y2="12.75" data-color="color-2"></line><path d="M2.75,14.25V3.75c0-1.105,.895-2,2-2h5.586c.265,0,.52,.105,.707,.293l3.914,3.914c.188,.188,.293,.442,.293,.707v7.586c0,1.105-.895,2-2,2H4.75c-1.105,0-2-.895-2-2Z"></path><path d="M15.16,6.25h-3.41c-.552,0-1-.448-1-1V1.852"></path></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><line x1="5.75" y1="11.25" x2="9" y2="11.25" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" data-color="color-2"></line><line x1="5.75" y1="8.25" x2="12.25" y2="8.25" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" data-color="color-2"></line><line x1="5.75" y1="5.25" x2="12.25" y2="5.25" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" data-color="color-2"></line><rect x="2.75" y="1.75" width="12.5" height="14.5" rx="2" ry="2" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></rect></g></svg>

View File

@@ -1,32 +0,0 @@
#filter dumbComments emptyLines substitution
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<!-- do not round the stroke-width -->
<svg xmlns="http://www.w3.org/2000/svg" stroke-width="1.001" stroke="context-fill" stroke-opacity="context-fill-opacity" width="260" height="20" fill="none" stroke-linecap="round" stroke-linejoin="round">
<defs>
<clipPath id="a"><path d="M0 3h6l8 7 5 1v9H0z"/></clipPath>
<clipPath id="b"><path d="M9 0v12l-5 8H0V0z"/></clipPath>
<clipPath id="c"><path d="m5 3 2 4h5V0H5z"/></clipPath>
<clipPath id="d"><path d="m10 8-2 2-5-5 2-2z"/></clipPath>
<clipPath id="e"><path d="m5 3 10 10-2 2L3 5z"/></clipPath>
<clipPath id="f"><path d="m5 3 12 12-2 2L3 5z"/></clipPath>
<clipPath id="g"><path d="m3 1 16 16H3z"/></clipPath>
<clipPath id="h"><path d="M3 3h7l7 7v7H3z"/></clipPath>
<path id="reload" d="M17.48 9.5v.5c0 4.1-3.4 7.5-7.5 7.5s-7.5-3.4-7.5-7.5 3.4-7.5 7.5-7.5c2.8 0 5.2 1.5 6.5 3.8m.02-3.8v4h-4"/>
<path id="close" d="m4.5 4.5 11 11m-11 0 11-11"/>
</defs>
<svg><use href="#reload"/></svg>
<svg x="20"><use href="#reload" transform="rotate(45 10 10)"/></svg>
<svg x="40"><use href="#reload" transform="rotate(125 10 10)"/></svg>
<svg x="60"><use href="#reload" transform="rotate(195 10 10)"/></svg>
<svg x="80"><use href="#reload" transform="rotate(235 10 10)"/></svg>
<svg x="100"><g clip-path="url(#a)"><use href="#reload" transform="rotate(260 10 10)"/></g></svg>
<svg x="120"><g clip-path="url(#b)"><use href="#reload" transform="rotate(280 10 10)"/></g></svg>
<svg x="140"><g clip-path="url(#c)"><use href="#reload" transform="rotate(300 10 10)"/></g><use href="#close" clip-path="url(#d)"/></svg>
<svg x="160"><use href="#close" clip-path="url(#e)"/></svg>
<svg x="180"><use href="#close" clip-path="url(#f)"/></svg>
<svg x="200"><use href="#close" clip-path="url(#g)"/></svg>
<svg x="220"><use href="#close" clip-path="url(#h)"/></svg>
<svg x="240"><use href="#close"/></svg>
</svg>

View File

@@ -2,4 +2,4 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M11.25,2.75h2c1.105,0,2,.895,2,2v2" data-color="color-2"></path><path d="M6.75,15.25h-2c-1.105,0-2-.895-2-2v-2" data-color="color-2"></path><path d="M2.75,6.75v-2c0-1.105,.895-2,2-2h2"></path><path d="M15.25,11.25v2c0,1.105-.895,2-2,2h-2"></path></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M 14.25 4.75 L 12 4.75 L 11.493 3.399 C 11.347 3.009 10.974 2.75 10.557 2.75 L 7.443 2.75 C 7.026 2.75 6.653 3.009 6.507 3.399 L 6 4.75 L 3.75 4.75 C 2.645 4.75 1.75 5.645 1.75 6.75 L 1.75 13.25 C 1.75 14.355 2.645 15.25 3.75 15.25 L 14.25 15.25 C 15.355 15.25 16.25 14.355 16.25 13.25 L 16.25 6.75 C 16.25 5.645 15.355 4.75 14.25 4.75 Z" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><circle cx="9" cy="10" r="2.75" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" data-color="color-2"></circle><circle cx="4.25" cy="7.25" r="0.75" data-color="color-2" data-stroke="none"></circle></g></svg>

View File

@@ -2,4 +2,4 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M7.638,3.495L2.213,12.891c-.605,1.048,.151,2.359,1.362,2.359H14.425c1.211,0,1.967-1.31,1.362-2.359L10.362,3.495c-.605-1.048-2.119-1.048-2.724,0Z"></path><line x1="9" y1="6.5" x2="9" y2="10" data-color="color-2"></line><path d="M9,13.569c-.552,0-1-.449-1-1s.448-1,1-1,1,.449,1,1-.448,1-1,1Z" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></path></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round"><path d="M7.638,3.495L2.213,12.891c-.605,1.048,.151,2.359,1.362,2.359H14.425c1.211,0,1.967-1.31,1.362-2.359L10.362,3.495c-.605-1.048-2.119-1.048-2.724,0Z"></path><line x1="9" y1="6.5" x2="9" y2="10"></line><path d="M9,13.569c-.552,0-1-.449-1-1s.448-1,1-1,1,.449,1,1-.448,1-1,1Z" fill="context-fill" data-stroke="none" stroke="none"></path></g></svg>

View File

@@ -0,0 +1,5 @@
#filter dumbComments emptyLines substitution
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g fill="context-fill" fill-opacity="context-fill-opacity" class="nc-icon-wrapper"><path d="M15.676,6.934l-.907-.32c-.104-.251-.22-.499-.358-.739-.131-.227-.296-.425-.451-.631l.184-.983c.153-.826-.232-1.664-.96-2.084l-.352-.203c-.728-.42-1.645-.336-2.284,.211l-.729,.624c-.543-.073-1.087-.08-1.623-.01l-.728-.623c-.639-.546-1.557-.632-2.285-.211l-.351,.203c-.728,.419-1.113,1.257-.959,2.084l.174,.933c-.326,.423-.575,.9-.784,1.399l-.939,.331c-.792,.28-1.324,1.033-1.324,1.873v.405c0,.841,.532,1.593,1.324,1.873l.906,.32c.104,.251,.219,.499,.358,.738,.131,.228,.296,.426,.452,.632l-.184,.983c-.153,.826,.232,1.664,.96,2.084l.352,.203c.309,.178,.651,.266,.992,.266,.463,0,.924-.162,1.292-.477l.724-.62c.278,.037,.556,.057,.833,.057,.266,0,.531-.018,.794-.052l.729,.624c.368,.315,.829,.477,1.293,.477,.341,0,.684-.087,.992-.266l.351-.203c.728-.419,1.113-1.257,.959-2.084l-.174-.934c.326-.423,.574-.899,.783-1.397l.94-.332c.792-.28,1.324-1.033,1.324-1.873v-.405c0-.841-.532-1.593-1.324-1.873Zm-6.676,5.066c-1.657,0-3-1.343-3-3s1.343-3,3-3,3,1.343,3,3-1.343,3-3,3Z"></path></g></svg>

View File

@@ -2,4 +2,4 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M11.75,4.5V1.75s4.5,4.25,4.5,4.25l-4.5,4.25v-2.75c-3.625,0-6,3.5-6,3.5,0,0,0-6.5,6-6.5Z" data-color="color-2"></path><path d="M7.25,2.75h-2.5c-1.105,0-2,.895-2,2V13.25c0,1.105,.895,2,2,2H13.25c1.105,0,2-.895,2-2v-2.5"></path></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M12,7.25h1.75c1.105,0,2,.895,2,2v4.5c0,1.105-.895,2-2,2H4.25c-1.105,0-2-.895-2-2v-4.5c0-1.105,.895-2,2-2h1.75" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path><polyline points="6 4.25 9 1.25 12 4.25" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" data-color="color-2"></polyline><line x1="9" y1="1.25" x2="9" y2="12.75" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" data-color="color-2"></line></g></svg>

View File

@@ -0,0 +1,5 @@
#filter dumbComments emptyLines substitution
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><line x1="9.75" y1="2.75" x2="9.75" y2="15.25" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" data-color="color-2"></line><rect x="1.75" y="2.75" width="14.5" height="12.5" rx="2" ry="2" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></rect><line x1="13.75" y1="6.25" x2="12.25" y2="6.25" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" data-color="color-2"></line><line x1="13.75" y1="9" x2="12.25" y2="9" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" data-color="color-2"></line><line x1="13.75" y1="11.75" x2="12.25" y2="11.75" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" data-color="color-2"></line></g></svg>

View File

@@ -2,4 +2,4 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><rect x="1.75" y="3.25" width="14.5" height="11.5" rx="2" ry="2"></rect><rect x="4.75" y="6.25" width="2" height="5.5" fill="currentColor" data-color="color-2"></rect></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><line x1="8.25" y1="2.75" x2="8.25" y2="15.25" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" data-color="color-2"></line><rect x="1.75" y="2.75" width="14.5" height="12.5" rx="2" ry="2" transform="translate(18 18) rotate(180)" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></rect><line x1="4.25" y1="6.25" x2="5.75" y2="6.25" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" data-color="color-2"></line><line x1="4.25" y1="9" x2="5.75" y2="9" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" data-color="color-2"></line><line x1="4.25" y1="11.75" x2="5.75" y2="11.75" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" data-color="color-2"></line></g></svg>

View File

@@ -1,39 +0,0 @@
#filter dumbComments emptyLines substitution
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<!-- do not round the stroke-width -->
<svg xmlns="http://www.w3.org/2000/svg" stroke-width="1.001" stroke="context-fill" stroke-opacity="context-fill-opacity" fill="none" stroke-linecap="round" stroke-linejoin="round">
<defs>
<clipPath id="a"><path d="m3 6 11 11h3V3H3Z"/></clipPath>
<clipPath id="b"><path d="M5 3 3 5l12 12 2-2L5 3zm10 0-2 2 2 2 2-2-2-2z"/></clipPath>
<clipPath id="c"><path d="m5 3 12 12-2 2L3 5Z"/></clipPath>
<clipPath id="d"><path d="m5 3 7 7-2 2-7-7z"/></clipPath>
<clipPath id="e"><path d="m5 3 2 2-2 2-2-2Z"/></clipPath>
<clipPath id="f"><path d="m16 3-4 6h10Z"/></clipPath>
<clipPath id="g"><path d="m11 11 8 6V4h-4z"/></clipPath>
<clipPath id="h"><path d="m11 11-1 9h9V0l-7 8z"/></clipPath>
<clipPath id="i"><path d="M16 3 3 17v3h16V3Z"/></clipPath>
<clipPath id="j"><path d="m16 3-3 4-13 3v10h19V3Z"/></clipPath>
<clipPath id="k"><path d="m16 3-3 4L0 2v18h20V3Z"/></clipPath>
<clipPath id="l"><path d="m16 3-3 4-8-7H0v20h20V3Z"/></clipPath>
<clipPath id="m"><path d="m16 3-3 4-2-7H0v20h20V3Z"/></clipPath>
<path id="reload" d="M17.48 9.5v.5c0 4.1-3.4 7.5-7.5 7.5s-7.5-3.4-7.5-7.5 3.4-7.5 7.5-7.5c2.8 0 5.2 1.5 6.5 3.8m.02-3.8v4h-4"/>
<path id="close" d="m4.5 4.5 11 11m-11 0 11-11"/>
</defs>
<svg><use href="#close"/></svg>
<svg x="20"><use href="#close" clip-path="url(#a)"/></svg>
<svg x="40"><use href="#close" clip-path="url(#b)"/></svg>
<svg x="60"><g clip-path="url(#f)"><use href="#reload" transform="rotate(40 10 10)"/></g><use href="#close" clip-path="url(#c)"/></svg>
<svg x="80"><g clip-path="url(#g)"><use href="#reload" transform="rotate(80 10 10)"/></g><use href="#close" clip-path="url(#d)"/></svg>
<svg x="100"><g clip-path="url(#h)"><use href="#reload" transform="rotate(120 10 10)"/></g><use href="#close" clip-path="url(#e)"/></svg>
<svg x="120"><g clip-path="url(#i)"><use href="#reload" transform="rotate(160 10 10)"/></g></svg>
<svg x="140"><g clip-path="url(#j)"><use href="#reload" transform="rotate(200 10 10)"/></g></svg>
<svg x="160"><g clip-path="url(#k)"><use href="#reload" transform="rotate(250 10 10)"/></g></svg>
<svg x="180"><g clip-path="url(#l)"><use href="#reload" transform="rotate(270 10 10)"/></g></svg>
<svg x="200"><g clip-path="url(#m)"><use href="#reload" transform="rotate(300 10 10)"/></g></svg>
<svg x="220"><use href="#reload" transform="rotate(335 10 10)"/></svg>
<svg x="240"><use href="#reload" transform="rotate(345 10 10)"/></svg>
<svg x="260"><use href="#reload" transform="rotate(355 10 10)"/></svg>
<svg x="280"><use href="#reload"/></svg>
</svg>

View File

@@ -0,0 +1,5 @@
#filter dumbComments emptyLines substitution
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g fill="context-fill" fill-opacity="context-fill-opacity" class="nc-icon-wrapper"><path d="M14.783,2.813l-5.25-1.68c-.348-.111-.717-.111-1.066,0L3.216,2.813c-.727,.233-1.216,.903-1.216,1.667v6.52c0,3.507,4.945,5.379,6.461,5.869,.177,.057,.357,.086,.539,.086s.362-.029,.538-.086c1.517-.49,6.462-2.362,6.462-5.869V4.48c0-.764-.489-1.434-1.217-1.667Zm-.283,8.187c0,2.559-4.518,4.149-5.424,4.442-.026,.008-.051,0-.076,0V2.55c.025,0,.051,.004,.076,.012l5.249,1.68c.104,.033,.175,.129,.175,.238v6.52Z"></path></g></svg>

View File

@@ -0,0 +1,5 @@
#filter dumbComments emptyLines substitution
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g fill="context-fill" fill-opacity="context-fill-opacity" class="nc-icon-wrapper"><path d="M15.979,7.495c-.25,0-.496-.126-.638-.354l-1.892-3.049c-.23-.37-.627-.591-1.062-.591H5.613c-.436,0-.833,.221-1.062,.591l-1.892,3.049c-.218,.352-.682,.46-1.033,.242-.352-.218-.46-.681-.242-1.033l1.892-3.049c.506-.814,1.379-1.3,2.337-1.3h6.774c.958,0,1.831,.486,2.337,1.299l1.892,3.05c.218,.352,.11,.814-.242,1.033-.123,.077-.26,.113-.395,.113Z" data-color="color-2"></path><path d="M14.25,5H3.75c-1.517,0-2.75,1.233-2.75,2.75v4.5c0,1.517,1.233,2.75,2.75,2.75h2c.861,0,1.683-.411,2.2-1.1l.45-.6c.286-.381,.914-.381,1.2,0l.45,.601c.517,.688,1.339,1.1,2.2,1.1h2c1.517,0,2.75-1.233,2.75-2.75V7.75c0-1.517-1.233-2.75-2.75-2.75ZM5.5,11.5c-.827,0-1.5-.673-1.5-1.5s.673-1.5,1.5-1.5,1.5,.673,1.5,1.5-.673,1.5-1.5,1.5Zm7,0c-.827,0-1.5-.673-1.5-1.5s.673-1.5,1.5-1.5,1.5,.673,1.5,1.5-.673,1.5-1.5,1.5Z"></path></g></svg>

View File

@@ -0,0 +1,3 @@
# Notice
MacOS icons are using Nucleo icons. This until we figure out how sizing works with Fluent icons.

View File

@@ -1,8 +0,0 @@
<!--
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-->
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8.50006 4.49805C8.50006 3.66962 9.17163 2.99805 10.0001 2.99805C10.8285 2.99805 11.5001 3.66962 11.5001 4.49805C11.5001 5.32647 10.8285 5.99805 10.0001 5.99805C9.17163 5.99805 8.50006 5.32647 8.50006 4.49805ZM10.0001 1.99805C8.61935 1.99805 7.50006 3.11734 7.50006 4.49805C7.50006 4.69992 7.52399 4.89621 7.56916 5.08423L5.47189 4.15047C4.59026 3.75794 3.55353 4.15155 3.15456 5.0303C2.75442 5.91164 3.1474 6.94669 4.03165 7.34038L6.99997 8.66196L6.99997 10.9489L5.12327 15.5939C4.76121 16.4901 5.19416 17.51 6.09028 17.8721C6.9864 18.2341 8.00636 17.8012 8.36841 16.9051L9.92354 13.056C9.93301 13.0325 9.94388 13.0233 9.95195 13.0181C9.96244 13.0114 9.97829 13.006 9.99771 13.006C10.0171 13.006 10.033 13.0114 10.0435 13.0181C10.0515 13.0233 10.0624 13.0325 10.0719 13.056L11.6269 16.9049C11.989 17.801 13.0089 18.2339 13.9051 17.8719C14.8012 17.5098 15.2341 16.4899 14.8721 15.5938L13 10.9601V8.66196L15.9683 7.34038C16.8525 6.94669 17.2455 5.91164 16.8454 5.0303C16.4464 4.15155 15.4097 3.75794 14.528 4.15047L12.431 5.08414C12.4761 4.89615 12.5001 4.69989 12.5001 4.49805C12.5001 3.11734 11.3808 1.99805 10.0001 1.99805ZM4.06511 5.4437C4.23694 5.06524 4.68545 4.89495 5.06516 5.06401L8.98313 6.8084C9.6304 7.09659 10.3695 7.09659 11.0168 6.8084L14.9348 5.06401C15.3145 4.89495 15.763 5.06524 15.9348 5.4437C16.1055 5.81956 15.9387 6.25894 15.5616 6.42683L12.5932 7.74842C12.2324 7.90906 12 8.26701 12 8.66196V10.9601C12 11.0885 12.0247 11.2157 12.0728 11.3347L13.9449 15.9684C14.1001 16.3524 13.9145 16.7895 13.5305 16.9447C13.1464 17.0999 12.7093 16.9143 12.5541 16.5303L10.9991 12.6814C10.6352 11.7808 9.36021 11.7808 8.99635 12.6814L7.44123 16.5305C7.28606 16.9145 6.84894 17.1001 6.46489 16.9449C6.08083 16.7897 5.89529 16.3526 6.05045 15.9685L7.92715 11.3235C7.97525 11.2045 7.99997 11.0773 7.99997 10.9489V8.66196C7.99997 8.26701 7.76751 7.90906 7.40671 7.74842L4.43838 6.42683C4.06128 6.25894 3.89446 5.81956 4.06511 5.4437Z" fill="currentColor" stroke="none" fill-opacity="context-fill-opacity"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -1,8 +0,0 @@
<!--
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-->
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M14 3H6C5.44772 3 5 3.44772 5 4V15H9.02242C9.05337 15.3434 9.11588 15.6777 9.20703 16H5C5 16.5523 5.44772 17 6 17H9.59971C9.78261 17.3578 10.0035 17.6929 10.2572 18H6C4.89543 18 4 17.1046 4 16V4C4 2.89543 4.89543 2 6 2H14C15.1046 2 16 2.89543 16 4V9.20703C15.6777 9.11588 15.3434 9.05337 15 9.02242V4C15 3.44772 14.5523 3 14 3ZM6 5V6C6 6.55228 6.44772 7 7 7H13C13.5523 7 14 6.55228 14 6V5C14 4.44772 13.5523 4 13 4H7C6.44772 4 6 4.44772 6 5ZM7 5H13V6H7V5ZM19 14.5C19 16.9853 16.9853 19 14.5 19C12.0147 19 10 16.9853 10 14.5C10 12.0147 12.0147 10 14.5 10C16.9853 10 19 12.0147 19 14.5ZM15 12.5C15 12.2239 14.7761 12 14.5 12C14.2239 12 14 12.2239 14 12.5V14H12.5C12.2239 14 12 14.2239 12 14.5C12 14.7761 12.2239 15 12.5 15H14V16.5C14 16.7761 14.2239 17 14.5 17C14.7761 17 15 16.7761 15 16.5V15H16.5C16.7761 15 17 14.7761 17 14.5C17 14.2239 16.7761 14 16.5 14H15V12.5Z" fill="currentColor" stroke="none" fill-opacity="context-fill-opacity"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -1,8 +0,0 @@
<!--
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-->
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16.8664 10.8371C17.0526 10.6332 17.0382 10.3169 16.8342 10.1307C16.6303 9.94456 16.314 9.95895 16.1278 10.1629L10.4971 16.3307V2.5C10.4971 2.22386 10.2733 2 9.99712 2C9.72097 2 9.49712 2.22386 9.49712 2.5V16.3279L3.86903 10.1629C3.68285 9.95895 3.36659 9.94456 3.16265 10.1307C2.95871 10.3169 2.94431 10.6332 3.13049 10.8371L9.44454 17.7535C9.5723 17.8934 9.73984 17.9732 9.91298 17.993C9.94033 17.9976 9.96844 18 9.99712 18C10.024 18 10.0504 17.9979 10.0761 17.9938C10.252 17.9756 10.4227 17.8955 10.5523 17.7535L16.8664 10.8371Z" fill="currentColor" stroke="none" fill-opacity="context-fill-opacity"/>
</svg>

Before

Width:  |  Height:  |  Size: 937 B

View File

@@ -1,8 +0,0 @@
<!--
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-->
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M9.15898 16.8666C9.36292 17.0528 9.67918 17.0384 9.86536 16.8345C10.0515 16.6305 10.0371 16.3143 9.8332 16.1281L3.66535 10.4974H17.4961C17.7722 10.4974 17.9961 10.2735 17.9961 9.99736C17.9961 9.72122 17.7722 9.49736 17.4961 9.49736H3.66824L9.8332 3.86927C10.0371 3.68309 10.0515 3.36684 9.86536 3.16289C9.67918 2.95895 9.36292 2.94456 9.15898 3.13074L2.24263 9.44478C2.10268 9.57254 2.02285 9.74008 2.00314 9.91323C1.99851 9.94058 1.99609 9.96869 1.99609 9.99736C1.99609 10.0242 1.99821 10.0506 2.00229 10.0763C2.02047 10.2522 2.10058 10.4229 2.24263 10.5526L9.15898 16.8666Z" fill="currentColor" stroke="none" fill-opacity="context-fill-opacity"/>
</svg>

Before

Width:  |  Height:  |  Size: 981 B

View File

@@ -1,8 +0,0 @@
<!--
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-->
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.8371 3.13074C10.6332 2.94456 10.3169 2.95895 10.1307 3.16289C9.94456 3.36683 9.95895 3.68309 10.1629 3.86927L16.3307 9.5H2.5C2.22386 9.5 2 9.72386 2 10C2 10.2761 2.22386 10.5 2.5 10.5H16.3279L10.1629 16.1281C9.95895 16.3143 9.94456 16.6305 10.1307 16.8345C10.3169 17.0384 10.6332 17.0528 10.8371 16.8666L17.7535 10.5526C17.8934 10.4248 17.9732 10.2573 17.993 10.0841C17.9976 10.0568 18 10.0287 18 10C18 9.97313 17.9979 9.94675 17.9938 9.92103C17.9756 9.74512 17.8955 9.57446 17.7535 9.44478L10.8371 3.13074Z" fill="currentColor" stroke="none" fill-opacity="context-fill-opacity"/>
</svg>

Before

Width:  |  Height:  |  Size: 917 B

View File

@@ -1,8 +0,0 @@
<!--
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-->
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.13196 9.16156C2.94578 9.3655 2.96017 9.68176 3.16412 9.86794C3.36806 10.0541 3.68431 10.0397 3.87049 9.83578L9.50122 3.66792L9.50122 17.4987C9.50122 17.7748 9.72508 17.9987 10.0012 17.9987C10.2774 17.9987 10.5012 17.7748 10.5012 17.4987L10.5012 3.67081L16.1293 9.83578C16.3155 10.0397 16.6317 10.0541 16.8357 9.86794C17.0396 9.68176 17.054 9.3655 16.8678 9.16156L10.5538 2.24521C10.426 2.10526 10.2585 2.02543 10.0854 2.00572C10.058 2.00109 10.0299 1.99867 10.0012 1.99867C9.97435 1.99867 9.94797 2.00079 9.92225 2.00487C9.74634 2.02305 9.57568 2.10316 9.446 2.24521L3.13196 9.16156Z" fill="currentColor" stroke="none" fill-opacity="context-fill-opacity"/>
</svg>

Before

Width:  |  Height:  |  Size: 992 B

Some files were not shown because too many files have changed in this diff Show More