summaryrefslogtreecommitdiff
path: root/application
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@gmail.com>2018-12-18 11:39:00 +0100
committerwolfbeast <mcwerewolf@gmail.com>2018-12-18 11:39:00 +0100
commit76fe52eb81db323ceaa8396de39b76efbce1c25e (patch)
tree061c409281374d893f9730f89e6a4ef32d0b53f9 /application
parent63635e38ff9341c02fae7f4557d230ec710947b6 (diff)
parent680c3eadb6aaec1f3653636db081a519e0f62ef5 (diff)
downloaduxp-2018.12.18.tar.gz
Merge branch 'master' into Basilisk-releasev2018.12.18
Diffstat (limited to 'application')
-rw-r--r--application/basilisk/base/content/browser-fxaccounts.js125
-rw-r--r--application/basilisk/base/content/browser-syncui.js82
-rw-r--r--application/basilisk/base/content/browser.js2
-rw-r--r--application/basilisk/base/content/sync/quota.js (renamed from application/palemoon/base/content/sync/quota.js)32
-rw-r--r--application/basilisk/base/content/sync/quota.xul (renamed from application/palemoon/base/content/sync/quota.xul)0
-rw-r--r--application/basilisk/base/jar.mn2
-rw-r--r--application/basilisk/components/customizableui/CustomizableWidgets.jsm73
-rw-r--r--application/basilisk/components/customizableui/content/panelUI.inc.xul7
-rw-r--r--application/basilisk/components/preferences/in-content/sync.js119
-rw-r--r--application/basilisk/components/preferences/in-content/sync.xul8
-rw-r--r--application/basilisk/confvars.sh8
-rw-r--r--application/basilisk/installer/package-manifest.in7
-rw-r--r--application/basilisk/locales/en-US/chrome/browser/browser.dtd5
-rw-r--r--application/basilisk/locales/en-US/chrome/browser/preferences/sync.dtd1
-rw-r--r--application/basilisk/locales/en-US/chrome/browser/syncBrand.dtd2
-rw-r--r--application/basilisk/locales/en-US/chrome/browser/syncSetup.dtd2
-rw-r--r--application/palemoon/app/moz.build13
-rw-r--r--application/palemoon/app/profile/palemoon.js26
-rw-r--r--application/palemoon/base/content/browser-sets.inc2
-rw-r--r--application/palemoon/base/content/browser-tabPreviews.js7
-rw-r--r--application/palemoon/base/content/browser-tabPreviews.xml5
-rw-r--r--application/palemoon/base/content/browser.js79
-rw-r--r--application/palemoon/base/content/browser.xul1
-rw-r--r--application/palemoon/base/content/sanitize.js24
-rw-r--r--application/palemoon/base/content/tabbrowser.css11
-rw-r--r--application/palemoon/base/content/tabbrowser.xml295
-rw-r--r--application/palemoon/base/jar.mn184
-rw-r--r--application/palemoon/branding/official/content/moz.build1
-rw-r--r--application/palemoon/branding/official/locales/jar.mn6
-rw-r--r--application/palemoon/branding/official/locales/moz.build1
-rw-r--r--application/palemoon/branding/shared/pref/uaoverrides.inc7
-rw-r--r--application/palemoon/branding/unofficial/content/jar.mn20
-rw-r--r--application/palemoon/branding/unofficial/content/moz.build1
-rw-r--r--application/palemoon/branding/unofficial/locales/jar.mn6
-rw-r--r--application/palemoon/branding/unstable/content/jar.mn20
-rw-r--r--application/palemoon/branding/unstable/content/moz.build1
-rw-r--r--application/palemoon/branding/unstable/locales/jar.mn6
-rw-r--r--application/palemoon/components/BrowserComponents.manifest19
-rw-r--r--application/palemoon/components/about/AboutRedirector.cpp184
-rw-r--r--application/palemoon/components/about/AboutRedirector.h32
-rw-r--r--application/palemoon/components/abouthome/aboutHome.css (renamed from application/palemoon/base/content/abouthome/aboutHome.css)4
-rw-r--r--application/palemoon/components/abouthome/aboutHome.js (renamed from application/palemoon/base/content/abouthome/aboutHome.js)0
-rw-r--r--application/palemoon/components/abouthome/aboutHome.xhtml (renamed from application/palemoon/base/content/abouthome/aboutHome.xhtml)2
-rw-r--r--application/palemoon/components/abouthome/addons.png (renamed from application/palemoon/base/content/abouthome/addons.png)bin1444 -> 1444 bytes
-rw-r--r--application/palemoon/components/abouthome/addons@2x.png (renamed from application/palemoon/base/content/abouthome/addons@2x.png)bin3783 -> 3783 bytes
-rw-r--r--application/palemoon/components/abouthome/bookmarks.png (renamed from application/palemoon/base/content/abouthome/bookmarks.png)bin1276 -> 1276 bytes
-rw-r--r--application/palemoon/components/abouthome/bookmarks@2x.png (renamed from application/palemoon/base/content/abouthome/bookmarks@2x.png)bin2946 -> 2946 bytes
-rw-r--r--application/palemoon/components/abouthome/downloads.png (renamed from application/palemoon/base/content/abouthome/downloads.png)bin898 -> 898 bytes
-rw-r--r--application/palemoon/components/abouthome/downloads@2x.png (renamed from application/palemoon/base/content/abouthome/downloads@2x.png)bin2018 -> 2018 bytes
-rw-r--r--application/palemoon/components/abouthome/history.png (renamed from application/palemoon/base/content/abouthome/history.png)bin1654 -> 1654 bytes
-rw-r--r--application/palemoon/components/abouthome/history@2x.png (renamed from application/palemoon/base/content/abouthome/history@2x.png)bin4629 -> 4629 bytes
-rw-r--r--application/palemoon/components/abouthome/jar.mn33
-rw-r--r--application/palemoon/components/abouthome/moz.build (renamed from application/palemoon/components/about/moz.build)13
-rw-r--r--application/palemoon/components/abouthome/noise.png (renamed from application/palemoon/base/content/abouthome/noise.png)bin4025 -> 4025 bytes
-rw-r--r--application/palemoon/components/abouthome/restore-large.png (renamed from application/palemoon/base/content/abouthome/restore-large.png)bin2841 -> 2841 bytes
-rw-r--r--application/palemoon/components/abouthome/restore-large@2x.png (renamed from application/palemoon/base/content/abouthome/restore-large@2x.png)bin7267 -> 7267 bytes
-rw-r--r--application/palemoon/components/abouthome/restore.png (renamed from application/palemoon/base/content/abouthome/restore.png)bin1796 -> 1796 bytes
-rw-r--r--application/palemoon/components/abouthome/restore@2x.png (renamed from application/palemoon/base/content/abouthome/restore@2x.png)bin4810 -> 4810 bytes
-rw-r--r--application/palemoon/components/abouthome/settings.png (renamed from application/palemoon/base/content/abouthome/settings.png)bin1557 -> 1557 bytes
-rw-r--r--application/palemoon/components/abouthome/settings@2x.png (renamed from application/palemoon/base/content/abouthome/settings@2x.png)bin3836 -> 3836 bytes
-rw-r--r--application/palemoon/components/abouthome/snippet1.png (renamed from application/palemoon/base/content/abouthome/snippet1.png)bin1470 -> 1470 bytes
-rw-r--r--application/palemoon/components/abouthome/snippet1@2x.png (renamed from application/palemoon/base/content/abouthome/snippet1@2x.png)bin3243 -> 3243 bytes
-rw-r--r--application/palemoon/components/abouthome/snippet2.png (renamed from application/palemoon/base/content/abouthome/snippet2.png)bin3287 -> 3287 bytes
-rw-r--r--application/palemoon/components/abouthome/snippet2@2x.png (renamed from application/palemoon/base/content/abouthome/snippet2@2x.png)bin11027 -> 11027 bytes
-rw-r--r--application/palemoon/components/abouthome/sync.png (renamed from application/palemoon/base/content/abouthome/sync.png)bin1879 -> 1879 bytes
-rw-r--r--application/palemoon/components/abouthome/sync@2x.png (renamed from application/palemoon/base/content/abouthome/sync@2x.png)bin4615 -> 4615 bytes
-rw-r--r--application/palemoon/components/build/moz.build9
-rw-r--r--application/palemoon/components/build/nsBrowserCompsCID.h4
-rw-r--r--application/palemoon/components/build/nsModule.cpp20
-rw-r--r--application/palemoon/components/certerror/jar.mn4
-rw-r--r--application/palemoon/components/certerror/moz.build1
-rw-r--r--application/palemoon/components/dirprovider/moz.build12
-rw-r--r--application/palemoon/components/downloads/jar.mn26
-rw-r--r--application/palemoon/components/feeds/FeedWriter.js20
-rw-r--r--application/palemoon/components/feeds/WebContentConverter.js2
-rw-r--r--application/palemoon/components/feeds/jar.mn8
-rw-r--r--application/palemoon/components/feeds/moz.build8
-rw-r--r--application/palemoon/components/fuel/moz.build12
-rw-r--r--application/palemoon/components/moz.build11
-rw-r--r--application/palemoon/components/newtab/cells.js (renamed from application/palemoon/base/content/newtab/cells.js)0
-rw-r--r--application/palemoon/components/newtab/drag.js (renamed from application/palemoon/base/content/newtab/drag.js)0
-rw-r--r--application/palemoon/components/newtab/dragDataHelper.js (renamed from application/palemoon/base/content/newtab/dragDataHelper.js)0
-rw-r--r--application/palemoon/components/newtab/drop.js (renamed from application/palemoon/base/content/newtab/drop.js)0
-rw-r--r--application/palemoon/components/newtab/dropPreview.js (renamed from application/palemoon/base/content/newtab/dropPreview.js)0
-rw-r--r--application/palemoon/components/newtab/dropTargetShim.js (renamed from application/palemoon/base/content/newtab/dropTargetShim.js)0
-rw-r--r--application/palemoon/components/newtab/grid.js (renamed from application/palemoon/base/content/newtab/grid.js)0
-rw-r--r--application/palemoon/components/newtab/jar.mn8
-rw-r--r--application/palemoon/components/newtab/moz.build8
-rw-r--r--application/palemoon/components/newtab/newTab.css (renamed from application/palemoon/base/content/newtab/newTab.css)0
-rw-r--r--application/palemoon/components/newtab/newTab.js (renamed from application/palemoon/base/content/newtab/newTab.js)0
-rw-r--r--application/palemoon/components/newtab/newTab.xhtml (renamed from application/palemoon/base/content/newtab/newTab.xhtml)0
-rw-r--r--application/palemoon/components/newtab/page.js (renamed from application/palemoon/base/content/newtab/page.js)0
-rw-r--r--application/palemoon/components/newtab/search.js (renamed from application/palemoon/base/content/newtab/search.js)0
-rw-r--r--application/palemoon/components/newtab/sites.js (renamed from application/palemoon/base/content/newtab/sites.js)0
-rw-r--r--application/palemoon/components/newtab/transformations.js (renamed from application/palemoon/base/content/newtab/transformations.js)0
-rw-r--r--application/palemoon/components/newtab/undo.js (renamed from application/palemoon/base/content/newtab/undo.js)0
-rw-r--r--application/palemoon/components/newtab/updater.js (renamed from application/palemoon/base/content/newtab/updater.js)0
-rw-r--r--application/palemoon/components/nsAboutRedirector.js118
-rw-r--r--application/palemoon/components/pageinfo/feeds.js (renamed from application/palemoon/base/content/pageinfo/feeds.js)0
-rw-r--r--application/palemoon/components/pageinfo/feeds.xml (renamed from application/palemoon/base/content/pageinfo/feeds.xml)0
-rw-r--r--application/palemoon/components/pageinfo/jar.mn13
-rw-r--r--application/palemoon/components/pageinfo/moz.build8
-rw-r--r--application/palemoon/components/pageinfo/pageInfo.css (renamed from application/palemoon/base/content/pageinfo/pageInfo.css)0
-rw-r--r--application/palemoon/components/pageinfo/pageInfo.js (renamed from application/palemoon/base/content/pageinfo/pageInfo.js)0
-rw-r--r--application/palemoon/components/pageinfo/pageInfo.xml (renamed from application/palemoon/base/content/pageinfo/pageInfo.xml)0
-rw-r--r--application/palemoon/components/pageinfo/pageInfo.xul (renamed from application/palemoon/base/content/pageinfo/pageInfo.xul)2
-rw-r--r--application/palemoon/components/pageinfo/permissions.js (renamed from application/palemoon/base/content/pageinfo/permissions.js)0
-rw-r--r--application/palemoon/components/pageinfo/security.js (renamed from application/palemoon/base/content/pageinfo/security.js)0
-rw-r--r--application/palemoon/components/permissions/jar.mn8
-rw-r--r--application/palemoon/components/permissions/moz.build1
-rw-r--r--application/palemoon/components/places/PlacesUIUtils.jsm40
-rw-r--r--application/palemoon/components/places/content/bookmarkProperties.js5
-rw-r--r--application/palemoon/components/places/content/controller.js17
-rw-r--r--application/palemoon/components/places/content/editBookmarkOverlay.js5
-rw-r--r--application/palemoon/components/places/jar.mn46
-rw-r--r--application/palemoon/components/places/moz.build1
-rw-r--r--application/palemoon/components/preferences/jar.mn74
-rw-r--r--application/palemoon/components/privatebrowsing/jar.mn2
-rw-r--r--application/palemoon/components/search/jar.mn8
-rw-r--r--application/palemoon/components/search/moz.build1
-rw-r--r--application/palemoon/components/sessionstore/jar.mn6
-rw-r--r--application/palemoon/components/sessionstore/moz.build4
-rw-r--r--application/palemoon/components/shell/jar.mn4
-rw-r--r--application/palemoon/components/shell/moz.build32
-rw-r--r--application/palemoon/components/statusbar/jar.mn20
-rw-r--r--application/palemoon/components/sync/aboutSyncTabs-bindings.xml (renamed from application/palemoon/base/content/sync/aboutSyncTabs-bindings.xml)0
-rw-r--r--application/palemoon/components/sync/aboutSyncTabs.css (renamed from application/palemoon/base/content/sync/aboutSyncTabs.css)0
-rw-r--r--application/palemoon/components/sync/aboutSyncTabs.js (renamed from application/palemoon/base/content/sync/aboutSyncTabs.js)0
-rw-r--r--application/palemoon/components/sync/aboutSyncTabs.xul (renamed from application/palemoon/base/content/sync/aboutSyncTabs.xul)0
-rw-r--r--application/palemoon/components/sync/addDevice.js (renamed from application/palemoon/base/content/sync/addDevice.js)0
-rw-r--r--application/palemoon/components/sync/addDevice.xul (renamed from application/palemoon/base/content/sync/addDevice.xul)0
-rw-r--r--application/palemoon/components/sync/genericChange.js (renamed from application/palemoon/base/content/sync/genericChange.js)0
-rw-r--r--application/palemoon/components/sync/genericChange.xul (renamed from application/palemoon/base/content/sync/genericChange.xul)0
-rw-r--r--application/palemoon/components/sync/jar.mn22
-rw-r--r--application/palemoon/components/sync/key.xhtml (renamed from application/palemoon/base/content/sync/key.xhtml)0
-rw-r--r--application/palemoon/components/sync/moz.build8
-rw-r--r--application/palemoon/components/sync/notification.xml (renamed from application/palemoon/base/content/sync/notification.xml)2
-rw-r--r--application/palemoon/components/sync/progress.js (renamed from application/palemoon/base/content/sync/progress.js)0
-rw-r--r--application/palemoon/components/sync/progress.xhtml (renamed from application/palemoon/base/content/sync/progress.xhtml)0
-rw-r--r--application/palemoon/components/sync/quota.js247
-rw-r--r--application/palemoon/components/sync/quota.xul65
-rw-r--r--application/palemoon/components/sync/setup.js (renamed from application/palemoon/base/content/sync/setup.js)0
-rw-r--r--application/palemoon/components/sync/setup.xul (renamed from application/palemoon/base/content/sync/setup.xul)0
-rw-r--r--application/palemoon/components/sync/utils.js (renamed from application/palemoon/base/content/sync/utils.js)0
-rw-r--r--application/palemoon/config/version.txt2
-rw-r--r--application/palemoon/configure.in13
-rw-r--r--application/palemoon/confvars.sh6
-rw-r--r--application/palemoon/fonts/moz.build4
-rw-r--r--application/palemoon/installer/package-manifest.in9
-rw-r--r--application/palemoon/locales/Makefile.in2
-rw-r--r--application/palemoon/locales/en-US/chrome/browser/aboutHome.dtd4
-rw-r--r--application/palemoon/locales/en-US/chrome/browser/browser.dtd4
-rw-r--r--application/palemoon/locales/en-US/chrome/browser/browser.properties5
-rw-r--r--application/palemoon/locales/en-US/chrome/browser/tabbrowser.properties4
-rw-r--r--application/palemoon/locales/jar.mn158
-rw-r--r--application/palemoon/modules/moz.build2
-rw-r--r--application/palemoon/moz.build4
-rw-r--r--application/palemoon/themes/linux/browser.css84
-rw-r--r--application/palemoon/themes/linux/communicator/jar.mn2
-rw-r--r--application/palemoon/themes/linux/jar.mn128
-rw-r--r--application/palemoon/themes/moz.build1
-rw-r--r--application/palemoon/themes/osx/browser.css84
-rw-r--r--application/palemoon/themes/osx/communicator/jar.mn2
-rw-r--r--application/palemoon/themes/osx/jar.mn318
-rw-r--r--application/palemoon/themes/shared/tabbrowser/tab-audio-small.svg58
-rw-r--r--application/palemoon/themes/shared/tabbrowser/tab-audio.svg18
-rw-r--r--application/palemoon/themes/windows/Toolbar-glass.pngbin18355 -> 0 bytes
-rw-r--r--application/palemoon/themes/windows/Toolbar-glass.svg2174
-rw-r--r--application/palemoon/themes/windows/Toolbar-inverted.pngbin4653 -> 0 bytes
-rw-r--r--application/palemoon/themes/windows/Toolbar-inverted.svg302
-rw-r--r--application/palemoon/themes/windows/Toolbar.pngbin15505 -> 0 bytes
-rw-r--r--application/palemoon/themes/windows/Toolbar.svg1357
-rw-r--r--application/palemoon/themes/windows/browser.css90
-rw-r--r--application/palemoon/themes/windows/communicator/jar.mn2
-rw-r--r--application/palemoon/themes/windows/downloads/downloads.css19
-rw-r--r--application/palemoon/themes/windows/jar.mn301
176 files changed, 6009 insertions, 1538 deletions
diff --git a/application/basilisk/base/content/browser-fxaccounts.js b/application/basilisk/base/content/browser-fxaccounts.js
index 94a591f1e5..e1d556bff5 100644
--- a/application/basilisk/base/content/browser-fxaccounts.js
+++ b/application/basilisk/base/content/browser-fxaccounts.js
@@ -77,15 +77,6 @@ var gFxAccounts = {
return Weave.Status.login == Weave.LOGIN_FAILED_LOGIN_REJECTED;
},
- get sendTabToDeviceEnabled() {
- return Services.prefs.getBoolPref("services.sync.sendTabToDevice.enabled");
- },
-
- get remoteClients() {
- return Weave.Service.clientsEngine.remoteClients
- .sort((a, b) => a.name.localeCompare(b.name));
- },
-
init: function () {
// Bail out if we're already initialized and for pop-up windows.
if (this._initialized || !window.toolbar.visible) {
@@ -153,11 +144,6 @@ var gFxAccounts = {
profileInfoEnabled = Services.prefs.getBoolPref("identity.fxaccounts.profile_image.enabled");
} catch (e) { }
- // Bail out if FxA is disabled.
- if (!this.weave.fxAccountsEnabled) {
- return Promise.resolve();
- }
-
this.panelUIFooter.hidden = false;
// Make sure the button is disabled in customization mode.
@@ -176,6 +162,7 @@ var gFxAccounts = {
let defaultLabel = this.panelUIStatus.getAttribute("defaultlabel");
let errorLabel = this.panelUIStatus.getAttribute("errorlabel");
let unverifiedLabel = this.panelUIStatus.getAttribute("unverifiedlabel");
+ let settingslabel = this.panelUIStatus.getAttribute("settingslabel");
// The localization string is for the signed in text, but it's the default text as well
let defaultTooltiptext = this.panelUIStatus.getAttribute("signedinTooltiptext");
@@ -191,34 +178,19 @@ var gFxAccounts = {
this.panelUIFooter.removeAttribute("fxastatus");
this.panelUIFooter.removeAttribute("fxaprofileimage");
this.panelUIAvatar.style.removeProperty("list-style-image");
- let showErrorBadge = false;
- if (userData) {
- // At this point we consider the user as logged-in (but still can be in an error state)
- if (this.loginFailed) {
- let tooltipDescription = this.strings.formatStringFromName("reconnectDescription", [userData.email], 1);
- this.panelUIFooter.setAttribute("fxastatus", "error");
- this.panelUILabel.setAttribute("label", errorLabel);
- this.panelUIStatus.setAttribute("tooltiptext", tooltipDescription);
- showErrorBadge = true;
- } else if (!userData.verified) {
- let tooltipDescription = this.strings.formatStringFromName("verifyDescription", [userData.email], 1);
- this.panelUIFooter.setAttribute("fxastatus", "error");
- this.panelUIFooter.setAttribute("unverified", "true");
- this.panelUILabel.setAttribute("label", unverifiedLabel);
- this.panelUIStatus.setAttribute("tooltiptext", tooltipDescription);
- showErrorBadge = true;
- } else {
- this.panelUIFooter.setAttribute("fxastatus", "signedin");
- this.panelUILabel.setAttribute("label", userData.email);
- }
- if (profileInfoEnabled) {
- this.panelUIFooter.setAttribute("fxaprofileimage", "enabled");
- }
+
+ if (Weave.Status.service == Weave.CLIENT_NOT_CONFIGURED) {
+ // Leave the default state
+ return;
}
- if (showErrorBadge) {
- gMenuButtonBadgeManager.addBadge(gMenuButtonBadgeManager.BADGEID_FXA, "fxa-needs-authentication");
+
+ if (this.loginFailed) {
+ this.panelUIFooter.setAttribute("fxastatus", "error");
+ this.panelUILabel.setAttribute("label", errorLabel);
} else {
- gMenuButtonBadgeManager.removeBadge(gMenuButtonBadgeManager.BADGEID_FXA);
+ this.panelUIFooter.setAttribute("fxastatus", "signedin");
+ this.panelUILabel.setAttribute("label", settingslabel);
+ this.panelUIStatus.setAttribute("tooltiptext", "");
}
}
@@ -322,81 +294,12 @@ var gFxAccounts = {
this.openAccountsPage("reauth", { entrypoint: entryPoint });
},
- sendTabToDevice: function (url, clientId, title) {
- Weave.Service.clientsEngine.sendURIToClientForDisplay(url, clientId, title);
- },
-
- populateSendTabToDevicesMenu: function (devicesPopup, url, title) {
- // remove existing menu items
- while (devicesPopup.hasChildNodes()) {
- devicesPopup.removeChild(devicesPopup.firstChild);
- }
-
- const fragment = document.createDocumentFragment();
-
- const onTargetDeviceCommand = (event) => {
- const clientId = event.target.getAttribute("clientId");
- const clients = clientId
- ? [clientId]
- : this.remoteClients.map(client => client.id);
-
- clients.forEach(clientId => this.sendTabToDevice(url, clientId, title));
- }
-
- function addTargetDevice(clientId, name) {
- const targetDevice = document.createElement("menuitem");
- targetDevice.addEventListener("command", onTargetDeviceCommand, true);
- targetDevice.setAttribute("class", "sendtab-target");
- targetDevice.setAttribute("clientId", clientId);
- targetDevice.setAttribute("label", name);
- fragment.appendChild(targetDevice);
- }
-
- const clients = this.remoteClients;
- for (let client of clients) {
- addTargetDevice(client.id, client.name);
- }
-
- // "All devices" menu item
- if (clients.length > 1) {
- const separator = document.createElement("menuseparator");
- fragment.appendChild(separator);
- const allDevicesLabel = this.strings.GetStringFromName("sendTabToAllDevices.menuitem");
- addTargetDevice("", allDevicesLabel);
- }
-
- devicesPopup.appendChild(fragment);
- },
-
updateTabContextMenu: function (aPopupMenu) {
- if (!this.sendTabToDeviceEnabled) {
- return;
- }
-
- const remoteClientPresent = this.remoteClients.length > 0;
- ["context_sendTabToDevice", "context_sendTabToDevice_separator"]
- .forEach(id => { document.getElementById(id).hidden = !remoteClientPresent });
+ // STUB
},
initPageContextMenu: function (contextMenu) {
- if (!this.sendTabToDeviceEnabled) {
- return;
- }
-
- const remoteClientPresent = this.remoteClients.length > 0;
- // showSendLink and showSendPage are mutually exclusive
- const showSendLink = remoteClientPresent
- && (contextMenu.onSaveableLink || contextMenu.onPlainTextLink);
- const showSendPage = !showSendLink && remoteClientPresent
- && !(contextMenu.isContentSelected ||
- contextMenu.onImage || contextMenu.onCanvas ||
- contextMenu.onVideo || contextMenu.onAudio ||
- contextMenu.onLink || contextMenu.onTextInput);
-
- ["context-sendpagetodevice", "context-sep-sendpagetodevice"]
- .forEach(id => contextMenu.showItem(id, showSendPage));
- ["context-sendlinktodevice", "context-sep-sendlinktodevice"]
- .forEach(id => contextMenu.showItem(id, showSendLink));
+ // STUB
}
};
diff --git a/application/basilisk/base/content/browser-syncui.js b/application/basilisk/base/content/browser-syncui.js
index 51bcb15d5f..3a57140f29 100644
--- a/application/basilisk/base/content/browser-syncui.js
+++ b/application/basilisk/base/content/browser-syncui.js
@@ -19,6 +19,7 @@ var gSyncUI = {
_obs: ["weave:service:sync:start",
"weave:service:sync:finish",
"weave:service:sync:error",
+ "weave:service:quota:remaining",
"weave:service:setup-complete",
"weave:service:login:start",
"weave:service:login:finish",
@@ -246,6 +247,21 @@ var gSyncUI = {
this.updateUI();
},
+ onQuotaNotice: function onQuotaNotice(subject, data) {
+ let title = this._stringBundle.GetStringFromName("warning.sync.quota.label");
+ let description = this._stringBundle.GetStringFromName("warning.sync.quota.description");
+ let buttons = [];
+ buttons.push(new Weave.NotificationButton(
+ this._stringBundle.GetStringFromName("error.sync.viewQuotaButton.label"),
+ this._stringBundle.GetStringFromName("error.sync.viewQuotaButton.accesskey"),
+ function() { gSyncUI.openQuotaDialog(); return true; }
+ ));
+
+ let notification = new Weave.Notification(
+ title, description, null, Weave.Notifications.PRIORITY_WARNING, buttons);
+ Weave.Notifications.replaceTitle(notification);
+ },
+
_getAppName: function () {
let brand = new StringBundle("chrome://branding/locale/brand.properties");
return brand.get("brandShortName");
@@ -293,17 +309,13 @@ var gSyncUI = {
*/
openSetup: function SUI_openSetup(wizardType, entryPoint = "syncbutton") {
- if (this.weaveService.fxAccountsEnabled) {
- this.openPrefs(entryPoint);
- } else {
- let win = Services.wm.getMostRecentWindow("Weave:AccountSetup");
- if (win)
- win.focus();
- else {
- window.openDialog("chrome://browser/content/sync/setup.xul",
- "weaveSetup", "centerscreen,chrome,resizable=no",
- wizardType);
- }
+ let win = Services.wm.getMostRecentWindow("Weave:AccountSetup");
+ if (win)
+ win.focus();
+ else {
+ window.openDialog("chrome://browser/content/sync/setup.xul",
+ "weaveSetup", "centerscreen,chrome,resizable=no",
+ wizardType);
}
},
@@ -328,23 +340,6 @@ var gSyncUI = {
gFxAccounts.openSignInAgainPage(entryPoint);
},
- openSyncedTabsPanel() {
- let placement = CustomizableUI.getPlacementOfWidget("sync-button");
- let area = placement ? placement.area : CustomizableUI.AREA_NAVBAR;
- let anchor = document.getElementById("sync-button") ||
- document.getElementById("PanelUI-menu-button");
- if (area == CustomizableUI.AREA_PANEL) {
- // The button is in the panel, so we need to show the panel UI, then our
- // subview.
- PanelUI.show().then(() => {
- PanelUI.showSubView("PanelUI-remotetabs", anchor, area);
- }).catch(Cu.reportError);
- } else {
- // It is placed somewhere else - just try and show it.
- PanelUI.showSubView("PanelUI-remotetabs", anchor, area);
- }
- },
-
/* After Sync is initialized we perform a once-only check for the sync
button being in "customize purgatory" and if so, move it to the panel.
This is done primarily for profiles created before SyncedTabs landed,
@@ -456,6 +451,32 @@ var gSyncUI = {
}
},
+ onSyncError: function SUI_onSyncError() {
+ this.log.debug("onSyncError: login=${login}, sync=${sync}", Weave.Status);
+ let title = this._stringBundle.GetStringFromName("error.sync.title");
+ let error = Weave.Utils.getErrorString(Weave.Status.sync);
+ let description =
+ this._stringBundle.formatStringFromName("error.sync.description", [error], 1);
+ let priority = Weave.Notifications.PRIORITY_WARNING;
+ let buttons = [];
+
+ if (Weave.Status.sync == Weave.OVER_QUOTA) {
+ description = this._stringBundle.GetStringFromName("error.sync.quota.description");
+ buttons.push(new Weave.NotificationButton(
+ this._stringBundle.GetStringFromName("error.sync.viewQuotaButton.label"),
+ this._stringBundle.GetStringFromName("error.sync.viewQuotaButton.accesskey"),
+ function() { gSyncUI.openQuotaDialog(); return true; } )
+ );
+ // Only show the notification bar on Quota error. the panel will show the rest.
+ let notification =
+ new Weave.Notification(title, description, null, priority, buttons);
+ Weave.Notifications.replaceTitle(notification);
+ }
+
+ this.updateUI();
+ },
+
+
observe: function SUI_observe(subject, topic, data) {
this.log.debug("observed", topic);
if (this._unloaded) {
@@ -487,12 +508,17 @@ var gSyncUI = {
// Do nothing.
break;
case "weave:ui:sync:error":
+ this.onSyncError();
+ break;
case "weave:service:setup-complete":
case "weave:service:login:finish":
case "weave:service:login:start":
case "weave:service:start-over":
this.updateUI();
break;
+ case "weave:service:quota:remaining":
+ this.onQuotaNotice();
+ break;
case "weave:ui:login:error":
case "weave:service:login:error":
this.onLoginError();
diff --git a/application/basilisk/base/content/browser.js b/application/basilisk/base/content/browser.js
index d459561913..9fb997a429 100644
--- a/application/basilisk/base/content/browser.js
+++ b/application/basilisk/base/content/browser.js
@@ -6347,7 +6347,7 @@ function checkEmptyPageOrigin(browser = gBrowser.selectedBrowser,
}
function BrowserOpenSyncTabs() {
- gSyncUI.openSyncedTabsPanel();
+ switchToTabHavingURI("about:sync-tabs", true);
}
/**
diff --git a/application/palemoon/base/content/sync/quota.js b/application/basilisk/base/content/sync/quota.js
index 1285a8d54d..b416a44cc2 100644
--- a/application/palemoon/base/content/sync/quota.js
+++ b/application/basilisk/base/content/sync/quota.js
@@ -174,38 +174,6 @@ var gUsageTreeView = {
let collection = this._collections[row];
collection.enabled = !collection.enabled;
this.treeBox.invalidateRow(row);
-
- // Display which ones will be removed
- let freeup = 0;
- let toremove = [];
- for each (collection in this._collections) {
- if (collection.enabled)
- continue;
- toremove.push(collection.name);
- freeup += collection.size;
- }
-
- let caption = document.getElementById("treeCaption");
- if (!toremove.length) {
- caption.className = "";
- caption.firstChild.nodeValue = gSyncQuota.bundle.getString(
- "quota.treeCaption.label");
- return;
- }
-
- // Tycho: toremove = [this._byname[coll].title for each (coll in toremove)];
- let toremovetitles = [];
- for (let coll in toremove) {
- toremovetitles.push(this._byname[coll].title);
- }
-
- toremovetitles = toremovetitles.join(gSyncQuota.bundle.getString("quota.list.separator"));
- caption.firstChild.nodeValue = gSyncQuota.bundle.getFormattedString(
- "quota.removal.label", [toremovetitles]);
- if (freeup)
- caption.firstChild.nodeValue += gSyncQuota.bundle.getFormattedString(
- "quota.freeup.label", gSyncQuota.convertKB(freeup));
- caption.className = "captionWarning";
},
/*
diff --git a/application/palemoon/base/content/sync/quota.xul b/application/basilisk/base/content/sync/quota.xul
index 99e6ed78b7..99e6ed78b7 100644
--- a/application/palemoon/base/content/sync/quota.xul
+++ b/application/basilisk/base/content/sync/quota.xul
diff --git a/application/basilisk/base/jar.mn b/application/basilisk/base/jar.mn
index 5ec92d79a8..c288685b94 100644
--- a/application/basilisk/base/jar.mn
+++ b/application/basilisk/base/jar.mn
@@ -150,6 +150,8 @@ browser.jar:
content/browser/sync/customize.xul (content/sync/customize.xul)
content/browser/sync/customize.js (content/sync/customize.js)
content/browser/sync/customize.css (content/sync/customize.css)
+ content/browser/sync/quota.xul (content/sync/quota.xul)
+ content/browser/sync/quota.js (content/sync/quota.js)
content/browser/safeMode.css (content/safeMode.css)
content/browser/safeMode.js (content/safeMode.js)
content/browser/safeMode.xul (content/safeMode.xul)
diff --git a/application/basilisk/components/customizableui/CustomizableWidgets.jsm b/application/basilisk/components/customizableui/CustomizableWidgets.jsm
index 642e06f0fb..09b3f167e3 100644
--- a/application/basilisk/components/customizableui/CustomizableWidgets.jsm
+++ b/application/basilisk/components/customizableui/CustomizableWidgets.jsm
@@ -23,8 +23,6 @@ XPCOMUtils.defineLazyModuleGetter(this, "CharsetMenu",
"resource://gre/modules/CharsetMenu.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "PrivateBrowsingUtils",
"resource://gre/modules/PrivateBrowsingUtils.jsm");
-XPCOMUtils.defineLazyModuleGetter(this, "SyncedTabs",
- "resource://services-sync/SyncedTabs.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "ContextualIdentityService",
"resource://gre/modules/ContextualIdentityService.jsm");
@@ -312,77 +310,6 @@ const CustomizableWidgets = [
obnode.setAttribute("element", "sync-status");
obnode.setAttribute("attribute", "syncstatus");
aNode.appendChild(obnode);
-
- // A somewhat complicated dance to format the mobilepromo label.
- let bundle = doc.getElementById("bundle_browser");
- let formatArgs = ["android", "ios"].map(os => {
- let link = doc.createElement("label");
- link.textContent = bundle.getString(`appMenuRemoteTabs.mobilePromo.${os}`);
- link.setAttribute("mobile-promo-os", os);
- link.className = "text-link remotetabs-promo-link";
- return link.outerHTML;
- });
- let promoParentElt = doc.getElementById("PanelUI-remotetabs-mobile-promo");
- // Put it all together...
- let contents = bundle.getFormattedString("appMenuRemoteTabs.mobilePromo.text2", formatArgs);
- promoParentElt.innerHTML = contents;
- // We manually manage the "click" event to open the promo links because
- // allowing the "text-link" widget handle it has 2 problems: (1) it only
- // supports button 0 and (2) it's tricky to intercept when it does the
- // open and auto-close the panel. (1) can probably be fixed, but (2) is
- // trickier without hard-coding here the knowledge of exactly what buttons
- // it does support.
- // So we allow left and middle clicks to open the link in a new tab and
- // close the panel; not setting a "href" attribute prevents the text-link
- // widget handling it, and we build the final URL in the click handler to
- // make testing easier (ie, so tests can change the pref after the links
- // were created and have the new pref value used.)
- promoParentElt.addEventListener("click", e => {
- let os = e.target.getAttribute("mobile-promo-os");
- if (!os || e.button > 1) {
- return;
- }
- let link = Services.prefs.getCharPref(`identity.mobilepromo.${os}`) + "synced-tabs";
- doc.defaultView.openUILinkIn(link, "tab");
- CustomizableUI.hidePanelForNode(e.target);
- });
- },
- onViewShowing(aEvent) {
- let doc = aEvent.target.ownerDocument;
- this._tabsList = doc.getElementById("PanelUI-remotetabs-tabslist");
- Services.obs.addObserver(this, SyncedTabs.TOPIC_TABS_CHANGED, false);
-
- if (SyncedTabs.isConfiguredToSyncTabs) {
- if (SyncedTabs.hasSyncedThisSession) {
- this.setDeckIndex(this.deckIndices.DECKINDEX_TABS);
- } else {
- // Sync hasn't synced tabs yet, so show the "fetching" panel.
- this.setDeckIndex(this.deckIndices.DECKINDEX_FETCHING);
- }
- // force a background sync.
- SyncedTabs.syncTabs().catch(ex => {
- Cu.reportError(ex);
- });
- // show the current list - it will be updated by our observer.
- this._showTabs();
- } else {
- // not configured to sync tabs, so no point updating the list.
- this.setDeckIndex(this.deckIndices.DECKINDEX_TABSDISABLED);
- }
- },
- onViewHiding() {
- Services.obs.removeObserver(this, SyncedTabs.TOPIC_TABS_CHANGED);
- this._tabsList = null;
- },
- _tabsList: null,
- observe(subject, topic, data) {
- switch (topic) {
- case SyncedTabs.TOPIC_TABS_CHANGED:
- this._showTabs();
- break;
- default:
- break;
- }
},
setDeckIndex(index) {
let deck = this._tabsList.ownerDocument.getElementById("PanelUI-remotetabs-deck");
diff --git a/application/basilisk/components/customizableui/content/panelUI.inc.xul b/application/basilisk/components/customizableui/content/panelUI.inc.xul
index e389b14bfb..8ebd933278 100644
--- a/application/basilisk/components/customizableui/content/panelUI.inc.xul
+++ b/application/basilisk/components/customizableui/content/panelUI.inc.xul
@@ -23,10 +23,11 @@
<hbox id="PanelUI-footer-fxa">
<hbox id="PanelUI-fxa-status"
defaultlabel="&fxaSignIn.label;"
- signedinTooltiptext="&fxaSignedIn.tooltip;"
- tooltiptext="&fxaSignedIn.tooltip;"
+ signedinTooltiptext="&syncSettings.label;"
+ tooltiptext="&syncSettings.label;"
errorlabel="&fxaSignInError.label;"
unverifiedlabel="&fxaUnverified.label;"
+ settingslabel="&syncSettings.label;"
onclick="if (event.which == 1) gFxAccounts.onMenuPanelCommand();">
<image id="PanelUI-fxa-avatar"/>
<toolbarbutton id="PanelUI-fxa-label"
@@ -111,7 +112,7 @@
<vbox id="PanelUI-remotetabs-buttons">
<toolbarbutton id="PanelUI-remotetabs-view-sidebar"
class="subviewbutton"
- observes="viewTabsSidebar"
+ oncommand="BrowserOpenSyncTabs();"
label="&appMenuRemoteTabs.sidebar.label;"/>
<toolbarbutton id="PanelUI-remotetabs-syncnow"
observes="sync-status"
diff --git a/application/basilisk/components/preferences/in-content/sync.js b/application/basilisk/components/preferences/in-content/sync.js
index 27f7cd48ce..2600677a82 100644
--- a/application/basilisk/components/preferences/in-content/sync.js
+++ b/application/basilisk/components/preferences/in-content/sync.js
@@ -306,113 +306,8 @@ var gSyncPane = {
let service = Components.classes["@mozilla.org/weave/service;1"]
.getService(Components.interfaces.nsISupports)
.wrappedJSObject;
- // service.fxAccountsEnabled is false iff sync is already configured for
- // the legacy provider.
- if (service.fxAccountsEnabled) {
- let displayNameLabel = document.getElementById("fxaDisplayName");
- let fxaEmailAddress1Label = document.getElementById("fxaEmailAddress1");
- fxaEmailAddress1Label.hidden = false;
- displayNameLabel.hidden = true;
-
- let profileInfoEnabled;
- try {
- profileInfoEnabled = Services.prefs.getBoolPref("identity.fxaccounts.profile_image.enabled");
- } catch (ex) {}
-
- // determine the fxa status...
- this._showLoadPage(service);
-
- fxAccounts.getSignedInUser().then(data => {
- if (!data) {
- this.page = FXA_PAGE_LOGGED_OUT;
- return false;
- }
- this.page = FXA_PAGE_LOGGED_IN;
- // We are logged in locally, but maybe we are in a state where the
- // server rejected our credentials (eg, password changed on the server)
- let fxaLoginStatus = document.getElementById("fxaLoginStatus");
- let syncReady;
- // Not Verfied implies login error state, so check that first.
- if (!data.verified) {
- fxaLoginStatus.selectedIndex = FXA_LOGIN_UNVERIFIED;
- syncReady = false;
- // So we think we are logged in, so login problems are next.
- // (Although if the Sync identity manager is still initializing, we
- // ignore login errors and assume all will eventually be good.)
- // LOGIN_FAILED_LOGIN_REJECTED explicitly means "you must log back in".
- // All other login failures are assumed to be transient and should go
- // away by themselves, so aren't reflected here.
- } else if (Weave.Status.login == Weave.LOGIN_FAILED_LOGIN_REJECTED) {
- fxaLoginStatus.selectedIndex = FXA_LOGIN_FAILED;
- syncReady = false;
- // Else we must be golden (or in an error state we expect to magically
- // resolve itself)
- } else {
- fxaLoginStatus.selectedIndex = FXA_LOGIN_VERIFIED;
- syncReady = true;
- }
- fxaEmailAddress1Label.textContent = data.email;
- document.getElementById("fxaEmailAddress2").textContent = data.email;
- document.getElementById("fxaEmailAddress3").textContent = data.email;
- this._populateComputerName(Weave.Service.clientsEngine.localName);
- let engines = document.getElementById("fxaSyncEngines")
- for (let checkbox of engines.querySelectorAll("checkbox")) {
- checkbox.disabled = !syncReady;
- }
- document.getElementById("fxaChangeDeviceName").disabled = !syncReady;
-
- // Clear the profile image (if any) of the previously logged in account.
- document.getElementById("fxaProfileImage").style.removeProperty("list-style-image");
-
- // If the account is verified the next promise in the chain will
- // fetch profile data.
- return data.verified;
- }).then(isVerified => {
- if (isVerified) {
- return fxAccounts.getSignedInUserProfile();
- }
- return null;
- }).then(data => {
- let fxaLoginStatus = document.getElementById("fxaLoginStatus");
- if (data && profileInfoEnabled) {
- if (data.displayName) {
- fxaLoginStatus.setAttribute("hasName", true);
- displayNameLabel.hidden = false;
- displayNameLabel.textContent = data.displayName;
- } else {
- fxaLoginStatus.removeAttribute("hasName");
- }
- if (data.avatar) {
- let bgImage = "url(\"" + data.avatar + "\")";
- let profileImageElement = document.getElementById("fxaProfileImage");
- profileImageElement.style.listStyleImage = bgImage;
-
- let img = new Image();
- img.onerror = () => {
- // Clear the image if it has trouble loading. Since this callback is asynchronous
- // we check to make sure the image is still the same before we clear it.
- if (profileImageElement.style.listStyleImage === bgImage) {
- profileImageElement.style.removeProperty("list-style-image");
- }
- };
- img.src = data.avatar;
- }
- } else {
- fxaLoginStatus.removeAttribute("hasName");
- }
- }, err => {
- FxAccountsCommon.log.error(err);
- }).catch(err => {
- // If we get here something's really busted
- Cu.reportError(String(err));
- });
-
- // If fxAccountEnabled is false and we are in a "not configured" state,
- // then fxAccounts is probably fully disabled rather than just unconfigured,
- // so handle this case. This block can be removed once we remove support
- // for fxAccounts being disabled.
- } else if (Weave.Status.service == Weave.CLIENT_NOT_CONFIGURED ||
- Weave.Svc.Prefs.get("firstSync", "") == "notReady") {
+ if (Weave.Status.service == Weave.CLIENT_NOT_CONFIGURED ||
+ Weave.Svc.Prefs.get("firstSync", "") == "notReady") {
this.page = PAGE_NO_ACCOUNT;
// else: sync was previously configured for the legacy provider, so we
// make the "old" panels available.
@@ -646,6 +541,16 @@ var gSyncPane = {
});
},
+ openQuotaDialog: function () {
+ let win = Services.wm.getMostRecentWindow("Sync:ViewQuota");
+ if (win) {
+ win.focus();
+ } else {
+ window.openDialog("chrome://browser/content/sync/quota.xul", "",
+ "centerscreen,chrome,dialog,modal");
+ }
+ },
+
openAddDevice: function () {
if (!Weave.Utils.ensureMPUnlocked())
return;
diff --git a/application/basilisk/components/preferences/in-content/sync.xul b/application/basilisk/components/preferences/in-content/sync.xul
index f1aebf2aad..cf0e81ca1c 100644
--- a/application/basilisk/components/preferences/in-content/sync.xul
+++ b/application/basilisk/components/preferences/in-content/sync.xul
@@ -71,6 +71,9 @@
label="&manageAccount.label;"
accesskey="&manageAccount.accesskey;">
<menupopup>
+ <menuitem id="syncViewQuota" label="&viewQuota.label;"
+ oncommand="gSyncPane.openQuotaDialog();"/>
+ <menuseparator/>
<menuitem id="syncChangePassword" label="&changePassword2.label;"/>
<menuitem id="syncResetPassphrase" label="&myRecoveryKey.label;"/>
<menuseparator/>
@@ -91,11 +94,6 @@
<richlistbox id="syncEnginesList"
orient="vertical">
<richlistitem>
- <checkbox label="&engine.addons.label;"
- accesskey="&engine.addons.accesskey;"
- preference="engine.addons"/>
- </richlistitem>
- <richlistitem>
<checkbox label="&engine.bookmarks.label;"
accesskey="&engine.bookmarks.accesskey;"
preference="engine.bookmarks"/>
diff --git a/application/basilisk/confvars.sh b/application/basilisk/confvars.sh
index 48985f16ad..62aa1a84f6 100644
--- a/application/basilisk/confvars.sh
+++ b/application/basilisk/confvars.sh
@@ -8,7 +8,7 @@ MOZ_APP_VENDOR=Moonchild
MOZ_PHOENIX=1
MOZ_AUSTRALIS=1
MC_BASILISK=1
-MOZ_UPDATER=1
+MOZ_UPDATER=
if test "$OS_ARCH" = "WINNT" -o \
"$OS_ARCH" = "Linux"; then
@@ -45,9 +45,9 @@ MOZ_APP_ID={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
# This should usually be the same as the value MAR_CHANNEL_ID.
# If more than one ID is needed, then you should use a comma separated list
# of values.
-ACCEPTED_MAR_CHANNEL_IDS=basilisk-release
+ACCEPTED_MAR_CHANNEL_IDS=unofficial,unstable,release
# The MAR_CHANNEL_ID must not contain the following 3 characters: ",\t "
-MAR_CHANNEL_ID=basilisk-release
+MAR_CHANNEL_ID=unofficial
# Features
MOZ_PROFILE_MIGRATOR=1
@@ -61,7 +61,7 @@ MOZ_SERVICES_COMMON=1
MOZ_SERVICES_SYNC=1
MOZ_SERVICES_HEALTHREPORT=
MOZ_SAFE_BROWSING=
-
+MOZ_GAMEPAD=1
# Disable checking that add-ons are signed by the trusted root
MOZ_ADDON_SIGNING=0
MOZ_REQUIRE_SIGNING=0
diff --git a/application/basilisk/installer/package-manifest.in b/application/basilisk/installer/package-manifest.in
index 35060ea5ea..485bc49174 100644
--- a/application/basilisk/installer/package-manifest.in
+++ b/application/basilisk/installer/package-manifest.in
@@ -140,13 +140,6 @@
@RESPATH@/run-mozilla.sh
#endif
#endif
-#ifdef XP_WIN
-#ifdef _AMD64_
-@BINPATH@/@DLL_PREFIX@qipcap64@DLL_SUFFIX@
-#else
-@BINPATH@/@DLL_PREFIX@qipcap@DLL_SUFFIX@
-#endif
-#endif
; [Components]
#ifdef MOZ_ARTIFACT_BUILDS
diff --git a/application/basilisk/locales/en-US/chrome/browser/browser.dtd b/application/basilisk/locales/en-US/chrome/browser/browser.dtd
index 09da91dee2..d02a6eedb6 100644
--- a/application/basilisk/locales/en-US/chrome/browser/browser.dtd
+++ b/application/basilisk/locales/en-US/chrome/browser/browser.dtd
@@ -116,10 +116,9 @@ These should match what Safari and other Apple applications use on OS X Lion. --
<!ENTITY toggleReaderMode.key "R">
<!ENTITY fxaSignIn.label "Sign in to &syncBrand.shortName.label;">
-<!ENTITY fxaSignedIn.tooltip "Open &syncBrand.shortName.label; preferences">
<!ENTITY fxaSignInError.label "Reconnect to &syncBrand.shortName.label;">
<!ENTITY fxaUnverified.label "Verify Your Account">
-
+<!ENTITY syncSettings.label "Open &syncBrand.shortName.label; settings">
<!ENTITY fullScreenMinimize.tooltip "Minimize">
<!ENTITY fullScreenRestore.tooltip "Restore">
@@ -349,7 +348,7 @@ These should match what Safari and other Apple applications use on OS X Lion. --
<!ENTITY appMenuRemoteTabs.openprefs.label "Sync Preferences">
<!ENTITY appMenuRemoteTabs.notsignedin.label "Sign in to view a list of tabs from your other devices.">
<!ENTITY appMenuRemoteTabs.signin.label "Sign in to Sync">
-<!ENTITY appMenuRemoteTabs.sidebar.label "View Synced Tabs Sidebar">
+<!ENTITY appMenuRemoteTabs.sidebar.label "View Synced Tabs">
<!ENTITY customizeMenu.addToToolbar.label "Add to Toolbar">
<!ENTITY customizeMenu.addToToolbar.accesskey "A">
diff --git a/application/basilisk/locales/en-US/chrome/browser/preferences/sync.dtd b/application/basilisk/locales/en-US/chrome/browser/preferences/sync.dtd
index 78cadd74c2..a5b2900521 100644
--- a/application/basilisk/locales/en-US/chrome/browser/preferences/sync.dtd
+++ b/application/basilisk/locales/en-US/chrome/browser/preferences/sync.dtd
@@ -16,6 +16,7 @@
<!-- Manage Account -->
<!ENTITY manageAccount.label "Manage Account">
<!ENTITY manageAccount.accesskey "n">
+<!ENTITY viewQuota.label "View Quota">
<!ENTITY changePassword2.label "Change Password…">
<!ENTITY myRecoveryKey.label "My Recovery Key">
<!ENTITY resetSync2.label "Reset Sync…">
diff --git a/application/basilisk/locales/en-US/chrome/browser/syncBrand.dtd b/application/basilisk/locales/en-US/chrome/browser/syncBrand.dtd
index 0c9e9201ac..71a9f68af8 100644
--- a/application/basilisk/locales/en-US/chrome/browser/syncBrand.dtd
+++ b/application/basilisk/locales/en-US/chrome/browser/syncBrand.dtd
@@ -3,5 +3,5 @@
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!ENTITY syncBrand.shortName.label "Sync">
-<!ENTITY syncBrand.fullName.label "Firefox Sync">
+<!ENTITY syncBrand.fullName.label "Pale Moon Sync">
<!ENTITY syncBrand.fxAccount.label "Firefox Account">
diff --git a/application/basilisk/locales/en-US/chrome/browser/syncSetup.dtd b/application/basilisk/locales/en-US/chrome/browser/syncSetup.dtd
index 950a83553f..2657156b75 100644
--- a/application/basilisk/locales/en-US/chrome/browser/syncSetup.dtd
+++ b/application/basilisk/locales/en-US/chrome/browser/syncSetup.dtd
@@ -16,7 +16,7 @@
<!-- New Account AND Existing Account -->
<!ENTITY server.label "Server">
-<!ENTITY serverType.default.label "Default: Mozilla &syncBrand.fullName.label; server">
+<!ENTITY serverType.default.label "Default: &syncBrand.fullName.label; server">
<!ENTITY serverType.custom2.label "Use a custom server…">
<!ENTITY signIn.account2.label "Account">
<!ENTITY signIn.account2.accesskey "A">
diff --git a/application/palemoon/app/moz.build b/application/palemoon/app/moz.build
index 8b358b6228..c11f4c37ed 100644
--- a/application/palemoon/app/moz.build
+++ b/application/palemoon/app/moz.build
@@ -6,7 +6,6 @@
DIRS += ['profile/extensions']
-
GeckoProgram(CONFIG['MOZ_APP_NAME'])
JS_PREFERENCE_PP_FILES += [
@@ -18,18 +17,14 @@ if CONFIG['LIBXUL_SDK']:
'profile/channel-prefs.js',
]
-SOURCES += [
- 'nsBrowserApp.cpp',
-]
+SOURCES += ['nsBrowserApp.cpp']
FINAL_TARGET_FILES += ['blocklist.xml']
FINAL_TARGET_FILES.defaults.profile += ['profile/prefs.js']
DEFINES['APP_VERSION'] = CONFIG['MOZ_APP_VERSION']
-LOCAL_INCLUDES += [
- '!/build',
-]
+LOCAL_INCLUDES += ['!/build']
LOCAL_INCLUDES += [
'/toolkit/xre',
@@ -37,9 +32,7 @@ LOCAL_INCLUDES += [
'/xpcom/build',
]
-USE_LIBS += [
- 'mozglue',
-]
+USE_LIBS += ['mozglue']
if CONFIG['_MSC_VER']:
# Always enter a Windows program through wmain, whether or not we're
diff --git a/application/palemoon/app/profile/palemoon.js b/application/palemoon/app/profile/palemoon.js
index 15accd1467..1c6016f0fb 100644
--- a/application/palemoon/app/profile/palemoon.js
+++ b/application/palemoon/app/profile/palemoon.js
@@ -229,10 +229,10 @@ pref("keyword.enabled", true);
pref("general.useragent.locale", "@AB_CD@");
pref("general.skins.selectedSkin", "classic/1.0");
-// Native UA mode by default
+// Native UA mode by default for unbranded
pref("general.useragent.compatMode", 0);
-pref("general.useragent.compatmode.gecko", false);
-pref("general.useragent.compatmode.firefox", false);
+pref("general.useragent.compatMode.gecko", false);
+pref("general.useragent.compatMode.firefox", false);
pref("general.smoothScroll", true);
#ifdef UNIX_BUT_NOT_MAC
@@ -264,6 +264,9 @@ pref("browser.slowStartup.maxSamples", 5);
pref("browser.enable_automatic_image_resizing", true);
pref("browser.chrome.site_icons", true);
pref("browser.chrome.favicons", true);
+// If enabled, will process favicons by drawing them on a canvas,
+// optimizing display size for the UI. This also strips animations.
+pref("browser.chrome.favicons.process", false);
// browser.warnOnQuit == false will override all other possible prompts when quitting or restarting
pref("browser.warnOnQuit", true);
// browser.showQuitWarning specifically controls the quit warning dialog. We
@@ -463,6 +466,10 @@ pref("browser.tabs.closeButtons", 1);
// false return to the adjacent tab (old default)
pref("browser.tabs.selectOwnerOnClose", true);
+pref("browser.tabs.showAudioPlayingIcon", true);
+// This should match Chromium's audio indicator delay.
+pref("browser.tabs.delayHidingAudioPlayingIconMS", 3000);
+
pref("browser.allTabs.previews", true);
pref("browser.ctrlTab.previews", true);
pref("browser.ctrlTab.recentlyUsedLimit", 7);
@@ -1148,19 +1155,6 @@ pref("toolkit.pageThumbs.minHeight", 180);
pref("ui.key.menuAccessKeyFocuses", true);
#endif
-// ****************** domain-specific UAs ******************
-
-// AMO needs "Firefox", obviously - pass on the OS (determined at build time)
-#ifdef XP_UNIX
-#ifdef XP_MACOSX
-pref("general.useragent.override.addons.mozilla.org","Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:27.0) Gecko/20100101 Firefox/27.0");
-#else
-pref("general.useragent.override.addons.mozilla.org","Mozilla/5.0 (Linux; X11; rv:27.0) Gecko/20100101 Firefox/27.0");
-#endif
-#else
-pref("general.useragent.override.addons.mozilla.org","Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0");
-#endif
-
// ****************** s4e prefs ******************
pref("status4evar.addonbar.borderStyle", false);
pref("status4evar.addonbar.closeButton", false);
diff --git a/application/palemoon/base/content/browser-sets.inc b/application/palemoon/base/content/browser-sets.inc
index 25794a65ce..78fce26709 100644
--- a/application/palemoon/base/content/browser-sets.inc
+++ b/application/palemoon/base/content/browser-sets.inc
@@ -32,6 +32,7 @@
<command id="cmd_printPreview" oncommand="PrintUtils.printPreview(PrintPreviewListener);"/>
<command id="cmd_close" oncommand="BrowserCloseTabOrWindow()"/>
<command id="cmd_closeWindow" oncommand="BrowserTryToCloseWindow()"/>
+ <command id="cmd_toggleMute" oncommand="gBrowser.selectedTab.toggleMuteAudio()"/>
<command id="cmd_ToggleTabsOnTop" oncommand="TabsOnTop.toggle()"/>
<command id="cmd_CustomizeToolbars" oncommand="BrowserCustomizeToolbar()"/>
<command id="cmd_restartApplication" oncommand="restart(false);"/>
@@ -212,6 +213,7 @@
<key id="printKb" key="&printCmd.commandkey;" command="cmd_print" modifiers="accel"/>
<key id="key_close" key="&closeCmd.key;" command="cmd_close" modifiers="accel"/>
<key id="key_closeWindow" key="&closeCmd.key;" command="cmd_closeWindow" modifiers="accel,shift"/>
+ <key id="key_toggleMute" key="&toggleMuteCmd.key;" command="cmd_toggleMute" modifiers="control"/>
<key id="key_undo"
key="&undoCmd.key;"
modifiers="accel"/>
diff --git a/application/palemoon/base/content/browser-tabPreviews.js b/application/palemoon/base/content/browser-tabPreviews.js
index eaae78ba84..e0755b81d4 100644
--- a/application/palemoon/base/content/browser-tabPreviews.js
+++ b/application/palemoon/base/content/browser-tabPreviews.js
@@ -940,6 +940,13 @@ var allTabs = {
aPreview.setAttribute("image", aPreview._tab.image);
else
aPreview.removeAttribute("image");
+
+ aPreview.removeAttribute("soundplaying");
+ aPreview.removeAttribute("muted");
+ if (aPreview._tab.hasAttribute("muted"))
+ aPreview.setAttribute("muted", "true");
+ else if (aPreview._tab.hasAttribute("soundplaying"))
+ aPreview.setAttribute("soundplaying", "true");
var thumbnail = tabPreviews.get(aPreview._tab);
if (aPreview.firstChild) {
diff --git a/application/palemoon/base/content/browser-tabPreviews.xml b/application/palemoon/base/content/browser-tabPreviews.xml
index e957649e75..4f54321eac 100644
--- a/application/palemoon/base/content/browser-tabPreviews.xml
+++ b/application/palemoon/base/content/browser-tabPreviews.xml
@@ -42,7 +42,10 @@
<xul:hbox class="tabPreview-canvas" xbl:inherits="style=canvasstyle">
<children/>
</xul:hbox>
- <xul:label flex="1" xbl:inherits="value=label,crop" class="allTabs-preview-label plain"/>
+ <xul:hbox align="center">
+ <xul:image xbl:inherits="soundplaying,muted" class="allTabs-endimage"/>
+ <xul:label flex="1" xbl:inherits="value=label,crop" class="allTabs-preview-label plain"/>
+ </xul:hbox>
</xul:vbox>
<xul:hbox class="allTabs-favicon-container">
<xul:image class="allTabs-favicon" xbl:inherits="src=image"/>
diff --git a/application/palemoon/base/content/browser.js b/application/palemoon/base/content/browser.js
index 4167f186c4..591d00fbb1 100644
--- a/application/palemoon/base/content/browser.js
+++ b/application/palemoon/base/content/browser.js
@@ -976,6 +976,7 @@ var gBrowserInit = {
CombinedStopReload.init();
allTabs.readPref();
TabsOnTop.init();
+ AudioIndicator.init();
gPrivateBrowsingUI.init();
TabsInTitlebar.init();
retrieveToolbarIconsizesFromTheme();
@@ -1364,6 +1365,8 @@ var gBrowserInit = {
BookmarkingUI.uninit();
TabsOnTop.uninit();
+
+ AudioIndicator.uninit();
TabsInTitlebar.uninit();
@@ -4597,6 +4600,42 @@ function setToolbarVisibility(toolbar, isVisible) {
ToolbarIconColor.inferFromText();
}
+var AudioIndicator = {
+ init: function () {
+ Services.prefs.addObserver(this._prefName, this, false);
+ this.syncUI();
+ },
+
+ uninit: function () {
+ Services.prefs.removeObserver(this._prefName, this);
+ },
+
+ toggle: function () {
+ this.enabled = !Services.prefs.getBoolPref(this._prefName);
+ },
+
+ syncUI: function () {
+ document.getElementById("context_toggleMuteTab").setAttribute("hidden", this.enabled);
+ document.getElementById("key_toggleMute").setAttribute("disabled", this.enabled);
+ },
+
+ get enabled () {
+ return !Services.prefs.getBoolPref(this._prefName);
+ },
+
+ set enabled (val) {
+ Services.prefs.setBoolPref(this._prefName, !!val);
+ return val;
+ },
+
+ observe: function (subject, topic, data) {
+ if (topic == "nsPref:changed")
+ this.syncUI();
+ },
+
+ _prefName: "browser.tabs.showAudioPlayingIcon"
+}
+
var TabsOnTop = {
init: function TabsOnTop_init() {
Services.prefs.addObserver(this._prefName, this, false);
@@ -7021,6 +7060,17 @@ function restoreLastSession() {
var TabContextMenu = {
contextTab: null,
+ _updateToggleMuteMenuItem(aTab, aConditionFn) {
+ ["muted", "soundplaying"].forEach(attr => {
+ if (!aConditionFn || aConditionFn(attr)) {
+ if (aTab.hasAttribute(attr)) {
+ aTab.toggleMuteMenuItem.setAttribute(attr, "true");
+ } else {
+ aTab.toggleMuteMenuItem.removeAttribute(attr);
+ }
+ }
+ });
+ },
updateContextMenu: function updateContextMenu(aPopupMenu) {
this.contextTab = aPopupMenu.triggerNode.localName == "tab" ?
aPopupMenu.triggerNode : gBrowser.selectedTab;
@@ -7067,6 +7117,35 @@ var TabContextMenu = {
bookmarkAllTabs.hidden = this.contextTab.pinned;
if (!bookmarkAllTabs.hidden)
PlacesCommandHook.updateBookmarkAllTabsCommand();
+
+ // Adjust the state of the toggle mute menu item.
+ let toggleMute = document.getElementById("context_toggleMuteTab");
+ if (this.contextTab.hasAttribute("muted")) {
+ toggleMute.label = gNavigatorBundle.getString("unmuteTab.label");
+ toggleMute.accessKey = gNavigatorBundle.getString("unmuteTab.accesskey");
+ } else {
+ toggleMute.label = gNavigatorBundle.getString("muteTab.label");
+ toggleMute.accessKey = gNavigatorBundle.getString("muteTab.accesskey");
+ }
+
+ this.contextTab.toggleMuteMenuItem = toggleMute;
+ this._updateToggleMuteMenuItem(this.contextTab);
+
+ this.contextTab.addEventListener("TabAttrModified", this, false);
+ aPopupMenu.addEventListener("popuphiding", this, false);
+ },
+ handleEvent(aEvent) {
+ switch (aEvent.type) {
+ case "popuphiding":
+ gBrowser.removeEventListener("TabAttrModified", this);
+ aEvent.target.removeEventListener("popuphiding", this);
+ break;
+ case "TabAttrModified":
+ let tab = aEvent.target;
+ this._updateToggleMuteMenuItem(tab,
+ attr => aEvent.detail.changed.indexOf(attr) >= 0);
+ break;
+ }
}
};
diff --git a/application/palemoon/base/content/browser.xul b/application/palemoon/base/content/browser.xul
index 07ca547222..ce2a7c5a8f 100644
--- a/application/palemoon/base/content/browser.xul
+++ b/application/palemoon/base/content/browser.xul
@@ -87,6 +87,7 @@
onpopuphidden="if (event.target == this) TabContextMenu.contextTab = null;">
<menuitem id="context_reloadTab" label="&reloadTab.label;" accesskey="&reloadTab.accesskey;"
oncommand="gBrowser.reloadTab(TabContextMenu.contextTab);"/>
+ <menuitem id="context_toggleMuteTab" oncommand="TabContextMenu.contextTab.toggleMuteAudio();"/>
<menuseparator/>
<menuitem id="context_pinTab" label="&pinTab.label;"
accesskey="&pinTab.accesskey;"
diff --git a/application/palemoon/base/content/sanitize.js b/application/palemoon/base/content/sanitize.js
index 0c85fa215c..b4d13d8954 100644
--- a/application/palemoon/base/content/sanitize.js
+++ b/application/palemoon/base/content/sanitize.js
@@ -257,18 +257,13 @@ Sanitizer.prototype = {
.getService(Components.interfaces.nsIWindowMediator);
var windows = windowManager.getEnumerator("navigator:browser");
while (windows.hasMoreElements()) {
- let currentWindow = windows.getNext();
- let currentDocument = currentWindow.document;
+ let currentDocument = windows.getNext().document;
let searchBar = currentDocument.getElementById("searchbar");
if (searchBar)
searchBar.textbox.reset();
- let tabBrowser = currentWindow.gBrowser;
- for (let tab of tabBrowser.tabs) {
- if (tabBrowser.isFindBarInitialized(tab))
- tabBrowser.getFindBar(tab).clear();
- }
- // Clear any saved find value
- tabBrowser._lastFindValue = "";
+ let findBar = currentDocument.getElementById("FindToolbar");
+ if (findBar)
+ findBar.clear();
}
let change = { op: "remove" };
@@ -284,8 +279,7 @@ Sanitizer.prototype = {
.getService(Components.interfaces.nsIWindowMediator);
var windows = windowManager.getEnumerator("navigator:browser");
while (windows.hasMoreElements()) {
- let currentWindow = windows.getNext();
- let currentDocument = currentWindow.document;
+ let currentDocument = windows.getNext().document;
let searchBar = currentDocument.getElementById("searchbar");
if (searchBar) {
let transactionMgr = searchBar.textbox.editor.transactionManager;
@@ -296,12 +290,8 @@ Sanitizer.prototype = {
return false;
}
}
- let tabBrowser = currentWindow.gBrowser;
- let findBarCanClear = Array.some(tabBrowser.tabs, function (aTab) {
- return tabBrowser.isFindBarInitialized(aTab) &&
- tabBrowser.getFindBar(aTab).canClear;
- });
- if (findBarCanClear) {
+ let findBar = currentDocument.getElementById("FindToolbar");
+ if (findBar && findBar.canClear) {
aCallback("formdata", true, aArg);
return false;
}
diff --git a/application/palemoon/base/content/tabbrowser.css b/application/palemoon/base/content/tabbrowser.css
index 94d6dbb2ef..43536b27af 100644
--- a/application/palemoon/base/content/tabbrowser.css
+++ b/application/palemoon/base/content/tabbrowser.css
@@ -45,10 +45,19 @@ tabpanels {
}
.tab-throbber:not([busy]),
-.tab-throbber[busy] + .tab-icon-image {
+.tab-throbber[busy] + .tab-icon-image,
+.tab-icon-sound:not([soundplaying]):not([muted]):not([blocked]),
+.tab-icon-sound[pinned],
+.tab-icon-overlay {
display: none;
}
+.tab-icon-overlay[soundplaying][pinned],
+.tab-icon-overlay[muted][pinned],
+.tab-icon-overlay[blocked][pinned] {
+ display: -moz-box;
+}
+
.closing-tabs-spacer {
pointer-events: none;
}
diff --git a/application/palemoon/base/content/tabbrowser.xml b/application/palemoon/base/content/tabbrowser.xml
index dc6cb0a9d1..988cae55c4 100644
--- a/application/palemoon/base/content/tabbrowser.xml
+++ b/application/palemoon/base/content/tabbrowser.xml
@@ -438,6 +438,22 @@
</body>
</method>
+ <method name="getTabFromAudioEvent">
+ <parameter name="aEvent"/>
+ <body>
+ <![CDATA[
+ if (!Services.prefs.getBoolPref("browser.tabs.showAudioPlayingIcon") ||
+ !aEvent.isTrusted) {
+ return null;
+ }
+
+ var browser = aEvent.originalTarget;
+ var tab = this.getTabForBrowser(browser);
+ return tab;
+ ]]>
+ </body>
+ </method>
+
<method name="_callProgressListeners">
<parameter name="aBrowser"/>
<parameter name="aMethod"/>
@@ -616,7 +632,7 @@
if (this.mTab.hasAttribute("busy")) {
this.mTab.removeAttribute("busy");
- this.mTabBrowser._tabAttrModified(this.mTab);
+ this.mTabBrowser._tabAttrModified(this.mTab, ["busy"]);
if (!this.mTab.selected)
this.mTab.setAttribute("unread", "true");
}
@@ -686,6 +702,8 @@
let topLevel = aWebProgress.isTopLevel;
if (topLevel) {
+ let isSameDocument =
+ !!(aFlags & Ci.nsIWebProgressListener.LOCATION_CHANGE_SAME_DOCUMENT);
// We need to clear the typed value
// if the document failed to load, to make sure the urlbar reflects the
// failed URI (particularly for SSL errors). However, don't clear the value
@@ -696,6 +714,19 @@
aLocation.spec != "about:blank"))
this.mBrowser.userTypedValue = null;
+ // If the browser was playing audio, we should remove the playing state.
+ if (this.mTab.hasAttribute("soundplaying") && !isSameDocument) {
+ clearTimeout(this.mTab._soundPlayingAttrRemovalTimer);
+ this.mTab._soundPlayingAttrRemovalTimer = 0;
+ this.mTab.removeAttribute("soundplaying");
+ this.mTabBrowser._tabAttrModified(this.mTab, ["soundplaying"]);
+ }
+
+ // If the browser was previously muted, we should restore the muted state.
+ if (this.mTab.hasAttribute("muted")) {
+ this.mTab.linkedBrowser.mute();
+ }
+
// Don't clear the favicon if this onLocationChange was
// triggered by a pushState or a replaceState. See bug 550565.
if (!gMultiProcessBrowser) {
@@ -800,13 +831,40 @@
"-moz-resolution=" + size + "," + size;
}
if (sizedIconUrl != aTab.getAttribute("image")) {
- if (browser.mIconURL) //PMed
+ if (browser.mIconURL)
aTab.setAttribute("image", sizedIconUrl);
else
aTab.removeAttribute("image");
- this._tabAttrModified(aTab);
+ this._tabAttrModified(aTab, ["image"]);
}
+ if (Services.prefs.getBoolPref("browser.chrome.favicons.process")) {
+ let favImage = new Image;
+ favImage.src = browser.mIconURL;
+ var tabBrowser = this;
+ favImage.onload = function () {
+ try {
+ // Draw the icon on a hidden canvas
+ var canvas = document.createElementNS("http://www.w3.org/1999/xhtml", "canvas");
+ var tabImg = document.getAnonymousElementByAttribute(aTab, "anonid", "tab-icon");
+ var w = tabImg.boxObject.width;
+ var h = tabImg.boxObject.height;
+ canvas.width = w;
+ canvas.height = h;
+ var ctx = canvas.getContext('2d');
+ ctx.drawImage(favImage, 0, 0, w, h);
+ icon = canvas.toDataURL();
+ browser.mIconURL = icon;
+ aTab.setAttribute("image", icon);
+ }
+ catch (e) {
+ console.warn("Processing of favicon failed.");
+ // Canvas failed: icon remains as it was
+ }
+ tabBrowser._callProgressListeners(browser, "onLinkIconAvailable", [browser.mIconURL]);
+ }
+ }
+
this._callProgressListeners(browser, "onLinkIconAvailable", [browser.mIconURL]);
]]>
</body>
@@ -1116,8 +1174,8 @@
});
this.mCurrentTab.dispatchEvent(event);
- this._tabAttrModified(oldTab);
- this._tabAttrModified(this.mCurrentTab);
+ this._tabAttrModified(oldTab, ["selected"]);
+ this._tabAttrModified(this.mCurrentTab, ["selected"]);
// Adjust focus
oldBrowser._urlbarFocused = (gURLBar && gURLBar.focused);
@@ -1187,14 +1245,18 @@
<method name="_tabAttrModified">
<parameter name="aTab"/>
+ <parameter name="aChanged"/>
<body><![CDATA[
if (aTab.closing)
return;
- // This event should be dispatched when any of these attributes change:
- // label, crop, busy, image, selected
- var event = document.createEvent("Events");
- event.initEvent("TabAttrModified", true, false);
+ let event = new CustomEvent("TabAttrModified", {
+ bubbles: true,
+ cancelable: false,
+ detail: {
+ changed: aChanged,
+ }
+ });
aTab.dispatchEvent(event);
]]></body>
</method>
@@ -1205,7 +1267,7 @@
<![CDATA[
aTab.label = this.mStringBundle.getString("tabs.connecting");
aTab.crop = "end";
- this._tabAttrModified(aTab);
+ this._tabAttrModified(aTab, ["label", "crop"]);
]]>
</body>
</method>
@@ -1250,7 +1312,7 @@
aTab.label = title;
aTab.crop = crop;
- this._tabAttrModified(aTab);
+ this._tabAttrModified(aTab, ["label", "crop"]);
if (aTab.selected)
this.updateTitlebar();
@@ -2239,6 +2301,14 @@
var remoteBrowser = aOtherTab.ownerDocument.defaultView.gBrowser;
var isPending = aOtherTab.hasAttribute("pending");
+ // Expedite the removal of the icon if it was already scheduled.
+ if (aOtherTab._soundPlayingAttrRemovalTimer) {
+ clearTimeout(aOtherTab._soundPlayingAttrRemovalTimer);
+ aOtherTab._soundPlayingAttrRemovalTimer = 0;
+ aOtherTab.removeAttribute("soundplaying");
+ remoteBrowser._tabAttrModified(aOtherTab, ["soundplaying"]);
+ }
+
// First, start teardown of the other browser. Make sure to not
// fire the beforeunload event in the process. Close the other
// window if this was its last tab.
@@ -2248,6 +2318,18 @@
let ourBrowser = this.getBrowserForTab(aOurTab);
let otherBrowser = aOtherTab.linkedBrowser;
+ let modifiedAttrs = [];
+ if (aOtherTab.hasAttribute("muted")) {
+ aOurTab.setAttribute("muted", "true");
+ aOurTab.muteReason = aOtherTab.muteReason;
+ ourBrowser.mute();
+ modifiedAttrs.push("muted");
+ }
+ if (aOtherTab.hasAttribute("soundplaying")) {
+ aOurTab.setAttribute("soundplaying", "true");
+ modifiedAttrs.push("soundplaying");
+ }
+
// If the other tab is pending (i.e. has not been restored, yet)
// then do not switch docShells but retrieve the other tab's state
// and apply it to our tab.
@@ -2266,7 +2348,7 @@
var isBusy = aOtherTab.hasAttribute("busy");
if (isBusy) {
aOurTab.setAttribute("busy", "true");
- this._tabAttrModified(aOurTab);
+ modifiedAttrs.push("busy");
if (aOurTab.selected)
this.mIsBusy = true;
}
@@ -2286,6 +2368,10 @@
// of replaceTabWithWindow), notify onLocationChange, etc.
if (aOurTab.selected)
this.updateCurrentBrowser(true);
+
+ if (modifiedAttrs.length) {
+ this._tabAttrModified(aOurTab, modifiedAttrs);
+ }
]]>
</body>
</method>
@@ -3084,9 +3170,25 @@
event.preventDefault();
return;
}
- event.target.setAttribute("label", tab.mOverCloseButton ?
- tab.getAttribute("closetabtext") :
- tab.getAttribute("label"));
+
+ var stringID, label;
+ if (tab.mOverCloseButton) {
+ stringID = "tabs.closeTab";
+ } else if (tab._overPlayingIcon) {
+ if (tab.linkedBrowser.audioBlocked) {
+ stringID = "tabs.unblockAudio.tooltip";
+ } else {
+ stringID = tab.linkedBrowser.audioMuted ?
+ "tabs.unmuteAudio.tooltip" :
+ "tabs.muteAudio.tooltip";
+ }
+ } else {
+ label = tab.getAttribute("label");
+ }
+ if (stringID && !label) {
+ label = this.mStringBundle.getString(stringID);
+ }
+ event.target.setAttribute("label", label);
]]></body>
</method>
@@ -3300,6 +3402,7 @@
]]>
</getter>
</property>
+ <field name="_soundPlayingAttrRemovalTimer">0</field>
</implementation>
<handlers>
@@ -3347,6 +3450,78 @@
tab.setAttribute("titlechanged", "true");
]]>
</handler>
+ <handler event="DOMAudioPlaybackStarted">
+ <![CDATA[
+ var tab = getTabFromAudioEvent(event)
+ if (!tab) {
+ return;
+ }
+
+ clearTimeout(tab._soundPlayingAttrRemovalTimer);
+ tab._soundPlayingAttrRemovalTimer = 0;
+
+ let modifiedAttrs = [];
+ if (tab.hasAttribute("soundplaying-scheduledremoval")) {
+ tab.removeAttribute("soundplaying-scheduledremoval");
+ modifiedAttrs.push("soundplaying-scheduledremoval");
+ }
+
+ if (!tab.hasAttribute("soundplaying")) {
+ tab.setAttribute("soundplaying", true);
+ modifiedAttrs.push("soundplaying");
+ }
+
+ this._tabAttrModified(tab, modifiedAttrs);
+ ]]>
+ </handler>
+ <handler event="DOMAudioPlaybackStopped">
+ <![CDATA[
+ var tab = getTabFromAudioEvent(event)
+ if (!tab) {
+ return;
+ }
+
+ if (tab.hasAttribute("soundplaying")) {
+ let removalDelay = Services.prefs.getIntPref("browser.tabs.delayHidingAudioPlayingIconMS");
+
+ tab.style.setProperty("--soundplaying-removal-delay", `${removalDelay - 300}ms`);
+ tab.setAttribute("soundplaying-scheduledremoval", "true");
+ this._tabAttrModified(tab, ["soundplaying-scheduledremoval"]);
+
+ tab._soundPlayingAttrRemovalTimer = setTimeout(() => {
+ tab.removeAttribute("soundplaying-scheduledremoval");
+ tab.removeAttribute("soundplaying");
+ this._tabAttrModified(tab, ["soundplaying", "soundplaying-scheduledremoval"]);
+ }, removalDelay);
+ }
+ ]]>
+ </handler>
+ <handler event="DOMAudioPlaybackBlockStarted">
+ <![CDATA[
+ var tab = getTabFromAudioEvent(event)
+ if (!tab) {
+ return;
+ }
+
+ if (!tab.hasAttribute("blocked")) {
+ tab.setAttribute("blocked", true);
+ this._tabAttrModified(tab, ["blocked"]);
+ }
+ ]]>
+ </handler>
+ <handler event="DOMAudioPlaybackBlockStopped">
+ <![CDATA[
+ var tab = getTabFromAudioEvent(event)
+ if (!tab) {
+ return;
+ }
+
+ if (tab.hasAttribute("blocked")) {
+ tab.removeAttribute("blocked");
+ this._tabAttrModified(tab, ["blocked"]);
+ }
+ ]]>
+ </handler>
</handlers>
</binding>
@@ -4758,10 +4933,18 @@
class="tab-icon-image"
role="presentation"
anonid="tab-icon"/>
+ <xul:image xbl:inherits="busy,soundplaying,soundplaying-scheduledremoval,pinned,muted,blocked,selected"
+ anonid="overlay-icon"
+ class="tab-icon-overlay"
+ role="presentation"/>
<xul:label flex="1"
xbl:inherits="value=label,crop,accesskey,fadein,pinned,selected"
class="tab-text tab-label"
role="presentation"/>
+ <xul:image xbl:inherits="soundplaying,soundplaying-scheduledremoval,pinned,muted,blocked,selected"
+ anonid="soundplaying-icon"
+ class="tab-icon-sound"
+ role="presentation"/>
<xul:toolbarbutton anonid="close-button"
xbl:inherits="fadein,pinned,selected"
class="tab-close-button close-icon"/>
@@ -4782,9 +4965,59 @@
</property>
<field name="mOverCloseButton">false</field>
+ <property name="_overPlayingIcon" readonly="true">
+ <getter><![CDATA[
+ let iconVisible = this.hasAttribute("soundplaying") ||
+ this.hasAttribute("muted") ||
+ this.hasAttribute("blocked");
+ let soundPlayingIcon =
+ document.getAnonymousElementByAttribute(this, "anonid", "soundplaying-icon");
+ let overlayIcon =
+ document.getAnonymousElementByAttribute(this, "anonid", "overlay-icon");
+
+ return soundPlayingIcon && soundPlayingIcon.matches(":hover") ||
+ (overlayIcon && overlayIcon.matches(":hover") && iconVisible);
+ ]]></getter>
+ </property>
<field name="mCorrespondingMenuitem">null</field>
<field name="closing">false</field>
<field name="lastAccessed">0</field>
+
+ <method name="toggleMuteAudio">
+ <parameter name="aMuteReason"/>
+ <body>
+ <![CDATA[
+ let tabContainer = this.parentNode;
+ let browser = this.linkedBrowser;
+ let modifiedAttrs = [];
+ if (browser.audioBlocked) {
+ this.removeAttribute("blocked");
+ modifiedAttrs.push("blocked");
+
+ // We don't want sound icon flickering between "blocked", "none" and
+ // "sound-playing", here adding the "soundplaying" is to keep the
+ // transition smoothly.
+ if (!this.hasAttribute("soundplaying")) {
+ this.setAttribute("soundplaying", true);
+ modifiedAttrs.push("soundplaying");
+ }
+
+ browser.resumeMedia();
+ } else {
+ if (browser.audioMuted) {
+ browser.unmute();
+ this.removeAttribute("muted");
+ } else {
+ browser.mute();
+ this.setAttribute("muted", "true");
+ }
+ this.muteReason = aMuteReason || null;
+ modifiedAttrs.push("muted");
+ }
+ tabContainer.tabbrowser._tabAttrModified(this, modifiedAttrs);
+ ]]>
+ </body>
+ </method>
</implementation>
<handlers>
@@ -4843,7 +5076,8 @@
if (this.selected) {
this.style.MozUserFocus = 'ignore';
this.clientTop; // just using this to flush style updates
- } else if (this.mOverCloseButton) {
+ } else if (this.mOverCloseButton ||
+ this._overPlayingIcon) {
// Prevent tabbox.xml from selecting the tab.
event.stopPropagation();
}
@@ -4852,6 +5086,17 @@
<handler event="mouseup">
this.style.MozUserFocus = '';
</handler>
+ <handler event="click">
+ <![CDATA[
+ if (event.button != 0) {
+ return;
+ }
+
+ if (this._overPlayingIcon) {
+ this.toggleMuteAudio();
+ }
+ ]]>
+ </handler>
</handlers>
</binding>
@@ -4957,6 +5202,24 @@
aMenuitem.setAttribute("selected", "true");
else
aMenuitem.removeAttribute("selected");
+
+ function addEndImage() {
+ let endImage = document.createElement("image");
+ endImage.setAttribute("class", "allTabs-endimage");
+ let endImageContainer = document.createElement("hbox");
+ endImageContainer.setAttribute("align", "center");
+ endImageContainer.setAttribute("pack", "center");
+ endImageContainer.appendChild(endImage);
+ aMenuitem.appendChild(endImageContainer);
+ return endImage;
+ }
+
+ if (aMenuitem.firstChild)
+ aMenuitem.firstChild.remove();
+ if (aTab.hasAttribute("muted"))
+ addEndImage().setAttribute("muted", "true");
+ else if (aTab.hasAttribute("soundplaying"))
+ addEndImage().setAttribute("soundplaying", "true");
]]></body>
</method>
</implementation>
diff --git a/application/palemoon/base/jar.mn b/application/palemoon/base/jar.mn
index d8c3f4b213..8931c02608 100644
--- a/application/palemoon/base/jar.mn
+++ b/application/palemoon/base/jar.mn
@@ -2,135 +2,81 @@
# 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/.
browser.jar:
-% content browser %content/browser/ contentaccessible=yes
+% content browser %content/browser/ contentaccessible=yes
#ifdef XP_MACOSX
-% overlay chrome://mozapps/content/downloads/downloads.xul chrome://browser/content/downloadManagerOverlay.xul
-% overlay chrome://global/content/console.xul chrome://browser/content/jsConsoleOverlay.xul
-% overlay chrome://mozapps/content/update/updates.xul chrome://browser/content/softwareUpdateOverlay.xul
+% overlay chrome://mozapps/content/downloads/downloads.xul chrome://browser/content/downloadManagerOverlay.xul
+% overlay chrome://global/content/console.xul chrome://browser/content/jsConsoleOverlay.xul
+% overlay chrome://mozapps/content/update/updates.xul chrome://browser/content/softwareUpdateOverlay.xul
#endif
#ifdef XP_WIN
-% overlay chrome://browser/content/browser.xul chrome://browser/content/win6BrowserOverlay.xul os=WINNT osversion>=6
+% overlay chrome://browser/content/browser.xul chrome://browser/content/win6BrowserOverlay.xul os=WINNT osversion>=6
#endif
-% overlay chrome://global/content/viewSource.xul chrome://browser/content/viewSourceOverlay.xul
-% overlay chrome://global/content/viewPartialSource.xul chrome://browser/content/viewSourceOverlay.xul
-% style chrome://global/content/customizeToolbar.xul chrome://browser/content/browser.css
-% style chrome://global/content/customizeToolbar.xul chrome://browser/skin/
-* content/browser/aboutDialog.xul (content/aboutDialog.xul)
-* content/browser/aboutDialog.js (content/aboutDialog.js)
- content/browser/aboutDialog.css (content/aboutDialog.css)
- content/browser/aboutRobots.xhtml (content/aboutRobots.xhtml)
- content/browser/abouthome/aboutHome.xhtml (content/abouthome/aboutHome.xhtml)
- content/browser/abouthome/aboutHome.js (content/abouthome/aboutHome.js)
-* content/browser/abouthome/aboutHome.css (content/abouthome/aboutHome.css)
- content/browser/abouthome/noise.png (content/abouthome/noise.png)
- content/browser/abouthome/snippet1.png (content/abouthome/snippet1.png)
- content/browser/abouthome/snippet2.png (content/abouthome/snippet2.png)
- content/browser/abouthome/downloads.png (content/abouthome/downloads.png)
- content/browser/abouthome/bookmarks.png (content/abouthome/bookmarks.png)
- content/browser/abouthome/history.png (content/abouthome/history.png)
- content/browser/abouthome/addons.png (content/abouthome/addons.png)
- content/browser/abouthome/sync.png (content/abouthome/sync.png)
- content/browser/abouthome/settings.png (content/abouthome/settings.png)
- content/browser/abouthome/restore.png (content/abouthome/restore.png)
- content/browser/abouthome/restore-large.png (content/abouthome/restore-large.png)
- content/browser/abouthome/snippet1@2x.png (content/abouthome/snippet1@2x.png)
- content/browser/abouthome/snippet2@2x.png (content/abouthome/snippet2@2x.png)
- content/browser/abouthome/downloads@2x.png (content/abouthome/downloads@2x.png)
- content/browser/abouthome/bookmarks@2x.png (content/abouthome/bookmarks@2x.png)
- content/browser/abouthome/history@2x.png (content/abouthome/history@2x.png)
- content/browser/abouthome/addons@2x.png (content/abouthome/addons@2x.png)
- content/browser/abouthome/sync@2x.png (content/abouthome/sync@2x.png)
- content/browser/abouthome/settings@2x.png (content/abouthome/settings@2x.png)
- content/browser/abouthome/restore@2x.png (content/abouthome/restore@2x.png)
- content/browser/abouthome/restore-large@2x.png (content/abouthome/restore-large@2x.png)
- content/browser/aboutRobots-icon.png (content/aboutRobots-icon.png)
- content/browser/aboutRobots-widget-left.png (content/aboutRobots-widget-left.png)
- content/browser/autorecovery.js (content/autorecovery.js)
- content/browser/autorecovery.xul (content/autorecovery.xul)
-* content/browser/browser.css (content/browser.css)
- content/browser/browser-menudragging.xul (content/browser-menudragging.xul)
- content/browser/browser-menudragging.js (content/browser-menudragging.js)
- content/browser/browser-title.css (content/browser-title.css)
-* content/browser/browser.js (content/browser.js)
-* content/browser/browser.xul (content/browser.xul)
+% overlay chrome://global/content/viewSource.xul chrome://browser/content/viewSourceOverlay.xul
+% overlay chrome://global/content/viewPartialSource.xul chrome://browser/content/viewSourceOverlay.xul
+% style chrome://global/content/customizeToolbar.xul chrome://browser/content/browser.css
+% style chrome://global/content/customizeToolbar.xul chrome://browser/skin/
+* content/browser/aboutDialog.xul (content/aboutDialog.xul)
+* content/browser/aboutDialog.js (content/aboutDialog.js)
+ content/browser/aboutDialog.css (content/aboutDialog.css)
+ content/browser/aboutRobots.xhtml (content/aboutRobots.xhtml)
+ content/browser/aboutRobots-icon.png (content/aboutRobots-icon.png)
+ content/browser/aboutRobots-widget-left.png (content/aboutRobots-widget-left.png)
+ content/browser/autorecovery.js (content/autorecovery.js)
+ content/browser/autorecovery.xul (content/autorecovery.xul)
+* content/browser/browser.css (content/browser.css)
+ content/browser/browser-menudragging.xul (content/browser-menudragging.xul)
+ content/browser/browser-menudragging.js (content/browser-menudragging.js)
+ content/browser/browser-title.css (content/browser-title.css)
+* content/browser/browser.js (content/browser.js)
+* content/browser/browser.xul (content/browser.xul)
#ifdef MOZ_DEVTOOLS
- content/browser/browser-devtools-theme.js (content/browser-devtools-theme.js)
+ content/browser/browser-devtools-theme.js (content/browser-devtools-theme.js)
#endif
-* content/browser/browser-tabPreviews.xml (content/browser-tabPreviews.xml)
- content/browser/content.js (content/content.js)
- content/browser/padlock.xul (content/padlock.xul)
- content/browser/padlock.js (content/padlock.js)
- content/browser/padlock.css (content/padlock.css)
- content/browser/padlock_mod_ev.png (content/padlock_mod_ev.png)
- content/browser/padlock_mod_https.png (content/padlock_mod_https.png)
- content/browser/padlock_mod_low.png (content/padlock_mod_low.png)
- content/browser/padlock_mod_broken.png (content/padlock_mod_broken.png)
- content/browser/padlock_classic_ev.png (content/padlock_classic_ev.png)
- content/browser/padlock_classic_https.png (content/padlock_classic_https.png)
- content/browser/padlock_classic_low.png (content/padlock_classic_low.png)
- content/browser/padlock_classic_broken.png (content/padlock_classic_broken.png)
- content/browser/palemoon.xhtml (content/palemoon.xhtml)
- content/browser/newtab/newTab.xhtml (content/newtab/newTab.xhtml)
-* content/browser/newtab/newTab.js (content/newtab/newTab.js)
- content/browser/newtab/newTab.css (content/newtab/newTab.css)
-* content/browser/pageinfo/pageInfo.xul (content/pageinfo/pageInfo.xul)
- content/browser/pageinfo/pageInfo.js (content/pageinfo/pageInfo.js)
- content/browser/pageinfo/pageInfo.css (content/pageinfo/pageInfo.css)
- content/browser/pageinfo/pageInfo.xml (content/pageinfo/pageInfo.xml)
- content/browser/pageinfo/feeds.js (content/pageinfo/feeds.js)
- content/browser/pageinfo/feeds.xml (content/pageinfo/feeds.xml)
- content/browser/pageinfo/permissions.js (content/pageinfo/permissions.js)
- content/browser/pageinfo/security.js (content/pageinfo/security.js)
-#ifdef MOZ_SERVICES_SYNC
- content/browser/sync/aboutSyncTabs.xul (content/sync/aboutSyncTabs.xul)
- content/browser/sync/aboutSyncTabs.js (content/sync/aboutSyncTabs.js)
- content/browser/sync/aboutSyncTabs.css (content/sync/aboutSyncTabs.css)
- content/browser/sync/aboutSyncTabs-bindings.xml (content/sync/aboutSyncTabs-bindings.xml)
- content/browser/sync/setup.xul (content/sync/setup.xul)
- content/browser/sync/addDevice.js (content/sync/addDevice.js)
- content/browser/sync/addDevice.xul (content/sync/addDevice.xul)
- content/browser/sync/setup.js (content/sync/setup.js)
- content/browser/sync/genericChange.xul (content/sync/genericChange.xul)
- content/browser/sync/genericChange.js (content/sync/genericChange.js)
- content/browser/sync/key.xhtml (content/sync/key.xhtml)
- content/browser/sync/notification.xml (content/sync/notification.xml)
- content/browser/sync/quota.xul (content/sync/quota.xul)
- content/browser/sync/quota.js (content/sync/quota.js)
- content/browser/sync/utils.js (content/sync/utils.js)
- content/browser/sync/progress.js (content/sync/progress.js)
- content/browser/sync/progress.xhtml (content/sync/progress.xhtml)
-#endif
- content/browser/openLocation.js (content/openLocation.js)
- content/browser/openLocation.xul (content/openLocation.xul)
- content/browser/safeMode.css (content/safeMode.css)
- content/browser/safeMode.js (content/safeMode.js)
-* content/browser/safeMode.xul (content/safeMode.xul)
-* content/browser/sanitize.js (content/sanitize.js)
-* content/browser/sanitize.xul (content/sanitize.xul)
-* content/browser/sanitizeDialog.js (content/sanitizeDialog.js)
- content/browser/sanitizeDialog.css (content/sanitizeDialog.css)
- content/browser/autocomplete.css (content/autocomplete.css)
-* content/browser/autocomplete.xml (content/autocomplete.xml)
- content/browser/tabbrowser.css (content/tabbrowser.css)
-* content/browser/tabbrowser.xml (content/tabbrowser.xml)
-* content/browser/urlbarBindings.xml (content/urlbarBindings.xml)
-* content/browser/utilityOverlay.js (content/utilityOverlay.js)
- content/browser/web-panels.js (content/web-panels.js)
-* content/browser/web-panels.xul (content/web-panels.xul)
-* content/browser/baseMenuOverlay.xul (content/baseMenuOverlay.xul)
-* content/browser/nsContextMenu.js (content/nsContextMenu.js)
+* content/browser/browser-tabPreviews.xml (content/browser-tabPreviews.xml)
+ content/browser/content.js (content/content.js)
+ content/browser/padlock.xul (content/padlock.xul)
+ content/browser/padlock.js (content/padlock.js)
+ content/browser/padlock.css (content/padlock.css)
+ content/browser/padlock_mod_ev.png (content/padlock_mod_ev.png)
+ content/browser/padlock_mod_https.png (content/padlock_mod_https.png)
+ content/browser/padlock_mod_low.png (content/padlock_mod_low.png)
+ content/browser/padlock_mod_broken.png (content/padlock_mod_broken.png)
+ content/browser/padlock_classic_ev.png (content/padlock_classic_ev.png)
+ content/browser/padlock_classic_https.png (content/padlock_classic_https.png)
+ content/browser/padlock_classic_low.png (content/padlock_classic_low.png)
+ content/browser/padlock_classic_broken.png (content/padlock_classic_broken.png)
+ content/browser/palemoon.xhtml (content/palemoon.xhtml)
+ content/browser/openLocation.js (content/openLocation.js)
+ content/browser/openLocation.xul (content/openLocation.xul)
+ content/browser/safeMode.css (content/safeMode.css)
+ content/browser/safeMode.js (content/safeMode.js)
+* content/browser/safeMode.xul (content/safeMode.xul)
+* content/browser/sanitize.js (content/sanitize.js)
+* content/browser/sanitize.xul (content/sanitize.xul)
+* content/browser/sanitizeDialog.js (content/sanitizeDialog.js)
+ content/browser/sanitizeDialog.css (content/sanitizeDialog.css)
+ content/browser/autocomplete.css (content/autocomplete.css)
+* content/browser/autocomplete.xml (content/autocomplete.xml)
+ content/browser/tabbrowser.css (content/tabbrowser.css)
+* content/browser/tabbrowser.xml (content/tabbrowser.xml)
+* content/browser/urlbarBindings.xml (content/urlbarBindings.xml)
+* content/browser/utilityOverlay.js (content/utilityOverlay.js)
+ content/browser/web-panels.js (content/web-panels.js)
+* content/browser/web-panels.xul (content/web-panels.xul)
+* content/browser/baseMenuOverlay.xul (content/baseMenuOverlay.xul)
+* content/browser/nsContextMenu.js (content/nsContextMenu.js)
# XXX: We should exclude this one as well (bug 71895)
-* content/browser/hiddenWindow.xul (content/hiddenWindow.xul)
+* content/browser/hiddenWindow.xul (content/hiddenWindow.xul)
#ifdef XP_MACOSX
-* content/browser/macBrowserOverlay.xul (content/macBrowserOverlay.xul)
-* content/browser/downloadManagerOverlay.xul (content/downloadManagerOverlay.xul)
-* content/browser/jsConsoleOverlay.xul (content/jsConsoleOverlay.xul)
-* content/browser/softwareUpdateOverlay.xul (content/softwareUpdateOverlay.xul)
+* content/browser/macBrowserOverlay.xul (content/macBrowserOverlay.xul)
+* content/browser/downloadManagerOverlay.xul (content/downloadManagerOverlay.xul)
+* content/browser/jsConsoleOverlay.xul (content/jsConsoleOverlay.xul)
+* content/browser/softwareUpdateOverlay.xul (content/softwareUpdateOverlay.xul)
#endif
-* content/browser/viewSourceOverlay.xul (content/viewSourceOverlay.xul)
+* content/browser/viewSourceOverlay.xul (content/viewSourceOverlay.xul)
#ifdef XP_WIN
- content/browser/win6BrowserOverlay.xul (content/win6BrowserOverlay.xul)
+ content/browser/win6BrowserOverlay.xul (content/win6BrowserOverlay.xul)
#endif
# the following files are browser-specific overrides
-* content/browser/license.html (/toolkit/content/license.html)
+* content/browser/license.html (/toolkit/content/license.html)
% override chrome://global/content/license.html chrome://browser/content/license.html
diff --git a/application/palemoon/branding/official/content/moz.build b/application/palemoon/branding/official/content/moz.build
index 35f6d454ac..c97072bba2 100644
--- a/application/palemoon/branding/official/content/moz.build
+++ b/application/palemoon/branding/official/content/moz.build
@@ -4,5 +4,4 @@
# 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/.
-
JAR_MANIFESTS += ['jar.mn'] \ No newline at end of file
diff --git a/application/palemoon/branding/official/locales/jar.mn b/application/palemoon/branding/official/locales/jar.mn
index 79078217e2..f02dd95f30 100644
--- a/application/palemoon/branding/official/locales/jar.mn
+++ b/application/palemoon/branding/official/locales/jar.mn
@@ -6,6 +6,6 @@
@AB_CD@.jar:
% locale branding @AB_CD@ %locale/branding/
- locale/branding/brand.dtd (%brand.dtd)
- locale/branding/brand.properties (%brand.properties)
- locale/branding/browserconfig.properties (../../shared/locales/browserconfig.properties)
+ locale/branding/brand.dtd (%brand.dtd)
+ locale/branding/brand.properties (%brand.properties)
+ locale/branding/browserconfig.properties (../../shared/locales/browserconfig.properties)
diff --git a/application/palemoon/branding/official/locales/moz.build b/application/palemoon/branding/official/locales/moz.build
index 35f6d454ac..c97072bba2 100644
--- a/application/palemoon/branding/official/locales/moz.build
+++ b/application/palemoon/branding/official/locales/moz.build
@@ -4,5 +4,4 @@
# 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/.
-
JAR_MANIFESTS += ['jar.mn'] \ No newline at end of file
diff --git a/application/palemoon/branding/shared/pref/uaoverrides.inc b/application/palemoon/branding/shared/pref/uaoverrides.inc
index e5e727ee59..5679566408 100644
--- a/application/palemoon/branding/shared/pref/uaoverrides.inc
+++ b/application/palemoon/branding/shared/pref/uaoverrides.inc
@@ -21,6 +21,11 @@
#define OS_SLICE Windows NT 6.1; WOW64;
#endif
+// Special-case AMO
+// We send the native UA slice now, since they no longer offer any compatible extensions for us.
+// This will result in an "only with Firefox" message which suits us fine, because it's the truth.
+pref("@GUAO_PREF@.addons.mozilla.org","Mozilla/5.0 (@OS_SLICE@ rv:@GRE_VERSION@) @GRE_DATE_SLICE@ @PM_SLICE@");
+
// Required for domains that have proven unresponsive to requests from users
pref("@GUAO_PREF@.live.com","Mozilla/5.0 (@OS_SLICE@ rv:@GK_VERSION@) @GK_SLICE@ @FX_SLICE@ (Pale Moon)");
pref("@GUAO_PREF@.msn.com","Mozilla/5.0 (@OS_SLICE@ rv:@GK_VERSION@) @GK_SLICE@ @FX_SLICE@ (Pale Moon)");
@@ -35,8 +40,8 @@ pref("@GUAO_PREF@.gstatic.com","Mozilla/5.0 (@OS_SLICE@ rv:31.9) @GK_SLICE@ @GRE
pref("@GUAO_PREF@.yahoo.com","Mozilla/5.0 (@OS_SLICE@ rv:99.9) @GK_SLICE@ Firefox/99.9 (Pale Moon)");
pref("@GUAO_PREF@.youtube.com","Mozilla/5.0 (@OS_SLICE@ rv:42.0) @GK_SLICE@ Firefox/42.0 @PM_SLICE@");
pref("@GUAO_PREF@.gaming.youtube.com","Mozilla/5.0 (@OS_SLICE@ rv:42.0) @GK_SLICE@ Firefox/42.0");
+pref("@GUAO_PREF@.dropbox.com","Mozilla/5.0 (@OS_SLICE@ rv:99.9) @GK_SLICE@ Firefox/99.9 (Pale Moon)");
-pref("@GUAO_PREF@.dropbox.com","Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko");
pref("@GUAO_PREF@.players.brightcove.net","Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko");
// The never-ending Facebook debacle...
diff --git a/application/palemoon/branding/unofficial/content/jar.mn b/application/palemoon/branding/unofficial/content/jar.mn
index 821aa03bc4..bdb1e81296 100644
--- a/application/palemoon/branding/unofficial/content/jar.mn
+++ b/application/palemoon/branding/unofficial/content/jar.mn
@@ -4,13 +4,13 @@
browser.jar:
% content branding %content/branding/ contentaccessible=yes
- content/branding/about.png (about.png)
- content/branding/about-background.png (about-background.png)
- content/branding/about-logo.png (about-logo.png)
- content/branding/about-logo@2x.png (about-logo@2x.png)
- content/branding/about-wordmark.svg (about-wordmark.svg)
- content/branding/icon48.png (icon48.png)
- content/branding/icon64.png (icon64.png)
- content/branding/icon16.png (../default16.png)
- content/branding/icon32.png (../default32.png)
- content/branding/aboutDialog.css (aboutDialog.css)
+ content/branding/about.png (about.png)
+ content/branding/about-background.png (about-background.png)
+ content/branding/about-logo.png (about-logo.png)
+ content/branding/about-logo@2x.png (about-logo@2x.png)
+ content/branding/about-wordmark.svg (about-wordmark.svg)
+ content/branding/icon48.png (icon48.png)
+ content/branding/icon64.png (icon64.png)
+ content/branding/icon16.png (../default16.png)
+ content/branding/icon32.png (../default32.png)
+ content/branding/aboutDialog.css (aboutDialog.css)
diff --git a/application/palemoon/branding/unofficial/content/moz.build b/application/palemoon/branding/unofficial/content/moz.build
index 35f6d454ac..c97072bba2 100644
--- a/application/palemoon/branding/unofficial/content/moz.build
+++ b/application/palemoon/branding/unofficial/content/moz.build
@@ -4,5 +4,4 @@
# 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/.
-
JAR_MANIFESTS += ['jar.mn'] \ No newline at end of file
diff --git a/application/palemoon/branding/unofficial/locales/jar.mn b/application/palemoon/branding/unofficial/locales/jar.mn
index 88aa074345..9de6cfc838 100644
--- a/application/palemoon/branding/unofficial/locales/jar.mn
+++ b/application/palemoon/branding/unofficial/locales/jar.mn
@@ -7,6 +7,6 @@
@AB_CD@.jar:
% locale branding @AB_CD@ %locale/branding/
# Unofficial branding only exists in en-US
- locale/branding/brand.dtd (en-US/brand.dtd)
- locale/branding/brand.properties (en-US/brand.properties)
- locale/branding/browserconfig.properties (../../shared/locales/browserconfig.properties)
+ locale/branding/brand.dtd (en-US/brand.dtd)
+ locale/branding/brand.properties (en-US/brand.properties)
+ locale/branding/browserconfig.properties (../../shared/locales/browserconfig.properties)
diff --git a/application/palemoon/branding/unstable/content/jar.mn b/application/palemoon/branding/unstable/content/jar.mn
index d8038bf9e1..6903e9ac52 100644
--- a/application/palemoon/branding/unstable/content/jar.mn
+++ b/application/palemoon/branding/unstable/content/jar.mn
@@ -4,13 +4,13 @@
browser.jar:
% content branding %content/branding/ contentaccessible=yes
- content/branding/about.png (about.png)
- content/branding/about-background.png (about-background.png)
- content/branding/about-logo.png (about-logo.png)
- content/branding/about-logo@2x.png (about-logo@2x.png)
- content/branding/about-wordmark.png (about-wordmark.png)
- content/branding/icon48.png (icon48.png)
- content/branding/icon64.png (icon64.png)
- content/branding/icon16.png (../default16.png)
- content/branding/icon32.png (../default32.png)
- content/branding/aboutDialog.css (aboutDialog.css)
+ content/branding/about.png (about.png)
+ content/branding/about-background.png (about-background.png)
+ content/branding/about-logo.png (about-logo.png)
+ content/branding/about-logo@2x.png (about-logo@2x.png)
+ content/branding/about-wordmark.png (about-wordmark.png)
+ content/branding/icon48.png (icon48.png)
+ content/branding/icon64.png (icon64.png)
+ content/branding/icon16.png (../default16.png)
+ content/branding/icon32.png (../default32.png)
+ content/branding/aboutDialog.css (aboutDialog.css)
diff --git a/application/palemoon/branding/unstable/content/moz.build b/application/palemoon/branding/unstable/content/moz.build
index 35f6d454ac..c97072bba2 100644
--- a/application/palemoon/branding/unstable/content/moz.build
+++ b/application/palemoon/branding/unstable/content/moz.build
@@ -4,5 +4,4 @@
# 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/.
-
JAR_MANIFESTS += ['jar.mn'] \ No newline at end of file
diff --git a/application/palemoon/branding/unstable/locales/jar.mn b/application/palemoon/branding/unstable/locales/jar.mn
index 88aa074345..9de6cfc838 100644
--- a/application/palemoon/branding/unstable/locales/jar.mn
+++ b/application/palemoon/branding/unstable/locales/jar.mn
@@ -7,6 +7,6 @@
@AB_CD@.jar:
% locale branding @AB_CD@ %locale/branding/
# Unofficial branding only exists in en-US
- locale/branding/brand.dtd (en-US/brand.dtd)
- locale/branding/brand.properties (en-US/brand.properties)
- locale/branding/browserconfig.properties (../../shared/locales/browserconfig.properties)
+ locale/branding/brand.dtd (en-US/brand.dtd)
+ locale/branding/brand.properties (en-US/brand.properties)
+ locale/branding/browserconfig.properties (../../shared/locales/browserconfig.properties)
diff --git a/application/palemoon/components/BrowserComponents.manifest b/application/palemoon/components/BrowserComponents.manifest
index 1e4bff59a4..b7f054eab0 100644
--- a/application/palemoon/components/BrowserComponents.manifest
+++ b/application/palemoon/components/BrowserComponents.manifest
@@ -1,3 +1,22 @@
+# nsAboutRedirector.js
+component {8cc51368-6aa0-43e8-b762-bde9b9fd828c} nsAboutRedirector.js
+# Each entry here should be coupled with an entry in nsAboutRedirector.js
+contract @mozilla.org/network/protocol/about;1?what=certerror {8cc51368-6aa0-43e8-b762-bde9b9fd828c}
+contract @mozilla.org/network/protocol/about;1?what=downloads {8cc51368-6aa0-43e8-b762-bde9b9fd828c}
+contract @mozilla.org/network/protocol/about;1?what=feeds {8cc51368-6aa0-43e8-b762-bde9b9fd828c}
+contract @mozilla.org/network/protocol/about;1?what=home {8cc51368-6aa0-43e8-b762-bde9b9fd828c}
+contract @mozilla.org/network/protocol/about;1?what=newtab {8cc51368-6aa0-43e8-b762-bde9b9fd828c}
+contract @mozilla.org/network/protocol/about;1?what=palemoon {8cc51368-6aa0-43e8-b762-bde9b9fd828c}
+contract @mozilla.org/network/protocol/about;1?what=permissions {8cc51368-6aa0-43e8-b762-bde9b9fd828c}
+contract @mozilla.org/network/protocol/about;1?what=privatebrowsing {8cc51368-6aa0-43e8-b762-bde9b9fd828c}
+contract @mozilla.org/network/protocol/about;1?what=rights {8cc51368-6aa0-43e8-b762-bde9b9fd828c}
+contract @mozilla.org/network/protocol/about;1?what=robots {8cc51368-6aa0-43e8-b762-bde9b9fd828c}
+contract @mozilla.org/network/protocol/about;1?what=sessionrestore {8cc51368-6aa0-43e8-b762-bde9b9fd828c}
+#ifdef MOZ_SERVICES_SYNC
+contract @mozilla.org/network/protocol/about;1?what=sync-progress {8cc51368-6aa0-43e8-b762-bde9b9fd828c}
+contract @mozilla.org/network/protocol/about;1?what=sync-tabs {8cc51368-6aa0-43e8-b762-bde9b9fd828c}
+#endif
+
# nsBrowserContentHandler.js
component {5d0ce354-df01-421a-83fb-7ead0990c24e} nsBrowserContentHandler.js application={8de7fcbb-c55c-4fbe-bfc5-fc555c87dbc4}
contract @mozilla.org/browser/clh;1 {5d0ce354-df01-421a-83fb-7ead0990c24e} application={8de7fcbb-c55c-4fbe-bfc5-fc555c87dbc4}
diff --git a/application/palemoon/components/about/AboutRedirector.cpp b/application/palemoon/components/about/AboutRedirector.cpp
deleted file mode 100644
index fbcad6094a..0000000000
--- a/application/palemoon/components/about/AboutRedirector.cpp
+++ /dev/null
@@ -1,184 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* 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/. */
-
-// See also: docshell/base/nsAboutRedirector.cpp
-
-#include "AboutRedirector.h"
-#include "nsNetUtil.h"
-#include "nsIScriptSecurityManager.h"
-#include "mozilla/ArrayUtils.h"
-
-namespace mozilla {
-namespace browser {
-
-NS_IMPL_ISUPPORTS(AboutRedirector, nsIAboutModule)
-
-struct RedirEntry {
- const char* id;
- const char* url;
- uint32_t flags;
-};
-
-/*
- Entries which do not have URI_SAFE_FOR_UNTRUSTED_CONTENT will run with chrome
- privileges. This is potentially dangerous. Please use
- URI_SAFE_FOR_UNTRUSTED_CONTENT in the third argument to each map item below
- unless your about: page really needs chrome privileges. Security review is
- required before adding new map entries without
- URI_SAFE_FOR_UNTRUSTED_CONTENT.
-*/
-static RedirEntry kRedirMap[] = {
- {
- "certerror", "chrome://browser/content/certerror/aboutCertError.xhtml",
- nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
- nsIAboutModule::ALLOW_SCRIPT |
- nsIAboutModule::HIDE_FROM_ABOUTABOUT
- },
- {
- "downloads", "chrome://browser/content/downloads/contentAreaDownloadsView.xul",
- nsIAboutModule::ALLOW_SCRIPT
- },
- {
- "feeds", "chrome://browser/content/feeds/subscribe.xhtml",
- nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
- nsIAboutModule::ALLOW_SCRIPT |
- nsIAboutModule::HIDE_FROM_ABOUTABOUT
- },
- {
- "home", "chrome://browser/content/abouthome/aboutHome.xhtml",
- nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
- nsIAboutModule::MAKE_LINKABLE |
- nsIAboutModule::ALLOW_SCRIPT
- },
- {
- "newtab", "chrome://browser/content/newtab/newTab.xhtml",
- nsIAboutModule::ALLOW_SCRIPT
- },
- {
- "palemoon", "chrome://browser/content/palemoon.xhtml",
- nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
- nsIAboutModule::HIDE_FROM_ABOUTABOUT
- },
- {
- "permissions", "chrome://browser/content/permissions/aboutPermissions.xul",
- nsIAboutModule::ALLOW_SCRIPT
- },
- {
- "privatebrowsing", "chrome://browser/content/aboutPrivateBrowsing.xhtml",
- nsIAboutModule::ALLOW_SCRIPT
- },
- {
- "rights", "chrome://global/content/aboutRights.xhtml",
- nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
- nsIAboutModule::MAKE_LINKABLE |
- nsIAboutModule::ALLOW_SCRIPT
- },
- {
- "robots", "chrome://browser/content/aboutRobots.xhtml",
- nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
- nsIAboutModule::ALLOW_SCRIPT
- },
- {
- "sessionrestore", "chrome://browser/content/aboutSessionRestore.xhtml",
- nsIAboutModule::ALLOW_SCRIPT
- },
-#ifdef MOZ_SERVICES_SYNC
- {
- "sync-progress", "chrome://browser/content/sync/progress.xhtml",
- nsIAboutModule::ALLOW_SCRIPT
- },
- {
- "sync-tabs", "chrome://browser/content/sync/aboutSyncTabs.xul",
- nsIAboutModule::ALLOW_SCRIPT
- },
-#endif
-};
-static const int kRedirTotal = ArrayLength(kRedirMap);
-
-static nsAutoCString
-GetAboutModuleName(nsIURI *aURI)
-{
- nsAutoCString path;
- aURI->GetPath(path);
-
- int32_t f = path.FindChar('#');
- if (f >= 0)
- path.SetLength(f);
-
- f = path.FindChar('?');
- if (f >= 0)
- path.SetLength(f);
-
- ToLowerCase(path);
- return path;
-}
-
-NS_IMETHODIMP
-AboutRedirector::NewChannel(nsIURI* aURI,
- nsILoadInfo* aLoadInfo,
- nsIChannel** result)
-{
- NS_ENSURE_ARG_POINTER(aURI);
- NS_ASSERTION(result, "must not be null");
-
- nsAutoCString path = GetAboutModuleName(aURI);
-
- nsresult rv;
- nsCOMPtr<nsIIOService> ioService = do_GetIOService(&rv);
- NS_ENSURE_SUCCESS(rv, rv);
-
- for (int i = 0; i < kRedirTotal; i++) {
- if (!strcmp(path.get(), kRedirMap[i].id)) {
- nsCOMPtr<nsIChannel> tempChannel;
- nsCOMPtr<nsIURI> tempURI;
- rv = NS_NewURI(getter_AddRefs(tempURI),
- nsDependentCString(kRedirMap[i].url));
- NS_ENSURE_SUCCESS(rv, rv);
- rv = NS_NewChannelInternal(getter_AddRefs(tempChannel),
- tempURI,
- aLoadInfo);
- NS_ENSURE_SUCCESS(rv, rv);
-
- tempChannel->SetOriginalURI(aURI);
-
- NS_ADDREF(*result = tempChannel);
- return rv;
- }
- }
-
- return NS_ERROR_ILLEGAL_VALUE;
-}
-
-NS_IMETHODIMP
-AboutRedirector::GetURIFlags(nsIURI *aURI, uint32_t *result)
-{
- NS_ENSURE_ARG_POINTER(aURI);
-
- nsAutoCString name = GetAboutModuleName(aURI);
-
- for (int i = 0; i < kRedirTotal; i++) {
- if (name.Equals(kRedirMap[i].id)) {
- *result = kRedirMap[i].flags;
- return NS_OK;
- }
- }
-
- return NS_ERROR_ILLEGAL_VALUE;
-}
-
-nsresult
-AboutRedirector::Create(nsISupports *aOuter, REFNSIID aIID, void **result)
-{
- AboutRedirector* about = new AboutRedirector();
- if (about == nullptr)
- return NS_ERROR_OUT_OF_MEMORY;
- NS_ADDREF(about);
- nsresult rv = about->QueryInterface(aIID, result);
- NS_RELEASE(about);
- return rv;
-}
-
-} // namespace browser
-} // namespace mozilla
diff --git a/application/palemoon/components/about/AboutRedirector.h b/application/palemoon/components/about/AboutRedirector.h
deleted file mode 100644
index 8feeb74912..0000000000
--- a/application/palemoon/components/about/AboutRedirector.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* 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/. */
-
-#ifndef AboutRedirector_h__
-#define AboutRedirector_h__
-
-#include "nsIAboutModule.h"
-
-namespace mozilla {
-namespace browser {
-
-class AboutRedirector : public nsIAboutModule
-{
-public:
- NS_DECL_ISUPPORTS
- NS_DECL_NSIABOUTMODULE
-
- AboutRedirector() {}
-
- static nsresult
- Create(nsISupports *aOuter, REFNSIID aIID, void **aResult);
-
-protected:
- virtual ~AboutRedirector() {}
-};
-
-} // namespace browser
-} // namespace mozilla
-
-#endif // AboutRedirector_h__
diff --git a/application/palemoon/base/content/abouthome/aboutHome.css b/application/palemoon/components/abouthome/aboutHome.css
index 73c6862021..2b062e8e7e 100644
--- a/application/palemoon/base/content/abouthome/aboutHome.css
+++ b/application/palemoon/components/abouthome/aboutHome.css
@@ -262,9 +262,11 @@ body[narrow] #restorePreviousSession {
content: url("chrome://browser/content/abouthome/addons.png");
}
+%ifdef MOZ_SERVICES_SYNC
#sync::before {
content: url("chrome://browser/content/abouthome/sync.png");
}
+%endif
#settings::before {
content: url("chrome://browser/content/abouthome/settings.png");
@@ -320,9 +322,11 @@ body[narrow] #restorePreviousSession::before {
content: url("chrome://browser/content/abouthome/addons@2x.png");
}
+%ifdef MOZ_SERVICES_SYNC
#sync::before {
content: url("chrome://browser/content/abouthome/sync@2x.png");
}
+%endif
#settings::before {
content: url("chrome://browser/content/abouthome/settings@2x.png");
diff --git a/application/palemoon/base/content/abouthome/aboutHome.js b/application/palemoon/components/abouthome/aboutHome.js
index 6ff8eee984..6ff8eee984 100644
--- a/application/palemoon/base/content/abouthome/aboutHome.js
+++ b/application/palemoon/components/abouthome/aboutHome.js
diff --git a/application/palemoon/base/content/abouthome/aboutHome.xhtml b/application/palemoon/components/abouthome/aboutHome.xhtml
index cb3fa634a6..d72ec492ea 100644
--- a/application/palemoon/base/content/abouthome/aboutHome.xhtml
+++ b/application/palemoon/components/abouthome/aboutHome.xhtml
@@ -51,7 +51,9 @@
<button class="launchButton" id="bookmarks">&abouthome.bookmarksButton.label;</button>
<button class="launchButton" id="history">&abouthome.historyButton.label;</button>
<button class="launchButton" id="addons">&abouthome.addonsButton.label;</button>
+#ifdef MOZ_SERVICES_SYNC
<button class="launchButton" id="sync">&abouthome.syncButton.label;</button>
+#endif
<button class="launchButton" id="settings">&abouthome.settingsButton.label;</button>
<div id="restorePreviousSessionSeparator"/>
<button class="launchButton" id="restorePreviousSession">&historyRestoreLastSession.label;</button>
diff --git a/application/palemoon/base/content/abouthome/addons.png b/application/palemoon/components/abouthome/addons.png
index 41519ce498..41519ce498 100644
--- a/application/palemoon/base/content/abouthome/addons.png
+++ b/application/palemoon/components/abouthome/addons.png
Binary files differ
diff --git a/application/palemoon/base/content/abouthome/addons@2x.png b/application/palemoon/components/abouthome/addons@2x.png
index d4d04ee8ca..d4d04ee8ca 100644
--- a/application/palemoon/base/content/abouthome/addons@2x.png
+++ b/application/palemoon/components/abouthome/addons@2x.png
Binary files differ
diff --git a/application/palemoon/base/content/abouthome/bookmarks.png b/application/palemoon/components/abouthome/bookmarks.png
index 5c7e194a61..5c7e194a61 100644
--- a/application/palemoon/base/content/abouthome/bookmarks.png
+++ b/application/palemoon/components/abouthome/bookmarks.png
Binary files differ
diff --git a/application/palemoon/base/content/abouthome/bookmarks@2x.png b/application/palemoon/components/abouthome/bookmarks@2x.png
index 7ede00744c..7ede00744c 100644
--- a/application/palemoon/base/content/abouthome/bookmarks@2x.png
+++ b/application/palemoon/components/abouthome/bookmarks@2x.png
Binary files differ
diff --git a/application/palemoon/base/content/abouthome/downloads.png b/application/palemoon/components/abouthome/downloads.png
index 3d4d10e7ab..3d4d10e7ab 100644
--- a/application/palemoon/base/content/abouthome/downloads.png
+++ b/application/palemoon/components/abouthome/downloads.png
Binary files differ
diff --git a/application/palemoon/base/content/abouthome/downloads@2x.png b/application/palemoon/components/abouthome/downloads@2x.png
index d384a22c6d..d384a22c6d 100644
--- a/application/palemoon/base/content/abouthome/downloads@2x.png
+++ b/application/palemoon/components/abouthome/downloads@2x.png
Binary files differ
diff --git a/application/palemoon/base/content/abouthome/history.png b/application/palemoon/components/abouthome/history.png
index ae742b1aa8..ae742b1aa8 100644
--- a/application/palemoon/base/content/abouthome/history.png
+++ b/application/palemoon/components/abouthome/history.png
Binary files differ
diff --git a/application/palemoon/base/content/abouthome/history@2x.png b/application/palemoon/components/abouthome/history@2x.png
index 696902e7ca..696902e7ca 100644
--- a/application/palemoon/base/content/abouthome/history@2x.png
+++ b/application/palemoon/components/abouthome/history@2x.png
Binary files differ
diff --git a/application/palemoon/components/abouthome/jar.mn b/application/palemoon/components/abouthome/jar.mn
new file mode 100644
index 0000000000..e1ae4ac421
--- /dev/null
+++ b/application/palemoon/components/abouthome/jar.mn
@@ -0,0 +1,33 @@
+# 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/.
+
+browser.jar:
+* content/browser/abouthome/aboutHome.xhtml
+ content/browser/abouthome/aboutHome.js
+* content/browser/abouthome/aboutHome.css
+ content/browser/abouthome/noise.png
+ content/browser/abouthome/snippet1.png
+ content/browser/abouthome/snippet2.png
+ content/browser/abouthome/downloads.png
+ content/browser/abouthome/bookmarks.png
+ content/browser/abouthome/history.png
+ content/browser/abouthome/addons.png
+#ifdef MOZ_SERVICES_SYNC
+ content/browser/abouthome/sync.png
+#endif
+ content/browser/abouthome/settings.png
+ content/browser/abouthome/restore.png
+ content/browser/abouthome/restore-large.png
+ content/browser/abouthome/snippet1@2x.png
+ content/browser/abouthome/snippet2@2x.png
+ content/browser/abouthome/downloads@2x.png
+ content/browser/abouthome/bookmarks@2x.png
+ content/browser/abouthome/history@2x.png
+ content/browser/abouthome/addons@2x.png
+#ifdef MOZ_SERVICES_SYNC
+ content/browser/abouthome/sync@2x.png
+#endif
+ content/browser/abouthome/settings@2x.png
+ content/browser/abouthome/restore@2x.png
+ content/browser/abouthome/restore-large@2x.png \ No newline at end of file
diff --git a/application/palemoon/components/about/moz.build b/application/palemoon/components/abouthome/moz.build
index 95a8451baf..2d64d506c1 100644
--- a/application/palemoon/components/about/moz.build
+++ b/application/palemoon/components/abouthome/moz.build
@@ -4,16 +4,5 @@
# 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/.
-EXPORTS.mozilla.browser += [
- 'AboutRedirector.h',
-]
+JAR_MANIFESTS += ['jar.mn']
-SOURCES += [
- 'AboutRedirector.cpp',
-]
-
-FINAL_LIBRARY = 'browsercomps'
-
-LOCAL_INCLUDES += [
- '../build',
-]
diff --git a/application/palemoon/base/content/abouthome/noise.png b/application/palemoon/components/abouthome/noise.png
index 3467cf4d47..3467cf4d47 100644
--- a/application/palemoon/base/content/abouthome/noise.png
+++ b/application/palemoon/components/abouthome/noise.png
Binary files differ
diff --git a/application/palemoon/base/content/abouthome/restore-large.png b/application/palemoon/components/abouthome/restore-large.png
index ef593e6e14..ef593e6e14 100644
--- a/application/palemoon/base/content/abouthome/restore-large.png
+++ b/application/palemoon/components/abouthome/restore-large.png
Binary files differ
diff --git a/application/palemoon/base/content/abouthome/restore-large@2x.png b/application/palemoon/components/abouthome/restore-large@2x.png
index d5c71d0b04..d5c71d0b04 100644
--- a/application/palemoon/base/content/abouthome/restore-large@2x.png
+++ b/application/palemoon/components/abouthome/restore-large@2x.png
Binary files differ
diff --git a/application/palemoon/base/content/abouthome/restore.png b/application/palemoon/components/abouthome/restore.png
index 5c3d6f4376..5c3d6f4376 100644
--- a/application/palemoon/base/content/abouthome/restore.png
+++ b/application/palemoon/components/abouthome/restore.png
Binary files differ
diff --git a/application/palemoon/base/content/abouthome/restore@2x.png b/application/palemoon/components/abouthome/restore@2x.png
index 5acb630522..5acb630522 100644
--- a/application/palemoon/base/content/abouthome/restore@2x.png
+++ b/application/palemoon/components/abouthome/restore@2x.png
Binary files differ
diff --git a/application/palemoon/base/content/abouthome/settings.png b/application/palemoon/components/abouthome/settings.png
index 4b0c309909..4b0c309909 100644
--- a/application/palemoon/base/content/abouthome/settings.png
+++ b/application/palemoon/components/abouthome/settings.png
Binary files differ
diff --git a/application/palemoon/base/content/abouthome/settings@2x.png b/application/palemoon/components/abouthome/settings@2x.png
index c77cb9a92c..c77cb9a92c 100644
--- a/application/palemoon/base/content/abouthome/settings@2x.png
+++ b/application/palemoon/components/abouthome/settings@2x.png
Binary files differ
diff --git a/application/palemoon/base/content/abouthome/snippet1.png b/application/palemoon/components/abouthome/snippet1.png
index ce2ec55c23..ce2ec55c23 100644
--- a/application/palemoon/base/content/abouthome/snippet1.png
+++ b/application/palemoon/components/abouthome/snippet1.png
Binary files differ
diff --git a/application/palemoon/base/content/abouthome/snippet1@2x.png b/application/palemoon/components/abouthome/snippet1@2x.png
index f57cd0a827..f57cd0a827 100644
--- a/application/palemoon/base/content/abouthome/snippet1@2x.png
+++ b/application/palemoon/components/abouthome/snippet1@2x.png
Binary files differ
diff --git a/application/palemoon/base/content/abouthome/snippet2.png b/application/palemoon/components/abouthome/snippet2.png
index e0724fb6df..e0724fb6df 100644
--- a/application/palemoon/base/content/abouthome/snippet2.png
+++ b/application/palemoon/components/abouthome/snippet2.png
Binary files differ
diff --git a/application/palemoon/base/content/abouthome/snippet2@2x.png b/application/palemoon/components/abouthome/snippet2@2x.png
index 40577f52f6..40577f52f6 100644
--- a/application/palemoon/base/content/abouthome/snippet2@2x.png
+++ b/application/palemoon/components/abouthome/snippet2@2x.png
Binary files differ
diff --git a/application/palemoon/base/content/abouthome/sync.png b/application/palemoon/components/abouthome/sync.png
index 11e40cc937..11e40cc937 100644
--- a/application/palemoon/base/content/abouthome/sync.png
+++ b/application/palemoon/components/abouthome/sync.png
Binary files differ
diff --git a/application/palemoon/base/content/abouthome/sync@2x.png b/application/palemoon/components/abouthome/sync@2x.png
index 6354f5bf90..6354f5bf90 100644
--- a/application/palemoon/base/content/abouthome/sync@2x.png
+++ b/application/palemoon/components/abouthome/sync@2x.png
Binary files differ
diff --git a/application/palemoon/components/build/moz.build b/application/palemoon/components/build/moz.build
index c85723e16e..ea1f77163e 100644
--- a/application/palemoon/components/build/moz.build
+++ b/application/palemoon/components/build/moz.build
@@ -4,18 +4,13 @@
# 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/.
-EXPORTS += [
- 'nsBrowserCompsCID.h',
-]
+EXPORTS += ['nsBrowserCompsCID.h']
-SOURCES += [
- 'nsModule.cpp',
-]
+SOURCES += ['nsModule.cpp']
XPCOMBinaryComponent('browsercomps')
LOCAL_INCLUDES += [
- '../about',
'../dirprovider',
'../feeds',
'../shell',
diff --git a/application/palemoon/components/build/nsBrowserCompsCID.h b/application/palemoon/components/build/nsBrowserCompsCID.h
index 23670ae807..bbaa9ab8a1 100644
--- a/application/palemoon/components/build/nsBrowserCompsCID.h
+++ b/application/palemoon/components/build/nsBrowserCompsCID.h
@@ -26,10 +26,6 @@
#define NS_PRIVATE_BROWSING_SERVICE_WRAPPER_CID \
{ 0x136e2c4d, 0xc5a4, 0x477c, { 0xb1, 0x31, 0xd9, 0x3d, 0x7d, 0x70, 0x4f, 0x64 } }
-// 7e4bb6ad-2fc4-4dc6-89ef-23e8e5ccf980
-#define NS_BROWSER_ABOUT_REDIRECTOR_CID \
-{ 0x7e4bb6ad, 0x2fc4, 0x4dc6, { 0x89, 0xef, 0x23, 0xe8, 0xe5, 0xcc, 0xf9, 0x80 } }
-
// {6DEB193C-F87D-4078-BC78-5E64655B4D62}
#define NS_BROWSERDIRECTORYPROVIDER_CID \
{ 0x6deb193c, 0xf87d, 0x4078, { 0xbc, 0x78, 0x5e, 0x64, 0x65, 0x5b, 0x4d, 0x62 } }
diff --git a/application/palemoon/components/build/nsModule.cpp b/application/palemoon/components/build/nsModule.cpp
index 304280ca97..f98fc08d7a 100644
--- a/application/palemoon/components/build/nsModule.cpp
+++ b/application/palemoon/components/build/nsModule.cpp
@@ -18,8 +18,6 @@
#include "rdf.h"
#include "nsFeedSniffer.h"
-#include "AboutRedirector.h"
-#include "nsIAboutModule.h"
#include "nsNetCID.h"
@@ -45,7 +43,6 @@ NS_DEFINE_NAMED_CID(NS_SHELLSERVICE_CID);
NS_DEFINE_NAMED_CID(NS_SHELLSERVICE_CID);
#endif
NS_DEFINE_NAMED_CID(NS_FEEDSNIFFER_CID);
-NS_DEFINE_NAMED_CID(NS_BROWSER_ABOUT_REDIRECTOR_CID);
#ifdef XP_MACOSX
NS_DEFINE_NAMED_CID(NS_SHELLSERVICE_CID);
#endif
@@ -58,7 +55,6 @@ static const mozilla::Module::CIDEntry kBrowserCIDs[] = {
{ &kNS_SHELLSERVICE_CID, false, nullptr, nsGNOMEShellServiceConstructor },
#endif
{ &kNS_FEEDSNIFFER_CID, false, nullptr, nsFeedSnifferConstructor },
- { &kNS_BROWSER_ABOUT_REDIRECTOR_CID, false, nullptr, AboutRedirector::Create },
#ifdef XP_MACOSX
{ &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor },
#endif
@@ -73,22 +69,6 @@ static const mozilla::Module::ContractIDEntry kBrowserContracts[] = {
{ NS_SHELLSERVICE_CONTRACTID, &kNS_SHELLSERVICE_CID },
#endif
{ NS_FEEDSNIFFER_CONTRACTID, &kNS_FEEDSNIFFER_CID },
- { NS_ABOUT_MODULE_CONTRACTID_PREFIX "certerror", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
- { NS_ABOUT_MODULE_CONTRACTID_PREFIX "socialerror", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
- { NS_ABOUT_MODULE_CONTRACTID_PREFIX "feeds", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
- { NS_ABOUT_MODULE_CONTRACTID_PREFIX "privatebrowsing", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
- { NS_ABOUT_MODULE_CONTRACTID_PREFIX "rights", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
- { NS_ABOUT_MODULE_CONTRACTID_PREFIX "palemoon", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
- { NS_ABOUT_MODULE_CONTRACTID_PREFIX "robots", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
- { NS_ABOUT_MODULE_CONTRACTID_PREFIX "sessionrestore", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
-#ifdef MOZ_SERVICES_SYNC
- { NS_ABOUT_MODULE_CONTRACTID_PREFIX "sync-tabs", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
- { NS_ABOUT_MODULE_CONTRACTID_PREFIX "sync-progress", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
-#endif
- { NS_ABOUT_MODULE_CONTRACTID_PREFIX "home", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
- { NS_ABOUT_MODULE_CONTRACTID_PREFIX "newtab", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
- { NS_ABOUT_MODULE_CONTRACTID_PREFIX "permissions", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
- { NS_ABOUT_MODULE_CONTRACTID_PREFIX "downloads", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
#ifdef XP_MACOSX
{ NS_SHELLSERVICE_CONTRACTID, &kNS_SHELLSERVICE_CID },
#endif
diff --git a/application/palemoon/components/certerror/jar.mn b/application/palemoon/components/certerror/jar.mn
index 64aecae929..08e0710275 100644
--- a/application/palemoon/components/certerror/jar.mn
+++ b/application/palemoon/components/certerror/jar.mn
@@ -3,5 +3,5 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
browser.jar:
- content/browser/certerror/aboutCertError.xhtml (content/aboutCertError.xhtml)
- content/browser/certerror/aboutCertError.css (content/aboutCertError.css)
+ content/browser/certerror/aboutCertError.xhtml (content/aboutCertError.xhtml)
+ content/browser/certerror/aboutCertError.css (content/aboutCertError.css)
diff --git a/application/palemoon/components/certerror/moz.build b/application/palemoon/components/certerror/moz.build
index 35f6d454ac..c97072bba2 100644
--- a/application/palemoon/components/certerror/moz.build
+++ b/application/palemoon/components/certerror/moz.build
@@ -4,5 +4,4 @@
# 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/.
-
JAR_MANIFESTS += ['jar.mn'] \ No newline at end of file
diff --git a/application/palemoon/components/dirprovider/moz.build b/application/palemoon/components/dirprovider/moz.build
index e51e634494..b01c4a3bcd 100644
--- a/application/palemoon/components/dirprovider/moz.build
+++ b/application/palemoon/components/dirprovider/moz.build
@@ -4,16 +4,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/.
-EXPORTS.mozilla.browser += [
- 'DirectoryProvider.h',
-]
+EXPORTS.mozilla.browser += ['DirectoryProvider.h']
-SOURCES += [
- 'DirectoryProvider.cpp',
-]
+SOURCES += ['DirectoryProvider.cpp']
FINAL_LIBRARY = 'browsercomps'
-LOCAL_INCLUDES += [
- '../build'
-]
+LOCAL_INCLUDES += ['../build']
diff --git a/application/palemoon/components/downloads/jar.mn b/application/palemoon/components/downloads/jar.mn
index 8f8c66dd7f..8c0b51902b 100644
--- a/application/palemoon/components/downloads/jar.mn
+++ b/application/palemoon/components/downloads/jar.mn
@@ -3,16 +3,16 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
browser.jar:
-* content/browser/downloads/download.xml (content/download.xml)
- content/browser/downloads/download.css (content/download.css)
- content/browser/downloads/downloads.css (content/downloads.css)
-* content/browser/downloads/downloads.js (content/downloads.js)
-* content/browser/downloads/downloadsOverlay.xul (content/downloadsOverlay.xul)
- content/browser/downloads/indicator.js (content/indicator.js)
- content/browser/downloads/indicatorOverlay.xul (content/indicatorOverlay.xul)
-* content/browser/downloads/allDownloadsViewOverlay.xul (content/allDownloadsViewOverlay.xul)
- content/browser/downloads/allDownloadsViewOverlay.js (content/allDownloadsViewOverlay.js)
- content/browser/downloads/allDownloadsViewOverlay.css (content/allDownloadsViewOverlay.css)
-* content/browser/downloads/contentAreaDownloadsView.xul (content/contentAreaDownloadsView.xul)
- content/browser/downloads/contentAreaDownloadsView.js (content/contentAreaDownloadsView.js)
- content/browser/downloads/contentAreaDownloadsView.css (content/contentAreaDownloadsView.css)
+* content/browser/downloads/download.xml (content/download.xml)
+ content/browser/downloads/download.css (content/download.css)
+ content/browser/downloads/downloads.css (content/downloads.css)
+* content/browser/downloads/downloads.js (content/downloads.js)
+* content/browser/downloads/downloadsOverlay.xul (content/downloadsOverlay.xul)
+ content/browser/downloads/indicator.js (content/indicator.js)
+ content/browser/downloads/indicatorOverlay.xul (content/indicatorOverlay.xul)
+* content/browser/downloads/allDownloadsViewOverlay.xul (content/allDownloadsViewOverlay.xul)
+ content/browser/downloads/allDownloadsViewOverlay.js (content/allDownloadsViewOverlay.js)
+ content/browser/downloads/allDownloadsViewOverlay.css (content/allDownloadsViewOverlay.css)
+* content/browser/downloads/contentAreaDownloadsView.xul (content/contentAreaDownloadsView.xul)
+ content/browser/downloads/contentAreaDownloadsView.js (content/contentAreaDownloadsView.js)
+ content/browser/downloads/contentAreaDownloadsView.css (content/contentAreaDownloadsView.css)
diff --git a/application/palemoon/components/feeds/FeedWriter.js b/application/palemoon/components/feeds/FeedWriter.js
index 2ae31dffa2..d704835bb7 100644
--- a/application/palemoon/components/feeds/FeedWriter.js
+++ b/application/palemoon/components/feeds/FeedWriter.js
@@ -692,21 +692,6 @@ FeedWriter.prototype = {
},
/**
- * Get moz-icon url for a file
- * @param file
- * A nsIFile object for which the moz-icon:// is returned
- * @returns moz-icon url of the given file as a string
- */
- _getFileIconURL: function FW__getFileIconURL(file) {
- var ios = Cc["@mozilla.org/network/io-service;1"].
- getService(Ci.nsIIOService);
- var fph = ios.getProtocolHandler("file")
- .QueryInterface(Ci.nsIFileProtocolHandler);
- var urlSpec = fph.getURLSpecFromFile(file);
- return "moz-icon://" + urlSpec + "?size=16";
- },
-
- /**
* Helper method to set the selected application and system default
* reader menuitems details from a file object
* @param aMenuItem
@@ -717,7 +702,10 @@ FeedWriter.prototype = {
_initMenuItemWithFile: function(aMenuItem, aFile) {
this._contentSandbox.menuitem = aMenuItem;
this._contentSandbox.label = this._getFileDisplayName(aFile);
- this._contentSandbox.image = this._getFileIconURL(aFile);
+ // For security reasons, access to moz-icon:file://... URIs is
+ // no longer allowed (indirect file system access from content).
+ // We use a dummy application instead to get a generic icon.
+ this._contentSandbox.image = "moz-icon://dummy.exe?size=16";
var codeStr = "menuitem.setAttribute('label', label); " +
"menuitem.setAttribute('image', image);"
Cu.evalInSandbox(codeStr, this._contentSandbox);
diff --git a/application/palemoon/components/feeds/WebContentConverter.js b/application/palemoon/components/feeds/WebContentConverter.js
index 674c8f3638..41679b0281 100644
--- a/application/palemoon/components/feeds/WebContentConverter.js
+++ b/application/palemoon/components/feeds/WebContentConverter.js
@@ -63,7 +63,7 @@ const PREF_SELECTED_WEB = "browser.feeds.handlers.webservice";
const PREF_SELECTED_ACTION = "browser.feeds.handler";
const PREF_SELECTED_READER = "browser.feeds.handler.default";
const PREF_HANDLER_EXTERNAL_PREFIX = "network.protocol-handler.external";
-const PREF_ALLOW_DIFFERENT_HOST = "goanna.handlerService.allowRegisterFromDifferentHost";
+const PREF_ALLOW_DIFFERENT_HOST = "gecko.handlerService.allowRegisterFromDifferentHost";
const STRING_BUNDLE_URI = "chrome://browser/locale/feeds/subscribe.properties";
diff --git a/application/palemoon/components/feeds/jar.mn b/application/palemoon/components/feeds/jar.mn
index 2fae7efae8..f8896f8772 100644
--- a/application/palemoon/components/feeds/jar.mn
+++ b/application/palemoon/components/feeds/jar.mn
@@ -3,7 +3,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
browser.jar:
- content/browser/feeds/subscribe.xhtml (content/subscribe.xhtml)
- content/browser/feeds/subscribe.js (content/subscribe.js)
- content/browser/feeds/subscribe.xml (content/subscribe.xml)
- content/browser/feeds/subscribe.css (content/subscribe.css)
+ content/browser/feeds/subscribe.xhtml (content/subscribe.xhtml)
+ content/browser/feeds/subscribe.js (content/subscribe.js)
+ content/browser/feeds/subscribe.xml (content/subscribe.xml)
+ content/browser/feeds/subscribe.css (content/subscribe.css)
diff --git a/application/palemoon/components/feeds/moz.build b/application/palemoon/components/feeds/moz.build
index 7ae9141aa4..736920a735 100644
--- a/application/palemoon/components/feeds/moz.build
+++ b/application/palemoon/components/feeds/moz.build
@@ -13,9 +13,7 @@ XPIDL_SOURCES += [
XPIDL_MODULE = 'browser-feeds'
-SOURCES += [
- 'nsFeedSniffer.cpp',
-]
+SOURCES += ['nsFeedSniffer.cpp']
EXTRA_COMPONENTS += [
'BrowserFeeds.manifest',
@@ -32,6 +30,4 @@ FINAL_LIBRARY = 'browsercomps'
for var in ('MOZ_APP_NAME', 'MOZ_MACBUNDLE_NAME'):
DEFINES[var] = CONFIG[var]
-LOCAL_INCLUDES += [
- '../build',
-]
+LOCAL_INCLUDES += ['../build']
diff --git a/application/palemoon/components/fuel/moz.build b/application/palemoon/components/fuel/moz.build
index e78eda0882..5c468f27d3 100644
--- a/application/palemoon/components/fuel/moz.build
+++ b/application/palemoon/components/fuel/moz.build
@@ -4,17 +4,11 @@
# 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/.
-XPIDL_SOURCES += [
- 'fuelIApplication.idl',
-]
+XPIDL_SOURCES += ['fuelIApplication.idl']
XPIDL_MODULE = 'fuel'
-EXTRA_COMPONENTS += [
- 'fuelApplication.manifest',
-]
+EXTRA_COMPONENTS += ['fuelApplication.manifest']
-EXTRA_PP_COMPONENTS += [
- 'fuelApplication.js',
-]
+EXTRA_PP_COMPONENTS += ['fuelApplication.js']
diff --git a/application/palemoon/components/moz.build b/application/palemoon/components/moz.build
index 397bf5142d..eb2771c487 100644
--- a/application/palemoon/components/moz.build
+++ b/application/palemoon/components/moz.build
@@ -5,12 +5,14 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
DIRS += [
- 'about',
+ 'abouthome',
'certerror',
'dirprovider',
'downloads',
'feeds',
'fuel',
+ 'newtab',
+ 'pageinfo',
'places',
'permissions',
'preferences',
@@ -23,6 +25,9 @@ DIRS += [
if CONFIG['MOZ_BROWSER_STATUSBAR']:
DIRS += ['statusbar']
+if CONFIG['MOZ_SERVICES_SYNC']:
+ DIRS += ['sync']
+
DIRS += ['build']
XPIDL_SOURCES += [
@@ -32,9 +37,9 @@ XPIDL_SOURCES += [
XPIDL_MODULE = 'browsercompsbase'
-EXTRA_COMPONENTS += [ 'BrowserComponents.manifest' ]
-
EXTRA_PP_COMPONENTS += [
+ 'BrowserComponents.manifest',
+ 'nsAboutRedirector.js',
'nsBrowserContentHandler.js',
'nsBrowserGlue.js',
]
diff --git a/application/palemoon/base/content/newtab/cells.js b/application/palemoon/components/newtab/cells.js
index 47d4ef52d7..47d4ef52d7 100644
--- a/application/palemoon/base/content/newtab/cells.js
+++ b/application/palemoon/components/newtab/cells.js
diff --git a/application/palemoon/base/content/newtab/drag.js b/application/palemoon/components/newtab/drag.js
index e3928ebd0b..e3928ebd0b 100644
--- a/application/palemoon/base/content/newtab/drag.js
+++ b/application/palemoon/components/newtab/drag.js
diff --git a/application/palemoon/base/content/newtab/dragDataHelper.js b/application/palemoon/components/newtab/dragDataHelper.js
index 675ff26711..675ff26711 100644
--- a/application/palemoon/base/content/newtab/dragDataHelper.js
+++ b/application/palemoon/components/newtab/dragDataHelper.js
diff --git a/application/palemoon/base/content/newtab/drop.js b/application/palemoon/components/newtab/drop.js
index 748652455c..748652455c 100644
--- a/application/palemoon/base/content/newtab/drop.js
+++ b/application/palemoon/components/newtab/drop.js
diff --git a/application/palemoon/base/content/newtab/dropPreview.js b/application/palemoon/components/newtab/dropPreview.js
index fd7587a35e..fd7587a35e 100644
--- a/application/palemoon/base/content/newtab/dropPreview.js
+++ b/application/palemoon/components/newtab/dropPreview.js
diff --git a/application/palemoon/base/content/newtab/dropTargetShim.js b/application/palemoon/components/newtab/dropTargetShim.js
index 57a97fa00a..57a97fa00a 100644
--- a/application/palemoon/base/content/newtab/dropTargetShim.js
+++ b/application/palemoon/components/newtab/dropTargetShim.js
diff --git a/application/palemoon/base/content/newtab/grid.js b/application/palemoon/components/newtab/grid.js
index db3d319c32..db3d319c32 100644
--- a/application/palemoon/base/content/newtab/grid.js
+++ b/application/palemoon/components/newtab/grid.js
diff --git a/application/palemoon/components/newtab/jar.mn b/application/palemoon/components/newtab/jar.mn
new file mode 100644
index 0000000000..2d62914220
--- /dev/null
+++ b/application/palemoon/components/newtab/jar.mn
@@ -0,0 +1,8 @@
+# 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/.
+
+browser.jar:
+ content/browser/newtab/newTab.xhtml
+* content/browser/newtab/newTab.js
+ content/browser/newtab/newTab.css \ No newline at end of file
diff --git a/application/palemoon/components/newtab/moz.build b/application/palemoon/components/newtab/moz.build
new file mode 100644
index 0000000000..2d64d506c1
--- /dev/null
+++ b/application/palemoon/components/newtab/moz.build
@@ -0,0 +1,8 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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/.
+
+JAR_MANIFESTS += ['jar.mn']
+
diff --git a/application/palemoon/base/content/newtab/newTab.css b/application/palemoon/components/newtab/newTab.css
index 3c7cfa1027..3c7cfa1027 100644
--- a/application/palemoon/base/content/newtab/newTab.css
+++ b/application/palemoon/components/newtab/newTab.css
diff --git a/application/palemoon/base/content/newtab/newTab.js b/application/palemoon/components/newtab/newTab.js
index 0022f21bb4..0022f21bb4 100644
--- a/application/palemoon/base/content/newtab/newTab.js
+++ b/application/palemoon/components/newtab/newTab.js
diff --git a/application/palemoon/base/content/newtab/newTab.xhtml b/application/palemoon/components/newtab/newTab.xhtml
index de000e723d..de000e723d 100644
--- a/application/palemoon/base/content/newtab/newTab.xhtml
+++ b/application/palemoon/components/newtab/newTab.xhtml
diff --git a/application/palemoon/base/content/newtab/page.js b/application/palemoon/components/newtab/page.js
index 7117d45273..7117d45273 100644
--- a/application/palemoon/base/content/newtab/page.js
+++ b/application/palemoon/components/newtab/page.js
diff --git a/application/palemoon/base/content/newtab/search.js b/application/palemoon/components/newtab/search.js
index 8bc959eee7..8bc959eee7 100644
--- a/application/palemoon/base/content/newtab/search.js
+++ b/application/palemoon/components/newtab/search.js
diff --git a/application/palemoon/base/content/newtab/sites.js b/application/palemoon/components/newtab/sites.js
index a368146bb0..a368146bb0 100644
--- a/application/palemoon/base/content/newtab/sites.js
+++ b/application/palemoon/components/newtab/sites.js
diff --git a/application/palemoon/base/content/newtab/transformations.js b/application/palemoon/components/newtab/transformations.js
index f7db0ad84f..f7db0ad84f 100644
--- a/application/palemoon/base/content/newtab/transformations.js
+++ b/application/palemoon/components/newtab/transformations.js
diff --git a/application/palemoon/base/content/newtab/undo.js b/application/palemoon/components/newtab/undo.js
index b856914d2c..b856914d2c 100644
--- a/application/palemoon/base/content/newtab/undo.js
+++ b/application/palemoon/components/newtab/undo.js
diff --git a/application/palemoon/base/content/newtab/updater.js b/application/palemoon/components/newtab/updater.js
index 2bab74d708..2bab74d708 100644
--- a/application/palemoon/base/content/newtab/updater.js
+++ b/application/palemoon/components/newtab/updater.js
diff --git a/application/palemoon/components/nsAboutRedirector.js b/application/palemoon/components/nsAboutRedirector.js
new file mode 100644
index 0000000000..9c7d7953fe
--- /dev/null
+++ b/application/palemoon/components/nsAboutRedirector.js
@@ -0,0 +1,118 @@
+/* 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/. */
+
+var Ci = Components.interfaces;
+var Cr = Components.results;
+var Cu = Components.utils;
+
+Cu.import("resource://gre/modules/XPCOMUtils.jsm");
+Cu.import("resource://gre/modules/Services.jsm");
+
+// See: netwerk/protocol/about/nsIAboutModule.idl
+const URI_SAFE_FOR_UNTRUSTED_CONTENT = Ci.nsIAboutModule.URI_SAFE_FOR_UNTRUSTED_CONTENT;
+const ALLOW_SCRIPT = Ci.nsIAboutModule.ALLOW_SCRIPT;
+const HIDE_FROM_ABOUTABOUT = Ci.nsIAboutModule.HIDE_FROM_ABOUTABOUT;
+const MAKE_LINKABLE = Ci.nsIAboutModule.MAKE_LINKABLE;
+
+function AboutRedirector() {}
+AboutRedirector.prototype = {
+ classDescription: "Browser about: Redirector",
+ classID: Components.ID("{8cc51368-6aa0-43e8-b762-bde9b9fd828c}"),
+ QueryInterface: XPCOMUtils.generateQI([Ci.nsIAboutModule]),
+
+ // Each entry in the map has the key as the part after the "about:" and the
+ // value as a record with url and flags entries. Note that each addition here
+ // should be coupled with a corresponding addition in BrowserComponents.manifest.
+ _redirMap: {
+ "certerror": {
+ url: "chrome://browser/content/certerror/aboutCertError.xhtml",
+ flags: (URI_SAFE_FOR_UNTRUSTED_CONTENT | ALLOW_SCRIPT | HIDE_FROM_ABOUTABOUT)
+ },
+ "downloads": {
+ url: "chrome://browser/content/downloads/contentAreaDownloadsView.xul",
+ flags: ALLOW_SCRIPT
+ },
+ "feeds": {
+ url: "chrome://browser/content/feeds/subscribe.xhtml",
+ flags: (URI_SAFE_FOR_UNTRUSTED_CONTENT | ALLOW_SCRIPT | HIDE_FROM_ABOUTABOUT)
+ },
+ "home": {
+ url: "chrome://browser/content/abouthome/aboutHome.xhtml",
+ flags: (URI_SAFE_FOR_UNTRUSTED_CONTENT | MAKE_LINKABLE | ALLOW_SCRIPT)
+ },
+ "newtab": {
+ url: "chrome://browser/content/newtab/newTab.xhtml",
+ flags: ALLOW_SCRIPT
+ },
+ "palemoon": {
+ url: "chrome://browser/content/palemoon.xhtml",
+ flags: (URI_SAFE_FOR_UNTRUSTED_CONTENT | HIDE_FROM_ABOUTABOUT)
+ },
+ "permissions": {
+ url: "chrome://browser/content/permissions/aboutPermissions.xul",
+ flags: ALLOW_SCRIPT
+ },
+ "privatebrowsing": {
+ url: "chrome://browser/content/aboutPrivateBrowsing.xhtml",
+ flags: ALLOW_SCRIPT
+ },
+ "rights": {
+ url: "chrome://global/content/aboutRights.xhtml",
+ flags: (URI_SAFE_FOR_UNTRUSTED_CONTENT | MAKE_LINKABLE | ALLOW_SCRIPT)
+ },
+ "robots": {
+ url: "chrome://browser/content/aboutRobots.xhtml",
+ flags: (URI_SAFE_FOR_UNTRUSTED_CONTENT | ALLOW_SCRIPT | HIDE_FROM_ABOUTABOUT)
+ },
+ "sessionrestore": {
+ url: "chrome://browser/content/aboutSessionRestore.xhtml",
+ flags: ALLOW_SCRIPT
+ },
+#ifdef MOZ_SERVICES_SYNC
+ "sync-progress": {
+ url: "chrome://browser/content/sync/progress.xhtml",
+ flags: ALLOW_SCRIPT
+ },
+ "sync-tabs": {
+ url: "chrome://browser/content/sync/aboutSyncTabs.xul",
+ flags: ALLOW_SCRIPT
+ },
+#endif
+ },
+
+ /**
+ * Gets the module name from the given URI.
+ */
+ _getModuleName: function AboutRedirector__getModuleName(aURI) {
+ // Strip out the first ? or #, and anything following it
+ let name = (/[^?#]+/.exec(aURI.path))[0];
+ return name.toLowerCase();
+ },
+
+ getURIFlags: function(aURI) {
+ let name = this._getModuleName(aURI);
+ if (!(name in this._redirMap))
+ throw Cr.NS_ERROR_ILLEGAL_VALUE;
+ return this._redirMap[name].flags;
+ },
+
+ newChannel: function(aURI, aLoadInfo) {
+ let name = this._getModuleName(aURI);
+ if (!(name in this._redirMap))
+ throw Cr.NS_ERROR_ILLEGAL_VALUE;
+
+ let newURI = Services.io.newURI(this._redirMap[name].url, null, null);
+ let channel = Services.io.newChannelFromURIWithLoadInfo(newURI, aLoadInfo);
+ channel.originalURI = aURI;
+
+ if (this._redirMap[name].flags & Ci.nsIAboutModule.URI_SAFE_FOR_UNTRUSTED_CONTENT) {
+ let principal = Services.scriptSecurityManager.getNoAppCodebasePrincipal(aURI);
+ channel.owner = principal;
+ }
+
+ return channel;
+ }
+};
+
+var NSGetFactory = XPCOMUtils.generateNSGetFactory([AboutRedirector]);
diff --git a/application/palemoon/base/content/pageinfo/feeds.js b/application/palemoon/components/pageinfo/feeds.js
index 468d8c19db..468d8c19db 100644
--- a/application/palemoon/base/content/pageinfo/feeds.js
+++ b/application/palemoon/components/pageinfo/feeds.js
diff --git a/application/palemoon/base/content/pageinfo/feeds.xml b/application/palemoon/components/pageinfo/feeds.xml
index 782c05a73d..782c05a73d 100644
--- a/application/palemoon/base/content/pageinfo/feeds.xml
+++ b/application/palemoon/components/pageinfo/feeds.xml
diff --git a/application/palemoon/components/pageinfo/jar.mn b/application/palemoon/components/pageinfo/jar.mn
new file mode 100644
index 0000000000..229f991682
--- /dev/null
+++ b/application/palemoon/components/pageinfo/jar.mn
@@ -0,0 +1,13 @@
+# 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/.
+
+browser.jar:
+* content/browser/pageinfo/pageInfo.xul
+ content/browser/pageinfo/pageInfo.js
+ content/browser/pageinfo/pageInfo.css
+ content/browser/pageinfo/pageInfo.xml
+ content/browser/pageinfo/feeds.js
+ content/browser/pageinfo/feeds.xml
+ content/browser/pageinfo/permissions.js
+ content/browser/pageinfo/security.js \ No newline at end of file
diff --git a/application/palemoon/components/pageinfo/moz.build b/application/palemoon/components/pageinfo/moz.build
new file mode 100644
index 0000000000..2d64d506c1
--- /dev/null
+++ b/application/palemoon/components/pageinfo/moz.build
@@ -0,0 +1,8 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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/.
+
+JAR_MANIFESTS += ['jar.mn']
+
diff --git a/application/palemoon/base/content/pageinfo/pageInfo.css b/application/palemoon/components/pageinfo/pageInfo.css
index 622b56bb57..622b56bb57 100644
--- a/application/palemoon/base/content/pageinfo/pageInfo.css
+++ b/application/palemoon/components/pageinfo/pageInfo.css
diff --git a/application/palemoon/base/content/pageinfo/pageInfo.js b/application/palemoon/components/pageinfo/pageInfo.js
index 600174ad96..600174ad96 100644
--- a/application/palemoon/base/content/pageinfo/pageInfo.js
+++ b/application/palemoon/components/pageinfo/pageInfo.js
diff --git a/application/palemoon/base/content/pageinfo/pageInfo.xml b/application/palemoon/components/pageinfo/pageInfo.xml
index 20d3300467..20d3300467 100644
--- a/application/palemoon/base/content/pageinfo/pageInfo.xml
+++ b/application/palemoon/components/pageinfo/pageInfo.xml
diff --git a/application/palemoon/base/content/pageinfo/pageInfo.xul b/application/palemoon/components/pageinfo/pageInfo.xul
index e3a61d31ee..c7c486ab92 100644
--- a/application/palemoon/base/content/pageinfo/pageInfo.xul
+++ b/application/palemoon/components/pageinfo/pageInfo.xul
@@ -501,7 +501,7 @@
</deck>
#ifdef XP_MACOSX
-#include ../browserMountPoints.inc
+#include ../../base/content/browserMountPoints.inc
#endif
</window>
diff --git a/application/palemoon/base/content/pageinfo/permissions.js b/application/palemoon/components/pageinfo/permissions.js
index 4f8382f661..4f8382f661 100644
--- a/application/palemoon/base/content/pageinfo/permissions.js
+++ b/application/palemoon/components/pageinfo/permissions.js
diff --git a/application/palemoon/base/content/pageinfo/security.js b/application/palemoon/components/pageinfo/security.js
index e791ab92a8..e791ab92a8 100644
--- a/application/palemoon/base/content/pageinfo/security.js
+++ b/application/palemoon/components/pageinfo/security.js
diff --git a/application/palemoon/components/permissions/jar.mn b/application/palemoon/components/permissions/jar.mn
index 53fb2b41e6..c788938379 100644
--- a/application/palemoon/components/permissions/jar.mn
+++ b/application/palemoon/components/permissions/jar.mn
@@ -3,7 +3,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
browser.jar:
- content/browser/permissions/aboutPermissions.xul
- content/browser/permissions/aboutPermissions.js
- content/browser/permissions/aboutPermissions.css
- content/browser/permissions/aboutPermissions.xml
+ content/browser/permissions/aboutPermissions.xul
+ content/browser/permissions/aboutPermissions.js
+ content/browser/permissions/aboutPermissions.css
+ content/browser/permissions/aboutPermissions.xml
diff --git a/application/palemoon/components/permissions/moz.build b/application/palemoon/components/permissions/moz.build
index a4c26de893..3bbe672975 100644
--- a/application/palemoon/components/permissions/moz.build
+++ b/application/palemoon/components/permissions/moz.build
@@ -4,5 +4,4 @@
# 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/.
-
JAR_MANIFESTS += ['jar.mn']
diff --git a/application/palemoon/components/places/PlacesUIUtils.jsm b/application/palemoon/components/places/PlacesUIUtils.jsm
index f625356136..05d79241ce 100644
--- a/application/palemoon/components/places/PlacesUIUtils.jsm
+++ b/application/palemoon/components/places/PlacesUIUtils.jsm
@@ -146,14 +146,21 @@ this.PlacesUIUtils = {
* annotations are synced from the old one.
* @see this._copyableAnnotations for the list of copyable annotations.
*/
- _getFolderCopyTransaction:
- function PUIU__getFolderCopyTransaction(aData, aContainer, aIndex)
- {
- function getChildItemsTransactions(aChildren)
- {
+ _getFolderCopyTransaction(aData, aContainer, aIndex) {
+ function getChildItemsTransactions(aRoot) {
let transactions = [];
let index = aIndex;
- aChildren.forEach(function (node, i) {
+ for (let i = 0; i < aRoot.childCount; ++i) {
+ let child = aRoot.getChild(i);
+ // Temporary hacks until we switch to PlacesTransactions.jsm.
+ let isLivemark =
+ PlacesUtils.annotations.itemHasAnnotation(child.itemId,
+ PlacesUtils.LMANNO_FEEDURI);
+ let [node] = PlacesUtils.unwrapNodes(
+ PlacesUtils.wrapNode(child, PlacesUtils.TYPE_X_MOZ_PLACE, isLivemark),
+ PlacesUtils.TYPE_X_MOZ_PLACE
+ );
+
// Make sure that items are given the correct index, this will be
// passed by the transaction manager to the backend for the insertion.
// Insertion behaves differently for DEFAULT_INDEX (append).
@@ -184,19 +191,21 @@ this.PlacesUIUtils = {
else {
throw new Error("Unexpected item under a bookmarks folder");
}
- });
+ }
return transactions;
}
- if (aContainer == PlacesUtils.tagsFolderId) { // Copying a tag folder.
+ if (aContainer == PlacesUtils.tagsFolderId) { // Copying into a tag folder.
let transactions = [];
- if (aData.children) {
- aData.children.forEach(function(aChild) {
+ if (!aData.livemark && aData.type == PlacesUtils.TYPE_X_MOZ_PLACE_CONTAINER) {
+ let {root} = PlacesUtils.getFolderContents(aData.id, false, false);
+ let urls = PlacesUtils.getURLsForContainerNode(root);
+ root.containerOpen = false;
+ for (let { uri } of urls) {
transactions.push(
- new PlacesTagURITransaction(PlacesUtils._uri(aChild.uri),
- [aData.title])
+ new PlacesTagURITransaction(NetUtil.newURI(uri), [aData.title])
);
- });
+ }
}
return new PlacesAggregatedTransaction("addTags", transactions);
}
@@ -205,7 +214,10 @@ this.PlacesUIUtils = {
return this._getLivemarkCopyTransaction(aData, aContainer, aIndex);
}
- let transactions = getChildItemsTransactions(aData.children);
+ let {root} = PlacesUtils.getFolderContents(aData.id, false, false);
+ let transactions = getChildItemsTransactions(root);
+ root.containerOpen = false;
+
if (aData.dateAdded) {
transactions.push(
new PlacesEditItemDateAddedTransaction(null, aData.dateAdded)
diff --git a/application/palemoon/components/places/content/bookmarkProperties.js b/application/palemoon/components/places/content/bookmarkProperties.js
index 685ef57d22..e1d1077ab6 100644
--- a/application/palemoon/components/places/content/bookmarkProperties.js
+++ b/application/palemoon/components/places/content/bookmarkProperties.js
@@ -382,6 +382,11 @@ var BookmarkPropertiesPanel = {
.addEventListener("input", this, false);
}
}
+
+ // Ensure the Name Picker textbox is focused on load
+ var namePickerElem = document.getElementById('editBMPanel_namePicker');
+ namePickerElem.focus();
+ namePickerElem.select();
}),
// nsIDOMEventListener
diff --git a/application/palemoon/components/places/content/controller.js b/application/palemoon/components/places/content/controller.js
index 7f27e83478..7f5f7f6521 100644
--- a/application/palemoon/components/places/content/controller.js
+++ b/application/palemoon/components/places/content/controller.js
@@ -1287,15 +1287,15 @@ PlacesController.prototype = {
if (!didSuppressNotifications)
result.suppressNotifications = true;
- function addData(type, index, overrideURI) {
- let wrapNode = PlacesUtils.wrapNode(node, type, overrideURI, doCopy);
+ function addData(type, index, feedURI) {
+ let wrapNode = PlacesUtils.wrapNode(node, type, feedURI);
dt.mozSetDataAt(type, wrapNode, index);
}
- function addURIData(index, overrideURI) {
- addData(PlacesUtils.TYPE_X_MOZ_URL, index, overrideURI);
- addData(PlacesUtils.TYPE_UNICODE, index, overrideURI);
- addData(PlacesUtils.TYPE_HTML, index, overrideURI);
+ function addURIData(index, feedURI) {
+ addData(PlacesUtils.TYPE_X_MOZ_URL, index, feedURI);
+ addData(PlacesUtils.TYPE_UNICODE, index, feedURI);
+ addData(PlacesUtils.TYPE_HTML, index, feedURI);
}
try {
@@ -1387,12 +1387,11 @@ PlacesController.prototype = {
copiedFolders.push(node);
let livemarkInfo = this.getCachedLivemarkInfo(node);
- let overrideURI = livemarkInfo ? livemarkInfo.feedURI.spec : null;
- let resolveShortcuts = !PlacesControllerDragHelper.canMoveNode(node);
+ let feedURI = livemarkInfo && livemarkInfo.feedURI.spec;
contents.forEach(function (content) {
content.entries.push(
- PlacesUtils.wrapNode(node, content.type, overrideURI, resolveShortcuts)
+ PlacesUtils.wrapNode(node, content.type, feedURI)
);
});
}, this);
diff --git a/application/palemoon/components/places/content/editBookmarkOverlay.js b/application/palemoon/components/places/content/editBookmarkOverlay.js
index e3d4537c7b..69d7d32eb5 100644
--- a/application/palemoon/components/places/content/editBookmarkOverlay.js
+++ b/application/palemoon/components/places/content/editBookmarkOverlay.js
@@ -222,11 +222,6 @@ var gEditItemOverlay = {
}
let focusElement = () => {
- let elt = document.querySelector("textbox:not([collapsed=true])");
- if (elt) {
- elt.focus();
- elt.select();
- }
this._initialized = true;
};
diff --git a/application/palemoon/components/places/jar.mn b/application/palemoon/components/places/jar.mn
index 44ae61fd3b..41222e156c 100644
--- a/application/palemoon/components/places/jar.mn
+++ b/application/palemoon/components/places/jar.mn
@@ -6,29 +6,29 @@ browser.jar:
% overlay chrome://browser/content/places/places.xul chrome://browser/content/places/downloadsViewOverlay.xul
# Provide another URI for the bookmarkProperties dialog so we can persist the
# attributes separately
- content/browser/places/bookmarkProperties2.xul (content/bookmarkProperties.xul)
-* content/browser/places/places.xul (content/places.xul)
-* content/browser/places/places.js (content/places.js)
- content/browser/places/places.css (content/places.css)
- content/browser/places/organizer.css (content/organizer.css)
- content/browser/places/bookmarkProperties.xul (content/bookmarkProperties.xul)
- content/browser/places/bookmarkProperties.js (content/bookmarkProperties.js)
- content/browser/places/placesOverlay.xul (content/placesOverlay.xul)
-* content/browser/places/menu.xml (content/menu.xml)
- content/browser/places/tree.xml (content/tree.xml)
- content/browser/places/controller.js (content/controller.js)
- content/browser/places/treeView.js (content/treeView.js)
-* content/browser/places/browserPlacesViews.js (content/browserPlacesViews.js)
+ content/browser/places/bookmarkProperties2.xul (content/bookmarkProperties.xul)
+* content/browser/places/places.xul (content/places.xul)
+* content/browser/places/places.js (content/places.js)
+ content/browser/places/places.css (content/places.css)
+ content/browser/places/organizer.css (content/organizer.css)
+ content/browser/places/bookmarkProperties.xul (content/bookmarkProperties.xul)
+ content/browser/places/bookmarkProperties.js (content/bookmarkProperties.js)
+ content/browser/places/placesOverlay.xul (content/placesOverlay.xul)
+* content/browser/places/menu.xml (content/menu.xml)
+ content/browser/places/tree.xml (content/tree.xml)
+ content/browser/places/controller.js (content/controller.js)
+ content/browser/places/treeView.js (content/treeView.js)
+* content/browser/places/browserPlacesViews.js (content/browserPlacesViews.js)
# keep the Places version of the history sidebar at history/history-panel.xul
# to prevent having to worry about between versions of the browser
-* content/browser/history/history-panel.xul (content/history-panel.xul)
- content/browser/places/history-panel.js (content/history-panel.js)
+* content/browser/history/history-panel.xul (content/history-panel.xul)
+ content/browser/places/history-panel.js (content/history-panel.js)
# ditto for the bookmarks sidebar
- content/browser/bookmarks/bookmarksPanel.xul (content/bookmarksPanel.xul)
- content/browser/bookmarks/bookmarksPanel.js (content/bookmarksPanel.js)
-* content/browser/bookmarks/sidebarUtils.js (content/sidebarUtils.js)
- content/browser/places/moveBookmarks.xul (content/moveBookmarks.xul)
- content/browser/places/moveBookmarks.js (content/moveBookmarks.js)
- content/browser/places/editBookmarkOverlay.xul (content/editBookmarkOverlay.xul)
- content/browser/places/editBookmarkOverlay.js (content/editBookmarkOverlay.js)
-* content/browser/places/downloadsViewOverlay.xul (content/downloadsViewOverlay.xul)
+ content/browser/bookmarks/bookmarksPanel.xul (content/bookmarksPanel.xul)
+ content/browser/bookmarks/bookmarksPanel.js (content/bookmarksPanel.js)
+* content/browser/bookmarks/sidebarUtils.js (content/sidebarUtils.js)
+ content/browser/places/moveBookmarks.xul (content/moveBookmarks.xul)
+ content/browser/places/moveBookmarks.js (content/moveBookmarks.js)
+ content/browser/places/editBookmarkOverlay.xul (content/editBookmarkOverlay.xul)
+ content/browser/places/editBookmarkOverlay.js (content/editBookmarkOverlay.js)
+* content/browser/places/downloadsViewOverlay.xul (content/downloadsViewOverlay.xul)
diff --git a/application/palemoon/components/places/moz.build b/application/palemoon/components/places/moz.build
index 2e35e19514..f8b0d125d9 100644
--- a/application/palemoon/components/places/moz.build
+++ b/application/palemoon/components/places/moz.build
@@ -7,4 +7,3 @@
JAR_MANIFESTS += ['jar.mn']
EXTRA_JS_MODULES += [ 'PlacesUIUtils.jsm' ]
-
diff --git a/application/palemoon/components/preferences/jar.mn b/application/palemoon/components/preferences/jar.mn
index 47909ddc9d..6e143dea39 100644
--- a/application/palemoon/components/preferences/jar.mn
+++ b/application/palemoon/components/preferences/jar.mn
@@ -3,42 +3,42 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
browser.jar:
-* content/browser/preferences/advanced.xul
-* content/browser/preferences/advanced.js
- content/browser/preferences/applications.xul
-* content/browser/preferences/applications.js
- content/browser/preferences/applicationManager.xul
-* content/browser/preferences/applicationManager.js
-* content/browser/preferences/colors.xul
-* content/browser/preferences/cookies.xul
-* content/browser/preferences/cookies.js
- content/browser/preferences/content.xul
- content/browser/preferences/content.js
-* content/browser/preferences/connection.xul
- content/browser/preferences/connection.js
-* content/browser/preferences/fonts.xul
- content/browser/preferences/fonts.js
- content/browser/preferences/handlers.xml
- content/browser/preferences/handlers.css
-* content/browser/preferences/languages.xul
- content/browser/preferences/languages.js
-* content/browser/preferences/main.xul
- content/browser/preferences/main.js
- content/browser/preferences/newtaburl.js
- content/browser/preferences/permissions.xul
-* content/browser/preferences/permissions.js
-* content/browser/preferences/preferences.xul
- content/browser/preferences/privacy.xul
- content/browser/preferences/privacy.js
- content/browser/preferences/sanitize.xul
- content/browser/preferences/sanitize.js
- content/browser/preferences/security.xul
- content/browser/preferences/security.js
- content/browser/preferences/selectBookmark.xul
- content/browser/preferences/selectBookmark.js
+* content/browser/preferences/advanced.xul
+* content/browser/preferences/advanced.js
+ content/browser/preferences/applications.xul
+* content/browser/preferences/applications.js
+ content/browser/preferences/applicationManager.xul
+* content/browser/preferences/applicationManager.js
+* content/browser/preferences/colors.xul
+* content/browser/preferences/cookies.xul
+* content/browser/preferences/cookies.js
+ content/browser/preferences/content.xul
+ content/browser/preferences/content.js
+* content/browser/preferences/connection.xul
+ content/browser/preferences/connection.js
+* content/browser/preferences/fonts.xul
+ content/browser/preferences/fonts.js
+ content/browser/preferences/handlers.xml
+ content/browser/preferences/handlers.css
+* content/browser/preferences/languages.xul
+ content/browser/preferences/languages.js
+* content/browser/preferences/main.xul
+ content/browser/preferences/main.js
+ content/browser/preferences/newtaburl.js
+ content/browser/preferences/permissions.xul
+* content/browser/preferences/permissions.js
+* content/browser/preferences/preferences.xul
+ content/browser/preferences/privacy.xul
+ content/browser/preferences/privacy.js
+ content/browser/preferences/sanitize.xul
+ content/browser/preferences/sanitize.js
+ content/browser/preferences/security.xul
+ content/browser/preferences/security.js
+ content/browser/preferences/selectBookmark.xul
+ content/browser/preferences/selectBookmark.js
#ifdef MOZ_SERVICES_SYNC
- content/browser/preferences/sync.xul
- content/browser/preferences/sync.js
+ content/browser/preferences/sync.xul
+ content/browser/preferences/sync.js
#endif
-* content/browser/preferences/tabs.xul
-* content/browser/preferences/tabs.js
+* content/browser/preferences/tabs.xul
+* content/browser/preferences/tabs.js
diff --git a/application/palemoon/components/privatebrowsing/jar.mn b/application/palemoon/components/privatebrowsing/jar.mn
index a01b7f0d3e..75e985c139 100644
--- a/application/palemoon/components/privatebrowsing/jar.mn
+++ b/application/palemoon/components/privatebrowsing/jar.mn
@@ -3,4 +3,4 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
browser.jar:
-* content/browser/aboutPrivateBrowsing.xhtml (content/aboutPrivateBrowsing.xhtml)
+* content/browser/aboutPrivateBrowsing.xhtml (content/aboutPrivateBrowsing.xhtml)
diff --git a/application/palemoon/components/search/jar.mn b/application/palemoon/components/search/jar.mn
index 88a33a98c0..e6c42f97d5 100644
--- a/application/palemoon/components/search/jar.mn
+++ b/application/palemoon/components/search/jar.mn
@@ -3,7 +3,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
browser.jar:
-* content/browser/search/search.xml (content/search.xml)
- content/browser/search/searchbarBindings.css (content/searchbarBindings.css)
- content/browser/search/engineManager.xul (content/engineManager.xul)
- content/browser/search/engineManager.js (content/engineManager.js)
+* content/browser/search/search.xml (content/search.xml)
+ content/browser/search/searchbarBindings.css (content/searchbarBindings.css)
+ content/browser/search/engineManager.xul (content/engineManager.xul)
+ content/browser/search/engineManager.js (content/engineManager.js)
diff --git a/application/palemoon/components/search/moz.build b/application/palemoon/components/search/moz.build
index 35f6d454ac..c97072bba2 100644
--- a/application/palemoon/components/search/moz.build
+++ b/application/palemoon/components/search/moz.build
@@ -4,5 +4,4 @@
# 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/.
-
JAR_MANIFESTS += ['jar.mn'] \ No newline at end of file
diff --git a/application/palemoon/components/sessionstore/jar.mn b/application/palemoon/components/sessionstore/jar.mn
index 529692e7eb..825b00fbbb 100644
--- a/application/palemoon/components/sessionstore/jar.mn
+++ b/application/palemoon/components/sessionstore/jar.mn
@@ -3,6 +3,6 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
browser.jar:
-* content/browser/aboutSessionRestore.xhtml (content/aboutSessionRestore.xhtml)
-* content/browser/aboutSessionRestore.js (content/aboutSessionRestore.js)
- content/browser/content-sessionStore.js (content/content-sessionStore.js)
+* content/browser/aboutSessionRestore.xhtml (content/aboutSessionRestore.xhtml)
+* content/browser/aboutSessionRestore.js (content/aboutSessionRestore.js)
+ content/browser/content-sessionStore.js (content/content-sessionStore.js)
diff --git a/application/palemoon/components/sessionstore/moz.build b/application/palemoon/components/sessionstore/moz.build
index 8b38aeba5f..84278dafa0 100644
--- a/application/palemoon/components/sessionstore/moz.build
+++ b/application/palemoon/components/sessionstore/moz.build
@@ -26,6 +26,4 @@ EXTRA_JS_MODULES.sessionstore = [
'XPathGenerator.jsm',
]
-EXTRA_PP_JS_MODULES.sessionstore += [
- 'SessionStore.jsm',
-] \ No newline at end of file
+EXTRA_PP_JS_MODULES.sessionstore += ['SessionStore.jsm'] \ No newline at end of file
diff --git a/application/palemoon/components/shell/jar.mn b/application/palemoon/components/shell/jar.mn
index 1f33b5d56c..0864e1b306 100644
--- a/application/palemoon/components/shell/jar.mn
+++ b/application/palemoon/components/shell/jar.mn
@@ -3,5 +3,5 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
browser.jar:
-* content/browser/setDesktopBackground.xul (content/setDesktopBackground.xul)
- content/browser/setDesktopBackground.js (content/setDesktopBackground.js)
+* content/browser/setDesktopBackground.xul (content/setDesktopBackground.xul)
+ content/browser/setDesktopBackground.js (content/setDesktopBackground.js)
diff --git a/application/palemoon/components/shell/moz.build b/application/palemoon/components/shell/moz.build
index 94ec885714..16bffd7d9d 100644
--- a/application/palemoon/components/shell/moz.build
+++ b/application/palemoon/components/shell/moz.build
@@ -6,37 +6,23 @@
JAR_MANIFESTS += ['jar.mn']
-XPIDL_SOURCES += [
- 'nsIShellService.idl',
-]
+XPIDL_SOURCES += ['nsIShellService.idl']
if CONFIG['OS_ARCH'] == 'WINNT':
- XPIDL_SOURCES += [
- 'nsIWindowsShellService.idl',
- ]
+ XPIDL_SOURCES += ['nsIWindowsShellService.idl']
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
- XPIDL_SOURCES += [
- 'nsIMacShellService.idl',
- ]
+ XPIDL_SOURCES += ['nsIMacShellService.idl']
elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
- XPIDL_SOURCES += [
- 'nsIGNOMEShellService.idl',
- ]
+ XPIDL_SOURCES += ['nsIGNOMEShellService.idl']
XPIDL_MODULE = 'shellservice'
if CONFIG['OS_ARCH'] == 'WINNT':
- SOURCES += [
- 'nsWindowsShellService.cpp',
- ]
+ SOURCES += ['nsWindowsShellService.cpp']
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
- SOURCES += [
- 'nsMacShellService.cpp',
- ]
+ SOURCES += ['nsMacShellService.cpp']
elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
- SOURCES += [
- 'nsGNOMEShellService.cpp',
- ]
+ SOURCES += ['nsGNOMEShellService.cpp']
if SOURCES:
FINAL_LIBRARY = 'browsercomps'
@@ -46,9 +32,7 @@ EXTRA_COMPONENTS += [
'nsSetDefaultBrowser.manifest',
]
-EXTRA_JS_MODULES += [
- 'ShellService.jsm',
-]
+EXTRA_JS_MODULES += ['ShellService.jsm']
for var in ('MOZ_APP_NAME', 'MOZ_APP_VERSION'):
DEFINES[var] = '"%s"' % CONFIG[var]
diff --git a/application/palemoon/components/statusbar/jar.mn b/application/palemoon/components/statusbar/jar.mn
index db7f278c71..b5a8d09b28 100644
--- a/application/palemoon/components/statusbar/jar.mn
+++ b/application/palemoon/components/statusbar/jar.mn
@@ -3,13 +3,13 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
browser.jar:
-% overlay chrome://browser/content/browser.xul chrome://browser/content/statusbar/overlay.xul
-% style chrome://global/content/customizeToolbar.xul chrome://browser/skin/statusbar/overlay.css
- content/browser/statusbar/overlay.js (content/overlay.js)
- content/browser/statusbar/prefs.js (content/prefs.js)
- content/browser/statusbar/prefs.xml (content/prefs.xml)
- content/browser/statusbar/tabbrowser.xml (content/tabbrowser.xml)
- content/browser/statusbar/overlay.xul (content/overlay.xul)
- content/browser/statusbar/prefs.xul (content/prefs.xul)
- content/browser/statusbar/overlay.css (content/overlay.css)
- content/browser/statusbar/prefs.css (content/prefs.css) \ No newline at end of file
+% overlay chrome://browser/content/browser.xul chrome://browser/content/statusbar/overlay.xul
+% style chrome://global/content/customizeToolbar.xul chrome://browser/skin/statusbar/overlay.css
+ content/browser/statusbar/overlay.js (content/overlay.js)
+ content/browser/statusbar/prefs.js (content/prefs.js)
+ content/browser/statusbar/prefs.xml (content/prefs.xml)
+ content/browser/statusbar/tabbrowser.xml (content/tabbrowser.xml)
+ content/browser/statusbar/overlay.xul (content/overlay.xul)
+ content/browser/statusbar/prefs.xul (content/prefs.xul)
+ content/browser/statusbar/overlay.css (content/overlay.css)
+ content/browser/statusbar/prefs.css (content/prefs.css) \ No newline at end of file
diff --git a/application/palemoon/base/content/sync/aboutSyncTabs-bindings.xml b/application/palemoon/components/sync/aboutSyncTabs-bindings.xml
index e6108209a4..e6108209a4 100644
--- a/application/palemoon/base/content/sync/aboutSyncTabs-bindings.xml
+++ b/application/palemoon/components/sync/aboutSyncTabs-bindings.xml
diff --git a/application/palemoon/base/content/sync/aboutSyncTabs.css b/application/palemoon/components/sync/aboutSyncTabs.css
index 5a353175b1..5a353175b1 100644
--- a/application/palemoon/base/content/sync/aboutSyncTabs.css
+++ b/application/palemoon/components/sync/aboutSyncTabs.css
diff --git a/application/palemoon/base/content/sync/aboutSyncTabs.js b/application/palemoon/components/sync/aboutSyncTabs.js
index 410494b5bd..410494b5bd 100644
--- a/application/palemoon/base/content/sync/aboutSyncTabs.js
+++ b/application/palemoon/components/sync/aboutSyncTabs.js
diff --git a/application/palemoon/base/content/sync/aboutSyncTabs.xul b/application/palemoon/components/sync/aboutSyncTabs.xul
index a4aa0032f1..a4aa0032f1 100644
--- a/application/palemoon/base/content/sync/aboutSyncTabs.xul
+++ b/application/palemoon/components/sync/aboutSyncTabs.xul
diff --git a/application/palemoon/base/content/sync/addDevice.js b/application/palemoon/components/sync/addDevice.js
index 0390d43970..0390d43970 100644
--- a/application/palemoon/base/content/sync/addDevice.js
+++ b/application/palemoon/components/sync/addDevice.js
diff --git a/application/palemoon/base/content/sync/addDevice.xul b/application/palemoon/components/sync/addDevice.xul
index f2371aad0d..f2371aad0d 100644
--- a/application/palemoon/base/content/sync/addDevice.xul
+++ b/application/palemoon/components/sync/addDevice.xul
diff --git a/application/palemoon/base/content/sync/genericChange.js b/application/palemoon/components/sync/genericChange.js
index df66391789..df66391789 100644
--- a/application/palemoon/base/content/sync/genericChange.js
+++ b/application/palemoon/components/sync/genericChange.js
diff --git a/application/palemoon/base/content/sync/genericChange.xul b/application/palemoon/components/sync/genericChange.xul
index 3c0b2cd6c2..3c0b2cd6c2 100644
--- a/application/palemoon/base/content/sync/genericChange.xul
+++ b/application/palemoon/components/sync/genericChange.xul
diff --git a/application/palemoon/components/sync/jar.mn b/application/palemoon/components/sync/jar.mn
new file mode 100644
index 0000000000..3782038cd3
--- /dev/null
+++ b/application/palemoon/components/sync/jar.mn
@@ -0,0 +1,22 @@
+# 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/.
+
+browser.jar:
+ content/browser/sync/aboutSyncTabs.xul
+ content/browser/sync/aboutSyncTabs.js
+ content/browser/sync/aboutSyncTabs.css
+ content/browser/sync/aboutSyncTabs-bindings.xml
+ content/browser/sync/setup.xul
+ content/browser/sync/addDevice.js
+ content/browser/sync/addDevice.xul
+ content/browser/sync/setup.js
+ content/browser/sync/genericChange.xul
+ content/browser/sync/genericChange.js
+ content/browser/sync/key.xhtml
+ content/browser/sync/notification.xml
+ content/browser/sync/quota.xul
+ content/browser/sync/quota.js
+ content/browser/sync/utils.js
+ content/browser/sync/progress.js
+ content/browser/sync/progress.xhtml \ No newline at end of file
diff --git a/application/palemoon/base/content/sync/key.xhtml b/application/palemoon/components/sync/key.xhtml
index 92abf0ee64..92abf0ee64 100644
--- a/application/palemoon/base/content/sync/key.xhtml
+++ b/application/palemoon/components/sync/key.xhtml
diff --git a/application/palemoon/components/sync/moz.build b/application/palemoon/components/sync/moz.build
new file mode 100644
index 0000000000..2d64d506c1
--- /dev/null
+++ b/application/palemoon/components/sync/moz.build
@@ -0,0 +1,8 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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/.
+
+JAR_MANIFESTS += ['jar.mn']
+
diff --git a/application/palemoon/base/content/sync/notification.xml b/application/palemoon/components/sync/notification.xml
index 7a2b773821..8ac881e080 100644
--- a/application/palemoon/base/content/sync/notification.xml
+++ b/application/palemoon/components/sync/notification.xml
@@ -88,7 +88,7 @@
tooltiptext="&closeNotification.tooltip;"
oncommand="document.getBindingParent(this).close()"/>
<xul:hbox anonid="details" align="center" flex="1">
- <xul:image anonid="messageImage" class="messageImage" xbl:inherits="src=image"/>
+ <xul:image anonid="messageImage" class="messageImage" xbl:inherits="src=image,type"/>
<xul:description anonid="messageText" class="messageText" xbl:inherits="xbl:text=label"/>
<!-- The children are the buttons defined by the notification. -->
diff --git a/application/palemoon/base/content/sync/progress.js b/application/palemoon/components/sync/progress.js
index 101160fa87..101160fa87 100644
--- a/application/palemoon/base/content/sync/progress.js
+++ b/application/palemoon/components/sync/progress.js
diff --git a/application/palemoon/base/content/sync/progress.xhtml b/application/palemoon/components/sync/progress.xhtml
index d403cb20d8..d403cb20d8 100644
--- a/application/palemoon/base/content/sync/progress.xhtml
+++ b/application/palemoon/components/sync/progress.xhtml
diff --git a/application/palemoon/components/sync/quota.js b/application/palemoon/components/sync/quota.js
new file mode 100644
index 0000000000..b416a44cc2
--- /dev/null
+++ b/application/palemoon/components/sync/quota.js
@@ -0,0 +1,247 @@
+/* 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/. */
+
+const Ci = Components.interfaces;
+const Cc = Components.classes;
+const Cr = Components.results;
+const Cu = Components.utils;
+
+Cu.import("resource://services-sync/main.js");
+Cu.import("resource://gre/modules/DownloadUtils.jsm");
+
+var gSyncQuota = {
+
+ init: function init() {
+ this.bundle = document.getElementById("quotaStrings");
+ let caption = document.getElementById("treeCaption");
+ caption.firstChild.nodeValue = this.bundle.getString("quota.treeCaption.label");
+
+ gUsageTreeView.init();
+ this.tree = document.getElementById("usageTree");
+ this.tree.view = gUsageTreeView;
+
+ this.loadData();
+ },
+
+ loadData: function loadData() {
+ this._usage_req = Weave.Service.getStorageInfo(Weave.INFO_COLLECTION_USAGE,
+ function (error, usage) {
+ delete gSyncQuota._usage_req;
+ // displayUsageData handles null values, so no need to check 'error'.
+ gUsageTreeView.displayUsageData(usage);
+ });
+
+ let usageLabel = document.getElementById("usageLabel");
+ let bundle = this.bundle;
+
+ this._quota_req = Weave.Service.getStorageInfo(Weave.INFO_QUOTA,
+ function (error, quota) {
+ delete gSyncQuota._quota_req;
+
+ if (error) {
+ usageLabel.value = bundle.getString("quota.usageError.label");
+ return;
+ }
+ let used = gSyncQuota.convertKB(quota[0]);
+ if (!quota[1]) {
+ // No quota on the server.
+ usageLabel.value = bundle.getFormattedString(
+ "quota.usageNoQuota.label", used);
+ return;
+ }
+ let percent = Math.round(100 * quota[0] / quota[1]);
+ let total = gSyncQuota.convertKB(quota[1]);
+ usageLabel.value = bundle.getFormattedString(
+ "quota.usagePercentage.label", [percent].concat(used).concat(total));
+ });
+ },
+
+ onCancel: function onCancel() {
+ if (this._usage_req) {
+ this._usage_req.abort();
+ }
+ if (this._quota_req) {
+ this._quota_req.abort();
+ }
+ return true;
+ },
+
+ onAccept: function onAccept() {
+ let engines = gUsageTreeView.getEnginesToDisable();
+ for each (let engine in engines) {
+ Weave.Service.engineManager.get(engine).enabled = false;
+ }
+ if (engines.length) {
+ // The 'Weave' object will disappear once the window closes.
+ let Service = Weave.Service;
+ Weave.Utils.nextTick(function() { Service.sync(); });
+ }
+ return this.onCancel();
+ },
+
+ convertKB: function convertKB(value) {
+ return DownloadUtils.convertByteUnits(value * 1024);
+ }
+
+};
+
+var gUsageTreeView = {
+
+ _ignored: {keys: true,
+ meta: true,
+ clients: true},
+
+ /*
+ * Internal data structures underlaying the tree.
+ */
+ _collections: [],
+ _byname: {},
+
+ init: function init() {
+ let retrievingLabel = gSyncQuota.bundle.getString("quota.retrieving.label");
+ for each (let engine in Weave.Service.engineManager.getEnabled()) {
+ if (this._ignored[engine.name])
+ continue;
+
+ // Some engines use the same pref, which means they can only be turned on
+ // and off together. We need to combine them here as well.
+ let existing = this._byname[engine.prefName];
+ if (existing) {
+ existing.engines.push(engine.name);
+ continue;
+ }
+
+ let obj = {name: engine.prefName,
+ title: this._collectionTitle(engine),
+ engines: [engine.name],
+ enabled: true,
+ sizeLabel: retrievingLabel};
+ this._collections.push(obj);
+ this._byname[engine.prefName] = obj;
+ }
+ },
+
+ _collectionTitle: function _collectionTitle(engine) {
+ try {
+ return gSyncQuota.bundle.getString(
+ "collection." + engine.prefName + ".label");
+ } catch (ex) {
+ return engine.Name;
+ }
+ },
+
+ /*
+ * Process the quota information as returned by info/collection_usage.
+ */
+ displayUsageData: function displayUsageData(data) {
+ for each (let coll in this._collections) {
+ coll.size = 0;
+ // If we couldn't retrieve any data, just blank out the label.
+ if (!data) {
+ coll.sizeLabel = "";
+ continue;
+ }
+
+ for each (let engineName in coll.engines)
+ coll.size += data[engineName] || 0;
+ let sizeLabel = "";
+ sizeLabel = gSyncQuota.bundle.getFormattedString(
+ "quota.sizeValueUnit.label", gSyncQuota.convertKB(coll.size));
+ coll.sizeLabel = sizeLabel;
+ }
+ let sizeColumn = this.treeBox.columns.getNamedColumn("size");
+ this.treeBox.invalidateColumn(sizeColumn);
+ },
+
+ /*
+ * Handle click events on the tree.
+ */
+ onTreeClick: function onTreeClick(event) {
+ if (event.button == 2)
+ return;
+
+ let cell = this.treeBox.getCellAt(event.clientX, event.clientY);
+ if (cell.col && cell.col.id == "enabled")
+ this.toggle(cell.row);
+ },
+
+ /*
+ * Toggle enabled state of an engine.
+ */
+ toggle: function toggle(row) {
+ // Update the tree
+ let collection = this._collections[row];
+ collection.enabled = !collection.enabled;
+ this.treeBox.invalidateRow(row);
+ },
+
+ /*
+ * Return a list of engines (or rather their pref names) that should be
+ * disabled.
+ */
+ getEnginesToDisable: function getEnginesToDisable() {
+ // Tycho: return [coll.name for each (coll in this._collections) if (!coll.enabled)];
+ let engines = [];
+ for each (let coll in this._collections) {
+ if (!coll.enabled) {
+ engines.push(coll.name);
+ }
+ }
+ return engines;
+ },
+
+ // nsITreeView
+
+ get rowCount() {
+ return this._collections.length;
+ },
+
+ getRowProperties: function(index) { return ""; },
+ getCellProperties: function(row, col) { return ""; },
+ getColumnProperties: function(col) { return ""; },
+ isContainer: function(index) { return false; },
+ isContainerOpen: function(index) { return false; },
+ isContainerEmpty: function(index) { return false; },
+ isSeparator: function(index) { return false; },
+ isSorted: function() { return false; },
+ canDrop: function(index, orientation, dataTransfer) { return false; },
+ drop: function(row, orientation, dataTransfer) {},
+ getParentIndex: function(rowIndex) {},
+ hasNextSibling: function(rowIndex, afterIndex) { return false; },
+ getLevel: function(index) { return 0; },
+ getImageSrc: function(row, col) {},
+
+ getCellValue: function(row, col) {
+ return this._collections[row].enabled;
+ },
+
+ getCellText: function getCellText(row, col) {
+ let collection = this._collections[row];
+ switch (col.id) {
+ case "collection":
+ return collection.title;
+ case "size":
+ return collection.sizeLabel;
+ default:
+ return "";
+ }
+ },
+
+ setTree: function setTree(tree) {
+ this.treeBox = tree;
+ },
+
+ toggleOpenState: function(index) {},
+ cycleHeader: function(col) {},
+ selectionChanged: function() {},
+ cycleCell: function(row, col) {},
+ isEditable: function(row, col) { return false; },
+ isSelectable: function (row, col) { return false; },
+ setCellValue: function(row, col, value) {},
+ setCellText: function(row, col, value) {},
+ performAction: function(action) {},
+ performActionOnRow: function(action, row) {},
+ performActionOnCell: function(action, row, col) {}
+
+};
diff --git a/application/palemoon/components/sync/quota.xul b/application/palemoon/components/sync/quota.xul
new file mode 100644
index 0000000000..99e6ed78b7
--- /dev/null
+++ b/application/palemoon/components/sync/quota.xul
@@ -0,0 +1,65 @@
+<?xml version="1.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/. -->
+
+<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/skin/syncQuota.css"?>
+
+<!DOCTYPE dialog [
+<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
+<!ENTITY % syncBrandDTD SYSTEM "chrome://browser/locale/syncBrand.dtd">
+<!ENTITY % syncQuotaDTD SYSTEM "chrome://browser/locale/syncQuota.dtd">
+%brandDTD;
+%syncBrandDTD;
+%syncQuotaDTD;
+]>
+<dialog id="quotaDialog"
+ windowtype="Sync:ViewQuota"
+ persist="screenX screenY width height"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ xmlns:html="http://www.w3.org/1999/xhtml"
+ onload="gSyncQuota.init()"
+ buttons="accept,cancel"
+ title="&quota.dialogTitle.label;"
+ ondialogcancel="return gSyncQuota.onCancel();"
+ ondialogaccept="return gSyncQuota.onAccept();">
+
+ <script type="application/javascript"
+ src="chrome://browser/content/sync/quota.js"/>
+
+ <stringbundleset id="stringbundleset">
+ <stringbundle id="quotaStrings"
+ src="chrome://browser/locale/syncQuota.properties"/>
+ </stringbundleset>
+
+ <vbox flex="1">
+ <label id="usageLabel"
+ value="&quota.retrievingInfo.label;"/>
+ <separator/>
+ <tree id="usageTree"
+ seltype="single"
+ hidecolumnpicker="true"
+ onclick="gUsageTreeView.onTreeClick(event);"
+ flex="1">
+ <treecols>
+ <treecol id="enabled"
+ type="checkbox"
+ fixed="true"/>
+ <splitter class="tree-splitter"/>
+ <treecol id="collection"
+ label="&quota.typeColumn.label;"
+ flex="1"/>
+ <splitter class="tree-splitter"/>
+ <treecol id="size"
+ label="&quota.sizeColumn.label;"
+ flex="1"/>
+ </treecols>
+ <treechildren flex="1"/>
+ </tree>
+ <separator/>
+ <description id="treeCaption"> </description>
+ </vbox>
+
+</dialog>
diff --git a/application/palemoon/base/content/sync/setup.js b/application/palemoon/components/sync/setup.js
index e8d67a5f6d..e8d67a5f6d 100644
--- a/application/palemoon/base/content/sync/setup.js
+++ b/application/palemoon/components/sync/setup.js
diff --git a/application/palemoon/base/content/sync/setup.xul b/application/palemoon/components/sync/setup.xul
index cf2cc77e40..cf2cc77e40 100644
--- a/application/palemoon/base/content/sync/setup.xul
+++ b/application/palemoon/components/sync/setup.xul
diff --git a/application/palemoon/base/content/sync/utils.js b/application/palemoon/components/sync/utils.js
index d41ecf18a3..d41ecf18a3 100644
--- a/application/palemoon/base/content/sync/utils.js
+++ b/application/palemoon/components/sync/utils.js
diff --git a/application/palemoon/config/version.txt b/application/palemoon/config/version.txt
index f35c734b3f..4efefb3160 100644
--- a/application/palemoon/config/version.txt
+++ b/application/palemoon/config/version.txt
@@ -1 +1 @@
-28.2.0a1 \ No newline at end of file
+28.3.0a1 \ No newline at end of file
diff --git a/application/palemoon/configure.in b/application/palemoon/configure.in
index 0dbb0d8bc1..96f63781e2 100644
--- a/application/palemoon/configure.in
+++ b/application/palemoon/configure.in
@@ -27,3 +27,16 @@ if test -n "$MOZ_BROWSER_STATUSBAR"; then
fi
AC_SUBST(MOZ_BROWSER_STATUSBAR)
+
+dnl ========================================================
+dnl = Disable Sync
+dnl ========================================================
+MOZ_ARG_DISABLE_BOOL(sync,
+[ --disable-sync Disable Sync],
+ MOZ_SERVICES_SYNC=,
+ MOZ_SERVICES_SYNC=1)
+
+if test -z "$MOZ_SERVICES_SYNC"; then
+ MOZ_SERVICES_CLOUDSYNC=
+fi
+
diff --git a/application/palemoon/confvars.sh b/application/palemoon/confvars.sh
index 8305237780..26b02fc854 100644
--- a/application/palemoon/confvars.sh
+++ b/application/palemoon/confvars.sh
@@ -53,9 +53,9 @@ MOZ_PROFILE_MIGRATOR=
# MAR_CHANNEL_ID must not contained the follow 3 characters: ",\t"
# ACCEPTED_MAR_CHANNEL_IDS should usually be the same as MAR_CHANNEL_ID
# If more than one ID is needed, then you should use a comma seperated list.
-MOZ_UPDATER=1
-MAR_CHANNEL_ID=palemoon-release
-ACCEPTED_MAR_CHANNEL_IDS=palemoon-release
+MOZ_UPDATER=
+MAR_CHANNEL_ID=unofficial
+ACCEPTED_MAR_CHANNEL_IDS=unofficial,unstable,release
# Platform Feature: Developer Tools
# XXX: Devtools are disabled until they can be made to work with Pale Moon
diff --git a/application/palemoon/fonts/moz.build b/application/palemoon/fonts/moz.build
index 02c027c462..8840a87f89 100644
--- a/application/palemoon/fonts/moz.build
+++ b/application/palemoon/fonts/moz.build
@@ -6,6 +6,4 @@
if CONFIG['OS_ARCH'] in ('WINNT', 'Linux'):
DIST_SUBDIR = ''
- FINAL_TARGET_FILES.fonts += [
- 'TwemojiMozilla.ttf'
- ]
+ FINAL_TARGET_FILES.fonts += ['TwemojiMozilla.ttf']
diff --git a/application/palemoon/installer/package-manifest.in b/application/palemoon/installer/package-manifest.in
index e63af40136..a218a34874 100644
--- a/application/palemoon/installer/package-manifest.in
+++ b/application/palemoon/installer/package-manifest.in
@@ -141,13 +141,6 @@
@RESPATH@/run-mozilla.sh
#endif
#endif
-#ifdef XP_WIN
-#ifdef _AMD64_
-@BINPATH@/@DLL_PREFIX@qipcap64@DLL_SUFFIX@
-#else
-@BINPATH@/@DLL_PREFIX@qipcap@DLL_SUFFIX@
-#endif
-#endif
; [Components]
@RESPATH@/components/*
@@ -248,8 +241,10 @@
; gre location for now.
@RESPATH@/defaults/pref/channel-prefs.js
+#ifdef MOZ_SERVICES_SYNC
; Services (gre) prefs
@RESPATH@/defaults/pref/services-sync.js
+#endif
; [Layout Engine Resources]
; Style Sheets, Graphics and other Resources used by the layout engine.
diff --git a/application/palemoon/locales/Makefile.in b/application/palemoon/locales/Makefile.in
index c81329a9a4..38a867658b 100644
--- a/application/palemoon/locales/Makefile.in
+++ b/application/palemoon/locales/Makefile.in
@@ -121,7 +121,9 @@ searchplugins: $(addprefix $(FINAL_TARGET)/searchplugins/,$(SEARCHPLUGINS))
libs-%:
$(NSINSTALL) -D $(DIST)/install
@$(MAKE) -C ../../../toolkit/locales libs-$*
+ifdef MOZ_SERVICES_SYNC
@$(MAKE) -C ../../../services/sync/locales AB_CD=$* XPI_NAME=locale-$*
+endif
@$(MAKE) -C ../../../extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$*
@$(MAKE) -C ../../../intl/locales AB_CD=$* XPI_NAME=locale-$*
ifdef MOZ_DEVTOOLS
diff --git a/application/palemoon/locales/en-US/chrome/browser/aboutHome.dtd b/application/palemoon/locales/en-US/chrome/browser/aboutHome.dtd
index 03ffe629dd..d3bd85fc80 100644
--- a/application/palemoon/locales/en-US/chrome/browser/aboutHome.dtd
+++ b/application/palemoon/locales/en-US/chrome/browser/aboutHome.dtd
@@ -4,8 +4,10 @@
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
+#ifdef MOZ_SERVICES_SYNC
<!ENTITY % syncBrandDTD SYSTEM "chrome://browser/locale/syncBrand.dtd">
%syncBrandDTD;
+#endif
<!-- These strings are used in the about:home page -->
@@ -19,4 +21,6 @@
<!ENTITY abouthome.addonsButton.label "Add-ons">
<!ENTITY abouthome.appsButton.label "Marketplace">
<!ENTITY abouthome.downloadsButton.label "Downloads">
+#ifdef MOZ_SERVICES_SYNC
<!ENTITY abouthome.syncButton.label "&syncBrand.shortName.label;">
+#endif \ No newline at end of file
diff --git a/application/palemoon/locales/en-US/chrome/browser/browser.dtd b/application/palemoon/locales/en-US/chrome/browser/browser.dtd
index 2d80c80784..439057a84b 100644
--- a/application/palemoon/locales/en-US/chrome/browser/browser.dtd
+++ b/application/palemoon/locales/en-US/chrome/browser/browser.dtd
@@ -507,6 +507,8 @@ you can use these alternative items. Otherwise, their values should be empty. -
<!ENTITY closeCmd.key "W">
<!ENTITY closeCmd.accesskey "C">
+<!ENTITY toggleMuteCmd.key "M">
+
<!ENTITY pageStyleMenu.label "Page Style">
<!ENTITY pageStyleMenu.accesskey "y">
<!ENTITY pageStyleNoStyle.label "No Style">
@@ -565,6 +567,7 @@ just addresses the organization to follow, e.g. "This site is run by " -->
The word "toolbar" is appended automatically and should not be contained below! -->
<!ENTITY tabsToolbar.label "Browser tabs">
+#ifdef MOZ_SERVICES_SYNC
<!-- LOCALIZATION NOTE (syncTabsMenu2.label): This appears in the history menu -->
<!ENTITY syncTabsMenu2.label "Tabs From Other Devices">
@@ -575,6 +578,7 @@ just addresses the organization to follow, e.g. "This site is run by " -->
<!ENTITY syncSyncNowItem.label "Sync Now">
<!ENTITY syncSyncNowItem.accesskey "S">
<!ENTITY syncToolbarButton.label "Sync">
+#endif
<!ENTITY addonBarCloseButton.tooltip "Close Add-on Bar">
<!ENTITY toggleAddonBarCmd.key "/">
diff --git a/application/palemoon/locales/en-US/chrome/browser/browser.properties b/application/palemoon/locales/en-US/chrome/browser/browser.properties
index 9969bd753b..dbe6dbaa1a 100644
--- a/application/palemoon/locales/en-US/chrome/browser/browser.properties
+++ b/application/palemoon/locales/en-US/chrome/browser/browser.properties
@@ -397,3 +397,8 @@ slowStartup.helpButton.label = Learn How to Speed It Up
slowStartup.helpButton.accesskey = L
slowStartup.disableNotificationButton.label = Don't Tell Me Again
slowStartup.disableNotificationButton.accesskey = A
+
+muteTab.label = Mute Tab
+muteTab.accesskey = M
+unmuteTab.label = Unmute Tab
+unmuteTab.accesskey = M \ No newline at end of file
diff --git a/application/palemoon/locales/en-US/chrome/browser/tabbrowser.properties b/application/palemoon/locales/en-US/chrome/browser/tabbrowser.properties
index 0d21d4d148..a4a0be0a0b 100644
--- a/application/palemoon/locales/en-US/chrome/browser/tabbrowser.properties
+++ b/application/palemoon/locales/en-US/chrome/browser/tabbrowser.properties
@@ -24,3 +24,7 @@ tabs.closeWarningTitle=Confirm close
tabs.closeWarningMultipleTabs=You are about to close %S tabs. Are you sure you want to continue?
tabs.closeButtonMultiple=Close tabs
tabs.closeWarningPromptMe=Warn me when I attempt to close multiple tabs
+
+tabs.muteAudio.tooltip=Mute tab
+tabs.unmuteAudio.tooltip=Unmute tab
+tabs.unblockAudio.tooltip=Play tab
diff --git a/application/palemoon/locales/jar.mn b/application/palemoon/locales/jar.mn
index e3477c320d..0fc7f2c9b1 100644
--- a/application/palemoon/locales/jar.mn
+++ b/application/palemoon/locales/jar.mn
@@ -6,93 +6,93 @@
@AB_CD@.jar:
% locale browser @AB_CD@ %locale/browser/
- locale/browser/aboutCertError.dtd (%chrome/browser/aboutCertError.dtd)
- locale/browser/aboutDialog.dtd (%chrome/browser/aboutDialog.dtd)
- locale/browser/aboutPrivateBrowsing.dtd (%chrome/browser/aboutPrivateBrowsing.dtd)
- locale/browser/aboutRobots.dtd (%chrome/browser/aboutRobots.dtd)
- locale/browser/aboutHome.dtd (%chrome/browser/aboutHome.dtd)
- locale/browser/aboutSessionRestore.dtd (%chrome/browser/aboutSessionRestore.dtd)
+ locale/browser/aboutCertError.dtd (%chrome/browser/aboutCertError.dtd)
+ locale/browser/aboutDialog.dtd (%chrome/browser/aboutDialog.dtd)
+ locale/browser/aboutPrivateBrowsing.dtd (%chrome/browser/aboutPrivateBrowsing.dtd)
+ locale/browser/aboutRobots.dtd (%chrome/browser/aboutRobots.dtd)
+* locale/browser/aboutHome.dtd (%chrome/browser/aboutHome.dtd)
+ locale/browser/aboutSessionRestore.dtd (%chrome/browser/aboutSessionRestore.dtd)
#ifdef MOZ_SERVICES_SYNC
- locale/browser/syncProgress.dtd (%chrome/browser/syncProgress.dtd)
- locale/browser/aboutSyncTabs.dtd (%chrome/browser/aboutSyncTabs.dtd)
+ locale/browser/syncProgress.dtd (%chrome/browser/syncProgress.dtd)
+ locale/browser/aboutSyncTabs.dtd (%chrome/browser/aboutSyncTabs.dtd)
#endif
-* locale/browser/browser.dtd (%chrome/browser/browser.dtd)
- locale/browser/baseMenuOverlay.dtd (%chrome/browser/baseMenuOverlay.dtd)
- locale/browser/charsetOverlay.dtd (%chrome/browser/charsetOverlay.dtd)
- locale/browser/browser.properties (%chrome/browser/browser.properties)
- locale/browser/charsetMenu.properties (%chrome/browser/charsetMenu.properties)
- locale/browser/charsetMenu.dtd (%chrome/browser/charsetMenu.dtd)
- locale/browser/newTab.dtd (%chrome/browser/newTab.dtd)
- locale/browser/newTab.properties (%chrome/browser/newTab.properties)
- locale/browser/openLocation.dtd (%chrome/browser/openLocation.dtd)
- locale/browser/openLocation.properties (%chrome/browser/openLocation.properties)
- locale/browser/pageInfo.dtd (%chrome/browser/pageInfo.dtd)
- locale/browser/pageInfo.properties (%chrome/browser/pageInfo.properties)
- locale/browser/palemoon.dtd (%chrome/browser/palemoon.dtd)
- locale/browser/quitDialog.properties (%chrome/browser/quitDialog.properties)
- locale/browser/safeMode.dtd (%chrome/browser/safeMode.dtd)
- locale/browser/sanitize.dtd (%chrome/browser/sanitize.dtd)
- locale/browser/search.properties (%chrome/browser/search.properties)
- locale/browser/searchbar.dtd (%chrome/browser/searchbar.dtd)
- locale/browser/engineManager.dtd (%chrome/browser/engineManager.dtd)
- locale/browser/engineManager.properties (%chrome/browser/engineManager.properties)
- locale/browser/setDesktopBackground.dtd (%chrome/browser/setDesktopBackground.dtd)
- locale/browser/shellservice.properties (%chrome/browser/shellservice.properties)
- locale/browser/statusbar/statusbar-overlay.dtd (%chrome/browser/statusbar/statusbar-overlay.dtd)
- locale/browser/statusbar/statusbar-prefs.dtd (%chrome/browser/statusbar/statusbar-prefs.dtd)
- locale/browser/statusbar/meta.properties (%chrome/browser/statusbar/meta.properties)
- locale/browser/statusbar/overlay.properties (%chrome/browser/statusbar/overlay.properties)
- locale/browser/statusbar/prefs.properties (%chrome/browser/statusbar/prefs.properties)
- locale/browser/tabbrowser.dtd (%chrome/browser/tabbrowser.dtd)
- locale/browser/tabbrowser.properties (%chrome/browser/tabbrowser.properties)
- locale/browser/taskbar.properties (%chrome/browser/taskbar.properties)
- locale/browser/downloads/downloads.dtd (%chrome/browser/downloads/downloads.dtd)
- locale/browser/downloads/downloads.properties (%chrome/browser/downloads/downloads.properties)
- locale/browser/places/places.dtd (%chrome/browser/places/places.dtd)
- locale/browser/places/places.properties (%chrome/browser/places/places.properties)
- locale/browser/places/editBookmarkOverlay.dtd (%chrome/browser/places/editBookmarkOverlay.dtd)
- locale/browser/places/bookmarkProperties.properties (%chrome/browser/places/bookmarkProperties.properties)
- locale/browser/preferences/selectBookmark.dtd (%chrome/browser/preferences/selectBookmark.dtd)
- locale/browser/places/moveBookmarks.dtd (%chrome/browser/places/moveBookmarks.dtd)
- locale/browser/feeds/subscribe.dtd (%chrome/browser/feeds/subscribe.dtd)
- locale/browser/feeds/subscribe.properties (%chrome/browser/feeds/subscribe.properties)
- locale/browser/permissions/aboutPermissions.dtd (%chrome/browser/permissions/aboutPermissions.dtd)
- locale/browser/permissions/aboutPermissions.properties (%chrome/browser/permissions/aboutPermissions.properties)
- locale/browser/preferences/advanced.dtd (%chrome/browser/preferences/advanced.dtd)
- locale/browser/preferences/applicationManager.dtd (%chrome/browser/preferences/applicationManager.dtd)
- locale/browser/preferences/applicationManager.properties (%chrome/browser/preferences/applicationManager.properties)
- locale/browser/preferences/colors.dtd (%chrome/browser/preferences/colors.dtd)
- locale/browser/preferences/cookies.dtd (%chrome/browser/preferences/cookies.dtd)
- locale/browser/preferences/content.dtd (%chrome/browser/preferences/content.dtd)
- locale/browser/preferences/connection.dtd (%chrome/browser/preferences/connection.dtd)
- locale/browser/preferences/applications.dtd (%chrome/browser/preferences/applications.dtd)
- locale/browser/preferences/fonts.dtd (%chrome/browser/preferences/fonts.dtd)
- locale/browser/preferences/main.dtd (%chrome/browser/preferences/main.dtd)
- locale/browser/preferences/languages.dtd (%chrome/browser/preferences/languages.dtd)
- locale/browser/preferences/permissions.dtd (%chrome/browser/preferences/permissions.dtd)
- locale/browser/preferences/preferences.dtd (%chrome/browser/preferences/preferences.dtd)
- locale/browser/preferences/preferences.properties (%chrome/browser/preferences/preferences.properties)
- locale/browser/preferences/privacy.dtd (%chrome/browser/preferences/privacy.dtd)
- locale/browser/preferences/security.dtd (%chrome/browser/preferences/security.dtd)
+* locale/browser/browser.dtd (%chrome/browser/browser.dtd)
+ locale/browser/baseMenuOverlay.dtd (%chrome/browser/baseMenuOverlay.dtd)
+ locale/browser/charsetOverlay.dtd (%chrome/browser/charsetOverlay.dtd)
+ locale/browser/browser.properties (%chrome/browser/browser.properties)
+ locale/browser/charsetMenu.properties (%chrome/browser/charsetMenu.properties)
+ locale/browser/charsetMenu.dtd (%chrome/browser/charsetMenu.dtd)
+ locale/browser/newTab.dtd (%chrome/browser/newTab.dtd)
+ locale/browser/newTab.properties (%chrome/browser/newTab.properties)
+ locale/browser/openLocation.dtd (%chrome/browser/openLocation.dtd)
+ locale/browser/openLocation.properties (%chrome/browser/openLocation.properties)
+ locale/browser/pageInfo.dtd (%chrome/browser/pageInfo.dtd)
+ locale/browser/pageInfo.properties (%chrome/browser/pageInfo.properties)
+ locale/browser/palemoon.dtd (%chrome/browser/palemoon.dtd)
+ locale/browser/quitDialog.properties (%chrome/browser/quitDialog.properties)
+ locale/browser/safeMode.dtd (%chrome/browser/safeMode.dtd)
+ locale/browser/sanitize.dtd (%chrome/browser/sanitize.dtd)
+ locale/browser/search.properties (%chrome/browser/search.properties)
+ locale/browser/searchbar.dtd (%chrome/browser/searchbar.dtd)
+ locale/browser/engineManager.dtd (%chrome/browser/engineManager.dtd)
+ locale/browser/engineManager.properties (%chrome/browser/engineManager.properties)
+ locale/browser/setDesktopBackground.dtd (%chrome/browser/setDesktopBackground.dtd)
+ locale/browser/shellservice.properties (%chrome/browser/shellservice.properties)
+ locale/browser/statusbar/statusbar-overlay.dtd (%chrome/browser/statusbar/statusbar-overlay.dtd)
+ locale/browser/statusbar/statusbar-prefs.dtd (%chrome/browser/statusbar/statusbar-prefs.dtd)
+ locale/browser/statusbar/meta.properties (%chrome/browser/statusbar/meta.properties)
+ locale/browser/statusbar/overlay.properties (%chrome/browser/statusbar/overlay.properties)
+ locale/browser/statusbar/prefs.properties (%chrome/browser/statusbar/prefs.properties)
+ locale/browser/tabbrowser.dtd (%chrome/browser/tabbrowser.dtd)
+ locale/browser/tabbrowser.properties (%chrome/browser/tabbrowser.properties)
+ locale/browser/taskbar.properties (%chrome/browser/taskbar.properties)
+ locale/browser/downloads/downloads.dtd (%chrome/browser/downloads/downloads.dtd)
+ locale/browser/downloads/downloads.properties (%chrome/browser/downloads/downloads.properties)
+ locale/browser/places/places.dtd (%chrome/browser/places/places.dtd)
+ locale/browser/places/places.properties (%chrome/browser/places/places.properties)
+ locale/browser/places/editBookmarkOverlay.dtd (%chrome/browser/places/editBookmarkOverlay.dtd)
+ locale/browser/places/bookmarkProperties.properties (%chrome/browser/places/bookmarkProperties.properties)
+ locale/browser/preferences/selectBookmark.dtd (%chrome/browser/preferences/selectBookmark.dtd)
+ locale/browser/places/moveBookmarks.dtd (%chrome/browser/places/moveBookmarks.dtd)
+ locale/browser/feeds/subscribe.dtd (%chrome/browser/feeds/subscribe.dtd)
+ locale/browser/feeds/subscribe.properties (%chrome/browser/feeds/subscribe.properties)
+ locale/browser/permissions/aboutPermissions.dtd (%chrome/browser/permissions/aboutPermissions.dtd)
+ locale/browser/permissions/aboutPermissions.properties (%chrome/browser/permissions/aboutPermissions.properties)
+ locale/browser/preferences/advanced.dtd (%chrome/browser/preferences/advanced.dtd)
+ locale/browser/preferences/applicationManager.dtd (%chrome/browser/preferences/applicationManager.dtd)
+ locale/browser/preferences/applicationManager.properties (%chrome/browser/preferences/applicationManager.properties)
+ locale/browser/preferences/colors.dtd (%chrome/browser/preferences/colors.dtd)
+ locale/browser/preferences/cookies.dtd (%chrome/browser/preferences/cookies.dtd)
+ locale/browser/preferences/content.dtd (%chrome/browser/preferences/content.dtd)
+ locale/browser/preferences/connection.dtd (%chrome/browser/preferences/connection.dtd)
+ locale/browser/preferences/applications.dtd (%chrome/browser/preferences/applications.dtd)
+ locale/browser/preferences/fonts.dtd (%chrome/browser/preferences/fonts.dtd)
+ locale/browser/preferences/main.dtd (%chrome/browser/preferences/main.dtd)
+ locale/browser/preferences/languages.dtd (%chrome/browser/preferences/languages.dtd)
+ locale/browser/preferences/permissions.dtd (%chrome/browser/preferences/permissions.dtd)
+ locale/browser/preferences/preferences.dtd (%chrome/browser/preferences/preferences.dtd)
+ locale/browser/preferences/preferences.properties (%chrome/browser/preferences/preferences.properties)
+ locale/browser/preferences/privacy.dtd (%chrome/browser/preferences/privacy.dtd)
+ locale/browser/preferences/security.dtd (%chrome/browser/preferences/security.dtd)
#ifdef MOZ_SERVICES_SYNC
- locale/browser/preferences/sync.dtd (%chrome/browser/preferences/sync.dtd)
+ locale/browser/preferences/sync.dtd (%chrome/browser/preferences/sync.dtd)
#endif
- locale/browser/preferences/tabs.dtd (%chrome/browser/preferences/tabs.dtd)
+ locale/browser/preferences/tabs.dtd (%chrome/browser/preferences/tabs.dtd)
#ifdef MOZ_SERVICES_SYNC
- locale/browser/syncBrand.dtd (%chrome/browser/syncBrand.dtd)
- locale/browser/syncSetup.dtd (%chrome/browser/syncSetup.dtd)
- locale/browser/syncSetup.properties (%chrome/browser/syncSetup.properties)
- locale/browser/syncGenericChange.properties (%chrome/browser/syncGenericChange.properties)
- locale/browser/syncKey.dtd (%chrome/browser/syncKey.dtd)
- locale/browser/syncQuota.dtd (%chrome/browser/syncQuota.dtd)
- locale/browser/syncQuota.properties (%chrome/browser/syncQuota.properties)
+ locale/browser/syncBrand.dtd (%chrome/browser/syncBrand.dtd)
+ locale/browser/syncSetup.dtd (%chrome/browser/syncSetup.dtd)
+ locale/browser/syncSetup.properties (%chrome/browser/syncSetup.properties)
+ locale/browser/syncGenericChange.properties (%chrome/browser/syncGenericChange.properties)
+ locale/browser/syncKey.dtd (%chrome/browser/syncKey.dtd)
+ locale/browser/syncQuota.dtd (%chrome/browser/syncQuota.dtd)
+ locale/browser/syncQuota.properties (%chrome/browser/syncQuota.properties)
#endif
% locale browser-region @AB_CD@ %locale/browser-region/
- locale/browser-region/region.properties (%chrome/browser-region/region.properties)
+ locale/browser-region/region.properties (%chrome/browser-region/region.properties)
# the following files are browser-specific overrides
- locale/browser/netError.dtd (%chrome/overrides/netError.dtd)
- locale/browser/appstrings.properties (%chrome/overrides/appstrings.properties)
- locale/browser/downloads/settingsChange.dtd (%chrome/overrides/settingsChange.dtd)
+ locale/browser/netError.dtd (%chrome/overrides/netError.dtd)
+ locale/browser/appstrings.properties (%chrome/overrides/appstrings.properties)
+ locale/browser/downloads/settingsChange.dtd (%chrome/overrides/settingsChange.dtd)
% override chrome://global/locale/netError.dtd chrome://browser/locale/netError.dtd
% override chrome://global/locale/appstrings.properties chrome://browser/locale/appstrings.properties
% override chrome://mozapps/locale/downloads/settingsChange.dtd chrome://browser/locale/downloads/settingsChange.dtd
diff --git a/application/palemoon/modules/moz.build b/application/palemoon/modules/moz.build
index 8032930b2a..12a3ece2ef 100644
--- a/application/palemoon/modules/moz.build
+++ b/application/palemoon/modules/moz.build
@@ -4,7 +4,6 @@
# 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/.
-
EXTRA_JS_MODULES += [
'AutoCompletePopup.jsm',
'BrowserNewTabPreloader.jsm',
@@ -38,5 +37,6 @@ EXTRA_PP_JS_MODULES += [
# Pass down 'official build' flags
if CONFIG['MC_OFFICIAL']:
DEFINES['MC_OFFICIAL'] = 1
+
if CONFIG['MOZILLA_OFFICIAL']:
DEFINES['MOZILLA_OFFICIAL'] = 1
diff --git a/application/palemoon/moz.build b/application/palemoon/moz.build
index 2b9d8f09ba..72e37673cc 100644
--- a/application/palemoon/moz.build
+++ b/application/palemoon/moz.build
@@ -15,9 +15,7 @@ DIRS += [
'themes',
]
-DIRS += [
- 'app',
-]
+DIRS += ['app']
if CONFIG['MAKENSISU']:
DIRS += ['installer/windows']
diff --git a/application/palemoon/themes/linux/browser.css b/application/palemoon/themes/linux/browser.css
index c6587babcc..516677fe60 100644
--- a/application/palemoon/themes/linux/browser.css
+++ b/application/palemoon/themes/linux/browser.css
@@ -1758,6 +1758,90 @@ richlistitem[type~="action"][actiontype="switchtab"] > .ac-url-box > .ac-action-
-moz-margin-end: -1px;
}
+/* Tab sound indicator */
+.tab-icon-sound {
+ -moz-margin-start: 4px;
+ width: 16px;
+ height: 16px;
+ padding: 0;
+}
+
+.allTabs-endimage[soundplaying],
+.tab-icon-sound[soundplaying] {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio.svg#tab-audio");
+}
+
+.allTabs-endimage[muted],
+.tab-icon-sound[muted] {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio.svg#tab-audio-muted");
+}
+
+.allTabs-endimage[blocked],
+.tab-icon-sound[blocked] {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio.svg#tab-audio-blocked");
+}
+
+#TabsToolbar[brighttext] .tab-icon-sound[soundplaying],
+#TabsToolbar[brighttext] .tab-icon-sound[blocked],
+#TabsToolbar[brighttext] .tab-icon-sound[muted] {
+ filter: invert(1);
+}
+
+.tab-icon-sound[soundplaying-scheduledremoval]:not([muted]):not(:hover),
+.tab-icon-overlay[soundplaying-scheduledremoval]:not([muted]):not(:hover) {
+ transition: opacity .3s linear var(--soundplaying-removal-delay);
+ opacity: 0;
+}
+
+/* Tab icon overlay */
+.tab-icon-overlay {
+ width: 16px;
+ height: 16px;
+ margin-top: -8px;
+ margin-inline-start: -15px;
+ margin-inline-end: -1px;
+ position: relative;
+}
+
+.tab-icon-overlay[soundplaying],
+.tab-icon-overlay[muted]:not([crashed]),
+.tab-icon-overlay[blocked]:not([crashed]) {
+ border-radius: 10px;
+}
+
+.tab-icon-overlay[soundplaying]:hover,
+.tab-icon-overlay[muted]:not([crashed]):hover,
+.tab-icon-overlay[blocked]:not([crashed]):hover {
+ background-color: white;
+}
+
+.tab-icon-overlay[soundplaying] {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio");
+}
+
+.tab-icon-overlay[muted] {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-muted");
+}
+
+.tab-icon-overlay[blocked] {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-blocked");
+}
+
+#TabsToolbar[brighttext] .tab-icon-overlay[soundplaying]:not([selected]):not(:hover),
+.tab-icon-overlay[soundplaying][selected]:-moz-lwtheme-brighttext:not(:hover) {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-white");
+}
+
+#TabsToolbar[brighttext] .tab-icon-overlay[muted]:not([crashed]):not([selected]):not(:hover),
+.tab-icon-overlay[muted][selected]:-moz-lwtheme-brighttext:not(:hover) {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-white-muted");
+}
+
+#TabsToolbar[brighttext] .tab-icon-overlay[blocked]:not([crashed]):not([selected]):not(:hover),
+.tab-icon-overlay[blocked][selected]:-moz-lwtheme-brighttext:not(:hover) {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-white-blocked");
+}
+
/* Tabstrip new tab button */
.tabs-newtab-button,
#TabsToolbar > #new-tab-button ,
diff --git a/application/palemoon/themes/linux/communicator/jar.mn b/application/palemoon/themes/linux/communicator/jar.mn
index dfd20c5236..612d133352 100644
--- a/application/palemoon/themes/linux/communicator/jar.mn
+++ b/application/palemoon/themes/linux/communicator/jar.mn
@@ -4,4 +4,4 @@
browser.jar:
% skin communicator classic/1.0 %skin/classic/communicator/
- skin/classic/communicator/communicator.css
+ skin/classic/communicator/communicator.css
diff --git a/application/palemoon/themes/linux/jar.mn b/application/palemoon/themes/linux/jar.mn
index 8b2e9dc77e..a79487c7f4 100644
--- a/application/palemoon/themes/linux/jar.mn
+++ b/application/palemoon/themes/linux/jar.mn
@@ -59,70 +59,72 @@ browser.jar:
skin/classic/browser/webRTC-shareDevice-64.png
skin/classic/browser/webRTC-sharingDevice-16.png
#endif
- skin/classic/browser/downloads/buttons.png (downloads/buttons.png)
- skin/classic/browser/downloads/download-glow.png (downloads/download-glow.png)
- skin/classic/browser/downloads/download-glow-small.png (downloads/download-glow-small.png)
- skin/classic/browser/downloads/download-notification-finish.png (downloads/download-notification-finish.png)
- skin/classic/browser/downloads/download-notification-start.png (downloads/download-notification-start.png)
- skin/classic/browser/downloads/download-summary.png (downloads/download-summary.png)
- skin/classic/browser/downloads/downloads.css (downloads/downloads.css)
- skin/classic/browser/downloads/allDownloadsViewOverlay.css (downloads/allDownloadsViewOverlay.css)
- skin/classic/browser/downloads/contentAreaDownloadsView.css (downloads/contentAreaDownloadsView.css)
- skin/classic/browser/feeds/feedIcon.png (feeds/feedIcon.png)
- skin/classic/browser/feeds/feedIcon16.png (feeds/feedIcon16.png)
- skin/classic/browser/feeds/videoFeedIcon.png (feeds/feedIcon.png)
- skin/classic/browser/feeds/videoFeedIcon16.png (feeds/feedIcon16.png)
- skin/classic/browser/feeds/audioFeedIcon.png (feeds/feedIcon.png)
- skin/classic/browser/feeds/audioFeedIcon16.png (feeds/feedIcon16.png)
- skin/classic/browser/feeds/subscribe.css (feeds/subscribe.css)
- skin/classic/browser/feeds/subscribe-ui.css (feeds/subscribe-ui.css)
-* skin/classic/browser/newtab/newTab.css (newtab/newTab.css)
- skin/classic/browser/newtab/controls.png (../shared/newtab/controls.png)
- skin/classic/browser/newtab/noise.png (../shared/newtab/noise.png)
- skin/classic/browser/newtab/pinned.png (../shared/newtab/pinned.png)
- skin/classic/browser/places/bookmarksMenu.png (places/bookmarksMenu.png)
- skin/classic/browser/places/bookmarksToolbar.png (places/bookmarksToolbar.png)
- skin/classic/browser/places/calendar.png (places/calendar.png)
-* skin/classic/browser/places/editBookmarkOverlay.css (places/editBookmarkOverlay.css)
- skin/classic/browser/places/livemark-item.png (places/livemark-item.png)
- skin/classic/browser/places/pageStarred.png (places/pageStarred.png)
- skin/classic/browser/places/star-icons.png (places/star-icons.png)
- skin/classic/browser/places/starred48.png (places/starred48.png)
- skin/classic/browser/places/unstarred48.png (places/unstarred48.png)
- skin/classic/browser/places/places.css (places/places.css)
- skin/classic/browser/places/organizer.css (places/organizer.css)
- skin/classic/browser/places/organizer.xml (places/organizer.xml)
- skin/classic/browser/places/query.png (places/query.png)
- skin/classic/browser/places/starPage.png (places/starPage.png)
- skin/classic/browser/places/tag.png (places/tag.png)
- skin/classic/browser/places/toolbarDropMarker.png (places/toolbarDropMarker.png)
- skin/classic/browser/places/unsortedBookmarks.png (places/unsortedBookmarks.png)
- skin/classic/browser/places/downloads.png (places/downloads.png)
- skin/classic/browser/permissions/aboutPermissions.css (permissions/aboutPermissions.css)
- skin/classic/browser/preferences/alwaysAsk.png (preferences/alwaysAsk.png)
- skin/classic/browser/preferences/mail.png (preferences/mail.png)
- skin/classic/browser/preferences/Options.png (preferences/Options.png)
+ skin/classic/browser/downloads/buttons.png (downloads/buttons.png)
+ skin/classic/browser/downloads/download-glow.png (downloads/download-glow.png)
+ skin/classic/browser/downloads/download-glow-small.png (downloads/download-glow-small.png)
+ skin/classic/browser/downloads/download-notification-finish.png (downloads/download-notification-finish.png)
+ skin/classic/browser/downloads/download-notification-start.png (downloads/download-notification-start.png)
+ skin/classic/browser/downloads/download-summary.png (downloads/download-summary.png)
+ skin/classic/browser/downloads/downloads.css (downloads/downloads.css)
+ skin/classic/browser/downloads/allDownloadsViewOverlay.css (downloads/allDownloadsViewOverlay.css)
+ skin/classic/browser/downloads/contentAreaDownloadsView.css (downloads/contentAreaDownloadsView.css)
+ skin/classic/browser/feeds/feedIcon.png (feeds/feedIcon.png)
+ skin/classic/browser/feeds/feedIcon16.png (feeds/feedIcon16.png)
+ skin/classic/browser/feeds/videoFeedIcon.png (feeds/feedIcon.png)
+ skin/classic/browser/feeds/videoFeedIcon16.png (feeds/feedIcon16.png)
+ skin/classic/browser/feeds/audioFeedIcon.png (feeds/feedIcon.png)
+ skin/classic/browser/feeds/audioFeedIcon16.png (feeds/feedIcon16.png)
+ skin/classic/browser/feeds/subscribe.css (feeds/subscribe.css)
+ skin/classic/browser/feeds/subscribe-ui.css (feeds/subscribe-ui.css)
+* skin/classic/browser/newtab/newTab.css (newtab/newTab.css)
+ skin/classic/browser/newtab/controls.png (../shared/newtab/controls.png)
+ skin/classic/browser/newtab/noise.png (../shared/newtab/noise.png)
+ skin/classic/browser/newtab/pinned.png (../shared/newtab/pinned.png)
+ skin/classic/browser/places/bookmarksMenu.png (places/bookmarksMenu.png)
+ skin/classic/browser/places/bookmarksToolbar.png (places/bookmarksToolbar.png)
+ skin/classic/browser/places/calendar.png (places/calendar.png)
+* skin/classic/browser/places/editBookmarkOverlay.css (places/editBookmarkOverlay.css)
+ skin/classic/browser/places/livemark-item.png (places/livemark-item.png)
+ skin/classic/browser/places/pageStarred.png (places/pageStarred.png)
+ skin/classic/browser/places/star-icons.png (places/star-icons.png)
+ skin/classic/browser/places/starred48.png (places/starred48.png)
+ skin/classic/browser/places/unstarred48.png (places/unstarred48.png)
+ skin/classic/browser/places/places.css (places/places.css)
+ skin/classic/browser/places/organizer.css (places/organizer.css)
+ skin/classic/browser/places/organizer.xml (places/organizer.xml)
+ skin/classic/browser/places/query.png (places/query.png)
+ skin/classic/browser/places/starPage.png (places/starPage.png)
+ skin/classic/browser/places/tag.png (places/tag.png)
+ skin/classic/browser/places/toolbarDropMarker.png (places/toolbarDropMarker.png)
+ skin/classic/browser/places/unsortedBookmarks.png (places/unsortedBookmarks.png)
+ skin/classic/browser/places/downloads.png (places/downloads.png)
+ skin/classic/browser/permissions/aboutPermissions.css (permissions/aboutPermissions.css)
+ skin/classic/browser/preferences/alwaysAsk.png (preferences/alwaysAsk.png)
+ skin/classic/browser/preferences/mail.png (preferences/mail.png)
+ skin/classic/browser/preferences/Options.png (preferences/Options.png)
#ifdef MOZ_SERVICES_SYNC
- skin/classic/browser/preferences/Options-sync.png (preferences/Options-sync.png)
+ skin/classic/browser/preferences/Options-sync.png (preferences/Options-sync.png)
#endif
-* skin/classic/browser/preferences/preferences.css (preferences/preferences.css)
- skin/classic/browser/preferences/applications.css (preferences/applications.css)
+* skin/classic/browser/preferences/preferences.css (preferences/preferences.css)
+ skin/classic/browser/preferences/applications.css (preferences/applications.css)
#ifdef MOZ_BROWSER_STATUSBAR
- skin/classic/browser/statusbar/dynamic.css (../shared/statusbar/dynamic.css)
-* skin/classic/browser/statusbar/overlay.css (statusbar/overlay.css)
-* skin/classic/browser/statusbar/prefs.css (statusbar/prefs.css)
- skin/classic/browser/statusbar/pulse.png (../shared/statusbar/pulse.png)
- skin/classic/browser/statusbar/pms16.png (../shared/statusbar/pms16.png)
- skin/classic/browser/statusbar/pms24.png (../shared/statusbar/pms24.png)
- skin/classic/browser/statusbar/throbber-idle.png (../shared/statusbar/throbber-idle.png)
- skin/classic/browser/statusbar/throbberStatic.png (../shared/statusbar/throbberStatic.png)
+ skin/classic/browser/statusbar/dynamic.css (../shared/statusbar/dynamic.css)
+* skin/classic/browser/statusbar/overlay.css (statusbar/overlay.css)
+* skin/classic/browser/statusbar/prefs.css (statusbar/prefs.css)
+ skin/classic/browser/statusbar/pulse.png (../shared/statusbar/pulse.png)
+ skin/classic/browser/statusbar/pms16.png (../shared/statusbar/pms16.png)
+ skin/classic/browser/statusbar/pms24.png (../shared/statusbar/pms24.png)
+ skin/classic/browser/statusbar/throbber-idle.png (../shared/statusbar/throbber-idle.png)
+ skin/classic/browser/statusbar/throbberStatic.png (../shared/statusbar/throbberStatic.png)
#endif
- skin/classic/browser/tabbrowser/alltabs.png (tabbrowser/alltabs.png)
- skin/classic/browser/tabbrowser/connecting.png (tabbrowser/connecting.png)
- skin/classic/browser/tabbrowser/loading.png (tabbrowser/loading.png)
- skin/classic/browser/tabbrowser/tab.png (tabbrowser/tab.png)
- skin/classic/browser/tabbrowser/tab-overflow-border.png (tabbrowser/tab-overflow-border.png)
- skin/classic/browser/tabbrowser/tabDragIndicator.png (tabbrowser/tabDragIndicator.png)
+ skin/classic/browser/tabbrowser/alltabs.png (tabbrowser/alltabs.png)
+ skin/classic/browser/tabbrowser/connecting.png (tabbrowser/connecting.png)
+ skin/classic/browser/tabbrowser/loading.png (tabbrowser/loading.png)
+ skin/classic/browser/tabbrowser/tab.png (tabbrowser/tab.png)
+ skin/classic/browser/tabbrowser/tab-overflow-border.png (tabbrowser/tab-overflow-border.png)
+ skin/classic/browser/tabbrowser/tabDragIndicator.png (tabbrowser/tabDragIndicator.png)
+ skin/classic/browser/tabbrowser/tab-audio.svg (../shared/tabbrowser/tab-audio.svg)
+ skin/classic/browser/tabbrowser/tab-audio-small.svg (../shared/tabbrowser/tab-audio-small.svg)
#ifdef MOZ_SERVICES_SYNC
skin/classic/browser/sync-16-throbber.png
skin/classic/browser/sync-16.png
@@ -137,6 +139,6 @@ browser.jar:
skin/classic/browser/syncQuota.css
skin/classic/browser/syncProgress.css
#endif
- skin/classic/browser/notification-pluginNormal.png (../shared/plugins/notification-pluginNormal.png)
- skin/classic/browser/notification-pluginAlert.png (../shared/plugins/notification-pluginAlert.png)
- skin/classic/browser/notification-pluginBlocked.png (../shared/plugins/notification-pluginBlocked.png)
+ skin/classic/browser/notification-pluginNormal.png (../shared/plugins/notification-pluginNormal.png)
+ skin/classic/browser/notification-pluginAlert.png (../shared/plugins/notification-pluginAlert.png)
+ skin/classic/browser/notification-pluginBlocked.png (../shared/plugins/notification-pluginBlocked.png)
diff --git a/application/palemoon/themes/moz.build b/application/palemoon/themes/moz.build
index d82bda3efb..5040c10c15 100644
--- a/application/palemoon/themes/moz.build
+++ b/application/palemoon/themes/moz.build
@@ -12,4 +12,3 @@ elif toolkit in ('gtk2', 'gtk3', 'qt'):
DIRS += ['linux']
else:
DIRS += ['windows']
-
diff --git a/application/palemoon/themes/osx/browser.css b/application/palemoon/themes/osx/browser.css
index a915af3a3c..a7bd683bd0 100644
--- a/application/palemoon/themes/osx/browser.css
+++ b/application/palemoon/themes/osx/browser.css
@@ -1821,6 +1821,90 @@ richlistitem[type~="action"][actiontype="switchtab"][selected="true"] > .ac-url-
}
}
+/* Tab sound indicator */
+.tab-icon-sound {
+ -moz-margin-start: 4px;
+ width: 16px;
+ height: 16px;
+ padding: 0;
+}
+
+.allTabs-endimage[soundplaying],
+.tab-icon-sound[soundplaying] {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio.svg#tab-audio");
+}
+
+.allTabs-endimage[muted],
+.tab-icon-sound[muted] {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio.svg#tab-audio-muted");
+}
+
+.allTabs-endimage[blocked],
+.tab-icon-sound[blocked] {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio.svg#tab-audio-blocked");
+}
+
+#TabsToolbar[brighttext] .tab-icon-sound[soundplaying],
+#TabsToolbar[brighttext] .tab-icon-sound[blocked],
+#TabsToolbar[brighttext] .tab-icon-sound[muted] {
+ filter: invert(1);
+}
+
+.tab-icon-sound[soundplaying-scheduledremoval]:not([muted]):not(:hover),
+.tab-icon-overlay[soundplaying-scheduledremoval]:not([muted]):not(:hover) {
+ transition: opacity .3s linear var(--soundplaying-removal-delay);
+ opacity: 0;
+}
+
+/* Tab icon overlay */
+.tab-icon-overlay {
+ width: 16px;
+ height: 16px;
+ margin-top: -8px;
+ margin-inline-start: -15px;
+ margin-inline-end: -1px;
+ position: relative;
+}
+
+.tab-icon-overlay[soundplaying],
+.tab-icon-overlay[muted]:not([crashed]),
+.tab-icon-overlay[blocked]:not([crashed]) {
+ border-radius: 10px;
+}
+
+.tab-icon-overlay[soundplaying]:hover,
+.tab-icon-overlay[muted]:not([crashed]):hover,
+.tab-icon-overlay[blocked]:not([crashed]):hover {
+ background-color: white;
+}
+
+.tab-icon-overlay[soundplaying] {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio");
+}
+
+.tab-icon-overlay[muted] {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-muted");
+}
+
+.tab-icon-overlay[blocked] {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-blocked");
+}
+
+#TabsToolbar[brighttext] .tab-icon-overlay[soundplaying]:not([selected]):not(:hover),
+.tab-icon-overlay[soundplaying][selected]:-moz-lwtheme-brighttext:not(:hover) {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-white");
+}
+
+#TabsToolbar[brighttext] .tab-icon-overlay[muted]:not([crashed]):not([selected]):not(:hover),
+.tab-icon-overlay[muted][selected]:-moz-lwtheme-brighttext:not(:hover) {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-white-muted");
+}
+
+#TabsToolbar[brighttext] .tab-icon-overlay[blocked]:not([crashed]):not([selected]):not(:hover),
+.tab-icon-overlay[blocked][selected]:-moz-lwtheme-brighttext:not(:hover) {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-white-blocked");
+}
+
/* Tab scrollbox arrow, tabstrip new tab and all-tabs buttons */
.tabbrowser-arrowscrollbox > .scrollbutton-up,
diff --git a/application/palemoon/themes/osx/communicator/jar.mn b/application/palemoon/themes/osx/communicator/jar.mn
index dfd20c5236..612d133352 100644
--- a/application/palemoon/themes/osx/communicator/jar.mn
+++ b/application/palemoon/themes/osx/communicator/jar.mn
@@ -4,4 +4,4 @@
browser.jar:
% skin communicator classic/1.0 %skin/classic/communicator/
- skin/classic/communicator/communicator.css
+ skin/classic/communicator/communicator.css
diff --git a/application/palemoon/themes/osx/jar.mn b/application/palemoon/themes/osx/jar.mn
index a665639894..c59fb1c725 100644
--- a/application/palemoon/themes/osx/jar.mn
+++ b/application/palemoon/themes/osx/jar.mn
@@ -4,178 +4,180 @@
browser.jar:
% skin browser classic/1.0 %skin/classic/browser/
- skin/classic/browser/sanitizeDialog.css
-* skin/classic/browser/aboutPrivateBrowsing.css
-* skin/classic/browser/aboutSessionRestore.css
- skin/classic/browser/aboutSessionRestore-window-icon.png (preferences/application.png)
- skin/classic/browser/aboutCertError.css
- skin/classic/browser/aboutCertError_sectionCollapsed.png
- skin/classic/browser/aboutCertError_sectionCollapsed-rtl.png
- skin/classic/browser/aboutCertError_sectionExpanded.png
+ skin/classic/browser/sanitizeDialog.css
+* skin/classic/browser/aboutPrivateBrowsing.css
+* skin/classic/browser/aboutSessionRestore.css
+ skin/classic/browser/aboutSessionRestore-window-icon.png (preferences/application.png)
+ skin/classic/browser/aboutCertError.css
+ skin/classic/browser/aboutCertError_sectionCollapsed.png
+ skin/classic/browser/aboutCertError_sectionCollapsed-rtl.png
+ skin/classic/browser/aboutCertError_sectionExpanded.png
#ifdef MOZ_SERVICES_SYNC
- skin/classic/browser/aboutSyncTabs.css
+ skin/classic/browser/aboutSyncTabs.css
#endif
-* skin/classic/browser/autocomplete.css
- skin/classic/browser/actionicon-tab.png
- skin/classic/browser/appmenu-icons.png
- skin/classic/browser/appmenu-dropmarker.png
-* skin/classic/browser/browser.css
- skin/classic/browser/click-to-play-warning-stripes.png
-* skin/classic/browser/engineManager.css
- skin/classic/browser/Geolocation-16.png
- skin/classic/browser/Geolocation-64.png
- skin/classic/browser/Info.png
- skin/classic/browser/identity.png
- skin/classic/browser/imagedocument.png
- skin/classic/browser/identity-icons-generic.png
- skin/classic/browser/identity-icons-https.png
- skin/classic/browser/identity-icons-https-ev.png
- skin/classic/browser/identity-icons-https-mixed-active.png
- skin/classic/browser/keyhole-forward-mask.svg
- skin/classic/browser/KUI-background.png
- skin/classic/browser/KUI-close.png
- skin/classic/browser/livemark-folder.png
- skin/classic/browser/menu-back.png
- skin/classic/browser/menu-forward.png
- skin/classic/browser/mixed-content-blocked-16.png
- skin/classic/browser/mixed-content-blocked-64.png
- skin/classic/browser/monitor.png
- skin/classic/browser/monitor_16-10.png
+* skin/classic/browser/autocomplete.css
+ skin/classic/browser/actionicon-tab.png
+ skin/classic/browser/appmenu-icons.png
+ skin/classic/browser/appmenu-dropmarker.png
+* skin/classic/browser/browser.css
+ skin/classic/browser/click-to-play-warning-stripes.png
+* skin/classic/browser/engineManager.css
+ skin/classic/browser/Geolocation-16.png
+ skin/classic/browser/Geolocation-64.png
+ skin/classic/browser/Info.png
+ skin/classic/browser/identity.png
+ skin/classic/browser/imagedocument.png
+ skin/classic/browser/identity-icons-generic.png
+ skin/classic/browser/identity-icons-https.png
+ skin/classic/browser/identity-icons-https-ev.png
+ skin/classic/browser/identity-icons-https-mixed-active.png
+ skin/classic/browser/keyhole-forward-mask.svg
+ skin/classic/browser/KUI-background.png
+ skin/classic/browser/KUI-close.png
+ skin/classic/browser/livemark-folder.png
+ skin/classic/browser/menu-back.png
+ skin/classic/browser/menu-forward.png
+ skin/classic/browser/mixed-content-blocked-16.png
+ skin/classic/browser/mixed-content-blocked-64.png
+ skin/classic/browser/monitor.png
+ skin/classic/browser/monitor_16-10.png
skin/classic/browser/panel-expander-closed.png
skin/classic/browser/panel-expander-closed@2x.png
skin/classic/browser/panel-expander-open.png
skin/classic/browser/panel-expander-open@2x.png
skin/classic/browser/panel-plus-sign.png
- skin/classic/browser/pageInfo.css
- skin/classic/browser/pageInfo.png
- skin/classic/browser/page-livemarks.png
- skin/classic/browser/page-livemarks@2x.png
- skin/classic/browser/pointerLock-16.png
- skin/classic/browser/pointerLock-64.png
- skin/classic/browser/Privacy-16.png
- skin/classic/browser/Privacy-32.png
- skin/classic/browser/Privacy-48.png
+ skin/classic/browser/pageInfo.css
+ skin/classic/browser/pageInfo.png
+ skin/classic/browser/page-livemarks.png
+ skin/classic/browser/page-livemarks@2x.png
+ skin/classic/browser/pointerLock-16.png
+ skin/classic/browser/pointerLock-64.png
+ skin/classic/browser/Privacy-16.png
+ skin/classic/browser/Privacy-32.png
+ skin/classic/browser/Privacy-48.png
skin/classic/browser/privatebrowsing-mask.png
skin/classic/browser/privatebrowsing-mask@2x.png
- skin/classic/browser/privatebrowsing-light.png
- skin/classic/browser/privatebrowsing-dark.png
- skin/classic/browser/reload-stop-go.png
- skin/classic/browser/Search-glass.png
- skin/classic/browser/searchbar.css
- skin/classic/browser/searchbar-dropdown-arrow.png
- skin/classic/browser/Secure24.png
- skin/classic/browser/setDesktopBackground.css
- skin/classic/browser/slowStartup-16.png
- skin/classic/browser/Toolbar.png
- skin/classic/browser/Toolbar-inverted.png
- skin/classic/browser/toolbarbutton-dropdown-arrow.png
- skin/classic/browser/toolbarbutton-dropdown-arrow-inverted.png
- skin/classic/browser/urlbar-arrow.png
- skin/classic/browser/urlbar-popup-blocked.png
- skin/classic/browser/urlbar-history-dropmarker.png
- skin/classic/browser/web-notifications-icon.svg
- skin/classic/browser/web-notifications-tray.svg
- skin/classic/browser/notification-pluginNormal.png (../shared/plugins/notification-pluginNormal.png)
- skin/classic/browser/notification-pluginAlert.png (../shared/plugins/notification-pluginAlert.png)
- skin/classic/browser/notification-pluginBlocked.png (../shared/plugins/notification-pluginBlocked.png)
+ skin/classic/browser/privatebrowsing-light.png
+ skin/classic/browser/privatebrowsing-dark.png
+ skin/classic/browser/reload-stop-go.png
+ skin/classic/browser/Search-glass.png
+ skin/classic/browser/searchbar.css
+ skin/classic/browser/searchbar-dropdown-arrow.png
+ skin/classic/browser/Secure24.png
+ skin/classic/browser/setDesktopBackground.css
+ skin/classic/browser/slowStartup-16.png
+ skin/classic/browser/Toolbar.png
+ skin/classic/browser/Toolbar-inverted.png
+ skin/classic/browser/toolbarbutton-dropdown-arrow.png
+ skin/classic/browser/toolbarbutton-dropdown-arrow-inverted.png
+ skin/classic/browser/urlbar-arrow.png
+ skin/classic/browser/urlbar-popup-blocked.png
+ skin/classic/browser/urlbar-history-dropmarker.png
+ skin/classic/browser/web-notifications-icon.svg
+ skin/classic/browser/web-notifications-tray.svg
+ skin/classic/browser/notification-pluginNormal.png (../shared/plugins/notification-pluginNormal.png)
+ skin/classic/browser/notification-pluginAlert.png (../shared/plugins/notification-pluginAlert.png)
+ skin/classic/browser/notification-pluginBlocked.png (../shared/plugins/notification-pluginBlocked.png)
#ifdef MOZ_WEBRTC
- skin/classic/browser/webRTC-shareDevice-16.png
- skin/classic/browser/webRTC-shareDevice-64.png
- skin/classic/browser/webRTC-sharingDevice-16.png
+ skin/classic/browser/webRTC-shareDevice-16.png
+ skin/classic/browser/webRTC-shareDevice-64.png
+ skin/classic/browser/webRTC-sharingDevice-16.png
#endif
- skin/classic/browser/downloads/buttons.png (downloads/buttons.png)
- skin/classic/browser/downloads/download-glow.png (downloads/download-glow.png)
- skin/classic/browser/downloads/download-notification-finish.png (downloads/download-notification-finish.png)
- skin/classic/browser/downloads/download-notification-start.png (downloads/download-notification-start.png)
- skin/classic/browser/downloads/download-summary.png (downloads/download-summary.png)
-* skin/classic/browser/downloads/downloads.css (downloads/downloads.css)
-* skin/classic/browser/downloads/allDownloadsViewOverlay.css (downloads/allDownloadsViewOverlay.css)
- skin/classic/browser/downloads/contentAreaDownloadsView.css (downloads/contentAreaDownloadsView.css)
- skin/classic/browser/feeds/feedIcon.png (feeds/feedIcon.png)
- skin/classic/browser/feeds/feedIcon16.png (feeds/feedIcon16.png)
- skin/classic/browser/feeds/feed-icons-16.png (feeds/feed-icons-16.png)
- skin/classic/browser/feeds/audioFeedIcon.png (feeds/feedIcon.png)
- skin/classic/browser/feeds/audioFeedIcon16.png (feeds/feedIcon16.png)
- skin/classic/browser/feeds/videoFeedIcon.png (feeds/feedIcon.png)
- skin/classic/browser/feeds/videoFeedIcon16.png (feeds/feedIcon16.png)
- skin/classic/browser/feeds/subscribe.css (feeds/subscribe.css)
- skin/classic/browser/feeds/subscribe-ui.css (feeds/subscribe-ui.css)
-* skin/classic/browser/newtab/newTab.css (newtab/newTab.css)
- skin/classic/browser/newtab/controls.png (../shared/newtab/controls.png)
- skin/classic/browser/newtab/noise.png (../shared/newtab/noise.png)
- skin/classic/browser/newtab/pinned.png (../shared/newtab/pinned.png)
- skin/classic/browser/places/places.css (places/places.css)
-* skin/classic/browser/places/organizer.css (places/organizer.css)
- skin/classic/browser/places/editBookmark.png (places/editBookmark.png)
- skin/classic/browser/places/bookmark.png (places/bookmark.png)
- skin/classic/browser/places/query.png (places/query.png)
- skin/classic/browser/places/query@2x.png (places/query@2x.png)
- skin/classic/browser/places/bookmarksMenu.png (places/bookmarksMenu.png)
- skin/classic/browser/places/bookmarksToolbar.png (places/bookmarksToolbar.png)
- skin/classic/browser/places/bookmarksToolbar@2x.png (places/bookmarksToolbar@2x.png)
- skin/classic/browser/places/calendar.png (places/calendar.png)
- skin/classic/browser/places/folderDropArrow.png (places/folderDropArrow.png)
- skin/classic/browser/places/folderDropArrow@2x.png (places/folderDropArrow@2x.png)
- skin/classic/browser/places/toolbarDropMarker.png (places/toolbarDropMarker.png)
- skin/classic/browser/places/editBookmarkOverlay.css (places/editBookmarkOverlay.css)
- skin/classic/browser/places/libraryToolbar.png (places/libraryToolbar.png)
- skin/classic/browser/places/starred48.png (places/starred48.png)
- skin/classic/browser/places/unstarred48.png (places/unstarred48.png)
- skin/classic/browser/places/unfiledBookmarks.png (places/unfiledBookmarks.png)
- skin/classic/browser/places/unfiledBookmarks@2x.png (places/unfiledBookmarks@2x.png)
- skin/classic/browser/places/tag.png (places/tag.png)
- skin/classic/browser/places/tag@2x.png (places/tag@2x.png)
- skin/classic/browser/places/history.png (places/history.png)
- skin/classic/browser/places/history@2x.png (places/history@2x.png)
- skin/classic/browser/places/allBookmarks.png (places/allBookmarks.png)
- skin/classic/browser/places/unsortedBookmarks.png (places/unsortedBookmarks.png)
- skin/classic/browser/places/downloads.png (places/downloads.png)
- skin/classic/browser/places/expander-closed-active.png (places/expander-closed-active.png)
- skin/classic/browser/places/expander-open-active.png (places/expander-open-active.png)
- skin/classic/browser/places/livemark-item.png (places/livemark-item.png)
- skin/classic/browser/places/expander-closed.png (places/expander-closed.png)
- skin/classic/browser/places/expander-open.png (places/expander-open.png)
- skin/classic/browser/permissions/aboutPermissions.css (permissions/aboutPermissions.css)
- skin/classic/browser/preferences/alwaysAsk.png (preferences/alwaysAsk.png)
- skin/classic/browser/preferences/application.png (preferences/application.png)
- skin/classic/browser/preferences/mail.png (preferences/mail.png)
- skin/classic/browser/preferences/Options.png (preferences/Options.png)
+ skin/classic/browser/downloads/buttons.png (downloads/buttons.png)
+ skin/classic/browser/downloads/download-glow.png (downloads/download-glow.png)
+ skin/classic/browser/downloads/download-notification-finish.png (downloads/download-notification-finish.png)
+ skin/classic/browser/downloads/download-notification-start.png (downloads/download-notification-start.png)
+ skin/classic/browser/downloads/download-summary.png (downloads/download-summary.png)
+* skin/classic/browser/downloads/downloads.css (downloads/downloads.css)
+* skin/classic/browser/downloads/allDownloadsViewOverlay.css (downloads/allDownloadsViewOverlay.css)
+ skin/classic/browser/downloads/contentAreaDownloadsView.css (downloads/contentAreaDownloadsView.css)
+ skin/classic/browser/feeds/feedIcon.png (feeds/feedIcon.png)
+ skin/classic/browser/feeds/feedIcon16.png (feeds/feedIcon16.png)
+ skin/classic/browser/feeds/feed-icons-16.png (feeds/feed-icons-16.png)
+ skin/classic/browser/feeds/audioFeedIcon.png (feeds/feedIcon.png)
+ skin/classic/browser/feeds/audioFeedIcon16.png (feeds/feedIcon16.png)
+ skin/classic/browser/feeds/videoFeedIcon.png (feeds/feedIcon.png)
+ skin/classic/browser/feeds/videoFeedIcon16.png (feeds/feedIcon16.png)
+ skin/classic/browser/feeds/subscribe.css (feeds/subscribe.css)
+ skin/classic/browser/feeds/subscribe-ui.css (feeds/subscribe-ui.css)
+* skin/classic/browser/newtab/newTab.css (newtab/newTab.css)
+ skin/classic/browser/newtab/controls.png (../shared/newtab/controls.png)
+ skin/classic/browser/newtab/noise.png (../shared/newtab/noise.png)
+ skin/classic/browser/newtab/pinned.png (../shared/newtab/pinned.png)
+ skin/classic/browser/places/places.css (places/places.css)
+* skin/classic/browser/places/organizer.css (places/organizer.css)
+ skin/classic/browser/places/editBookmark.png (places/editBookmark.png)
+ skin/classic/browser/places/bookmark.png (places/bookmark.png)
+ skin/classic/browser/places/query.png (places/query.png)
+ skin/classic/browser/places/query@2x.png (places/query@2x.png)
+ skin/classic/browser/places/bookmarksMenu.png (places/bookmarksMenu.png)
+ skin/classic/browser/places/bookmarksToolbar.png (places/bookmarksToolbar.png)
+ skin/classic/browser/places/bookmarksToolbar@2x.png (places/bookmarksToolbar@2x.png)
+ skin/classic/browser/places/calendar.png (places/calendar.png)
+ skin/classic/browser/places/folderDropArrow.png (places/folderDropArrow.png)
+ skin/classic/browser/places/folderDropArrow@2x.png (places/folderDropArrow@2x.png)
+ skin/classic/browser/places/toolbarDropMarker.png (places/toolbarDropMarker.png)
+ skin/classic/browser/places/editBookmarkOverlay.css (places/editBookmarkOverlay.css)
+ skin/classic/browser/places/libraryToolbar.png (places/libraryToolbar.png)
+ skin/classic/browser/places/starred48.png (places/starred48.png)
+ skin/classic/browser/places/unstarred48.png (places/unstarred48.png)
+ skin/classic/browser/places/unfiledBookmarks.png (places/unfiledBookmarks.png)
+ skin/classic/browser/places/unfiledBookmarks@2x.png (places/unfiledBookmarks@2x.png)
+ skin/classic/browser/places/tag.png (places/tag.png)
+ skin/classic/browser/places/tag@2x.png (places/tag@2x.png)
+ skin/classic/browser/places/history.png (places/history.png)
+ skin/classic/browser/places/history@2x.png (places/history@2x.png)
+ skin/classic/browser/places/allBookmarks.png (places/allBookmarks.png)
+ skin/classic/browser/places/unsortedBookmarks.png (places/unsortedBookmarks.png)
+ skin/classic/browser/places/downloads.png (places/downloads.png)
+ skin/classic/browser/places/expander-closed-active.png (places/expander-closed-active.png)
+ skin/classic/browser/places/expander-open-active.png (places/expander-open-active.png)
+ skin/classic/browser/places/livemark-item.png (places/livemark-item.png)
+ skin/classic/browser/places/expander-closed.png (places/expander-closed.png)
+ skin/classic/browser/places/expander-open.png (places/expander-open.png)
+ skin/classic/browser/permissions/aboutPermissions.css (permissions/aboutPermissions.css)
+ skin/classic/browser/preferences/alwaysAsk.png (preferences/alwaysAsk.png)
+ skin/classic/browser/preferences/application.png (preferences/application.png)
+ skin/classic/browser/preferences/mail.png (preferences/mail.png)
+ skin/classic/browser/preferences/Options.png (preferences/Options.png)
#ifdef MOZ_SERVICES_SYNC
- skin/classic/browser/preferences/Options-sync.png (preferences/Options-sync.png)
+ skin/classic/browser/preferences/Options-sync.png (preferences/Options-sync.png)
#endif
- skin/classic/browser/preferences/saveFile.png (preferences/saveFile.png)
-* skin/classic/browser/preferences/preferences.css (preferences/preferences.css)
- skin/classic/browser/preferences/applications.css (preferences/applications.css)
+ skin/classic/browser/preferences/saveFile.png (preferences/saveFile.png)
+* skin/classic/browser/preferences/preferences.css (preferences/preferences.css)
+ skin/classic/browser/preferences/applications.css (preferences/applications.css)
#ifdef MOZ_BROWSER_STATUSBAR
- skin/classic/browser/statusbar/dynamic.css (../shared/statusbar/dynamic.css)
-* skin/classic/browser/statusbar/overlay.css (statusbar/overlay.css)
-* skin/classic/browser/statusbar/prefs.css (statusbar/prefs.css)
- skin/classic/browser/statusbar/pulse.png (../shared/statusbar/pulse.png)
- skin/classic/browser/statusbar/pms16.png (../shared/statusbar/pms16.png)
- skin/classic/browser/statusbar/pms24.png (../shared/statusbar/pms24.png)
- skin/classic/browser/statusbar/throbber-idle.png (../shared/statusbar/throbber-idle.png)
- skin/classic/browser/statusbar/throbberStatic.png (../shared/statusbar/throbberStatic.png)
+ skin/classic/browser/statusbar/dynamic.css (../shared/statusbar/dynamic.css)
+* skin/classic/browser/statusbar/overlay.css (statusbar/overlay.css)
+* skin/classic/browser/statusbar/prefs.css (statusbar/prefs.css)
+ skin/classic/browser/statusbar/pulse.png (../shared/statusbar/pulse.png)
+ skin/classic/browser/statusbar/pms16.png (../shared/statusbar/pms16.png)
+ skin/classic/browser/statusbar/pms24.png (../shared/statusbar/pms24.png)
+ skin/classic/browser/statusbar/throbber-idle.png (../shared/statusbar/throbber-idle.png)
+ skin/classic/browser/statusbar/throbberStatic.png (../shared/statusbar/throbberStatic.png)
#endif
- skin/classic/browser/tabbrowser/alltabs.png (tabbrowser/alltabs.png)
- skin/classic/browser/tabbrowser/alltabs-inverted.png (tabbrowser/alltabs-inverted.png)
- skin/classic/browser/tabbrowser/newtab.png (tabbrowser/newtab.png)
- skin/classic/browser/tabbrowser/newtab-inverted.png (tabbrowser/newtab-inverted.png)
- skin/classic/browser/tabbrowser/connecting.png (tabbrowser/connecting.png)
- skin/classic/browser/tabbrowser/loading.png (tabbrowser/loading.png)
- skin/classic/browser/tabbrowser/tab-arrow-left.png (tabbrowser/tab-arrow-left.png)
- skin/classic/browser/tabbrowser/tab-arrow-left-inverted.png (tabbrowser/tab-arrow-left-inverted.png)
- skin/classic/browser/tabbrowser/tab-overflow-border.png (tabbrowser/tab-overflow-border.png)
- skin/classic/browser/tabbrowser/tabDragIndicator.png (tabbrowser/tabDragIndicator.png)
+ skin/classic/browser/tabbrowser/alltabs.png (tabbrowser/alltabs.png)
+ skin/classic/browser/tabbrowser/alltabs-inverted.png (tabbrowser/alltabs-inverted.png)
+ skin/classic/browser/tabbrowser/newtab.png (tabbrowser/newtab.png)
+ skin/classic/browser/tabbrowser/newtab-inverted.png (tabbrowser/newtab-inverted.png)
+ skin/classic/browser/tabbrowser/connecting.png (tabbrowser/connecting.png)
+ skin/classic/browser/tabbrowser/loading.png (tabbrowser/loading.png)
+ skin/classic/browser/tabbrowser/tab-arrow-left.png (tabbrowser/tab-arrow-left.png)
+ skin/classic/browser/tabbrowser/tab-arrow-left-inverted.png (tabbrowser/tab-arrow-left-inverted.png)
+ skin/classic/browser/tabbrowser/tab-overflow-border.png (tabbrowser/tab-overflow-border.png)
+ skin/classic/browser/tabbrowser/tabDragIndicator.png (tabbrowser/tabDragIndicator.png)
+ skin/classic/browser/tabbrowser/tab-audio.svg (../shared/tabbrowser/tab-audio.svg)
+ skin/classic/browser/tabbrowser/tab-audio-small.svg (../shared/tabbrowser/tab-audio-small.svg)
#ifdef MOZ_SERVICES_SYNC
- skin/classic/browser/sync-throbber.png
- skin/classic/browser/sync-16.png
- skin/classic/browser/sync-32.png
- skin/classic/browser/sync-128.png
- skin/classic/browser/sync-bg.png
- skin/classic/browser/sync-desktopIcon.png
- skin/classic/browser/sync-mobileIcon.png
- skin/classic/browser/syncSetup.css
- skin/classic/browser/syncCommon.css
- skin/classic/browser/syncQuota.css
- skin/classic/browser/syncProgress.css
+ skin/classic/browser/sync-throbber.png
+ skin/classic/browser/sync-16.png
+ skin/classic/browser/sync-32.png
+ skin/classic/browser/sync-128.png
+ skin/classic/browser/sync-bg.png
+ skin/classic/browser/sync-desktopIcon.png
+ skin/classic/browser/sync-mobileIcon.png
+ skin/classic/browser/syncSetup.css
+ skin/classic/browser/syncCommon.css
+ skin/classic/browser/syncQuota.css
+ skin/classic/browser/syncProgress.css
#endif
diff --git a/application/palemoon/themes/shared/tabbrowser/tab-audio-small.svg b/application/palemoon/themes/shared/tabbrowser/tab-audio-small.svg
new file mode 100644
index 0000000000..abfe712685
--- /dev/null
+++ b/application/palemoon/themes/shared/tabbrowser/tab-audio-small.svg
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+ <style>
+ .icon:not(:target) {
+ display: none;
+ }
+
+ .icon {
+ fill: #262626;
+ }
+ .icon > .outline {
+ fill: #fff;
+ }
+
+ .icon.white {
+ fill: #fff;
+ }
+ .icon.white > .outline {
+ fill: #000;
+ fill-opacity: .5;
+ }
+ </style>
+
+ <g id="tab-audio" class="icon">
+ <path class="outline" d="M12.4,3.6l-1-0.6l-0.9,2.5H10V1.8c0-0.4-0.5-0.7-0.9-0.4L5.6,5H4C2.9,5,2,5.9,2,7v2c0,1.1,0.9,2,2,2h1.6l3.6,3.6 c0.3,0.3,0.9,0.1,0.9-0.4v-3.7h0.5l0.9,2.5l1-0.6C14,11.5,15,9.8,15,8S14,4.5,12.4,3.6z M9,13l-3-3H4c-0.6,0-1-0.4-1-1V7 c0-0.6,0.4-1,1-1h2l3-3V13z M10,9.5v-3c0.8,0,1.5,0.7,1.5,1.5S10.8,9.5,10,9.5z M11.9,11.5l-0.4-0.9C12.4,10,13,9.1,13,8 s-0.6-2-1.4-2.5l0.3-1C13.2,5.2,14,6.5,14,8S13.2,10.8,11.9,11.5z"/>
+ <path d="M4,6C3.4,6,3,6.4,3,7v2c0,0.6,0.4,1,1,1h2l3,3V3L6,6H4z M10,6.5v3c0.8,0,1.5-0.7,1.5-1.5S10.8,6.5,10,6.5z M11.9,4.5 l-0.4,0.9C12.4,6,13,6.9,13,8s-0.6,2-1.4,2.5l0.4,0.9c1.2-0.7,2.1-2,2.1-3.5S13.2,5.2,11.9,4.5z"/>
+ </g>
+ <g id="tab-audio-muted" class="icon">
+ <path class="outline" d="M5.6,5H4C2.9,5,2,5.9,2,7v2c0,0.7,0.3,1.3,0.9,1.7l-1.8,1.8l2.5,2.5l3-3l2.6,2.6c0.3,0.3,0.9,0.1,0.9-0.4V8.5l3.9-3.9 l-2.5-2.5L10,3.5V1.8c0-0.4-0.5-0.7-0.9-0.4L5.6,5z"/>
+ <path d="M11.5,3.5L9,5.9V3L6,6H4C3.4,6,3,6.4,3,7v2c0,0.6,0.4,1,1,1h0.9l-2.5,2.5l1.1,1.1l9-9L11.5,3.5z M9,13V9.7l-1.7,1.7L9,13z"/>
+ </g>
+
+ <g id="tab-audio-white" class="icon white">
+ <path class="outline" d="M12.4,3.6l-1-0.6l-0.9,2.5H10V1.8c0-0.4-0.5-0.7-0.9-0.4L5.6,5H4C2.9,5,2,5.9,2,7v2c0,1.1,0.9,2,2,2h1.6l3.6,3.6 c0.3,0.3,0.9,0.1,0.9-0.4v-3.7h0.5l0.9,2.5l1-0.6C14,11.5,15,9.8,15,8S14,4.5,12.4,3.6z M9,13l-3-3H4c-0.6,0-1-0.4-1-1V7 c0-0.6,0.4-1,1-1h2l3-3V13z M10,9.5v-3c0.8,0,1.5,0.7,1.5,1.5S10.8,9.5,10,9.5z M11.9,11.5l-0.4-0.9C12.4,10,13,9.1,13,8 s-0.6-2-1.4-2.5l0.3-1C13.2,5.2,14,6.5,14,8S13.2,10.8,11.9,11.5z"/>
+ <path d="M4,6C3.4,6,3,6.4,3,7v2c0,0.6,0.4,1,1,1h2l3,3V3L6,6H4z M10,6.5v3c0.8,0,1.5-0.7,1.5-1.5S10.8,6.5,10,6.5z M11.9,4.5 l-0.4,0.9C12.4,6,13,6.9,13,8s-0.6,2-1.4,2.5l0.4,0.9c1.2-0.7,2.1-2,2.1-3.5S13.2,5.2,11.9,4.5z"/>
+ </g>
+ <g id="tab-audio-white-muted" class="icon white">
+ <path class="outline" d="M5.6,5H4C2.9,5,2,5.9,2,7v2c0,0.7,0.3,1.3,0.9,1.7l-1.8,1.8l2.5,2.5l3-3l2.6,2.6c0.3,0.3,0.9,0.1,0.9-0.4V8.5l3.9-3.9 l-2.5-2.5L10,3.5V1.8c0-0.4-0.5-0.7-0.9-0.4L5.6,5z"/>
+ <path d="M11.5,3.5L9,5.9V3L6,6H4C3.4,6,3,6.4,3,7v2c0,0.6,0.4,1,1,1h0.9l-2.5,2.5l1.1,1.1l9-9L11.5,3.5z M9,13V9.7l-1.7,1.7L9,13z"/>
+ </g>
+
+ <g id="tab-audio-blocked" class="icon">
+ <path class="outline" d="M8,1.2C4.3,1.2,1.2,4.3,1.2,8s3.1,6.8,6.8,6.8s6.8-3.1,6.8-6.8S11.7,1.2,8,1.2z M8,11.9
+ c-2.1,0-3.9-1.7-3.9-3.9c0-2.1,1.7-3.9,3.9-3.9s3.9,1.7,3.9,3.9C11.9,10.1,10.1,11.9,8,11.9z M11.1,7.3L6.6,4.6L5.4,3.9v1.4v5.3V12
+ l1.2-0.7L11,8.6L12.2,8L11.1,7.3z"/>
+ <path d="M8,2C4.7,2,2,4.7,2,8s2.7,6,6,6s6-2.7,6-6S11.3,2,8,2z M8,12.7c-2.6,0-4.7-2.1-4.7-4.7
+ S5.4,3.3,8,3.3s4.7,2.1,4.7,4.7S10.6,12.7,8,12.7z M10.7,8L6.2,5.3v5.4L10.7,8z"/>
+ </g>
+ <g id="tab-audio-white-blocked" class="icon">
+ <path class="outline" d="M8,0c3.3,0,6.4,2.2,7.5,5.3c1.1,3.1,0.1,6.7-2.5,8.9c-2.6,2.1-6.3,2.4-9.2,0.7
+ C1,13.1-0.5,9.8,0.1,6.5C0.9,2.8,4.2,0,8,0z"/>
+ <path d="M8,2C4.7,2,2,4.7,2,8s2.7,6,6,6s6-2.7,6-6S11.3,2,8,2z M8,12.7c-2.6,0-4.7-2.1-4.7-4.7
+ S5.4,3.3,8,3.3s4.7,2.1,4.7,4.7S10.6,12.7,8,12.7z M10.7,8L6.2,5.3v5.4L10.7,8z"/>
+ </g>
+</svg>
diff --git a/application/palemoon/themes/shared/tabbrowser/tab-audio.svg b/application/palemoon/themes/shared/tabbrowser/tab-audio.svg
new file mode 100644
index 0000000000..274e10c295
--- /dev/null
+++ b/application/palemoon/themes/shared/tabbrowser/tab-audio.svg
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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" width="16" height="16" viewBox="0 0 16 16">
+ <style>
+ path:not(:target) {
+ display: none;
+ }
+ </style>
+
+ <path id="tab-audio" d="M4,5C2.9,5,2,5.9,2,7v2c0,1.1,0.9,2,2,2h1.2L9,14V2L5.2,5H4z M11,8c0-0.6-0.4-1-1-1v2C10.6,9,11,8.6,11,8z M13,8 c0-1.4-1-2.6-2.3-2.9L10.4,6C11.3,6.2,12,7,12,8s-0.7,1.8-1.6,2l0.4,0.9C12,10.6,13,9.4,13,8z M11.4,3.2l-0.4,0.9 C12.8,4.6,14,6.2,14,8s-1.2,3.4-2.9,3.8l0.4,0.9C13.5,12.2,15,10.3,15,8S13.5,3.8,11.4,3.2z"/>
+
+ <path id="tab-audio-muted" d="M12.5,3.4L9,6.3V2L5.2,5H4C2.9,5,2,5.9,2,7v2c0,0.9,0.6,1.6,1.4,1.9l-1.9,1.5l1,1.2l11-9L12.5,3.4z M9,14v-4l-2.5,2L9,14z"/>
+
+ <path id="tab-audio-blocked" d="M8,0C3.6,0,0,3.6,0,8s3.6,8,8,8s8-3.6,8-8S12.4,0,8,0z M5.6,11.6l6-3.6l-6-3.6V11.6z M8,14.2
+ c-3.4,0-6.2-2.8-6.2-6.2S4.6,1.8,8,1.8s6.2,2.8,6.2,6.2S11.4,14.2,8,14.2z"/>
+</svg>
diff --git a/application/palemoon/themes/windows/Toolbar-glass.png b/application/palemoon/themes/windows/Toolbar-glass.png
deleted file mode 100644
index 23cc4bfaf4..0000000000
--- a/application/palemoon/themes/windows/Toolbar-glass.png
+++ /dev/null
Binary files differ
diff --git a/application/palemoon/themes/windows/Toolbar-glass.svg b/application/palemoon/themes/windows/Toolbar-glass.svg
new file mode 100644
index 0000000000..5212e45e74
--- /dev/null
+++ b/application/palemoon/themes/windows/Toolbar-glass.svg
@@ -0,0 +1,2174 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ enable-background="new 0 0 378 38"
+ viewBox="0 0 378 38"
+ height="38"
+ width="378"
+ y="0px"
+ x="0px"
+ id="PaleMoonToolbarSVG"
+ version="1.1">
+ <metadata
+ id="metadata146">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs144">
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.1087088,0,-1.2351844)"
+ r="7.1399999"
+ fy="14.778796"
+ fx="10.529827"
+ cy="14.778796"
+ cx="10.529827"
+ id="radialGradient4669"
+ xlink:href="#linearGradient4635" />
+ <linearGradient
+ id="linearGradient4635">
+ <stop
+ id="stop4631"
+ offset="0"
+ style="stop-color:#6198cb;stop-opacity:1" />
+ <stop
+ id="stop4633"
+ offset="1"
+ style="stop-color:#3a78b2;stop-opacity:1" />
+ </linearGradient>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.0853313,0,-3.029369)"
+ r="8.7600002"
+ fy="38.79744"
+ fx="11.063469"
+ cy="38.79744"
+ cx="11.063469"
+ id="radialGradient4637"
+ xlink:href="#linearGradient4635" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.1003056,0,-1.1335797)"
+ r="7.1399999"
+ fy="14.552581"
+ fx="34.841751"
+ cy="14.552581"
+ cx="34.841751"
+ id="radialGradient4677"
+ xlink:href="#linearGradient4635" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.99218759,0,0.09141507)"
+ r="7.6799994"
+ fy="12.761739"
+ fx="58.062626"
+ cy="12.761739"
+ cx="58.062626"
+ id="radialGradient4605"
+ xlink:href="#linearGradient4603" />
+ <linearGradient
+ id="linearGradient4603">
+ <stop
+ id="stop4599"
+ offset="0"
+ style="stop-color:#e72b1d;stop-opacity:1" />
+ <stop
+ id="stop4601"
+ offset="1"
+ style="stop-color:#cc4338;stop-opacity:1" />
+ </linearGradient>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.0769231,0,-0.86932835)"
+ r="7.8000002"
+ fy="13.939252"
+ fx="79.305222"
+ cy="13.939252"
+ cx="79.305222"
+ id="radialGradient4525"
+ xlink:href="#linearGradient4523-3" />
+ <linearGradient
+ id="linearGradient4523-3">
+ <stop
+ id="stop4519"
+ offset="0"
+ style="stop-color:#4fb55d;stop-opacity:1" />
+ <stop
+ id="stop4521"
+ offset="1"
+ style="stop-color:#2d8539;stop-opacity:1" />
+ </linearGradient>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.87507716,0,1.3868386)"
+ r="9.5995998"
+ fy="12.664675"
+ fx="103.23091"
+ cy="12.664675"
+ cx="103.23091"
+ id="radialGradient4529"
+ xlink:href="#linearGradient4527" />
+ <linearGradient
+ id="linearGradient4527">
+ <stop
+ id="stop4523"
+ offset="0"
+ style="stop-color:#3f6bbd;stop-opacity:1" />
+ <stop
+ id="stop4525"
+ offset="1"
+ style="stop-color:#29467b;stop-opacity:1" />
+ </linearGradient>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.0032611,0,-0.03620244)"
+ r="8.3726959"
+ fy="16.659737"
+ fx="125.30523"
+ cy="16.659737"
+ cx="125.30523"
+ id="radialGradient4709"
+ xlink:href="#linearGradient4707" />
+ <linearGradient
+ id="linearGradient4707">
+ <stop
+ id="stop4703"
+ offset="0"
+ style="stop-color:#8c9ba5;stop-opacity:1" />
+ <stop
+ id="stop4705"
+ offset="1"
+ style="stop-color:#607480;stop-opacity:1" />
+ </linearGradient>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.993055,0,0.07848724)"
+ r="8.6400051"
+ fy="12.784631"
+ fx="149.26262"
+ cy="12.784631"
+ cx="149.26262"
+ id="radialGradient4729"
+ xlink:href="#linearGradient4727" />
+ <linearGradient
+ id="linearGradient4727">
+ <stop
+ id="stop4723"
+ offset="0"
+ style="stop-color:#3eb796;stop-opacity:1" />
+ <stop
+ id="stop4725"
+ offset="1"
+ style="stop-color:#31a886;stop-opacity:1" />
+ </linearGradient>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.79035186,0,0,0.79508811,-0.14216924,6.9389816e-4)"
+ r="9.6007004"
+ fy="12.037849"
+ fx="466.94476"
+ cy="12.037849"
+ cx="466.94476"
+ id="radialGradient5017"
+ xlink:href="#linearGradient5023" />
+ <linearGradient
+ id="linearGradient5023">
+ <stop
+ style="stop-color:#c6cdd2;stop-opacity:1"
+ offset="0"
+ id="stop5019" />
+ <stop
+ style="stop-color:#9cabb4;stop-opacity:1"
+ offset="1"
+ id="stop5021" />
+ </linearGradient>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.87500048,0,1.3876528)"
+ r="9.5999947"
+ fy="13.746766"
+ fx="194.44176"
+ cy="13.746766"
+ cx="194.44176"
+ id="radialGradient4793"
+ xlink:href="#linearGradient4707" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.87500002,0,1.3876579)"
+ r="9.6000004"
+ fy="11.101265"
+ fx="239.2"
+ cy="11.101265"
+ cx="239.2"
+ id="radialGradient4833"
+ xlink:href="#linearGradient4707" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.79274533,0,0,0.78327978,-0.14435628,0.11758726)"
+ r="3.5288758"
+ fy="12.418613"
+ fx="242.0894"
+ cy="12.418613"
+ cx="242.0894"
+ id="radialGradient4841"
+ xlink:href="#linearGradient4707" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.99992718,0,0.00247197)"
+ r="9.7507105"
+ fy="31.105829"
+ fx="466.39926"
+ cy="31.105829"
+ cx="466.39926"
+ id="radialGradient5031"
+ xlink:href="#linearGradient5037" />
+ <linearGradient
+ id="linearGradient5037">
+ <stop
+ style="stop-color:#e8e1a1;stop-opacity:1"
+ offset="0"
+ id="stop5033" />
+ <stop
+ style="stop-color:#baad3e;stop-opacity:1"
+ offset="1"
+ id="stop5035" />
+ </linearGradient>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.8160434,0,2.0506693)"
+ r="10.35937"
+ fy="16.56296"
+ fx="217.95329"
+ cy="16.56296"
+ cx="217.95329"
+ id="radialGradient4813"
+ xlink:href="#linearGradient4707" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.9969072,0,0.03528241)"
+ r="8.5577164"
+ fy="15.840806"
+ fx="262.79288"
+ cy="15.840806"
+ cx="262.79288"
+ id="radialGradient4861"
+ xlink:href="#linearGradient4707" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ r="8.53125"
+ fy="14.171478"
+ fx="286.58698"
+ cy="14.171478"
+ cx="286.58698"
+ id="radialGradient4881"
+ xlink:href="#linearGradient4707" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.4,0,-4.4901397)"
+ r="6.09375"
+ fy="14.457072"
+ fx="308.97141"
+ cy="14.457072"
+ cx="308.97141"
+ id="radialGradient4901"
+ xlink:href="#linearGradient4707" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ r="8.53125"
+ fy="13.119289"
+ fx="331.15933"
+ cy="13.119289"
+ cx="331.15933"
+ id="radialGradient4921"
+ xlink:href="#linearGradient4707" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.79035186,0,0,0.15902921,-0.14216924,7.1987363)"
+ r="6.09375"
+ fy="11.316628"
+ fx="353.15076"
+ cy="11.316628"
+ cx="353.15076"
+ id="radialGradient4941"
+ xlink:href="#linearGradient4707" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ r="6.09375"
+ fy="11.407905"
+ fx="375.97003"
+ cy="11.407905"
+ cx="375.97003"
+ id="radialGradient4949"
+ xlink:href="#linearGradient4707"
+ gradientTransform="matrix(0.79035186,0,0,0.79514603,-0.14216924,3.8580698e-5)" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.99701325,0,0.03407254)"
+ r="8.5350475"
+ fy="13.518586"
+ fx="400.5007"
+ cy="13.518586"
+ cx="400.5007"
+ id="radialGradient4957"
+ xlink:href="#linearGradient4707" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.357667,-0.02466618,0.02411975,1.3275908,-149.53429,5.1574131)"
+ r="8.53125"
+ fy="15.742972"
+ fx="417.02075"
+ cy="15.742972"
+ cx="417.02075"
+ id="radialGradient4977"
+ xlink:href="#linearGradient4975" />
+ <linearGradient
+ id="linearGradient4975">
+ <stop
+ id="stop4971"
+ offset="0"
+ style="stop-color:#f79729;stop-opacity:1" />
+ <stop
+ id="stop4973"
+ offset="1"
+ style="stop-color:#d2831f;stop-opacity:1" />
+ </linearGradient>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.71428563,0,3.2333231)"
+ r="8.53125"
+ fy="11.316628"
+ fx="444.33652"
+ cy="11.316628"
+ cx="444.33652"
+ id="radialGradient4997"
+ xlink:href="#linearGradient4707" />
+ <radialGradient
+ r="7.9746099"
+ fy="9"
+ fx="134.97461"
+ cy="9"
+ cx="134.97461"
+ gradientTransform="matrix(1.265625,0,0,1.1109477,-0.05703897,1.4865748)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient4710"
+ xlink:href="#linearGradient4747" />
+ <linearGradient
+ id="linearGradient4747">
+ <stop
+ id="stop4743"
+ offset="0"
+ style="stop-color:#c5b631;stop-opacity:1" />
+ <stop
+ id="stop4745"
+ offset="1"
+ style="stop-color:#baad3e;stop-opacity:1" />
+ </linearGradient>
+ <radialGradient
+ r="7.9746099"
+ fy="9.0947113"
+ fx="132.6468"
+ cy="9.0947113"
+ cx="132.6468"
+ gradientTransform="matrix(1.265625,0,0,1.1109477,-0.05703897,1.4865748)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient4712"
+ xlink:href="#linearGradient5037" />
+ <radialGradient
+ r="7.9746099"
+ fy="9"
+ fx="134.97461"
+ cy="9"
+ cx="134.97461"
+ gradientTransform="matrix(1.265625,0,0,1.1109477,-0.05703897,1.4865748)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient4714"
+ xlink:href="#linearGradient4747" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,28.000001,0,-310.09784)"
+ r="0.31640625"
+ fy="11.485105"
+ fx="166.37157"
+ cy="11.485105"
+ cx="166.37157"
+ id="radialGradient4750"
+ xlink:href="#linearGradient4707" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.0032611,0.11563445,22.233158)"
+ r="8.3726959"
+ fy="16.659737"
+ fx="125.30523"
+ cy="16.659737"
+ cx="125.30523"
+ id="radialGradient4709-1"
+ xlink:href="#linearGradient4832" />
+ <linearGradient
+ id="linearGradient4832">
+ <stop
+ style="stop-color:#22e23d;stop-opacity:1"
+ offset="0"
+ id="stop5029" />
+ <stop
+ style="stop-color:#38a748;stop-opacity:1"
+ offset="1"
+ id="stop4830" />
+ </linearGradient>
+ <filter
+ id="filter4883"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood4873"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="1" />
+ <feComposite
+ id="feComposite4875"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4877"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset4879"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite4881"
+ result="fbSourceGraphic"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ <feColorMatrix
+ id="feColorMatrix6673"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(255,255,255)"
+ flood-opacity="1"
+ id="feFlood6675" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite6677"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="1"
+ in="composite1"
+ id="feGaussianBlur6679" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="2.77556e-017"
+ id="feOffset6681" />
+ <feComposite
+ result="composite2"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite6683"
+ in2="offset" />
+ </filter>
+ <filter
+ id="filter4895"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood4885"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="1" />
+ <feComposite
+ id="feComposite4887"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4889"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset4891"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite4893"
+ result="fbSourceGraphic"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ <feColorMatrix
+ id="feColorMatrix6685"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(255,255,255)"
+ flood-opacity="1"
+ id="feFlood6687" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite6689"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="1"
+ in="composite1"
+ id="feGaussianBlur6691" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="2.77556e-017"
+ id="feOffset6693" />
+ <feComposite
+ result="composite2"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite6695"
+ in2="offset" />
+ </filter>
+ <filter
+ id="filter4907"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood4897"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="1" />
+ <feComposite
+ id="feComposite4899"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4901"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset4903"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite4905"
+ result="fbSourceGraphic"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ <feColorMatrix
+ id="feColorMatrix6697"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(255,255,255)"
+ flood-opacity="1"
+ id="feFlood6699" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite6701"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="1"
+ in="composite1"
+ id="feGaussianBlur6703" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="2.77556e-017"
+ id="feOffset6705" />
+ <feComposite
+ result="composite2"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite6707"
+ in2="offset" />
+ </filter>
+ <filter
+ id="filter4919"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood4909"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="1" />
+ <feComposite
+ id="feComposite4911"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4913"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset4915"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite4917"
+ result="fbSourceGraphic"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ <feColorMatrix
+ id="feColorMatrix6709"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(255,255,255)"
+ flood-opacity="1"
+ id="feFlood6711" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite6713"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="1"
+ in="composite1"
+ id="feGaussianBlur6715" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="2.77556e-017"
+ id="feOffset6717" />
+ <feComposite
+ result="composite2"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite6719"
+ in2="offset" />
+ </filter>
+ <filter
+ id="filter4931"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood4921"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="1" />
+ <feComposite
+ id="feComposite4923"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4925"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset4927"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite4929"
+ result="fbSourceGraphic"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ <feColorMatrix
+ id="feColorMatrix6721"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(255,255,255)"
+ flood-opacity="1"
+ id="feFlood6723" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite6725"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="1"
+ in="composite1"
+ id="feGaussianBlur6727" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="2.77556e-017"
+ id="feOffset6729" />
+ <feComposite
+ result="composite2"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite6731"
+ in2="offset" />
+ </filter>
+ <filter
+ id="filter4943"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood4933"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="1" />
+ <feComposite
+ id="feComposite4935"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4937"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset4939"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite4941"
+ result="fbSourceGraphic"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ <feColorMatrix
+ id="feColorMatrix6733"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(255,255,255)"
+ flood-opacity="1"
+ id="feFlood6735" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite6737"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="1"
+ in="composite1"
+ id="feGaussianBlur6739" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="2.77556e-017"
+ id="feOffset6741" />
+ <feComposite
+ result="composite2"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite6743"
+ in2="offset" />
+ </filter>
+ <filter
+ id="filter4955"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood4945"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="1" />
+ <feComposite
+ id="feComposite4947"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4949"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset4951"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite4953"
+ result="fbSourceGraphic"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ <feColorMatrix
+ id="feColorMatrix6745"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(255,255,255)"
+ flood-opacity="1"
+ id="feFlood6747" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite6749"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="1"
+ in="composite1"
+ id="feGaussianBlur6751" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="2.77556e-017"
+ id="feOffset6753" />
+ <feComposite
+ result="composite2"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite6755"
+ in2="offset" />
+ </filter>
+ <filter
+ id="filter4967"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood4957"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="1" />
+ <feComposite
+ id="feComposite4959"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4961"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset4963"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite4965"
+ result="fbSourceGraphic"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ <feColorMatrix
+ id="feColorMatrix6757"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(255,255,255)"
+ flood-opacity="1"
+ id="feFlood6759" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite6761"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="1"
+ in="composite1"
+ id="feGaussianBlur6763" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="2.77556e-017"
+ id="feOffset6765" />
+ <feComposite
+ result="composite2"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite6767"
+ in2="offset" />
+ </filter>
+ <filter
+ id="filter4979"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood4969"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="1" />
+ <feComposite
+ id="feComposite4971"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4973"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset4975"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite4977"
+ result="fbSourceGraphic"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ <feColorMatrix
+ id="feColorMatrix6769"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(255,255,255)"
+ flood-opacity="1"
+ id="feFlood6771" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite6773"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="1"
+ in="composite1"
+ id="feGaussianBlur6775" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="2.77556e-017"
+ id="feOffset6777" />
+ <feComposite
+ result="composite2"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite6779"
+ in2="offset" />
+ </filter>
+ <filter
+ id="filter4991"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood4981"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="1" />
+ <feComposite
+ id="feComposite4983"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4985"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset4987"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite4989"
+ result="fbSourceGraphic"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ <feColorMatrix
+ id="feColorMatrix6781"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(255,255,255)"
+ flood-opacity="1"
+ id="feFlood6783" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite6785"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="1"
+ in="composite1"
+ id="feGaussianBlur6787" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="2.77556e-017"
+ id="feOffset6789" />
+ <feComposite
+ result="composite2"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite6791"
+ in2="offset" />
+ </filter>
+ <filter
+ id="filter5003"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood4993"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="1" />
+ <feComposite
+ id="feComposite4995"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4997"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset4999"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite5001"
+ result="fbSourceGraphic"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ <feColorMatrix
+ id="feColorMatrix6793"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(255,255,255)"
+ flood-opacity="1"
+ id="feFlood6795" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite6797"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="1"
+ in="composite1"
+ id="feGaussianBlur6799" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="2.77556e-017"
+ id="feOffset6801" />
+ <feComposite
+ result="composite2"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite6803"
+ in2="offset" />
+ </filter>
+ <filter
+ id="filter5015"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood5005"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="1" />
+ <feComposite
+ id="feComposite5007"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur5009"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset5011"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite5013"
+ result="fbSourceGraphic"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ <feColorMatrix
+ id="feColorMatrix6805"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(255,255,255)"
+ flood-opacity="1"
+ id="feFlood6807" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite6809"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="1"
+ in="composite1"
+ id="feGaussianBlur6811" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="2.77556e-017"
+ id="feOffset6813" />
+ <feComposite
+ result="composite2"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite6815"
+ in2="offset" />
+ </filter>
+ <filter
+ id="filter5027"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood5017"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="1" />
+ <feComposite
+ id="feComposite5019"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur5021"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset5023"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite5025"
+ result="fbSourceGraphic"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ <feColorMatrix
+ id="feColorMatrix6817"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(255,255,255)"
+ flood-opacity="1"
+ id="feFlood6819" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite6821"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="1"
+ in="composite1"
+ id="feGaussianBlur6823" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="2.77556e-017"
+ id="feOffset6825" />
+ <feComposite
+ result="composite2"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite6827"
+ in2="offset" />
+ </filter>
+ <filter
+ id="filter5039"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood5029"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="1" />
+ <feComposite
+ id="feComposite5031"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur5033"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset5035"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite5037"
+ result="fbSourceGraphic"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ <feColorMatrix
+ id="feColorMatrix6829"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(255,255,255)"
+ flood-opacity="1"
+ id="feFlood6831" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite6833"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="1"
+ in="composite1"
+ id="feGaussianBlur6835" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="2.77556e-017"
+ id="feOffset6837" />
+ <feComposite
+ result="composite2"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite6839"
+ in2="offset" />
+ </filter>
+ <filter
+ id="filter5051"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood5041"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="1" />
+ <feComposite
+ id="feComposite5043"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur5045"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset5047"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite5049"
+ result="fbSourceGraphic"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ <feColorMatrix
+ id="feColorMatrix6841"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(255,255,255)"
+ flood-opacity="1"
+ id="feFlood6843" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite6845"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="1"
+ in="composite1"
+ id="feGaussianBlur6847" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="2.77556e-017"
+ id="feOffset6849" />
+ <feComposite
+ result="composite2"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite6851"
+ in2="offset" />
+ </filter>
+ <filter
+ id="filter5063"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood5053"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="1" />
+ <feComposite
+ id="feComposite5055"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur5057"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset5059"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite5061"
+ result="fbSourceGraphic"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ <feColorMatrix
+ id="feColorMatrix6853"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(255,255,255)"
+ flood-opacity="1"
+ id="feFlood6855" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite6857"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="1"
+ in="composite1"
+ id="feGaussianBlur6859" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="2.77556e-017"
+ id="feOffset6861" />
+ <feComposite
+ result="composite2"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite6863"
+ in2="offset" />
+ </filter>
+ <filter
+ id="filter5075"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood5065"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="1" />
+ <feComposite
+ id="feComposite5067"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur5069"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset5071"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite5073"
+ result="fbSourceGraphic"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ <feColorMatrix
+ id="feColorMatrix6865"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(255,255,255)"
+ flood-opacity="1"
+ id="feFlood6867" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite6869"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="1"
+ in="composite1"
+ id="feGaussianBlur6871" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="2.77556e-017"
+ id="feOffset6873" />
+ <feComposite
+ result="composite2"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite6875"
+ in2="offset" />
+ </filter>
+ <filter
+ id="filter5087"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood5077"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="1" />
+ <feComposite
+ id="feComposite5079"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur5081"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset5083"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite5085"
+ result="fbSourceGraphic"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ <feColorMatrix
+ id="feColorMatrix6877"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(255,255,255)"
+ flood-opacity="1"
+ id="feFlood6879" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite6881"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="1"
+ in="composite1"
+ id="feGaussianBlur6883" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="2.77556e-017"
+ id="feOffset6885" />
+ <feComposite
+ result="composite2"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite6887"
+ in2="offset" />
+ </filter>
+ <filter
+ id="filter5099"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood5089"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="1" />
+ <feComposite
+ id="feComposite5091"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur5093"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset5095"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite5097"
+ result="fbSourceGraphic"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ <feColorMatrix
+ id="feColorMatrix6889"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(255,255,255)"
+ flood-opacity="1"
+ id="feFlood6891" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite6893"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="1"
+ in="composite1"
+ id="feGaussianBlur6895" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="2.77556e-017"
+ id="feOffset6897" />
+ <feComposite
+ result="composite2"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite6899"
+ in2="offset" />
+ </filter>
+ <filter
+ id="filter5111"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood5101"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="1" />
+ <feComposite
+ id="feComposite5103"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur5105"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset5107"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite5109"
+ result="fbSourceGraphic"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ <feColorMatrix
+ id="feColorMatrix6901"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(255,255,255)"
+ flood-opacity="1"
+ id="feFlood6903" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite6905"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="1"
+ in="composite1"
+ id="feGaussianBlur6907" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="2.77556e-017"
+ id="feOffset6909" />
+ <feComposite
+ result="composite2"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite6911"
+ in2="offset" />
+ </filter>
+ <filter
+ id="filter5123"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood5113"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="1" />
+ <feComposite
+ id="feComposite5115"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur5117"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset5119"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite5121"
+ result="fbSourceGraphic"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ <feColorMatrix
+ id="feColorMatrix6913"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(255,255,255)"
+ flood-opacity="1"
+ id="feFlood6915" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite6917"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="1"
+ in="composite1"
+ id="feGaussianBlur6919" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="2.77556e-017"
+ id="feOffset6921" />
+ <feComposite
+ result="composite2"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite6923"
+ in2="offset" />
+ </filter>
+ <filter
+ id="filter5135"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood5125"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="1" />
+ <feComposite
+ id="feComposite5127"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur5129"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset5131"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite5133"
+ result="fbSourceGraphic"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ <feColorMatrix
+ id="feColorMatrix6925"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(255,255,255)"
+ flood-opacity="1"
+ id="feFlood6927" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite6929"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="1"
+ in="composite1"
+ id="feGaussianBlur6931" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="2.77556e-017"
+ id="feOffset6933" />
+ <feComposite
+ result="composite2"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite6935"
+ in2="offset" />
+ </filter>
+ <filter
+ id="filter5147"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood5137"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="1" />
+ <feComposite
+ id="feComposite5139"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur5141"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset5143"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite5145"
+ result="fbSourceGraphic"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ <feColorMatrix
+ id="feColorMatrix6937"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(255,255,255)"
+ flood-opacity="1"
+ id="feFlood6939" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite6941"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="1"
+ in="composite1"
+ id="feGaussianBlur6943" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="2.77556e-017"
+ id="feOffset6945" />
+ <feComposite
+ result="composite2"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite6947"
+ in2="offset" />
+ </filter>
+ <filter
+ id="filter5159"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood5149"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="1" />
+ <feComposite
+ id="feComposite5151"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur5153"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset5155"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite5157"
+ result="fbSourceGraphic"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ <feColorMatrix
+ id="feColorMatrix6949"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(255,255,255)"
+ flood-opacity="1"
+ id="feFlood6951" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite6953"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="1"
+ in="composite1"
+ id="feGaussianBlur6955" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="2.77556e-017"
+ id="feOffset6957" />
+ <feComposite
+ result="composite2"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite6959"
+ in2="offset" />
+ </filter>
+ <filter
+ id="filter5171"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood5161"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="1" />
+ <feComposite
+ id="feComposite5163"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur5165"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset5167"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite5169"
+ result="fbSourceGraphic"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ <feColorMatrix
+ id="feColorMatrix6961"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(255,255,255)"
+ flood-opacity="1"
+ id="feFlood6963" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite6965"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="1"
+ in="composite1"
+ id="feGaussianBlur6967" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="2.77556e-017"
+ id="feOffset6969" />
+ <feComposite
+ result="composite2"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite6971"
+ in2="offset" />
+ </filter>
+ </defs>
+ <g
+ id="layer1">
+ <path
+ id="path4"
+ d="m 17.311578,13.702319 h -5.76 l 2.28,2.28 c 0.6,0.6 0.72,1.44 0.24,1.92 l -0.96,1.08 c -0.48,0.48 -1.32,0.36 -1.92,-0.24 l -6.4800001,-6.6 c -0.12,0 -0.36,-0.48 -0.48,-0.84 0,-0.359999 0.36,-0.719999 0.48,-0.839999 l 6.3600001,-6.48 c 0.6,-0.6000001 1.44,-0.7200001 1.92,-0.24 l 0.96,1.0799999 c 0.48,0.48 0.36,1.32 -0.24,1.9200001 l -2.16,2.1599999 h 5.76 c 0.72,0 1.2,0.48 1.2,1.2000001 v 2.399999 c 0,0.72 -0.48,1.2 -1.2,1.2 z"
+ style="display:inline;fill:url(#radialGradient4669);fill-opacity:1;stroke-width:1;filter:url(#filter4883)"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ d="m 19.271765,37.987692 h -7.987059 l 3.607059,3.507571 c 0.515294,0.50108 0.644117,1.377974 0.257648,1.753785 l -1.545884,1.503245 C 13.217059,45.128104 12.315294,45.128104 11.8,44.501752 L 3.5552941,36.609718 c 0,0 -0.5152941,-0.626352 -0.5152941,-1.127434 0,-0.501081 0.5152941,-1.002163 0.5152941,-1.002163 L 11.8,26.462816 c 0.515294,-0.50108 1.417059,-0.626351 1.803529,-0.25054 l 1.545884,1.503245 c 0.386469,0.375811 0.386469,1.252704 -0.257648,1.753785 l -3.478236,3.50757 h 7.858236 c 0.772941,0 1.288236,0.501082 1.288236,1.252705 v 2.505407 c 0,0.751622 -0.515295,1.252704 -1.288236,1.252704 z"
+ id="path4154"
+ style="display:inline;fill:url(#radialGradient4637);fill-opacity:1;stroke-width:1;filter:url(#filter4895)"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ d="m 26.86,12.501265 v -2.4 c 0,-0.7200003 0.48,-1.2000003 1.2,-1.2000003 h 5.76 L 31.66,6.7412646 c -0.6,-0.5999999 -0.72,-1.4399999 -0.24,-1.92 l 0.96,-1.08 c 0.48,-0.48 1.32,-0.36 1.92,0.24 l 6.36,6.4800004 c 0.12,0.12 0.48,0.48 0.48,0.84 0,0.36 -0.36,0.84 -0.48,0.84 l -6.48,6.48 c -0.6,0.6 -1.44,0.72 -1.92,0.24 l -0.96,-1.08 c -0.48,-0.48 -0.36,-1.32 0.24,-1.92 l 2.28,-2.16 h -5.76 c -0.72,0 -1.2,-0.48 -1.2,-1.2 z"
+ id="path4165"
+ style="display:inline;fill:url(#radialGradient4677);fill-opacity:1;stroke-width:1;filter:url(#filter4907)"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ d="m 64.48,6.6012647 -5.039999,5.0400003 5.039999,5.04 -2.519999,2.52 -5.16,-4.92 -5.04,5.04 -2.52,-2.52 5.04,-5.16 -5.16,-5.0400003 2.52,-2.5200001 5.16,5.04 5.04,-5.04 z"
+ id="path4176"
+ style="display:inline;fill:url(#radialGradient4605);fill-opacity:1;stroke-width:1;filter:url(#filter4919)"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ d="m 87.000001,11.301265 h -8.4 l 3.36,-3.3600004 c -0.84,-0.6 -1.68,-0.84 -2.76,-0.84 -2.64,0 -4.8,2.1600001 -4.8,4.8000004 0,2.64 2.16,4.8 4.8,4.8 1.68,0 3.24,-0.84 4.08,-2.28 l 2.76,1.2 c -1.32,2.4 -3.84,4.08 -6.84,4.08 -4.32,0 -7.8,-3.48 -7.8,-7.8 0,-4.3200004 3.48,-7.8000004 7.8,-7.8000004 1.8,0 3.48,0.6 4.92,1.6800001 l 2.88,-2.8800001 z"
+ id="path4187"
+ style="display:inline;fill:url(#radialGradient4525);fill-opacity:1;stroke-width:1;filter:url(#filter4931)"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ id="path4209"
+ d="M 102.59961,2.7011715 93,11.101561 h 2.400391 l 1.242188,-0.03516 -0.04297,0.03516 v 8.400392 h 4.800781 v -6.000001 h 2.40039 v 6.000001 h 4.79884 v -8.400392 l -0.043,-0.03516 1.24415,0.03516 h 2.39843 z"
+ style="display:inline;fill:url(#radialGradient4529);fill-opacity:1;stroke:none;stroke-width:1;stroke-opacity:1;filter:url(#filter4943)"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ d="m 133.15407,12.421265 -6.72001,6.6 c -0.24,0.36 -0.72,0.48 -1.2,0.48 -0.48,0 -0.96,-0.12 -1.32,-0.48 l -6.72,-6.6 c -0.6,-0.72 -0.48,-1.32 0.48,-1.32 h 3.96 V 3.9012646 c 0,-0.72 0.48,-1.2 1.2,-1.2 h 4.8 c 0.72,0 1.2,0.48 1.2,1.2 v 7.2000004 h 3.84 c 0.96001,0 1.20001,0.6 0.48001,1.32 z"
+ id="path4214"
+ style="display:inline;fill:url(#radialGradient4709);fill-opacity:1;stroke-width:1;filter:url(#filter4955)"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ d="m 148,19.881265 c -4.8,0 -8.64,-3.84 -8.64,-8.64 0,-4.6800004 3.84,-8.5200004 8.64,-8.5200004 4.8,0 8.64001,3.84 8.64001,8.6400004 0,4.68 -3.84001,8.52 -8.64001,8.52 z m 0,-14.5200003 c -3.36,0 -6,2.6399999 -6,6.0000003 0,3.24 2.64,6 6,6 3.36,0 6.00001,-2.64 6.00001,-6 0,-3.3600004 -2.64001,-6.0000003 -6.00001,-6.0000003 z m -0.36,7.0800003 c -0.48,-0.12 -0.84,-0.6 -0.84,-1.08 V 7.7612646 c 0,-0.72 0.48,-1.2 1.2,-1.2 0.72,0 1.2,0.48 1.2,1.2 v 3.3600004 c 1.32,1.32 2.4,3.84 2.4,3.84 0,0 -2.64,-1.2 -3.96,-2.52 z"
+ id="path4225"
+ style="display:inline;fill:url(#radialGradient4729);fill-opacity:1;stroke-width:1;filter:url(#filter4967)"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ d="m 369.00476,4.7878231 0.94842,1.9083504 0.47422,0.858758 0.94842,0.190835 2.18136,0.3816699 -1.61231,1.7175156 -0.6639,0.667923 0.0948,0.954175 0.37937,2.290022 -1.89685,-0.954178 -0.85358,-0.477086 -0.85358,0.477086 -1.89685,0.954178 0.37938,-2.290022 0.0948,-0.954175 -0.6639,-0.667923 -1.61232,-1.7175156 2.27622,-0.3816699 0.94842,-0.190835 0.37936,-0.858758 0.94843,-1.9083504 m 0,-3.4350309 c -0.28454,0 -0.56906,0.1908348 -0.75874,0.667922 l -1.89683,3.9121193 -4.07821,0.6679227 c -0.94842,0.190835 -1.13812,0.8587576 -0.47421,1.5266802 l 2.94011,3.1487776 -0.66391,4.389208 c -0.0948,0.572504 0.1897,0.954174 0.66391,0.954174 0.18967,0 0.37936,-0.09542 0.56905,-0.190835 l 3.69885,-2.003768 3.69884,2.003768 c 0.18969,0.09543 0.47421,0.190835 0.56906,0.190835 0.4742,0 0.75873,-0.38167 0.6639,-1.049592 l -0.6639,-4.389207 2.9401,-3.1487781 c 0.66391,-0.6679226 0.37938,-1.3358454 -0.4742,-1.5266803 L 371.66031,5.837416 369.76347,1.9252968 C 369.5738,1.543627 369.28926,1.3527922 369.00474,1.3527922 Z"
+ id="path4355"
+ style="display:inline;fill:url(#radialGradient5017);fill-opacity:1;stroke-width:0.79274529;filter:url(#filter4979)" />
+ <path
+ d="m 202,17.101265 h -2.4 l 1.2,2.4 h -14.39999 l 1.2,-2.4 h -2.4 c -0.72,0 -1.2,-0.48 -1.2,-1.2 V 9.9012647 c 0,-0.7200001 0.48,-1.2000001 1.2,-1.2000001 h 1.2 V 6.3012647 c 0,-0.7200001 0.48,-1.2000001 1.2,-1.2000001 v -1.2 c 0,-0.72 0.48,-1.2 1.2,-1.2 H 198.4 c 0.72,0 1.2,0.48 1.2,1.2 v 1.2 c 0.72,0 1.2,0.48 1.2,1.2000001 v 2.3999999 h 1.2 c 0.72,0 1.2,0.48 1.2,1.2000001 v 6.0000003 c 0,0.72 -0.48,1.2 -1.2,1.2 z m -14.39999,0 0.6,-1.2 h -0.6 z m 0.6,-6 h -0.6 -0.6 c -0.36,0 -0.6,0.24 -0.6,0.6 0,0.36 0.24,0.6 0.6,0.6 h 1.2 c 0.36,0 0.6,-0.24 0.6,-0.6 0,-0.36 -0.24,-0.6 -0.6,-0.6 z M 198.4,5.1012646 c 0,-0.72 -0.48,-1.2 -1.2,-1.2 h -7.19999 c -0.72,0 -1.2,0.48 -1.2,1.2 v 3.6 c 0,0.7200001 0.48,1.2000001 1.2,1.2000001 H 197.2 c 0.72,0 1.2,-0.48 1.2,-1.2000001 z m -1.08,10.8000004 h -7.43999 l -1.08,2.4 H 198.4 Z m 2.28,0 H 199 l 0.6,1.2 z"
+ id="path4366"
+ style="display:inline;fill:url(#radialGradient4793);fill-opacity:1;stroke-width:1;filter:url(#filter4991)"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ d="m 247,19.501265 h -15.6 c -0.96,0 -1.8,-0.84 -1.8,-1.8 V 4.5012646 c 0,-0.9599999 0.84,-1.8 1.8,-1.8 H 247 c 0.96,0 1.8,0.8400001 1.8,1.8 V 17.701265 c 0,0.96 -0.84,1.8 -1.8,1.8 z M 239.8,3.9012646 c -0.36,0 -0.6,0.24 -0.6,0.6 0,0.36 0.24,0.6 0.6,0.6 0.36,0 0.6,-0.24 0.6,-0.6 0,-0.36 -0.24,-0.6 -0.6,-0.6 z m 2.28,0 c -0.36,0 -0.6,0.24 -0.6,0.6 0,0.36 0.36,0.6 0.6,0.6 0.36,0 0.6,-0.24 0.6,-0.6 0,-0.36 -0.24,-0.6 -0.6,-0.6 z m 3.72,0 h -1.2 c -0.36,0 -0.6,0.24 -0.6,0.6 0,0.36 0.24,0.6 0.6,0.6 h 1.2 c 0.36,0 0.6,-0.24 0.6,-0.6 0,-0.36 -0.24,-0.6 -0.6,-0.6 z m 0.6,4.8 c 0,-0.72 -0.48,-1.1999999 -1.2,-1.1999999 h -12 c -0.72,0 -1.2,0.4799999 -1.2,1.1999999 v 7.2000004 c 0,0.72 0.48,1.2 1.2,1.2 h 12 c 0.72,0 1.2,-0.48 1.2,-1.2 z"
+ id="path4388"
+ style="display:inline;fill:url(#radialGradient4833);fill-opacity:1;stroke-width:1;filter:url(#filter5003)"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <text
+ transform="scale(0.98484982,1.0153832)"
+ id="text4409"
+ y="12.608931"
+ x="188.06316"
+ style="font-style:normal;font-weight:normal;font-size:9.51294327px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:url(#radialGradient4841);fill-opacity:1;stroke:none;stroke-width:0.79274535px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter5015)"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:8.55116463px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:url(#radialGradient4841);fill-opacity:1;stroke-width:0.79274535px;"
+ y="12.608931"
+ x="188.06316"
+ id="tspan4411">+</tspan></text>
+ <path
+ style="display:inline;fill:url(#radialGradient5031);fill-opacity:1;stroke-width:1.21875;filter:url(#filter5027)"
+ id="path6182"
+ d="m 467.25784,24.196945 c -0.36562,0 -0.73125,0.24375 -0.975,0.853125 l -2.4375,4.996876 -5.24062,0.853125 c -1.21875,0.24375 -1.4625,1.096875 -0.60938,1.95 l 3.77813,4.021875 -0.85313,5.60625 c -0.12181,0.73125 0.24375,1.21875 0.85313,1.21875 0.24375,0 0.4875,-0.121875 0.73125,-0.24375 l 4.75312,-2.559375 4.75313,2.559375 c 0.24375,0.121875 0.60937,0.24375 0.73125,0.24375 0.60937,0 0.975,-0.4875 0.85312,-1.340625 l -0.85312,-5.60625 3.77812,-4.021875 c 0.85313,-0.853125 0.4875,-1.70625 -0.60937,-1.95 l -5.24063,-0.853125 -2.4375,-4.996876 c -0.24375,-0.4875 -0.60937,-0.73125 -0.975,-0.73125 z"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ style="display:inline;fill:url(#radialGradient4813);fill-opacity:1;stroke-width:1.21875;filter:url(#filter5039)"
+ id="path7318"
+ d="m 226.73438,15.945016 v 2.437501 c 0,0.673097 -0.54566,1.21875 -1.21875,1.21875 h -18.28124 c -0.67311,0 -1.21875,-0.545653 -1.21875,-1.21875 v -2.437501 c 0,-0.673097 0.54564,-1.21875 1.21875,-1.21875 h -1.04571 c 2.80313,0 2.36053,-3.256168 2.77368,-5.9703239 0.4278,-2.8226251 0.1927,-6.1069689 3.90598,-6.0616014 l 7.47091,0.091277 c 3.73276,0.045605 3.22143,3.1476992 3.65164,5.9703243 0.41438,2.715376 -0.20346,5.970324 2.60942,5.970324 h -1.08468 c 0.67309,0 1.21875,0.545653 1.21875,1.21875 z m -7.92188,-4.874999 h -1.82811 V 9.2418912 c 0,-0.8124995 -1.21875,-0.8124995 -1.21875,0 v 1.8281258 h -1.82814 c -0.8125,0 -0.8125,1.218749 0,1.218749 h 1.82814 v 1.828125 c 0,0.812501 1.21875,0.812501 1.21875,0 v -1.828125 h 1.82811 c 0.8125,0 0.8125,-1.218749 0,-1.218749 z"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ style="display:inline;fill:url(#radialGradient4861);fill-opacity:1;stroke-width:1.21875;filter:url(#filter5051)"
+ id="path7886"
+ d="m 269.02823,19.939154 c -0.975,0 -1.82813,-0.24375 -2.80313,-1.584375 -0.975,-1.340625 -2.07187,-3.046875 -2.07187,-3.046875 0,0 -0.85313,-1.096875 -1.34063,-1.95 -0.60937,-0.853125 -1.34062,-0.609375 -1.34062,-0.609375 0,0 -3.53438,-5.7281239 -4.14375,-6.581249 -0.73125,-1.21875 0.73125,-3.290625 0.73125,-3.290625 l 5.3625,8.531249 c 0,0 1.70625,2.315625 2.31562,2.803125 0.60938,0.4875 1.70625,-0.4875 3.4125,1.096875 2.31563,2.19375 1.58438,4.63125 -0.12181,4.63125 z m -0.36563,-3.534375 c -1.09687,-1.21875 -2.07187,-1.096875 -2.31562,-0.73125 -0.24375,0.365625 0,1.4625 0.4875,2.071875 0.4875,0.609375 0.975,0.853125 1.70625,0.853125 0.73125,0.121875 1.34062,-0.853125 0.1218,-2.19375 z m -4.63125,-5.728124 -1.4625,-2.19375 3.53438,-5.60625 c 0,0 1.4625,2.071875 0.73125,3.290625 -0.36563,0.4875001 -1.70625,2.803125 -2.80313,4.509375 z m -5.60625,3.534374 c 0.36563,-0.365625 1.21875,-1.340625 1.70625,-2.071875 l 0.975,1.4625 c -0.4875,0.73125 -1.09687,1.70625 -1.09687,1.70625 0,0 -1.09688,1.70625 -2.07188,3.046875 -0.85312,1.340625 -1.70625,1.584375 -2.80312,1.584375 -1.70625,0 -2.55938,-2.4375 -0.12181,-4.63125 1.70625,-1.4625 2.80312,-0.609375 3.4125,-1.096875 z m -2.925,2.19375 c -1.09687,1.21875 -0.4875,2.19375 0.24375,2.19375 0.73125,0 1.21875,-0.24375 1.70625,-0.853125 0.4875,-0.609375 0.73125,-1.828125 0.4875,-2.071875 -0.36562,-0.365625 -1.34062,-0.4875 -2.4375,0.73125 z"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ style="display:inline;fill:url(#radialGradient4881);fill-opacity:1;stroke-width:1.21875;filter:url(#filter5063)"
+ id="path8454"
+ d="m 292.00552,19.7566 h -7.3125 c -0.73125,0 -1.21875,-0.4875 -1.21875,-1.21875 v -3.656249 -3.16875 -2.9250003 c 0,-0.73125 0.4875,-1.21875 1.21875,-1.21875 0,0 3.9,0 6.09375,0 0,0 2.4375,2.4375003 2.4375,2.4375003 0,2.68125 0,8.531249 0,8.531249 0,0.73125 -0.4875,1.21875 -1.21875,1.21875 z m -2.4375,-10.9687493 v 2.4375003 h 2.4375 z m -7.3125,-1.3406249 v 1.3406249 2.3156253 3.778125 h -4.875 c -0.73125,0 -1.21875,-0.4875 -1.21875,-1.21875 V 3.9128507 c 0,-0.7312499 0.4875,-1.21875 1.21875,-1.21875 0,0 3.9,0 6.09375,0 0,0 2.4375,2.4375 2.4375,2.4375 0,0.4875 0,0.9750001 0,1.5843751 h -3.04688 c -0.36562,0.121875 -0.60937,0.365625 -0.60937,0.73125 z m 0,-3.5343751 v 2.4375001 h 2.4375 z"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ style="display:inline;fill:url(#radialGradient4901);fill-opacity:1;stroke-width:1.21875;filter:url(#filter5075)"
+ id="path9022"
+ d="m 311.86917,19.7566 h -8.53125 c -0.97501,0 -1.82812,-0.853125 -1.82812,-1.828124 V 6.9597255 c 0,-0.9750001 0.85311,-1.8281251 1.82812,-1.8281251 h 1.82813 c 0,0 0,-2.4375 2.4375,-2.4375 2.4375,0 2.4375,2.4375 2.4375,2.4375 h 1.82812 c 0.975,0 1.82813,0.853125 1.82813,1.8281251 V 17.928476 c 0,0.974999 -0.85313,1.828124 -1.82813,1.828124 z m -0.97501,-13.4062496 -1.34061,-0.609375 c 0,0 0,-1.8281249 -1.95,-1.8281249 -1.95,0 -1.95,1.8281249 -1.95,1.8281249 l -1.34063,0.609375 -0.60937,1.2187501 h 3.04687 3.9 0.975 z m 0.12182,2.071875 h -5.72812 l -3.65625,2.0718756 3.4125,5.971875 8.04375,-4.63125 z"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ style="display:inline;fill:url(#radialGradient4921);fill-opacity:1;stroke-width:1.21875;filter:url(#filter5087)"
+ id="path9590"
+ d="M 335.29779,14.881601 V 7.5691009 l 3.65625,3.6562501 z m -8.53125,1.21875 h 7.3125 l -3.65625,3.656249 z m 6.09375,-1.21875 h -4.875 c -0.73125,0 -1.21875,-0.4875 -1.21875,-1.21875 v -4.875 c 0,-0.7312501 0.4875,-1.2187501 1.21875,-1.2187501 h 4.875 c 0.73125,0 1.21875,0.4875 1.21875,1.2187501 v 4.875 c 0,0.609375 -0.4875,1.21875 -1.21875,1.21875 z m 0,-3.65625 c 0,-0.73125 -0.4875,-1.21875 -1.21875,-1.21875 h -2.4375 c -0.73125,0 -1.21875,0.4875 -1.21875,1.21875 v 1.21875 c 0,0.73125 0.4875,1.21875 1.21875,1.21875 h 2.4375 c 0.73125,0 1.21875,-0.4875 1.21875,-1.21875 z m -2.4375,-8.5312501 3.65625,3.6562501 h -7.3125 z m -4.875,4.875 v 7.3125001 l -3.65625,-3.65625 z"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ style="display:inline;fill:url(#radialGradient4941);fill-opacity:1;stroke-width:0.96615839;filter:url(#filter5099)"
+ id="path10158"
+ d="m 274.15498,8.0293266 h 9.6324 v 1.9381685 h -9.6324 z" />
+ <path
+ style="display:inline;fill:url(#radialGradient4949);fill-opacity:1;stroke-width:0.96615839;filter:url(#filter5111)"
+ id="path10726"
+ d="m 301.82263,10.040073 h -3.85298 v 3.876338 h -1.92648 v -3.876338 h -3.85298 V 8.1019059 h 3.85298 V 4.2255681 h 1.92648 v 3.8763378 h 3.85298 z" />
+ <path
+ style="display:inline;fill:url(#radialGradient4957);fill-opacity:1;stroke-width:1.21875;filter:url(#filter5123)"
+ id="path11294"
+ d="m 407.09514,12.361211 c -0.12181,0.73125 -0.24375,1.4625 -0.4875,2.071875 -0.4875,1.584375 -1.4625,3.046875 -3.04686,4.021874 0.4875,0.4875 1.58436,1.096875 1.58436,1.096875 0,0 -2.4375,0.365625 -4.99686,0.365625 0,0 -0.12181,-0.121875 -0.12181,-0.121875 v 0.121875 c -1.21875,0 -2.4375,-0.365625 -3.65625,-0.73125 0.85311,-0.73125 1.4625,-1.584374 1.95,-2.559374 0.73125,-1.4625 0.73125,-3.65625 0.73125,-3.65625 0,0 1.09686,1.828125 1.70625,2.559375 1.4625,-0.73125 2.4375,-2.19375 2.55936,-3.65625 0.12181,-1.096875 -0.24375,-2.0718751 -0.73125,-2.8031251 -0.4875,-0.8531251 -1.21875,-1.3406251 -2.07186,-1.7062501 0.24375,-0.4874999 0.60936,-1.0968749 0.975,-1.584375 0.4875,-0.73125 1.09686,-1.21875 1.58436,-1.4625 2.55939,1.340625 4.3875,4.5093751 4.02189,8.0437502 z m -8.53125,-2.4375001 c 0,0 -1.34061,-1.8281251 -1.95,-2.4375001 -1.70625,0.853125 -2.68125,2.4375001 -2.68125,4.1437502 0.12181,1.828125 1.34064,3.290625 2.925,4.021875 -0.36561,0.609375 -0.73125,1.21875 -1.21875,1.70625 -0.4875,0.609375 -1.09686,0.974999 -1.4625,1.340624 -2.80311,-1.706249 -4.50936,-4.874999 -4.02186,-8.287499 0.1218,-0.8531251 0.36561,-1.7062502 0.60936,-2.4375002 0.4875,-1.3406249 1.34064,-2.4375 2.55939,-3.290625 0.1218,-0.121875 0.24375,-0.121875 0.36561,-0.24375 -0.4875,-0.4875 -1.95,-0.975 -1.95,-0.975 0,0 3.04689,-0.975 8.2875,-0.365625 -1.58436,2.315625 -1.4625,6.8250001 -1.4625,6.8250001 z"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ style="display:inline;fill:url(#radialGradient4977);fill-opacity:1;stroke-width:1.21875;filter:url(#filter5135)"
+ id="path11862"
+ d="m 429.01283,20.243326 h -1.82812 c -0.4875,0 -0.975,-0.365625 -0.975,-0.975 0,0 0.36562,-4.387501 -3.9,-8.775 -3.04688,-3.6562503 -8.53125,-3.9000003 -8.53125,-3.9000003 -0.60938,0 -0.975,-0.365625 -0.975,-0.8531249 V 4.0339507 c 0,-0.4875 0.36562,-0.853125 0.975,-0.853125 0,0 7.67812,0.4875 11.7,5.4843751 4.02187,3.7781242 4.3875,10.7250002 4.3875,10.7250002 0,0.4875 -0.24375,0.853125 -0.85313,0.853125 z M 413.77846,9.2745758 c 0,0 4.50937,0.609375 7.06875,2.9249992 2.55937,2.4375 3.04687,7.190626 3.04687,7.190626 0,0.4875 -0.12181,0.975 -0.60937,0.975 h -1.82813 c -0.4875,0 -0.73125,-0.365625 -0.73125,-0.975 0,0 0.12181,-2.925001 -2.19375,-5.118751 -1.82812,-1.584375 -4.75312,-1.70625 -4.75312,-1.70625 -0.60938,0 -0.975,-0.365625 -0.975,-0.853125 v -1.584374 c 0,-0.4875002 0.36562,-0.8531252 0.975,-0.8531252 z m 1.4625,6.0937492 c 1.34062,0 2.4375,1.096875 2.4375,2.4375 0,1.340626 -1.09688,2.437501 -2.4375,2.437501 -1.34063,0 -2.4375,-1.096875 -2.4375,-2.437501 0,-1.340625 1.09687,-2.4375 2.4375,-2.4375 z"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ style="display:inline;fill:url(#radialGradient4997);fill-opacity:1;stroke-width:1.21875;filter:url(#filter5147)"
+ id="path12430"
+ d="m 451.64901,16.435377 -3.65625,-3.290625 v 2.559375 c 0,0.975 -0.73125,1.70625 -1.58436,1.70625 h -9.01875 c -0.85314,0 -1.58439,-0.73125 -1.58439,-1.70625 V 6.9291285 c 0,-0.9750001 0.73125,-1.7062501 1.58439,-1.7062501 h 9.01875 c 0.85311,0 1.58436,0.73125 1.58436,1.7062501 v 2.437499 l 3.65625,-3.2906241 c 0.36564,-0.365625 0.73125,-0.4875 1.21875,-0.365625 V 16.801002 c -0.36561,0.121875 -0.85311,0 -1.21875,-0.365625 z"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <g
+ id="g4779"
+ style="display:inline;filter:url(#filter5159)"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)">
+ <path
+ style="fill:url(#radialGradient4710);fill-opacity:1;stroke-width:1.265625;"
+ d="M 165.73984,2.6257296 V 20.34448 h 9.42792 0.69708 2.46698 c 1.25518,-0.32709 2.23657,-1.314095 2.53125,-2.53125 v -2.53125 -7.5937504 -2.53125 c -0.29468,-1.2171559 -1.27607,-2.2041601 -2.53125,-2.53125 h -2.07148 -1.09258 z m 7.73958,3.0577697 1.33485,2.2420349 c 0,0 0.36967,0.6174141 0.65753,0.813263 0.26974,0.1834496 0.93438,0.2892151 0.93438,0.2892151 h 2.72901 l -1.89596,3.0800167 c 0,0 -0.27577,0.604831 -0.41281,0.907196 -0.20593,0.452534 0.006,1.243536 0.0742,1.982484 0.10732,1.162403 0.19033,2.286529 0.19033,2.286529 l -2.21484,-1.132141 c 0,0 -0.90763,-0.426918 -1.39416,-0.427644 -0.5721,0 -1.64383,0.496858 -1.64383,0.496858 l -2.2198,1.065398 c 0,0 0.16319,-1.013778 0.33866,-2.128325 0.11606,-0.733074 0.43611,-1.567458 0.17798,-2.071473 -0.13995,-0.274086 -0.42023,-0.820679 -0.42023,-0.820679 L 167.532,9.0996981 h 2.71169 c 0,0 0.88228,-0.06226 1.24339,-0.2892151 0.27408,-0.1711231 0.61056,-0.7539368 0.61056,-0.7539368 z"
+ id="bookmarks-star-4" />
+ <path
+ style="fill:url(#radialGradient4712);fill-opacity:1;stroke:none;stroke-width:1.265625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill;"
+ d="m 163.20859,2.6257296 c -1.25519,0.3270899 -2.23658,1.3140942 -2.53125,2.53125 v 2.53125 7.5937504 2.53125 c 0.29467,1.217155 1.27606,2.20416 2.53125,2.53125 h 3.16406 v -5.0625 -7.5937504 -5.0625 z"
+ id="bookmarks-overlay-1" />
+ <path
+ style="opacity:0.66300001;fill:url(#radialGradient4714);fill-opacity:1;stroke:url(#radialGradient4750);stroke-width:0.6328125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;"
+ d="M 166.37156,2.6257296 V 20.34448"
+ id="bookmarks-divider-7" />
+ </g>
+ <path
+ d="m 133.26971,34.690626 -6.72001,6.6 c -0.24,0.36 -0.72,0.48 -1.2,0.48 -0.48,0 -0.96,-0.12 -1.32,-0.48 l -6.72,-6.6 c -0.6,-0.72 -0.48,-1.32 0.48,-1.32 h 3.96 v -7.200001 c 0,-0.72 0.48,-1.2 1.2,-1.2 h 4.8 c 0.72,0 1.2,0.48 1.2,1.2 v 7.200001 h 3.84 c 0.96001,0 1.20001,0.6 0.48001,1.32 z"
+ id="path4214-3"
+ style="display:inline;fill:url(#radialGradient4709-1);fill-opacity:1;stroke-width:1;filter:url(#filter5171)"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ </g>
+</svg>
diff --git a/application/palemoon/themes/windows/Toolbar-inverted.png b/application/palemoon/themes/windows/Toolbar-inverted.png
deleted file mode 100644
index 2c3253fe80..0000000000
--- a/application/palemoon/themes/windows/Toolbar-inverted.png
+++ /dev/null
Binary files differ
diff --git a/application/palemoon/themes/windows/Toolbar-inverted.svg b/application/palemoon/themes/windows/Toolbar-inverted.svg
new file mode 100644
index 0000000000..ce59313e68
--- /dev/null
+++ b/application/palemoon/themes/windows/Toolbar-inverted.svg
@@ -0,0 +1,302 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ enable-background="new 0 0 378 38"
+ viewBox="0 0 378 38"
+ height="38"
+ width="378"
+ y="0px"
+ x="0px"
+ id="strataToolbarSVG"
+ version="1.1">
+ <metadata
+ id="metadata146">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs144">
+ <filter
+ id="filter1070"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood1060"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039" />
+ <feComposite
+ id="feComposite1062"
+ result="composite1"
+ operator="in"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur1064"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset1066"
+ result="offset"
+ dy="0"
+ dx="0" />
+ <feComposite
+ id="feComposite1068"
+ result="fbSourceGraphic"
+ operator="over"
+ in2="offset"
+ in="SourceGraphic" />
+ <feColorMatrix
+ id="feColorMatrix1072"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039"
+ id="feFlood1074" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite1076"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1"
+ id="feGaussianBlur1078" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="0"
+ id="feOffset1080" />
+ <feComposite
+ result="fbSourceGraphic"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite1082"
+ in2="offset" />
+ <feColorMatrix
+ id="feColorMatrix1084"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039"
+ id="feFlood1086" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite1088"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1"
+ id="feGaussianBlur1090" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="0"
+ id="feOffset1092" />
+ <feComposite
+ result="fbSourceGraphic"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite1094"
+ in2="offset" />
+ <feColorMatrix
+ id="feColorMatrix1096"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039"
+ id="feFlood1098" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite1100"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1"
+ id="feGaussianBlur1102" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="0"
+ id="feOffset1104" />
+ <feComposite
+ result="fbSourceGraphic"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite1106"
+ in2="offset" />
+ <feColorMatrix
+ id="feColorMatrix1108"
+ values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
+ in="fbSourceGraphic"
+ result="fbSourceGraphicAlpha" />
+ <feFlood
+ in="fbSourceGraphic"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039"
+ id="feFlood1110" />
+ <feComposite
+ result="composite1"
+ operator="in"
+ in="flood"
+ id="feComposite1112"
+ in2="fbSourceGraphic" />
+ <feGaussianBlur
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1"
+ id="feGaussianBlur1114" />
+ <feOffset
+ result="offset"
+ dy="0"
+ dx="0"
+ id="feOffset1116" />
+ <feComposite
+ result="composite2"
+ operator="over"
+ in="fbSourceGraphic"
+ id="feComposite1118"
+ in2="offset" />
+ </filter>
+ </defs>
+ <g
+ style="fill:#ffffff;filter:url(#filter1070)"
+ id="toolbar">
+ <path
+ style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 14.7,10.7 C 14.464283,10.935746 14.000125,11 14.000125,11 H 9 l 2.132,2.085573 c 0.519423,0.508112 0.595,1.2729 0.198,1.6979 l -0.793,0.9549 c -0.396,0.424 -1.091,0.318 -1.587,-0.212 L 3.595,9.690773 3,8.946873 l 0.595,-0.743 5.256,-5.7295 c 0.496,-0.531 1.19,-0.637 1.587,-0.212 l 0.794,0.9549 c 0.396,0.425 0.297,1.1669 -0.198,1.6979 L 9,7 h 4.999875 c 0,0 0.464437,0.064342 0.700125,0.3 0.235717,0.2356875 0.299875,0.7 0.299875,0.7 l 2.5e-4,2 c 0,0 -0.06444,0.464283 -0.300125,0.7 z"
+ id="back" />
+ <path
+ style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="back-large"
+ d="m 16.441631,29.733331 c -0.275,0.275034 -0.816512,0.349996 -0.816512,0.349996 H 8.999927 l 2.487308,2.516543 c 0.595913,0.602917 0.694159,1.485034 0.230997,1.980862 l -0.925157,1.114039 C 10.33108,36.189432 9.5202547,36.065767 8.9415947,35.44744 L 2.6941594,28.639311 2,27.771437 2.6941594,26.904612 8.8260957,20.220265 c 0.57866,-0.619493 1.3883193,-0.743159 1.8514803,-0.24733 l 0.926324,1.114038 c 0.461995,0.495828 0.346497,1.361369 -0.230997,1.980863 l -2.37283,2.348836 h 6.6249 c 0,0 0.541837,0.07506 0.816804,0.349997 0.275,0.274966 0.34985,0.816658 0.34985,0.816658 l 1.46e-4,2.333346 c 0,0 -0.07518,0.541658 -0.350142,0.816658 z" />
+ <path
+ style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="forward"
+ d="m 21.30025,10.7 c 0.235717,0.235746 0.699875,0.3 0.699875,0.3 h 5.000125 l -2.132,2.085573 c -0.519423,0.508112 -0.595,1.2729 -0.198,1.6979 l 0.793,0.9549 c 0.396,0.424 1.091,0.318 1.587,-0.212 l 5.355,-5.8356 0.595,-0.7439 -0.595,-0.743 -5.256,-5.7295 c -0.496,-0.531 -1.19,-0.637 -1.587,-0.212 l -0.794,0.9549 c -0.396,0.425 -0.297,1.1669 0.198,1.6979 L 27.00025,7 h -4.999875 c 0,0 -0.464437,0.064342 -0.700125,0.3 C 21.064533,7.5356875 21.000375,8 21.000375,8 l -2.5e-4,2 c 0,0 0.06444,0.464283 0.300125,0.7 z" />
+ <path
+ style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 51.5,4.64955 47.233834,8.949625 51.5,13.248616 49.366916,15.398166 45,11.201008 40.733834,15.5 38.60075,13.35045 42.866916,8.9485416 38.5,4.64955 40.633084,2.5 45,6.800075 49.266166,2.5 Z"
+ id="stop" />
+ <path
+ style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 69,9 H 62 L 64.8,6.2 C 64.1,5.7 63.4,5.5 62.5,5.5 c -2.2,0 -4,1.8 -4,4 0,2.2 1.8,4 4,4 1.399,0 2.7,-0.7 3.399,-1.9 l 2.301,1 C 67.099,14.6 65,16 62.5,16 58.899,16 56,13.1 56,9.5 56,5.9 58.899,3 62.5,3 64,3 65.399,3.5 66.6,4.4 L 69,2 Z"
+ id="reload" />
+ <path
+ style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 76,9 h -3 l 8,-7 8,7 h -3 v 6.5 H 82 V 12 h -2 v 3.5 h -4 z"
+ id="home" />
+ <path
+ style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 91.5,9 h 4.453 V 2 h 6.093 V 9 H 106.5 L 99,16 Z"
+ id="download" />
+ <path
+ style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 117,2 c -3.866,0 -7,3.134 -7,7 0,3.866 3.134,7 7,7 3.866,0 7,-3.134 7,-7 0,-3.866 -3.134,-7 -7,-7 z m 0,2 c 2.761,0 5,2.238 5,5 0,2.762 -2.239,5 -5,5 -2.762,0 -5,-2.238 -5,-5 0,-2.762 2.239,-5 5,-5 z m -0.7,1.2 C 116.0643,5.4357023 116,6 116,6 v 4 l 4,2 -2,-3 V 6 C 118,6 117.9357,5.4357023 117.7,5.2 117.4643,4.9642977 117,5 117,5 c 0,0 -0.4643,-0.035702 -0.7,0.2 z"
+ id="history" />
+ <g
+ style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="bookmarks">
+ <path
+ style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 131,2 v 14 h 7.44922 0.55078 1.94922 c 0.99175,-0.258441 1.76717,-1.038297 2,-2 V 12 6 4 c -0.23283,-0.9617034 -1.00825,-1.7415586 -2,-2 h -1.63672 -0.86328 z m 6.11523,2.4160156 1.05469,1.7714844 c 0,0 0.29209,0.4878333 0.51953,0.6425781 0.21313,0.1449479 0.73828,0.2285157 0.73828,0.2285157 h 2.15625 l -1.49804,2.4335937 c 0,0 -0.21789,0.4778906 -0.32617,0.7167965 -0.16271,0.357558 0.005,0.982547 0.0586,1.566407 0.0848,0.918442 0.15039,1.80664 0.15039,1.80664 l -1.75,-0.894531 c 0,0 -0.71714,-0.337318 -1.10156,-0.337891 -0.45203,0 -1.29883,0.392579 -1.29883,0.392579 l -1.75391,0.841796 c 0,0 0.12894,-0.80101 0.26758,-1.68164 0.0917,-0.579219 0.34458,-1.238485 0.14063,-1.636719 -0.11058,-0.216562 -0.33204,-0.6484375 -0.33204,-0.6484375 l -1.7246,-2.5019531 h 2.14257 c 0,0 0.69711,-0.049193 0.98243,-0.2285156 0.21656,-0.1352084 0.48242,-0.5957032 0.48242,-0.5957032 z"
+ id="bookmarks-star" />
+ <path
+ style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 129,2 c -0.99175,0.2584414 -1.76717,1.0382967 -2,2 v 2 6 2 c 0.23283,0.961703 1.00825,1.741559 2,2 h 2.5 V 12 6 2 Z"
+ id="bookmarks-overlay" />
+ <path
+ style="stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 131.49914,2 V 16"
+ id="bookmarks-divider" />
+ </g>
+ <path
+ style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 160,14 h -2 l 1,2 h -12 l 1,-2 h -2 c -0.601,0 -1,-0.4 -1,-1 V 8 c 0,-0.6 0.70113,-0.635443 1,-1 0.38098,-0.4647208 0.61902,-1.0352792 1,-1.5 0.29887,-0.364557 0.399,-1 1,-1 V 3 c 0,-0.6 0.399,-1 1,-1 h 8 c 0.6,0 1,0.4 1,1 v 1.5 c 0.6,0 0.70113,0.635443 1,1 0.38098,0.4647208 0.61902,1.0352792 1,1.5 0.29887,0.364557 1,0.4 1,1 v 5 c 0,0.6 -0.4,1 -1,1 z M 148.5,9 h -0.5 -0.5 c -0.3,0 -0.5,0.2 -0.5,0.5 0,0.3 0.2,0.5 0.5,0.5 h 1 C 148.8,10 149,9.8 149,9.5 149,9.2 148.8,9 148.5,9 Z M 157,4 c 0,-0.6 -0.4,-1 -1,-1 h -6 c -0.601,0 -1,0.4 -1,1 v 3 c 0,0.6 0.399,1 1,1 h 6 c 0.6,0 1,-0.4 1,-1 z m -0.9,9 h -6.2 l -0.899,2 h 8 z"
+ id="print" />
+ <path
+ style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="newtab"
+ d="m 170.93359,2 -4.01562,0.00195 c 0,0.00178 -0.87681,0.216686 -0.87695,1.4980469 v 2.8164062 c 0,0 -0.0732,0.3643751 -0.19922,0.484375 C 165.69982,6.9357812 165.29102,7 165.29102,7 c 0,0 -0.53242,-0.057 -0.7754,0 -0.36297,0.086 -0.73599,0.236 -1,0.5 -0.26399,0.264 -0.41502,0.637 -0.5,1 -0.038,0.162 0,0.5 0,0.5 v 5.537109 c 0,0 0.24003,0.710891 0.5,0.962891 0.27398,0.267 1.03516,0.5 1.03516,0.5 h 13.0957 c 0,0 0.60287,-0.276 0.83985,-0.5 0.21699,-0.205 0.49023,-0.742188 0.49023,-0.742188 V 9 c 0.026,-0.322 0.038,-0.338 0,-0.5 -0.086,-0.363 -0.22624,-0.736 -0.49023,-1 -0.26398,-0.264 -0.63802,-0.415 -1,-0.5 -0.22799,-0.054 -0.69922,0 -0.69922,0 0,0 -0.44657,-0.056219 -0.60156,-0.1992188 -0.12799,-0.1189999 -0.19922,-0.484375 -0.19922,-0.484375 L 175.98828,3.5 C 175.98843,2.1047456 174.9707,2 174.9707,2 Z m -0.79101,5 h 1.71484 V 9.1425781 H 174 v 1.7148439 h -2.14258 V 13 h -1.71484 V 10.857422 H 168 V 9.1425781 h 2.14258 z" />
+ <path
+ style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="newwindow"
+ d="M 182.4375,2 C 181.52354,2.2781435 181.28553,2.8114358 181,3.6875 V 14.125 c 0.21642,1.330001 0.75257,1.636052 2.0625,1.875 H 195 c 1.30474,-0.204204 1.70477,-0.57308 2,-1.875 V 4 C 196.8019,2.7723315 196.4998,2.3703399 195.3125,2 Z M 190,3 h 1 v 1 h -1 z m 2,0 h 1 v 1 h -1 z m 2,0 h 2 v 1 h -2 z m -11,3 h 12 v 8 h -12 z m 5.14258,1 V 9.1425781 H 186 v 1.7148439 h 2.14258 V 13 h 1.71484 V 10.857422 H 192 V 9.1425781 h -2.14258 V 7 Z" />
+ <path
+ style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 212.70159,16 c -0.79707,0 -1.49513,-0.2 -2.2922,-1.3 -0.79807,-1.1 -1.69515,-2.5 -1.69515,-2.5 0,0 -0.69706,-0.9 -1.09709,-1.6 -0.49805,-0.7 -1.0971,-0.5 -1.0971,-0.5 0,0 -2.89125,-4.7 -3.3903,-5.4 -0.59805,-1 0.59906,-2.7 0.59906,-2.7 l 4.38738,7 c 0,0 1.39612,1.9 1.89417,2.3 0.49904,0.4 1.39612,-0.4 2.79224,0.9 1.89417,1.8 1.29611,3.8 -0.10101,3.8 z m -0.29802,-2.9 c -0.89708,-1 -1.69415,-0.9 -1.89417,-0.6 -0.20002,0.3 0,1.2 0.39804,1.7 0.39803,0.5 0.79806,0.7 1.39612,0.7 0.59905,0.1 1.09709,-0.7 0.10001,-1.8 z m -3.78934,-4.7 -1.1961,-1.8 2.89125,-4.6 c 0,0 1.19611,1.7 0.59906,2.7 -0.29903,0.4 -1.39613,2.3 -2.29421,3.7 z m -4.5854,2.899 c 0.29903,-0.3 0.99709,-1.1 1.39613,-1.7 l 0.79806,1.2 c -0.39803,0.6 -0.89707,1.4 -0.89707,1.4 0,0 -0.89608,1.4 -1.69415,2.5 -0.69806,1.1 -1.39612,1.3 -2.2932,1.3 -1.39613,0 -2.09419,-2 -0.10001,-3.8 1.39412,-1.199 2.2912,-0.499 2.79024,-0.9 z m -2.39321,1.801 c -0.89708,1 -0.39803,1.8 0.19902,1.8 0.59905,0 0.99709,-0.2 1.39612,-0.7 0.39804,-0.5 0.59806,-1.5 0.39804,-1.7 -0.29803,-0.3 -1.0961,-0.4 -1.99318,0.6 z"
+ id="cut" />
+ <path
+ style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 231,16 h -6 c -0.601,0 -1,-0.4 -1,-1 V 12 9.4 7 c 0,-0.6 0.399,-1 1,-1 0,0 3.2,0 5,0 l 2,2 c 0,2.2 0,7 0,7 0,0.6 -0.4,1 -1,1 z m -2,-9 v 2 h 2 z M 223,5.9 V 7 8.9 12 h -4 c -0.601,0 -1,-0.4 -1,-1 V 3 c 0,-0.6 0.399,-1 1,-1 0,0 3.2,0 5,0 l 2,2 c 0,0.4 0,0.8 0,1.3 h -2.5 C 223.2,5.4 223,5.6 223,5.9 Z M 223,3 v 2 h 2 z"
+ id="copy" />
+ <path
+ style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 246.8507,16 h -7.7014 C 238.26914,16 237.5,15.3 237.5,14.5 v -9 c 0,-0.8 0.77014,-1.5 1.6493,-1.5 h 1.6503 c 0,0 0,-2 2.2004,-2 2.2004,0 2.2004,2 2.2004,2 h 1.6493 c 0.88016,0 1.6503,0.7 1.6503,1.5 v 9 c 0.001,0.799 -0.76914,1.5 -1.6493,1.5 z M 245.97054,5 244.76032,4.5 c 0,0 0,-1.5 -1.76032,-1.5 -1.76032,0 -1.76032,1.5 -1.76032,1.5 l -1.21122,0.5 -0.5501,1 h 2.7505 3.52164 0.88016 z m 0.11002,1.7 h -5.17094 l -3.3016,1.7 3.08056,4.9 7.26232,-3.8 z"
+ id="paste" />
+ <path
+ style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 265,12 V 6 l 3,3 z m -7,1 h 6 l -3,3 z m 0,-1 V 6 h 6 v 6 z m 5,-4 h -4 v 3 h 4 z m -2,-6 3,3 h -6 z m -4,4 v 6 l -3,-3 z"
+ id="fullscreen" />
+ <path
+ style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 274,8 h 10 v 2 h -10 z"
+ id="minus" />
+ <path
+ style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 302,10 h -4 v 4 h -2 v -4 h -4 V 8 h 4 V 4 h 2 v 4 h 4 z"
+ id="plus" />
+ <path
+ style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 321.96164,9.3589991 c -0.0996,0.5880529 -0.19907,1.1749739 -0.39904,1.6649929 -0.39904,1.272996 -2.49721,3.230982 -2.49721,3.230982 l 1.23012,1.745023 -4.92726,6e-6 V 9.849 c 0,0 0.89889,1.46799 1.39795,2.05599 1.19912,-0.588025 1.99814,-1.762997 2.09818,-2.9380158 0.10109,-0.8810027 -0.19905,-1.6639894 -0.59902,-2.2510039 -0.18813,-0.3229439 -0.42109,-0.5799624 -0.68685,-0.7931908 -0.30005,-0.23897 -1.01208,-0.5779774 -1.01208,-0.5779774 l 0.0174,-3.3306603 c 1.03186,0.2680556 1.4999,0.3864246 2.85781,1.3686643 1.67715,1.2509803 2.78224,3.5019854 2.52022,5.9759989 z m -6.99262,-1.9580198 c 0,0 -1.09884,-1.4681946 -1.59912,-1.9580122 -1.39809,0.6859994 -2.19718,1.957993 -2.19714,3.3290059 0.39151,1.955025 1.15486,2.878079 2.87049,3.728027 V 16 c -1.14823,-0.14515 -2.89657,-1.144129 -3.76062,-2.017966 -1.64214,-1.695027 -2.56324,-3.735 -2.20626,-6.1889776 0.1,-0.6850241 0.30006,-1.3699914 0.49903,-1.9580159 0.40011,-1.0769929 1.10011,-1.957978 2.09921,-2.6429982 0.0997,-0.098323 0.199,-0.098023 0.29929,-0.1955973 -0.39905,-0.3919885 -1.2861,-0.9964444 -1.2861,-0.9964444 l 5.35545,-1.3e-6 z"
+ id="sync" />
+ <path
+ style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 339.29905,15.9 h -1.49989 c -0.39997,0 -0.79995,-0.3 -0.79995,-0.8 0,0 0.29998,-3.6 -3.19977,-7.2 -2.49982,-3 -6.9995,-3.2 -6.9995,-3.2 C 326.29998,4.7 326,4.4 326,4 V 2.6 c 0,-0.4 0.29998,-0.7 0.79994,-0.7 0,0 6.29955,0.4 9.59932,4.5 3.29976,3.1 3.60074,8.8 3.60074,8.8 -10e-4,0.4 -0.20099,0.7 -0.70095,0.7 z m -12.49911,-9 c 0,0 3.69974,0.5 5.79959,2.4 2.09985,2 2.49982,5.9 2.49982,5.9 0,0.4 -0.1,0.8 -0.49996,0.8 h -1.4999 c -0.39997,0 -0.59995,-0.3 -0.59995,-0.8 0,0 0.1,-2.4 -1.80088,-4.2 C 329.19877,9.7 326.79994,9.6 326.79994,9.6 326.29998,9.6 326,9.3 326,8.9 V 7.6 c 0,-0.4 0.29998,-0.7 0.79994,-0.7 z m 1.19992,5 c 1.09992,0 1.99985,0.9 1.99985,2 0,1.1 -0.89993,2 -1.99985,2 C 326.89894,15.9 326,15 326,13.9 c 0,-1.1 0.89994,-2 1.99986,-2 z"
+ id="rss" />
+ <path
+ style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 344.5,5 c 0,0 0.0643,-0.4642977 0.3,-0.7 0.2357,-0.2357023 0.7,-0.3 0.7,-0.3 h 7.5 c 0,0 0.4643,0.064298 0.7,0.3 0.2357,0.2357023 0.3,0.7 0.3,0.7 v 2 l 4.0245,-3 -0.049,10 L 354,11 v 2 c 0,0 -0.0643,0.464298 -0.3,0.7 -0.2357,0.235702 -0.7,0.3 -0.7,0.3 h -7.5 c 0,0 -0.4643,-0.0643 -0.7,-0.3 -0.2357,-0.235702 -0.3,-0.7 -0.3,-0.7 z"
+ id="webrtc" />
+ <path
+ style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="bookmark-none"
+ d="m 369.20312,1 -1.9082,3.2734375 c 0,0 -0.46184,0.8030625 -0.83984,1.0390625 -0.498,0.313 -1.71875,0.3984375 -1.71875,0.3984375 H 361 l 3.00781,4.3652345 c 0,0 0.38708,0.754812 0.58008,1.132812 0.356,0.6951 -0.0841,1.844469 -0.24414,2.855469 -0.242,1.5371 -0.4668,2.935547 -0.4668,2.935547 l 3.06055,-1.466797 c 0,0 1.47663,-0.685547 2.26562,-0.685547 0.671,10e-4 1.92579,0.587891 1.92579,0.587891 l 3.05273,1.5625 c 0,0 -0.11177,-1.549244 -0.25976,-3.152344 -0.093,-1.0191 -0.38752,-2.112228 -0.10352,-2.736328 0.189,-0.417 0.56836,-1.2519531 0.56836,-1.2519531 L 377,5.6113281 h -3.76172 c 0,0 -0.91706,-0.1454375 -1.28906,-0.3984375 -0.397,-0.2701 -0.90625,-1.1210937 -0.90625,-1.1210937 z m -0.0762,3 1.15039,1.9316406 c 0,0 0.31633,0.5323647 0.56446,0.7011719 0.23249,0.1581201 0.80664,0.25 0.80664,0.25 H 374 l -1.63281,2.6542969 c 0,0 -0.23929,0.5206326 -0.35742,0.7812496 -0.17749,0.39005 0.008,1.074021 0.0664,1.710938 C 372.16866,13.031203 372.23828,14 372.23828,14 l -1.9082,-0.978516 c 0,0 -0.78376,-0.366562 -1.20313,-0.367187 -0.4931,0 -1.41601,0.429687 -1.41601,0.429687 L 365.79883,14 c 0,0 0.13977,-0.873327 0.29101,-1.833984 0.1,-0.631855 0.37484,-1.350734 0.15235,-1.785157 -0.12063,-0.236243 -0.36133,-0.708984 -0.36133,-0.708984 L 364,6.9453125 h 2.33594 c 0,0 0.76298,-0.054381 1.07422,-0.25 0.23624,-0.1474953 0.52343,-0.6484375 0.52343,-0.6484375 z" />
+ <path
+ style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="bookmark-added"
+ d="m 369.202,19 -1.908,3.2732 c 0,0 -0.461,0.8031 -0.839,1.0391 -0.498,0.313 -1.718,0.399 -1.718,0.399 H 361 l 3.008,4.3643 c 0,0 0.387,0.755 0.58,1.133 0.356,0.6951 -0.084,1.8452 -0.244,2.8562 C 364.102,33.6019 363.877,35 363.877,35 l 3.06,-1.4671 c 0,0 1.477,-0.686 2.266,-0.686 0.671,0.001 1.925,0.588 1.925,0.588 l 3.053,1.5641 c 0,0 -0.112,-1.5501 -0.26,-3.1532 -0.093,-1.0191 -0.388,-2.1121 -0.104,-2.7362 0.189,-0.417 0.57,-1.252 0.57,-1.252 L 377,23.6123 h -3.763 c 0,0 -0.917,-0.146 -1.289,-0.399 -0.397,-0.2701 -0.906,-1.1221 -0.906,-1.1221 z" />
+ </g>
+</svg>
diff --git a/application/palemoon/themes/windows/Toolbar.png b/application/palemoon/themes/windows/Toolbar.png
deleted file mode 100644
index 3d1b80ec70..0000000000
--- a/application/palemoon/themes/windows/Toolbar.png
+++ /dev/null
Binary files differ
diff --git a/application/palemoon/themes/windows/Toolbar.svg b/application/palemoon/themes/windows/Toolbar.svg
new file mode 100644
index 0000000000..314e020fb1
--- /dev/null
+++ b/application/palemoon/themes/windows/Toolbar.svg
@@ -0,0 +1,1357 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ enable-background="new 0 0 378 38"
+ viewBox="0 0 378 38"
+ height="38"
+ width="378"
+ y="0px"
+ x="0px"
+ id="PaleMoonToolbarSVG"
+ version="1.1">
+ <metadata
+ id="metadata146">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs144">
+ <radialGradient
+ cy="0.69999999"
+ id="globalGradient">
+ <stop
+ style="stop-color:#87939b;stop-opacity:1"
+ id="stop4"
+ offset="0.05" />
+ <stop
+ style="stop-color:#45555f;stop-opacity:1"
+ id="stop6"
+ offset="1" />
+ </radialGradient>
+ <filter
+ id="insetShadow">
+ <feFlood
+ id="feFlood1875"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039" />
+ <feComposite
+ id="feComposite1877"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur1879"
+ result="blur"
+ stdDeviation="2"
+ in="composite1" />
+ <feOffset
+ id="feOffset1881"
+ result="offset"
+ dy="0"
+ dx="0" />
+ <feComposite
+ id="feComposite1883"
+ result="composite2"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ </filter>
+ <filter
+ id="filter2164"
+ style="color-interpolation-filters:sRGB;">
+ <feFlood
+ id="feFlood2154"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="1" />
+ <feComposite
+ id="feComposite2156"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur2158"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset2160"
+ result="offset"
+ dy="0"
+ dx="0" />
+ <feComposite
+ id="feComposite2162"
+ result="composite2"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ </filter>
+ <radialGradient
+ cy="12.21416"
+ id="globalGradient-8"
+ gradientTransform="matrix(1.0350983,0,0,0.96609178,0,18)"
+ cx="95.643087"
+ fx="95.643087"
+ fy="12.21416"
+ r="7.2456884"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#12d92d;stop-opacity:1"
+ id="stop4-5"
+ offset="0.05" />
+ <stop
+ style="stop-color:#01b222;stop-opacity:1"
+ id="stop6-5"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.1087088,0,-1.2351844)"
+ r="7.1399999"
+ fy="14.778796"
+ fx="10.529827"
+ cy="14.778796"
+ cx="10.529827"
+ id="radialGradient4669"
+ xlink:href="#linearGradient4635" />
+ <linearGradient
+ id="linearGradient4635">
+ <stop
+ id="stop4631"
+ offset="0"
+ style="stop-color:#6198cb;stop-opacity:1" />
+ <stop
+ id="stop4633"
+ offset="1"
+ style="stop-color:#3a78b2;stop-opacity:1" />
+ </linearGradient>
+ <filter
+ id="filter4701"
+ style="color-interpolation-filters:sRGB">
+ <feFlood
+ id="feFlood4691"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039" />
+ <feComposite
+ id="feComposite4693"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4695"
+ result="blur"
+ stdDeviation="1"
+ in="composite1" />
+ <feOffset
+ id="feOffset4697"
+ result="offset"
+ dy="0"
+ dx="0" />
+ <feComposite
+ id="feComposite4699"
+ result="composite2"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ </filter>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.0853313,0,-3.029369)"
+ r="8.7600002"
+ fy="38.79744"
+ fx="11.063469"
+ cy="38.79744"
+ cx="11.063469"
+ id="radialGradient4637"
+ xlink:href="#linearGradient4635" />
+ <filter
+ id="filter4661"
+ style="color-interpolation-filters:sRGB">
+ <feFlood
+ id="feFlood4651"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039" />
+ <feComposite
+ id="feComposite4653"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4655"
+ result="blur"
+ stdDeviation="1"
+ in="composite1" />
+ <feOffset
+ id="feOffset4657"
+ result="offset"
+ dy="0"
+ dx="0" />
+ <feComposite
+ id="feComposite4659"
+ result="composite2"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ </filter>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.1003056,0,-1.1335797)"
+ r="7.1399999"
+ fy="14.552581"
+ fx="34.841751"
+ cy="14.552581"
+ cx="34.841751"
+ id="radialGradient4677"
+ xlink:href="#linearGradient4635" />
+ <filter
+ id="filter4689"
+ style="color-interpolation-filters:sRGB">
+ <feFlood
+ id="feFlood4679"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039" />
+ <feComposite
+ id="feComposite4681"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4683"
+ result="blur"
+ stdDeviation="1"
+ in="composite1" />
+ <feOffset
+ id="feOffset4685"
+ result="offset"
+ dy="0"
+ dx="0" />
+ <feComposite
+ id="feComposite4687"
+ result="composite2"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ </filter>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.99218759,0,0.09141507)"
+ r="7.6799994"
+ fy="12.761739"
+ fx="58.062626"
+ cy="12.761739"
+ cx="58.062626"
+ id="radialGradient4605"
+ xlink:href="#linearGradient4603" />
+ <linearGradient
+ id="linearGradient4603">
+ <stop
+ id="stop4599"
+ offset="0"
+ style="stop-color:#e72b1d;stop-opacity:1" />
+ <stop
+ id="stop4601"
+ offset="1"
+ style="stop-color:#cc4338;stop-opacity:1" />
+ </linearGradient>
+ <filter
+ id="filter4629"
+ style="color-interpolation-filters:sRGB">
+ <feFlood
+ id="feFlood4619"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039" />
+ <feComposite
+ id="feComposite4621"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4623"
+ result="blur"
+ stdDeviation="1"
+ in="composite1" />
+ <feOffset
+ id="feOffset4625"
+ result="offset"
+ dy="0"
+ dx="0" />
+ <feComposite
+ id="feComposite4627"
+ result="composite2"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ </filter>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.0769231,0,-0.86932835)"
+ r="7.8000002"
+ fy="13.939252"
+ fx="79.305222"
+ cy="13.939252"
+ cx="79.305222"
+ id="radialGradient4525"
+ xlink:href="#linearGradient4523-3" />
+ <linearGradient
+ id="linearGradient4523-3">
+ <stop
+ id="stop4519"
+ offset="0"
+ style="stop-color:#4fb55d;stop-opacity:1" />
+ <stop
+ id="stop4521"
+ offset="1"
+ style="stop-color:#2d8539;stop-opacity:1" />
+ </linearGradient>
+ <filter
+ id="filter4597"
+ style="color-interpolation-filters:sRGB">
+ <feFlood
+ id="feFlood4587"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039" />
+ <feComposite
+ id="feComposite4589"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4591"
+ result="blur"
+ stdDeviation="1"
+ in="composite1" />
+ <feOffset
+ id="feOffset4593"
+ result="offset"
+ dy="0"
+ dx="0" />
+ <feComposite
+ id="feComposite4595"
+ result="composite2"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ </filter>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.87507716,0,1.3868386)"
+ r="9.5995998"
+ fy="12.664675"
+ fx="103.23091"
+ cy="12.664675"
+ cx="103.23091"
+ id="radialGradient4529"
+ xlink:href="#linearGradient4527" />
+ <linearGradient
+ id="linearGradient4527">
+ <stop
+ id="stop4523"
+ offset="0"
+ style="stop-color:#3f6bbd;stop-opacity:1" />
+ <stop
+ id="stop4525"
+ offset="1"
+ style="stop-color:#29467b;stop-opacity:1" />
+ </linearGradient>
+ <filter
+ id="filter4783"
+ style="color-interpolation-filters:sRGB">
+ <feFlood
+ id="feFlood4773"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039" />
+ <feComposite
+ id="feComposite4775"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4777"
+ result="blur"
+ stdDeviation="1"
+ in="composite1" />
+ <feOffset
+ id="feOffset4779"
+ result="offset"
+ dy="0"
+ dx="0" />
+ <feComposite
+ id="feComposite4781"
+ result="composite2"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ </filter>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.0032611,0,-0.03620244)"
+ r="8.3726959"
+ fy="16.659737"
+ fx="125.30523"
+ cy="16.659737"
+ cx="125.30523"
+ id="radialGradient4709"
+ xlink:href="#linearGradient4707" />
+ <linearGradient
+ id="linearGradient4707">
+ <stop
+ id="stop4703"
+ offset="0"
+ style="stop-color:#8c9ba5;stop-opacity:1" />
+ <stop
+ id="stop4705"
+ offset="1"
+ style="stop-color:#607480;stop-opacity:1" />
+ </linearGradient>
+ <filter
+ id="filter4721"
+ style="color-interpolation-filters:sRGB">
+ <feFlood
+ id="feFlood4711"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039" />
+ <feComposite
+ id="feComposite4713"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4715"
+ result="blur"
+ stdDeviation="1"
+ in="composite1" />
+ <feOffset
+ id="feOffset4717"
+ result="offset"
+ dy="0"
+ dx="0" />
+ <feComposite
+ id="feComposite4719"
+ result="composite2"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ </filter>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.993055,0,0.07848724)"
+ r="8.6400051"
+ fy="12.784631"
+ fx="149.26262"
+ cy="12.784631"
+ cx="149.26262"
+ id="radialGradient4729"
+ xlink:href="#linearGradient4727" />
+ <linearGradient
+ id="linearGradient4727">
+ <stop
+ id="stop4723"
+ offset="0"
+ style="stop-color:#3eb796;stop-opacity:1" />
+ <stop
+ id="stop4725"
+ offset="1"
+ style="stop-color:#31a886;stop-opacity:1" />
+ </linearGradient>
+ <filter
+ id="filter4741"
+ style="color-interpolation-filters:sRGB">
+ <feFlood
+ id="feFlood4731"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039" />
+ <feComposite
+ id="feComposite4733"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4735"
+ result="blur"
+ stdDeviation="1"
+ in="composite1" />
+ <feOffset
+ id="feOffset4737"
+ result="offset"
+ dy="0"
+ dx="0" />
+ <feComposite
+ id="feComposite4739"
+ result="composite2"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ </filter>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.79035186,0,0,0.79508811,-0.14216924,6.9389816e-4)"
+ r="9.6007004"
+ fy="12.037849"
+ fx="466.94476"
+ cy="12.037849"
+ cx="466.94476"
+ id="radialGradient5017"
+ xlink:href="#linearGradient5023" />
+ <linearGradient
+ id="linearGradient5023">
+ <stop
+ style="stop-color:#c6cdd2;stop-opacity:1"
+ offset="0"
+ id="stop5019" />
+ <stop
+ style="stop-color:#9cabb4;stop-opacity:1"
+ offset="1"
+ id="stop5021" />
+ </linearGradient>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.87500048,0,1.3876528)"
+ r="9.5999947"
+ fy="13.746766"
+ fx="194.44176"
+ cy="13.746766"
+ cx="194.44176"
+ id="radialGradient4793"
+ xlink:href="#linearGradient4707" />
+ <filter
+ id="filter4805"
+ style="color-interpolation-filters:sRGB">
+ <feFlood
+ id="feFlood4795"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039" />
+ <feComposite
+ id="feComposite4797"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4799"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset4801"
+ result="offset"
+ dy="0"
+ dx="0" />
+ <feComposite
+ id="feComposite4803"
+ result="composite2"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ </filter>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.87500002,0,1.3876579)"
+ r="9.6000004"
+ fy="11.101265"
+ fx="239.2"
+ cy="11.101265"
+ cx="239.2"
+ id="radialGradient4833"
+ xlink:href="#linearGradient4707" />
+ <filter
+ id="filter4853"
+ style="color-interpolation-filters:sRGB">
+ <feFlood
+ id="feFlood4843"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039" />
+ <feComposite
+ id="feComposite4845"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4847"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset4849"
+ result="offset"
+ dy="0"
+ dx="0" />
+ <feComposite
+ id="feComposite4851"
+ result="composite2"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ </filter>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.79274533,0,0,0.78327978,-0.14435628,0.11758726)"
+ r="3.5288758"
+ fy="12.418613"
+ fx="242.0894"
+ cy="12.418613"
+ cx="242.0894"
+ id="radialGradient4841"
+ xlink:href="#linearGradient4707" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.9880597,0,0.14828194)"
+ r="3.5288758"
+ fy="12.418613"
+ fx="242.0894"
+ cy="12.418613"
+ cx="242.0894"
+ id="radialGradient4858"
+ xlink:href="#linearGradient4707" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.99992718,0,0.00247197)"
+ r="9.7507105"
+ fy="31.105829"
+ fx="466.39926"
+ cy="31.105829"
+ cx="466.39926"
+ id="radialGradient5031"
+ xlink:href="#linearGradient5037" />
+ <linearGradient
+ id="linearGradient5037">
+ <stop
+ style="stop-color:#e8e1a1;stop-opacity:1"
+ offset="0"
+ id="stop5033" />
+ <stop
+ style="stop-color:#baad3e;stop-opacity:1"
+ offset="1"
+ id="stop5035" />
+ </linearGradient>
+ <filter
+ id="filter5049"
+ style="color-interpolation-filters:sRGB">
+ <feFlood
+ id="feFlood5039"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039" />
+ <feComposite
+ id="feComposite5041"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur5043"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset5045"
+ result="offset"
+ dy="0"
+ dx="0" />
+ <feComposite
+ id="feComposite5047"
+ result="composite2"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ </filter>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.8160434,0,2.0506693)"
+ r="10.35937"
+ fy="16.56296"
+ fx="217.95329"
+ cy="16.56296"
+ cx="217.95329"
+ id="radialGradient4813"
+ xlink:href="#linearGradient4707" />
+ <filter
+ id="filter4825"
+ style="color-interpolation-filters:sRGB">
+ <feFlood
+ id="feFlood4815"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039" />
+ <feComposite
+ id="feComposite4817"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4819"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset4821"
+ result="offset"
+ dy="0"
+ dx="0" />
+ <feComposite
+ id="feComposite4823"
+ result="composite2"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ </filter>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.9969072,0,0.03528241)"
+ r="8.5577164"
+ fy="15.840806"
+ fx="262.79288"
+ cy="15.840806"
+ cx="262.79288"
+ id="radialGradient4861"
+ xlink:href="#linearGradient4707" />
+ <filter
+ id="filter4873"
+ style="color-interpolation-filters:sRGB">
+ <feFlood
+ id="feFlood4863"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039" />
+ <feComposite
+ id="feComposite4865"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4867"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset4869"
+ result="offset"
+ dy="0"
+ dx="0" />
+ <feComposite
+ id="feComposite4871"
+ result="composite2"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ </filter>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ r="8.53125"
+ fy="14.171478"
+ fx="286.58698"
+ cy="14.171478"
+ cx="286.58698"
+ id="radialGradient4881"
+ xlink:href="#linearGradient4707" />
+ <filter
+ id="filter4893"
+ style="color-interpolation-filters:sRGB">
+ <feFlood
+ id="feFlood4883"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039" />
+ <feComposite
+ id="feComposite4885"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4887"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset4889"
+ result="offset"
+ dy="0"
+ dx="0" />
+ <feComposite
+ id="feComposite4891"
+ result="composite2"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ </filter>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.4,0,-4.4901397)"
+ r="6.09375"
+ fy="14.457072"
+ fx="308.97141"
+ cy="14.457072"
+ cx="308.97141"
+ id="radialGradient4901"
+ xlink:href="#linearGradient4707" />
+ <filter
+ id="filter4913"
+ style="color-interpolation-filters:sRGB">
+ <feFlood
+ id="feFlood4903"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039" />
+ <feComposite
+ id="feComposite4905"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4907"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset4909"
+ result="offset"
+ dy="0"
+ dx="0" />
+ <feComposite
+ id="feComposite4911"
+ result="composite2"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ </filter>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ r="8.53125"
+ fy="13.119289"
+ fx="331.15933"
+ cy="13.119289"
+ cx="331.15933"
+ id="radialGradient4921"
+ xlink:href="#linearGradient4707" />
+ <filter
+ id="filter4933"
+ style="color-interpolation-filters:sRGB">
+ <feFlood
+ id="feFlood4923"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039" />
+ <feComposite
+ id="feComposite4925"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4927"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset4929"
+ result="offset"
+ dy="0"
+ dx="0" />
+ <feComposite
+ id="feComposite4931"
+ result="composite2"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ </filter>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.79035186,0,0,0.15902921,-0.14216924,7.1987363)"
+ r="6.09375"
+ fy="11.316628"
+ fx="353.15076"
+ cy="11.316628"
+ cx="353.15076"
+ id="radialGradient4941"
+ xlink:href="#linearGradient4707" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ r="6.09375"
+ fy="11.407905"
+ fx="375.97003"
+ cy="11.407905"
+ cx="375.97003"
+ id="radialGradient4949"
+ xlink:href="#linearGradient4707"
+ gradientTransform="matrix(0.79035186,0,0,0.79514603,-0.14216924,3.8580698e-5)" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.99701325,0,0.03407254)"
+ r="8.5350475"
+ fy="13.518586"
+ fx="400.5007"
+ cy="13.518586"
+ cx="400.5007"
+ id="radialGradient4957"
+ xlink:href="#linearGradient4707" />
+ <filter
+ id="filter4969"
+ style="color-interpolation-filters:sRGB">
+ <feFlood
+ id="feFlood4959"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039" />
+ <feComposite
+ id="feComposite4961"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4963"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset4965"
+ result="offset"
+ dy="0"
+ dx="0" />
+ <feComposite
+ id="feComposite4967"
+ result="composite2"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ </filter>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.357667,-0.02466618,0.02411975,1.3275908,-149.53429,5.1574131)"
+ r="8.53125"
+ fy="15.742972"
+ fx="417.02075"
+ cy="15.742972"
+ cx="417.02075"
+ id="radialGradient4977"
+ xlink:href="#linearGradient4975" />
+ <linearGradient
+ id="linearGradient4975">
+ <stop
+ id="stop4971"
+ offset="0"
+ style="stop-color:#f79729;stop-opacity:1" />
+ <stop
+ id="stop4973"
+ offset="1"
+ style="stop-color:#d2831f;stop-opacity:1" />
+ </linearGradient>
+ <filter
+ id="filter4989"
+ style="color-interpolation-filters:sRGB">
+ <feFlood
+ id="feFlood4979"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039" />
+ <feComposite
+ id="feComposite4981"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4983"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset4985"
+ result="offset"
+ dy="0"
+ dx="0" />
+ <feComposite
+ id="feComposite4987"
+ result="composite2"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ </filter>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.71428563,0,3.2333231)"
+ r="8.53125"
+ fy="11.316628"
+ fx="444.33652"
+ cy="11.316628"
+ cx="444.33652"
+ id="radialGradient4997"
+ xlink:href="#linearGradient4707" />
+ <filter
+ id="filter5009"
+ style="color-interpolation-filters:sRGB">
+ <feFlood
+ id="feFlood4999"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039" />
+ <feComposite
+ id="feComposite5001"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur5003"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset5005"
+ result="offset"
+ dy="0"
+ dx="0" />
+ <feComposite
+ id="feComposite5007"
+ result="composite2"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ </filter>
+ <radialGradient
+ r="7.9746099"
+ fy="9"
+ fx="134.97461"
+ cy="9"
+ cx="134.97461"
+ gradientTransform="matrix(1.265625,0,0,1.1109477,-0.05703897,1.4865748)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient4710"
+ xlink:href="#linearGradient4747" />
+ <linearGradient
+ id="linearGradient4747">
+ <stop
+ id="stop4743"
+ offset="0"
+ style="stop-color:#c5b631;stop-opacity:1" />
+ <stop
+ id="stop4745"
+ offset="1"
+ style="stop-color:#baad3e;stop-opacity:1" />
+ </linearGradient>
+ <filter
+ id="filter4729"
+ style="color-interpolation-filters:sRGB">
+ <feFlood
+ id="feFlood4719"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039" />
+ <feComposite
+ id="feComposite4721"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4723"
+ result="blur"
+ stdDeviation="1"
+ in="composite1" />
+ <feOffset
+ id="feOffset4725"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite4727"
+ result="composite2"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ </filter>
+ <radialGradient
+ r="7.9746099"
+ fy="9.0947113"
+ fx="132.6468"
+ cy="9.0947113"
+ cx="132.6468"
+ gradientTransform="matrix(1.265625,0,0,1.1109477,-0.05703897,1.4865748)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient4712"
+ xlink:href="#linearGradient5037" />
+ <filter
+ id="filter4774"
+ style="color-interpolation-filters:sRGB">
+ <feFlood
+ id="feFlood4764"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039" />
+ <feComposite
+ id="feComposite4766"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4768"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset4770"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite4772"
+ result="composite2"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ </filter>
+ <radialGradient
+ r="7.9746099"
+ fy="9"
+ fx="134.97461"
+ cy="9"
+ cx="134.97461"
+ gradientTransform="matrix(1.265625,0,0,1.1109477,-0.05703897,1.4865748)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient4714"
+ xlink:href="#linearGradient4747" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,28.000001,0,-310.09784)"
+ r="0.31640625"
+ fy="11.485105"
+ fx="166.37157"
+ cy="11.485105"
+ cx="166.37157"
+ id="radialGradient4750"
+ xlink:href="#linearGradient4707" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.0032611,0.11563445,22.233158)"
+ r="8.3726959"
+ fy="16.659737"
+ fx="125.30523"
+ cy="16.659737"
+ cx="125.30523"
+ id="radialGradient4709-1"
+ xlink:href="#linearGradient4832" />
+ <linearGradient
+ id="linearGradient4832">
+ <stop
+ style="stop-color:#22e23d;stop-opacity:1"
+ offset="0"
+ id="stop5029" />
+ <stop
+ style="stop-color:#38a748;stop-opacity:1"
+ offset="1"
+ id="stop4830" />
+ </linearGradient>
+ <filter
+ id="filter4844"
+ style="color-interpolation-filters:sRGB">
+ <feFlood
+ id="feFlood4834"
+ result="flood"
+ flood-color="rgb(0,0,0)"
+ flood-opacity="0.498039" />
+ <feComposite
+ id="feComposite4836"
+ result="composite1"
+ operator="out"
+ in2="SourceGraphic"
+ in="flood" />
+ <feGaussianBlur
+ id="feGaussianBlur4838"
+ result="blur"
+ stdDeviation="0.5"
+ in="composite1" />
+ <feOffset
+ id="feOffset4840"
+ result="offset"
+ dy="0"
+ dx="2.77556e-017" />
+ <feComposite
+ id="feComposite4842"
+ result="composite2"
+ operator="atop"
+ in2="SourceGraphic"
+ in="offset" />
+ </filter>
+ </defs>
+ <g
+ id="layer1">
+ <path
+ id="path4"
+ d="m 17.311578,13.702319 h -5.76 l 2.28,2.28 c 0.6,0.6 0.72,1.44 0.24,1.92 l -0.96,1.08 c -0.48,0.48 -1.32,0.36 -1.92,-0.24 l -6.4800001,-6.6 c -0.12,0 -0.36,-0.48 -0.48,-0.84 0,-0.359999 0.36,-0.719999 0.48,-0.839999 l 6.3600001,-6.48 c 0.6,-0.6000001 1.44,-0.7200001 1.92,-0.24 l 0.96,1.0799999 c 0.48,0.48 0.36,1.32 -0.24,1.9200001 l -2.16,2.1599999 h 5.76 c 0.72,0 1.2,0.48 1.2,1.2000001 v 2.399999 c 0,0.72 -0.48,1.2 -1.2,1.2 z"
+ style="display:inline;fill:url(#radialGradient4669);fill-opacity:1;stroke-width:1;filter:url(#filter4701)"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ d="m 19.271765,37.987692 h -7.987059 l 3.607059,3.507571 c 0.515294,0.50108 0.644117,1.377974 0.257648,1.753785 l -1.545884,1.503245 C 13.217059,45.128104 12.315294,45.128104 11.8,44.501752 L 3.5552941,36.609718 c 0,0 -0.5152941,-0.626352 -0.5152941,-1.127434 0,-0.501081 0.5152941,-1.002163 0.5152941,-1.002163 L 11.8,26.462816 c 0.515294,-0.50108 1.417059,-0.626351 1.803529,-0.25054 l 1.545884,1.503245 c 0.386469,0.375811 0.386469,1.252704 -0.257648,1.753785 l -3.478236,3.50757 h 7.858236 c 0.772941,0 1.288236,0.501082 1.288236,1.252705 v 2.505407 c 0,0.751622 -0.515295,1.252704 -1.288236,1.252704 z"
+ id="path4154"
+ style="display:inline;fill:url(#radialGradient4637);fill-opacity:1;stroke-width:1;filter:url(#filter4661)"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ d="m 26.86,12.501265 v -2.4 c 0,-0.7200003 0.48,-1.2000003 1.2,-1.2000003 h 5.76 L 31.66,6.7412646 c -0.6,-0.5999999 -0.72,-1.4399999 -0.24,-1.92 l 0.96,-1.08 c 0.48,-0.48 1.32,-0.36 1.92,0.24 l 6.36,6.4800004 c 0.12,0.12 0.48,0.48 0.48,0.84 0,0.36 -0.36,0.84 -0.48,0.84 l -6.48,6.48 c -0.6,0.6 -1.44,0.72 -1.92,0.24 l -0.96,-1.08 c -0.48,-0.48 -0.36,-1.32 0.24,-1.92 l 2.28,-2.16 h -5.76 c -0.72,0 -1.2,-0.48 -1.2,-1.2 z"
+ id="path4165"
+ style="display:inline;fill:url(#radialGradient4677);fill-opacity:1;stroke-width:1;filter:url(#filter4689)"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ d="m 64.48,6.6012647 -5.039999,5.0400003 5.039999,5.04 -2.519999,2.52 -5.16,-4.92 -5.04,5.04 -2.52,-2.52 5.04,-5.16 -5.16,-5.0400003 2.52,-2.5200001 5.16,5.04 5.04,-5.04 z"
+ id="path4176"
+ style="display:inline;fill:url(#radialGradient4605);fill-opacity:1;stroke-width:1;filter:url(#filter4629)"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ d="m 87.000001,11.301265 h -8.4 l 3.36,-3.3600004 c -0.84,-0.6 -1.68,-0.84 -2.76,-0.84 -2.64,0 -4.8,2.1600001 -4.8,4.8000004 0,2.64 2.16,4.8 4.8,4.8 1.68,0 3.24,-0.84 4.08,-2.28 l 2.76,1.2 c -1.32,2.4 -3.84,4.08 -6.84,4.08 -4.32,0 -7.8,-3.48 -7.8,-7.8 0,-4.3200004 3.48,-7.8000004 7.8,-7.8000004 1.8,0 3.48,0.6 4.92,1.6800001 l 2.88,-2.8800001 z"
+ id="path4187"
+ style="display:inline;fill:url(#radialGradient4525);fill-opacity:1;stroke-width:1;filter:url(#filter4597)"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ id="path4209"
+ d="M 102.59961,2.7011715 93,11.101561 h 2.400391 l 1.242188,-0.03516 -0.04297,0.03516 v 8.400392 h 4.800781 v -6.000001 h 2.40039 v 6.000001 h 4.79884 v -8.400392 l -0.043,-0.03516 1.24415,0.03516 h 2.39843 z"
+ style="display:inline;fill:url(#radialGradient4529);fill-opacity:1;stroke:none;stroke-width:1;stroke-opacity:1;filter:url(#filter4783)"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ d="m 133.15407,12.421265 -6.72001,6.6 c -0.24,0.36 -0.72,0.48 -1.2,0.48 -0.48,0 -0.96,-0.12 -1.32,-0.48 l -6.72,-6.6 c -0.6,-0.72 -0.48,-1.32 0.48,-1.32 h 3.96 V 3.9012646 c 0,-0.72 0.48,-1.2 1.2,-1.2 h 4.8 c 0.72,0 1.2,0.48 1.2,1.2 v 7.2000004 h 3.84 c 0.96001,0 1.20001,0.6 0.48001,1.32 z"
+ id="path4214"
+ style="display:inline;fill:url(#radialGradient4709);fill-opacity:1;stroke-width:1;filter:url(#filter4721)"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ d="m 148,19.881265 c -4.8,0 -8.64,-3.84 -8.64,-8.64 0,-4.6800004 3.84,-8.5200004 8.64,-8.5200004 4.8,0 8.64001,3.84 8.64001,8.6400004 0,4.68 -3.84001,8.52 -8.64001,8.52 z m 0,-14.5200003 c -3.36,0 -6,2.6399999 -6,6.0000003 0,3.24 2.64,6 6,6 3.36,0 6.00001,-2.64 6.00001,-6 0,-3.3600004 -2.64001,-6.0000003 -6.00001,-6.0000003 z m -0.36,7.0800003 c -0.48,-0.12 -0.84,-0.6 -0.84,-1.08 V 7.7612646 c 0,-0.72 0.48,-1.2 1.2,-1.2 0.72,0 1.2,0.48 1.2,1.2 v 3.3600004 c 1.32,1.32 2.4,3.84 2.4,3.84 0,0 -2.64,-1.2 -3.96,-2.52 z"
+ id="path4225"
+ style="display:inline;fill:url(#radialGradient4729);fill-opacity:1;stroke-width:1;filter:url(#filter4741)"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ d="m 369.00476,4.7878231 0.94842,1.9083504 0.47422,0.858758 0.94842,0.190835 2.18136,0.3816699 -1.61231,1.7175156 -0.6639,0.667923 0.0948,0.954175 0.37937,2.290022 -1.89685,-0.954178 -0.85358,-0.477086 -0.85358,0.477086 -1.89685,0.954178 0.37938,-2.290022 0.0948,-0.954175 -0.6639,-0.667923 -1.61232,-1.7175156 2.27622,-0.3816699 0.94842,-0.190835 0.37936,-0.858758 0.94843,-1.9083504 m 0,-3.4350309 c -0.28454,0 -0.56906,0.1908348 -0.75874,0.667922 l -1.89683,3.9121193 -4.07821,0.6679227 c -0.94842,0.190835 -1.13812,0.8587576 -0.47421,1.5266802 l 2.94011,3.1487776 -0.66391,4.389208 c -0.0948,0.572504 0.1897,0.954174 0.66391,0.954174 0.18967,0 0.37936,-0.09542 0.56905,-0.190835 l 3.69885,-2.003768 3.69884,2.003768 c 0.18969,0.09543 0.47421,0.190835 0.56906,0.190835 0.4742,0 0.75873,-0.38167 0.6639,-1.049592 l -0.6639,-4.389207 2.9401,-3.1487781 c 0.66391,-0.6679226 0.37938,-1.3358454 -0.4742,-1.5266803 L 371.66031,5.837416 369.76347,1.9252968 C 369.5738,1.543627 369.28926,1.3527922 369.00474,1.3527922 Z"
+ id="path4355"
+ style="display:inline;fill:url(#radialGradient5017);fill-opacity:1;stroke-width:0.79274529" />
+ <path
+ d="m 202,17.101265 h -2.4 l 1.2,2.4 h -14.39999 l 1.2,-2.4 h -2.4 c -0.72,0 -1.2,-0.48 -1.2,-1.2 V 9.9012647 c 0,-0.7200001 0.48,-1.2000001 1.2,-1.2000001 h 1.2 V 6.3012647 c 0,-0.7200001 0.48,-1.2000001 1.2,-1.2000001 v -1.2 c 0,-0.72 0.48,-1.2 1.2,-1.2 H 198.4 c 0.72,0 1.2,0.48 1.2,1.2 v 1.2 c 0.72,0 1.2,0.48 1.2,1.2000001 v 2.3999999 h 1.2 c 0.72,0 1.2,0.48 1.2,1.2000001 v 6.0000003 c 0,0.72 -0.48,1.2 -1.2,1.2 z m -14.39999,0 0.6,-1.2 h -0.6 z m 0.6,-6 h -0.6 -0.6 c -0.36,0 -0.6,0.24 -0.6,0.6 0,0.36 0.24,0.6 0.6,0.6 h 1.2 c 0.36,0 0.6,-0.24 0.6,-0.6 0,-0.36 -0.24,-0.6 -0.6,-0.6 z M 198.4,5.1012646 c 0,-0.72 -0.48,-1.2 -1.2,-1.2 h -7.19999 c -0.72,0 -1.2,0.48 -1.2,1.2 v 3.6 c 0,0.7200001 0.48,1.2000001 1.2,1.2000001 H 197.2 c 0.72,0 1.2,-0.48 1.2,-1.2000001 z m -1.08,10.8000004 h -7.43999 l -1.08,2.4 H 198.4 Z m 2.28,0 H 199 l 0.6,1.2 z"
+ id="path4366"
+ style="display:inline;fill:url(#radialGradient4793);fill-opacity:1;stroke-width:1;filter:url(#filter4805)"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ d="m 247,19.501265 h -15.6 c -0.96,0 -1.8,-0.84 -1.8,-1.8 V 4.5012646 c 0,-0.9599999 0.84,-1.8 1.8,-1.8 H 247 c 0.96,0 1.8,0.8400001 1.8,1.8 V 17.701265 c 0,0.96 -0.84,1.8 -1.8,1.8 z M 239.8,3.9012646 c -0.36,0 -0.6,0.24 -0.6,0.6 0,0.36 0.24,0.6 0.6,0.6 0.36,0 0.6,-0.24 0.6,-0.6 0,-0.36 -0.24,-0.6 -0.6,-0.6 z m 2.28,0 c -0.36,0 -0.6,0.24 -0.6,0.6 0,0.36 0.36,0.6 0.6,0.6 0.36,0 0.6,-0.24 0.6,-0.6 0,-0.36 -0.24,-0.6 -0.6,-0.6 z m 3.72,0 h -1.2 c -0.36,0 -0.6,0.24 -0.6,0.6 0,0.36 0.24,0.6 0.6,0.6 h 1.2 c 0.36,0 0.6,-0.24 0.6,-0.6 0,-0.36 -0.24,-0.6 -0.6,-0.6 z m 0.6,4.8 c 0,-0.72 -0.48,-1.1999999 -1.2,-1.1999999 h -12 c -0.72,0 -1.2,0.4799999 -1.2,1.1999999 v 7.2000004 c 0,0.72 0.48,1.2 1.2,1.2 h 12 c 0.72,0 1.2,-0.48 1.2,-1.2 z"
+ id="path4388"
+ style="display:inline;fill:url(#radialGradient4833);fill-opacity:1;stroke-width:1;filter:url(#filter4853)"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <text
+ transform="scale(0.98484982,1.0153832)"
+ id="text4409"
+ y="12.608931"
+ x="188.06316"
+ style="font-style:normal;font-weight:normal;font-size:9.51294327px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:url(#radialGradient4841);fill-opacity:1;stroke:none;stroke-width:0.79274535px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ xml:space="preserve"><tspan
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:8.55116463px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:url(#radialGradient4841);fill-opacity:1;stroke-width:0.79274535px"
+ y="12.608931"
+ x="188.06316"
+ id="tspan4411">+</tspan></text>
+ <path
+ style="display:inline;fill:url(#radialGradient5031);fill-opacity:1;stroke-width:1.21875;filter:url(#filter5049)"
+ id="path6182"
+ d="m 467.25784,24.196945 c -0.36562,0 -0.73125,0.24375 -0.975,0.853125 l -2.4375,4.996876 -5.24062,0.853125 c -1.21875,0.24375 -1.4625,1.096875 -0.60938,1.95 l 3.77813,4.021875 -0.85313,5.60625 c -0.12181,0.73125 0.24375,1.21875 0.85313,1.21875 0.24375,0 0.4875,-0.121875 0.73125,-0.24375 l 4.75312,-2.559375 4.75313,2.559375 c 0.24375,0.121875 0.60937,0.24375 0.73125,0.24375 0.60937,0 0.975,-0.4875 0.85312,-1.340625 l -0.85312,-5.60625 3.77812,-4.021875 c 0.85313,-0.853125 0.4875,-1.70625 -0.60937,-1.95 l -5.24063,-0.853125 -2.4375,-4.996876 c -0.24375,-0.4875 -0.60937,-0.73125 -0.975,-0.73125 z"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ style="display:inline;fill:url(#radialGradient4813);fill-opacity:1;stroke-width:1.21875;filter:url(#filter4825)"
+ id="path7318"
+ d="m 226.73438,15.945016 v 2.437501 c 0,0.673097 -0.54566,1.21875 -1.21875,1.21875 h -18.28124 c -0.67311,0 -1.21875,-0.545653 -1.21875,-1.21875 v -2.437501 c 0,-0.673097 0.54564,-1.21875 1.21875,-1.21875 h -1.04571 c 2.80313,0 2.36053,-3.256168 2.77368,-5.9703239 0.4278,-2.8226251 0.1927,-6.1069689 3.90598,-6.0616014 l 7.47091,0.091277 c 3.73276,0.045605 3.22143,3.1476992 3.65164,5.9703243 0.41438,2.715376 -0.20346,5.970324 2.60942,5.970324 h -1.08468 c 0.67309,0 1.21875,0.545653 1.21875,1.21875 z m -7.92188,-4.874999 h -1.82811 V 9.2418912 c 0,-0.8124995 -1.21875,-0.8124995 -1.21875,0 v 1.8281258 h -1.82814 c -0.8125,0 -0.8125,1.218749 0,1.218749 h 1.82814 v 1.828125 c 0,0.812501 1.21875,0.812501 1.21875,0 v -1.828125 h 1.82811 c 0.8125,0 0.8125,-1.218749 0,-1.218749 z"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ style="display:inline;fill:url(#radialGradient4861);fill-opacity:1;stroke-width:1.21875;filter:url(#filter4873)"
+ id="path7886"
+ d="m 269.02823,19.939154 c -0.975,0 -1.82813,-0.24375 -2.80313,-1.584375 -0.975,-1.340625 -2.07187,-3.046875 -2.07187,-3.046875 0,0 -0.85313,-1.096875 -1.34063,-1.95 -0.60937,-0.853125 -1.34062,-0.609375 -1.34062,-0.609375 0,0 -3.53438,-5.7281239 -4.14375,-6.581249 -0.73125,-1.21875 0.73125,-3.290625 0.73125,-3.290625 l 5.3625,8.531249 c 0,0 1.70625,2.315625 2.31562,2.803125 0.60938,0.4875 1.70625,-0.4875 3.4125,1.096875 2.31563,2.19375 1.58438,4.63125 -0.12181,4.63125 z m -0.36563,-3.534375 c -1.09687,-1.21875 -2.07187,-1.096875 -2.31562,-0.73125 -0.24375,0.365625 0,1.4625 0.4875,2.071875 0.4875,0.609375 0.975,0.853125 1.70625,0.853125 0.73125,0.121875 1.34062,-0.853125 0.1218,-2.19375 z m -4.63125,-5.728124 -1.4625,-2.19375 3.53438,-5.60625 c 0,0 1.4625,2.071875 0.73125,3.290625 -0.36563,0.4875001 -1.70625,2.803125 -2.80313,4.509375 z m -5.60625,3.534374 c 0.36563,-0.365625 1.21875,-1.340625 1.70625,-2.071875 l 0.975,1.4625 c -0.4875,0.73125 -1.09687,1.70625 -1.09687,1.70625 0,0 -1.09688,1.70625 -2.07188,3.046875 -0.85312,1.340625 -1.70625,1.584375 -2.80312,1.584375 -1.70625,0 -2.55938,-2.4375 -0.12181,-4.63125 1.70625,-1.4625 2.80312,-0.609375 3.4125,-1.096875 z m -2.925,2.19375 c -1.09687,1.21875 -0.4875,2.19375 0.24375,2.19375 0.73125,0 1.21875,-0.24375 1.70625,-0.853125 0.4875,-0.609375 0.73125,-1.828125 0.4875,-2.071875 -0.36562,-0.365625 -1.34062,-0.4875 -2.4375,0.73125 z"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ style="display:inline;fill:url(#radialGradient4881);fill-opacity:1;stroke-width:1.21875;filter:url(#filter4893)"
+ id="path8454"
+ d="m 292.00552,19.7566 h -7.3125 c -0.73125,0 -1.21875,-0.4875 -1.21875,-1.21875 v -3.656249 -3.16875 -2.9250003 c 0,-0.73125 0.4875,-1.21875 1.21875,-1.21875 0,0 3.9,0 6.09375,0 0,0 2.4375,2.4375003 2.4375,2.4375003 0,2.68125 0,8.531249 0,8.531249 0,0.73125 -0.4875,1.21875 -1.21875,1.21875 z m -2.4375,-10.9687493 v 2.4375003 h 2.4375 z m -7.3125,-1.3406249 v 1.3406249 2.3156253 3.778125 h -4.875 c -0.73125,0 -1.21875,-0.4875 -1.21875,-1.21875 V 3.9128507 c 0,-0.7312499 0.4875,-1.21875 1.21875,-1.21875 0,0 3.9,0 6.09375,0 0,0 2.4375,2.4375 2.4375,2.4375 0,0.4875 0,0.9750001 0,1.5843751 h -3.04688 c -0.36562,0.121875 -0.60937,0.365625 -0.60937,0.73125 z m 0,-3.5343751 v 2.4375001 h 2.4375 z"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ style="display:inline;fill:url(#radialGradient4901);fill-opacity:1;stroke-width:1.21875;filter:url(#filter4913)"
+ id="path9022"
+ d="m 311.86917,19.7566 h -8.53125 c -0.97501,0 -1.82812,-0.853125 -1.82812,-1.828124 V 6.9597255 c 0,-0.9750001 0.85311,-1.8281251 1.82812,-1.8281251 h 1.82813 c 0,0 0,-2.4375 2.4375,-2.4375 2.4375,0 2.4375,2.4375 2.4375,2.4375 h 1.82812 c 0.975,0 1.82813,0.853125 1.82813,1.8281251 V 17.928476 c 0,0.974999 -0.85313,1.828124 -1.82813,1.828124 z m -0.97501,-13.4062496 -1.34061,-0.609375 c 0,0 0,-1.8281249 -1.95,-1.8281249 -1.95,0 -1.95,1.8281249 -1.95,1.8281249 l -1.34063,0.609375 -0.60937,1.2187501 h 3.04687 3.9 0.975 z m 0.12182,2.071875 h -5.72812 l -3.65625,2.0718756 3.4125,5.971875 8.04375,-4.63125 z"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ style="display:inline;fill:url(#radialGradient4921);fill-opacity:1;stroke-width:1.21875;filter:url(#filter4933)"
+ id="path9590"
+ d="M 335.29779,14.881601 V 7.5691009 l 3.65625,3.6562501 z m -8.53125,1.21875 h 7.3125 l -3.65625,3.656249 z m 6.09375,-1.21875 h -4.875 c -0.73125,0 -1.21875,-0.4875 -1.21875,-1.21875 v -4.875 c 0,-0.7312501 0.4875,-1.2187501 1.21875,-1.2187501 h 4.875 c 0.73125,0 1.21875,0.4875 1.21875,1.2187501 v 4.875 c 0,0.609375 -0.4875,1.21875 -1.21875,1.21875 z m 0,-3.65625 c 0,-0.73125 -0.4875,-1.21875 -1.21875,-1.21875 h -2.4375 c -0.73125,0 -1.21875,0.4875 -1.21875,1.21875 v 1.21875 c 0,0.73125 0.4875,1.21875 1.21875,1.21875 h 2.4375 c 0.73125,0 1.21875,-0.4875 1.21875,-1.21875 z m -2.4375,-8.5312501 3.65625,3.6562501 h -7.3125 z m -4.875,4.875 v 7.3125001 l -3.65625,-3.65625 z"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ style="display:inline;fill:url(#radialGradient4941);fill-opacity:1;stroke-width:0.96615839"
+ id="path10158"
+ d="m 274.15498,8.0293266 h 9.6324 v 1.9381685 h -9.6324 z" />
+ <path
+ style="display:inline;fill:url(#radialGradient4949);fill-opacity:1;stroke-width:0.96615839"
+ id="path10726"
+ d="m 301.82263,10.040073 h -3.85298 v 3.876338 h -1.92648 v -3.876338 h -3.85298 V 8.1019059 h 3.85298 V 4.2255681 h 1.92648 v 3.8763378 h 3.85298 z" />
+ <path
+ style="display:inline;fill:url(#radialGradient4957);fill-opacity:1;stroke-width:1.21875;filter:url(#filter4969)"
+ id="path11294"
+ d="m 407.09514,12.361211 c -0.12181,0.73125 -0.24375,1.4625 -0.4875,2.071875 -0.4875,1.584375 -1.4625,3.046875 -3.04686,4.021874 0.4875,0.4875 1.58436,1.096875 1.58436,1.096875 0,0 -2.4375,0.365625 -4.99686,0.365625 0,0 -0.12181,-0.121875 -0.12181,-0.121875 v 0.121875 c -1.21875,0 -2.4375,-0.365625 -3.65625,-0.73125 0.85311,-0.73125 1.4625,-1.584374 1.95,-2.559374 0.73125,-1.4625 0.73125,-3.65625 0.73125,-3.65625 0,0 1.09686,1.828125 1.70625,2.559375 1.4625,-0.73125 2.4375,-2.19375 2.55936,-3.65625 0.12181,-1.096875 -0.24375,-2.0718751 -0.73125,-2.8031251 -0.4875,-0.8531251 -1.21875,-1.3406251 -2.07186,-1.7062501 0.24375,-0.4874999 0.60936,-1.0968749 0.975,-1.584375 0.4875,-0.73125 1.09686,-1.21875 1.58436,-1.4625 2.55939,1.340625 4.3875,4.5093751 4.02189,8.0437502 z m -8.53125,-2.4375001 c 0,0 -1.34061,-1.8281251 -1.95,-2.4375001 -1.70625,0.853125 -2.68125,2.4375001 -2.68125,4.1437502 0.12181,1.828125 1.34064,3.290625 2.925,4.021875 -0.36561,0.609375 -0.73125,1.21875 -1.21875,1.70625 -0.4875,0.609375 -1.09686,0.974999 -1.4625,1.340624 -2.80311,-1.706249 -4.50936,-4.874999 -4.02186,-8.287499 0.1218,-0.8531251 0.36561,-1.7062502 0.60936,-2.4375002 0.4875,-1.3406249 1.34064,-2.4375 2.55939,-3.290625 0.1218,-0.121875 0.24375,-0.121875 0.36561,-0.24375 -0.4875,-0.4875 -1.95,-0.975 -1.95,-0.975 0,0 3.04689,-0.975 8.2875,-0.365625 -1.58436,2.315625 -1.4625,6.8250001 -1.4625,6.8250001 z"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ style="display:inline;fill:url(#radialGradient4977);fill-opacity:1;stroke-width:1.21875;filter:url(#filter4989)"
+ id="path11862"
+ d="m 429.01283,20.243326 h -1.82812 c -0.4875,0 -0.975,-0.365625 -0.975,-0.975 0,0 0.36562,-4.387501 -3.9,-8.775 -3.04688,-3.6562503 -8.53125,-3.9000003 -8.53125,-3.9000003 -0.60938,0 -0.975,-0.365625 -0.975,-0.8531249 V 4.0339507 c 0,-0.4875 0.36562,-0.853125 0.975,-0.853125 0,0 7.67812,0.4875 11.7,5.4843751 4.02187,3.7781242 4.3875,10.7250002 4.3875,10.7250002 0,0.4875 -0.24375,0.853125 -0.85313,0.853125 z M 413.77846,9.2745758 c 0,0 4.50937,0.609375 7.06875,2.9249992 2.55937,2.4375 3.04687,7.190626 3.04687,7.190626 0,0.4875 -0.12181,0.975 -0.60937,0.975 h -1.82813 c -0.4875,0 -0.73125,-0.365625 -0.73125,-0.975 0,0 0.12181,-2.925001 -2.19375,-5.118751 -1.82812,-1.584375 -4.75312,-1.70625 -4.75312,-1.70625 -0.60938,0 -0.975,-0.365625 -0.975,-0.853125 v -1.584374 c 0,-0.4875002 0.36562,-0.8531252 0.975,-0.8531252 z m 1.4625,6.0937492 c 1.34062,0 2.4375,1.096875 2.4375,2.4375 0,1.340626 -1.09688,2.437501 -2.4375,2.437501 -1.34063,0 -2.4375,-1.096875 -2.4375,-2.437501 0,-1.340625 1.09687,-2.4375 2.4375,-2.4375 z"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <path
+ style="display:inline;fill:url(#radialGradient4997);fill-opacity:1;stroke-width:1.21875;filter:url(#filter5009)"
+ id="path12430"
+ d="m 451.64901,16.435377 -3.65625,-3.290625 v 2.559375 c 0,0.975 -0.73125,1.70625 -1.58436,1.70625 h -9.01875 c -0.85314,0 -1.58439,-0.73125 -1.58439,-1.70625 V 6.9291285 c 0,-0.9750001 0.73125,-1.7062501 1.58439,-1.7062501 h 9.01875 c 0.85311,0 1.58436,0.73125 1.58436,1.7062501 v 2.437499 l 3.65625,-3.2906241 c 0.36564,-0.365625 0.73125,-0.4875 1.21875,-0.365625 V 16.801002 c -0.36561,0.121875 -0.85311,0 -1.21875,-0.365625 z"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ <g
+ id="g4779"
+ style="display:inline"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)">
+ <path
+ style="fill:url(#radialGradient4710);fill-opacity:1;stroke-width:1.265625;filter:url(#filter4729)"
+ d="M 165.73984,2.6257296 V 20.34448 h 9.42792 0.69708 2.46698 c 1.25518,-0.32709 2.23657,-1.314095 2.53125,-2.53125 v -2.53125 -7.5937504 -2.53125 c -0.29468,-1.2171559 -1.27607,-2.2041601 -2.53125,-2.53125 h -2.07148 -1.09258 z m 7.73958,3.0577697 1.33485,2.2420349 c 0,0 0.36967,0.6174141 0.65753,0.813263 0.26974,0.1834496 0.93438,0.2892151 0.93438,0.2892151 h 2.72901 l -1.89596,3.0800167 c 0,0 -0.27577,0.604831 -0.41281,0.907196 -0.20593,0.452534 0.006,1.243536 0.0742,1.982484 0.10732,1.162403 0.19033,2.286529 0.19033,2.286529 l -2.21484,-1.132141 c 0,0 -0.90763,-0.426918 -1.39416,-0.427644 -0.5721,0 -1.64383,0.496858 -1.64383,0.496858 l -2.2198,1.065398 c 0,0 0.16319,-1.013778 0.33866,-2.128325 0.11606,-0.733074 0.43611,-1.567458 0.17798,-2.071473 -0.13995,-0.274086 -0.42023,-0.820679 -0.42023,-0.820679 L 167.532,9.0996981 h 2.71169 c 0,0 0.88228,-0.06226 1.24339,-0.2892151 0.27408,-0.1711231 0.61056,-0.7539368 0.61056,-0.7539368 z"
+ id="bookmarks-star-4" />
+ <path
+ style="fill:url(#radialGradient4712);fill-opacity:1;stroke:none;stroke-width:1.265625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill;filter:url(#filter4774)"
+ d="m 163.20859,2.6257296 c -1.25519,0.3270899 -2.23658,1.3140942 -2.53125,2.53125 v 2.53125 7.5937504 2.53125 c 0.29467,1.217155 1.27606,2.20416 2.53125,2.53125 h 3.16406 v -5.0625 -7.5937504 -5.0625 z"
+ id="bookmarks-overlay-1" />
+ <path
+ style="opacity:0.66300001;fill:url(#radialGradient4714);fill-opacity:1;stroke:url(#radialGradient4750);stroke-width:0.6328125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 166.37156,2.6257296 V 20.34448"
+ id="bookmarks-divider-7" />
+ </g>
+ <path
+ d="m 133.26971,34.690626 -6.72001,6.6 c -0.24,0.36 -0.72,0.48 -1.2,0.48 -0.48,0 -0.96,-0.12 -1.32,-0.48 l -6.72,-6.6 c -0.6,-0.72 -0.48,-1.32 0.48,-1.32 h 3.96 v -7.200001 c 0,-0.72 0.48,-1.2 1.2,-1.2 h 4.8 c 0.72,0 1.2,0.48 1.2,1.2 v 7.200001 h 3.84 c 0.96001,0 1.20001,0.6 0.48001,1.32 z"
+ id="path4214-3"
+ style="display:inline;fill:url(#radialGradient4709-1);fill-opacity:1;stroke-width:1;filter:url(#filter4844)"
+ transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" />
+ </g>
+</svg>
diff --git a/application/palemoon/themes/windows/browser.css b/application/palemoon/themes/windows/browser.css
index 45f0e066c2..f921554dfc 100644
--- a/application/palemoon/themes/windows/browser.css
+++ b/application/palemoon/themes/windows/browser.css
@@ -39,9 +39,9 @@
--toolbarbutton-border-radius: 2.5px;
--toolbarbutton-border-color: hsla(210,54%,20%,.2);
- --toolbarbutton-image: url("chrome://browser/skin/Toolbar.png");
- --toolbarbutton-glass-image: url("chrome://browser/skin/Toolbar-glass.png");
- --toolbarbutton-inverted-image: url("chrome://browser/skin/Toolbar-inverted.png");
+ --toolbarbutton-image: url("chrome://browser/skin/Toolbar.svg");
+ --toolbarbutton-glass-image: url("chrome://browser/skin/Toolbar-glass.svg");
+ --toolbarbutton-inverted-image: url("chrome://browser/skin/Toolbar-inverted.svg");
--tab-background: linear-gradient(transparent, hsla(0,0%,45%,.1) 1px, hsla(0,0%,32%,.2) 80%, hsla(0,0%,0%,.2));
--tab-background-hover: linear-gradient(hsla(0,0%,100%,.3) 1px, hsla(0,0%,75%,.2) 80%, hsla(0,0%,60%,.2));
@@ -2018,6 +2018,90 @@ richlistitem[type~="action"][actiontype="switchtab"] > .ac-url-box > .ac-action-
list-style-image: url("chrome://global/skin/icons/close-inverted.svg");
}
+/* Tab sound indicator */
+.tab-icon-sound {
+ -moz-margin-start: 4px;
+ width: 16px;
+ height: 16px;
+ padding: 0;
+}
+
+.allTabs-endimage[soundplaying],
+.tab-icon-sound[soundplaying] {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio.svg#tab-audio");
+}
+
+.allTabs-endimage[muted],
+.tab-icon-sound[muted] {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio.svg#tab-audio-muted");
+}
+
+.allTabs-endimage[blocked],
+.tab-icon-sound[blocked] {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio.svg#tab-audio-blocked");
+}
+
+#TabsToolbar[brighttext] .tab-icon-sound[soundplaying],
+#TabsToolbar[brighttext] .tab-icon-sound[blocked],
+#TabsToolbar[brighttext] .tab-icon-sound[muted] {
+ filter: invert(1);
+}
+
+.tab-icon-sound[soundplaying-scheduledremoval]:not([muted]):not(:hover),
+.tab-icon-overlay[soundplaying-scheduledremoval]:not([muted]):not(:hover) {
+ transition: opacity .3s linear var(--soundplaying-removal-delay);
+ opacity: 0;
+}
+
+/* Tab icon overlay */
+.tab-icon-overlay {
+ width: 16px;
+ height: 16px;
+ margin-top: -8px;
+ margin-inline-start: -15px;
+ margin-inline-end: -1px;
+ position: relative;
+}
+
+.tab-icon-overlay[soundplaying],
+.tab-icon-overlay[muted]:not([crashed]),
+.tab-icon-overlay[blocked]:not([crashed]) {
+ border-radius: 10px;
+}
+
+.tab-icon-overlay[soundplaying]:hover,
+.tab-icon-overlay[muted]:not([crashed]):hover,
+.tab-icon-overlay[blocked]:not([crashed]):hover {
+ background-color: white;
+}
+
+.tab-icon-overlay[soundplaying] {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio");
+}
+
+.tab-icon-overlay[muted] {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-muted");
+}
+
+.tab-icon-overlay[blocked] {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-blocked");
+}
+
+#TabsToolbar[brighttext] .tab-icon-overlay[soundplaying]:not([selected]):not(:hover),
+.tab-icon-overlay[soundplaying][selected]:-moz-lwtheme-brighttext:not(:hover) {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-white");
+}
+
+#TabsToolbar[brighttext] .tab-icon-overlay[muted]:not([crashed]):not([selected]):not(:hover),
+.tab-icon-overlay[muted][selected]:-moz-lwtheme-brighttext:not(:hover) {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-white-muted");
+}
+
+#TabsToolbar[brighttext] .tab-icon-overlay[blocked]:not([crashed]):not([selected]):not(:hover),
+.tab-icon-overlay[blocked][selected]:-moz-lwtheme-brighttext:not(:hover) {
+ list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-white-blocked");
+}
+
/* Tab scrollbox arrow, tabstrip new tab and all-tabs buttons */
.tabbrowser-arrowscrollbox > .scrollbutton-up,
diff --git a/application/palemoon/themes/windows/communicator/jar.mn b/application/palemoon/themes/windows/communicator/jar.mn
index dfd20c5236..612d133352 100644
--- a/application/palemoon/themes/windows/communicator/jar.mn
+++ b/application/palemoon/themes/windows/communicator/jar.mn
@@ -4,4 +4,4 @@
browser.jar:
% skin communicator classic/1.0 %skin/classic/communicator/
- skin/classic/communicator/communicator.css
+ skin/classic/communicator/communicator.css
diff --git a/application/palemoon/themes/windows/downloads/downloads.css b/application/palemoon/themes/windows/downloads/downloads.css
index 91ea652ed6..f16989655b 100644
--- a/application/palemoon/themes/windows/downloads/downloads.css
+++ b/application/palemoon/themes/windows/downloads/downloads.css
@@ -326,6 +326,11 @@ toolbar[brighttext] #downloads-indicator-icon {
0, 108, 18, 90) center no-repeat;
}
+#downloads-indicator[attention] > #downloads-indicator-anchor > #downloads-indicator-icon {
+ background: -moz-image-rect(var(--toolbarbutton-image),
+ 19, 108, 36, 90) center no-repeat;
+}
+
@media (-moz-windows-compositor) {
:-moz-any(#toolbar-menubar, #nav-bar[tabsontop=false]) #downloads-indicator-icon:not(:-moz-lwtheme),
#TabsToolbar[tabsontop=true] #downloads-indicator-icon:not(:-moz-lwtheme),
@@ -333,10 +338,12 @@ toolbar[brighttext] #downloads-indicator-icon {
background: -moz-image-rect(var(--toolbarbutton-glass-image),
0, 108, 18, 90) center no-repeat;
}
+ #downloads-indicator[attention] > #downloads-indicator-anchor > #downloads-indicator-icon {
+ background: -moz-image-rect(var(--toolbarbutton-glass-image),
+ 19, 108, 36, 90) center no-repeat;
}
-#downloads-indicator[attention] > #downloads-indicator-anchor > #downloads-indicator-icon {
- background-image: url("chrome://browser/skin/downloads/download-glow.png");
+
}
/* In the next few rules, we use :not([counter]) as a shortcut that is
@@ -360,10 +367,10 @@ toolbar[brighttext] #downloads-indicator:not([counter]) > #downloads-indicator-a
background: -moz-image-rect(var(--toolbarbutton-glass-image),
0, 108, 18, 90) center no-repeat;
}
-}
-
-#downloads-indicator:not([counter])[attention] > #downloads-indicator-anchor > #downloads-indicator-progress-area > #downloads-indicator-counter {
- background-image: url("chrome://browser/skin/downloads/download-glow.png");
+ #downloads-indicator:not([counter])[attention] > #downloads-indicator-anchor > #downloads-indicator-progress-area > #downloads-indicator-counter {
+ background: -moz-image-rect(var(--toolbarbutton-glass-image),
+ 19, 108, 36, 90) center no-repeat;
+ }
}
/*** Download notifications ***/
diff --git a/application/palemoon/themes/windows/jar.mn b/application/palemoon/themes/windows/jar.mn
index 0a4342d403..8a00d8b708 100644
--- a/application/palemoon/themes/windows/jar.mn
+++ b/application/palemoon/themes/windows/jar.mn
@@ -4,163 +4,164 @@
browser.jar:
% skin browser classic/1.0 %skin/classic/browser/
- skin/classic/browser/sanitizeDialog.css
-* skin/classic/browser/aboutPrivateBrowsing.css
-* skin/classic/browser/aboutSessionRestore.css
- skin/classic/browser/aboutSessionRestore-window-icon.png
- skin/classic/browser/aboutCertError.css
- skin/classic/browser/aboutCertError_sectionCollapsed.png
- skin/classic/browser/aboutCertError_sectionCollapsed-rtl.png
- skin/classic/browser/aboutCertError_sectionExpanded.png
+ skin/classic/browser/sanitizeDialog.css
+* skin/classic/browser/aboutPrivateBrowsing.css
+* skin/classic/browser/aboutSessionRestore.css
+ skin/classic/browser/aboutSessionRestore-window-icon.png
+ skin/classic/browser/aboutCertError.css
+ skin/classic/browser/aboutCertError_sectionCollapsed.png
+ skin/classic/browser/aboutCertError_sectionCollapsed-rtl.png
+ skin/classic/browser/aboutCertError_sectionExpanded.png
#ifdef MOZ_SERVICES_SYNC
- skin/classic/browser/aboutSyncTabs.css
+ skin/classic/browser/aboutSyncTabs.css
#endif
-* skin/classic/browser/autocomplete.css
- skin/classic/browser/actionicon-tab.png
- skin/classic/browser/appmenu-icons.png
- skin/classic/browser/appmenu-dropmarker.png
-* skin/classic/browser/browser.css
- skin/classic/browser/caption-buttons.svg
- skin/classic/browser/click-to-play-warning-stripes.png
-* skin/classic/browser/engineManager.css
- skin/classic/browser/Geolocation-16.png
- skin/classic/browser/Geolocation-64.png
- skin/classic/browser/Info.png
- skin/classic/browser/identity.png
- skin/classic/browser/imagedocument.png
- skin/classic/browser/identity-icons-generic.png
- skin/classic/browser/identity-icons-https.png
- skin/classic/browser/identity-icons-https-ev.png
- skin/classic/browser/identity-icons-https-mixed-active.png
- skin/classic/browser/keyhole-forward-mask.svg
- skin/classic/browser/KUI-background.png
- skin/classic/browser/KUI-close.png
- skin/classic/browser/livemark-folder.png
- skin/classic/browser/menu-back.png
- skin/classic/browser/menu-forward.png
- skin/classic/browser/mixed-content-blocked-16.png
- skin/classic/browser/mixed-content-blocked-64.png
- skin/classic/browser/monitor.png
- skin/classic/browser/monitor_16-10.png
- skin/classic/browser/pageInfo.css
- skin/classic/browser/pageInfo.png
- skin/classic/browser/page-livemarks.png (feeds/feedIcon16.png)
- skin/classic/browser/pointerLock-16.png
- skin/classic/browser/pointerLock-64.png
- skin/classic/browser/Privacy-16.png
- skin/classic/browser/Privacy-32.png
- skin/classic/browser/Privacy-48.png
- skin/classic/browser/Privacy-64.png
- skin/classic/browser/privatebrowsing-light.png
- skin/classic/browser/privatebrowsing-dark.png
- skin/classic/browser/reload-stop-go.png
- skin/classic/browser/sanitize.png
- skin/classic/browser/searchbar.css
- skin/classic/browser/searchbar-dropdown-arrow.png
- skin/classic/browser/Secure24.png
- skin/classic/browser/setDesktopBackground.css
- skin/classic/browser/slowStartup-16.png
- skin/classic/browser/Toolbar.png
- skin/classic/browser/Toolbar-glass.png
- skin/classic/browser/Toolbar-inverted.png
- skin/classic/browser/toolbarbutton-dropdown-arrow.png
- skin/classic/browser/toolbarbutton-dropdown-arrow-inverted.png
- skin/classic/browser/urlbar-arrow.png
- skin/classic/browser/urlbar-popup-blocked.png
- skin/classic/browser/urlbar-history-dropmarker.png
- skin/classic/browser/web-notifications-icon.svg
- skin/classic/browser/web-notifications-tray.svg
- skin/classic/browser/notification-pluginNormal.png (../shared/plugins/notification-pluginNormal.png)
- skin/classic/browser/notification-pluginAlert.png (../shared/plugins/notification-pluginAlert.png)
- skin/classic/browser/notification-pluginBlocked.png (../shared/plugins/notification-pluginBlocked.png)
+* skin/classic/browser/autocomplete.css
+ skin/classic/browser/actionicon-tab.png
+ skin/classic/browser/appmenu-icons.png
+ skin/classic/browser/appmenu-dropmarker.png
+* skin/classic/browser/browser.css
+ skin/classic/browser/caption-buttons.svg
+ skin/classic/browser/click-to-play-warning-stripes.png
+* skin/classic/browser/engineManager.css
+ skin/classic/browser/Geolocation-16.png
+ skin/classic/browser/Geolocation-64.png
+ skin/classic/browser/Info.png
+ skin/classic/browser/identity.png
+ skin/classic/browser/imagedocument.png
+ skin/classic/browser/identity-icons-generic.png
+ skin/classic/browser/identity-icons-https.png
+ skin/classic/browser/identity-icons-https-ev.png
+ skin/classic/browser/identity-icons-https-mixed-active.png
+ skin/classic/browser/keyhole-forward-mask.svg
+ skin/classic/browser/KUI-background.png
+ skin/classic/browser/KUI-close.png
+ skin/classic/browser/livemark-folder.png
+ skin/classic/browser/menu-back.png
+ skin/classic/browser/menu-forward.png
+ skin/classic/browser/mixed-content-blocked-16.png
+ skin/classic/browser/mixed-content-blocked-64.png
+ skin/classic/browser/monitor.png
+ skin/classic/browser/monitor_16-10.png
+ skin/classic/browser/pageInfo.css
+ skin/classic/browser/pageInfo.png
+ skin/classic/browser/page-livemarks.png (feeds/feedIcon16.png)
+ skin/classic/browser/pointerLock-16.png
+ skin/classic/browser/pointerLock-64.png
+ skin/classic/browser/Privacy-16.png
+ skin/classic/browser/Privacy-32.png
+ skin/classic/browser/Privacy-48.png
+ skin/classic/browser/Privacy-64.png
+ skin/classic/browser/privatebrowsing-light.png
+ skin/classic/browser/privatebrowsing-dark.png
+ skin/classic/browser/reload-stop-go.png
+ skin/classic/browser/sanitize.png
+ skin/classic/browser/searchbar.css
+ skin/classic/browser/searchbar-dropdown-arrow.png
+ skin/classic/browser/Secure24.png
+ skin/classic/browser/setDesktopBackground.css
+ skin/classic/browser/slowStartup-16.png
+ skin/classic/browser/Toolbar.svg
+ skin/classic/browser/Toolbar-glass.svg
+ skin/classic/browser/Toolbar-inverted.svg
+ skin/classic/browser/toolbarbutton-dropdown-arrow.png
+ skin/classic/browser/toolbarbutton-dropdown-arrow-inverted.png
+ skin/classic/browser/urlbar-arrow.png
+ skin/classic/browser/urlbar-popup-blocked.png
+ skin/classic/browser/urlbar-history-dropmarker.png
+ skin/classic/browser/web-notifications-icon.svg
+ skin/classic/browser/web-notifications-tray.svg
+ skin/classic/browser/notification-pluginNormal.png (../shared/plugins/notification-pluginNormal.png)
+ skin/classic/browser/notification-pluginAlert.png (../shared/plugins/notification-pluginAlert.png)
+ skin/classic/browser/notification-pluginBlocked.png (../shared/plugins/notification-pluginBlocked.png)
#ifdef MOZ_WEBRTC
- skin/classic/browser/webRTC-shareDevice-16.png
- skin/classic/browser/webRTC-shareDevice-64.png
- skin/classic/browser/webRTC-sharingDevice-16.png
+ skin/classic/browser/webRTC-shareDevice-16.png
+ skin/classic/browser/webRTC-shareDevice-64.png
+ skin/classic/browser/webRTC-sharingDevice-16.png
#endif
- skin/classic/browser/downloads/buttons.png (downloads/buttons.png)
- skin/classic/browser/downloads/download-glow.png (downloads/download-glow.png)
- skin/classic/browser/downloads/download-notification-finish.png (downloads/download-notification-finish.png)
- skin/classic/browser/downloads/download-notification-start.png (downloads/download-notification-start.png)
- skin/classic/browser/downloads/download-summary.png (downloads/download-summary.png)
- skin/classic/browser/downloads/downloads.css (downloads/downloads.css)
- skin/classic/browser/downloads/allDownloadsViewOverlay.css (downloads/allDownloadsViewOverlay.css)
- skin/classic/browser/downloads/contentAreaDownloadsView.css (downloads/contentAreaDownloadsView.css)
- skin/classic/browser/feeds/feedIcon.png (feeds/feedIcon.png)
- skin/classic/browser/feeds/feedIcon16.png (feeds/feedIcon16.png)
- skin/classic/browser/feeds/videoFeedIcon.png (feeds/feedIcon.png)
- skin/classic/browser/feeds/videoFeedIcon16.png (feeds/feedIcon16.png)
- skin/classic/browser/feeds/audioFeedIcon.png (feeds/feedIcon.png)
- skin/classic/browser/feeds/audioFeedIcon16.png (feeds/feedIcon16.png)
- skin/classic/browser/feeds/feed-icons-16.png (feeds/feed-icons-16.png)
- skin/classic/browser/feeds/subscribe.css (feeds/subscribe.css)
- skin/classic/browser/feeds/subscribe-ui.css (feeds/subscribe-ui.css)
-* skin/classic/browser/newtab/newTab.css (newtab/newTab.css)
- skin/classic/browser/newtab/controls.png (../shared/newtab/controls.png)
- skin/classic/browser/newtab/noise.png (../shared/newtab/noise.png)
- skin/classic/browser/newtab/pinned.png (../shared/newtab/pinned.png)
- skin/classic/browser/places/places.css (places/places.css)
-* skin/classic/browser/places/organizer.css (places/organizer.css)
- skin/classic/browser/places/editBookmark.png (places/editBookmark.png)
- skin/classic/browser/places/bookmark.png (places/bookmark.png)
- skin/classic/browser/places/query.png (places/query.png)
- skin/classic/browser/places/bookmarksMenu.png (places/bookmarksMenu.png)
- skin/classic/browser/places/bookmarksToolbar.png (places/bookmarksToolbar.png)
- skin/classic/browser/places/calendar.png (places/calendar.png)
- skin/classic/browser/places/toolbarDropMarker.png (places/toolbarDropMarker.png)
- skin/classic/browser/places/editBookmarkOverlay.css (places/editBookmarkOverlay.css)
- skin/classic/browser/places/libraryToolbar.png (places/libraryToolbar.png)
- skin/classic/browser/places/starred48.png (places/starred48.png)
- skin/classic/browser/places/unstarred48.png (places/unstarred48.png)
- skin/classic/browser/places/tag.png (places/tag.png)
- skin/classic/browser/places/history.png (places/history.png)
- skin/classic/browser/places/allBookmarks.png (places/allBookmarks.png)
- skin/classic/browser/places/unsortedBookmarks.png (places/unsortedBookmarks.png)
- skin/classic/browser/places/downloads.png (places/downloads.png)
- skin/classic/browser/places/livemark-item.png (places/livemark-item.png)
- skin/classic/browser/permissions/aboutPermissions.css (permissions/aboutPermissions.css)
- skin/classic/browser/preferences/alwaysAsk.png (preferences/alwaysAsk.png)
- skin/classic/browser/preferences/application.png (preferences/application.png)
- skin/classic/browser/preferences/mail.png (preferences/mail.png)
- skin/classic/browser/preferences/Options.png (preferences/Options.png)
+ skin/classic/browser/downloads/buttons.png (downloads/buttons.png)
+ skin/classic/browser/downloads/download-notification-finish.png (downloads/download-notification-finish.png)
+ skin/classic/browser/downloads/download-notification-start.png (downloads/download-notification-start.png)
+ skin/classic/browser/downloads/download-summary.png (downloads/download-summary.png)
+ skin/classic/browser/downloads/downloads.css (downloads/downloads.css)
+ skin/classic/browser/downloads/allDownloadsViewOverlay.css (downloads/allDownloadsViewOverlay.css)
+ skin/classic/browser/downloads/contentAreaDownloadsView.css (downloads/contentAreaDownloadsView.css)
+ skin/classic/browser/feeds/feedIcon.png (feeds/feedIcon.png)
+ skin/classic/browser/feeds/feedIcon16.png (feeds/feedIcon16.png)
+ skin/classic/browser/feeds/videoFeedIcon.png (feeds/feedIcon.png)
+ skin/classic/browser/feeds/videoFeedIcon16.png (feeds/feedIcon16.png)
+ skin/classic/browser/feeds/audioFeedIcon.png (feeds/feedIcon.png)
+ skin/classic/browser/feeds/audioFeedIcon16.png (feeds/feedIcon16.png)
+ skin/classic/browser/feeds/feed-icons-16.png (feeds/feed-icons-16.png)
+ skin/classic/browser/feeds/subscribe.css (feeds/subscribe.css)
+ skin/classic/browser/feeds/subscribe-ui.css (feeds/subscribe-ui.css)
+* skin/classic/browser/newtab/newTab.css (newtab/newTab.css)
+ skin/classic/browser/newtab/controls.png (../shared/newtab/controls.png)
+ skin/classic/browser/newtab/noise.png (../shared/newtab/noise.png)
+ skin/classic/browser/newtab/pinned.png (../shared/newtab/pinned.png)
+ skin/classic/browser/places/places.css (places/places.css)
+* skin/classic/browser/places/organizer.css (places/organizer.css)
+ skin/classic/browser/places/editBookmark.png (places/editBookmark.png)
+ skin/classic/browser/places/bookmark.png (places/bookmark.png)
+ skin/classic/browser/places/query.png (places/query.png)
+ skin/classic/browser/places/bookmarksMenu.png (places/bookmarksMenu.png)
+ skin/classic/browser/places/bookmarksToolbar.png (places/bookmarksToolbar.png)
+ skin/classic/browser/places/calendar.png (places/calendar.png)
+ skin/classic/browser/places/toolbarDropMarker.png (places/toolbarDropMarker.png)
+ skin/classic/browser/places/editBookmarkOverlay.css (places/editBookmarkOverlay.css)
+ skin/classic/browser/places/libraryToolbar.png (places/libraryToolbar.png)
+ skin/classic/browser/places/starred48.png (places/starred48.png)
+ skin/classic/browser/places/unstarred48.png (places/unstarred48.png)
+ skin/classic/browser/places/tag.png (places/tag.png)
+ skin/classic/browser/places/history.png (places/history.png)
+ skin/classic/browser/places/allBookmarks.png (places/allBookmarks.png)
+ skin/classic/browser/places/unsortedBookmarks.png (places/unsortedBookmarks.png)
+ skin/classic/browser/places/downloads.png (places/downloads.png)
+ skin/classic/browser/places/livemark-item.png (places/livemark-item.png)
+ skin/classic/browser/permissions/aboutPermissions.css (permissions/aboutPermissions.css)
+ skin/classic/browser/preferences/alwaysAsk.png (preferences/alwaysAsk.png)
+ skin/classic/browser/preferences/application.png (preferences/application.png)
+ skin/classic/browser/preferences/mail.png (preferences/mail.png)
+ skin/classic/browser/preferences/Options.png (preferences/Options.png)
#ifdef MOZ_SERVICES_SYNC
- skin/classic/browser/preferences/Options-sync.png (preferences/Options-sync.png)
+ skin/classic/browser/preferences/Options-sync.png (preferences/Options-sync.png)
#endif
- skin/classic/browser/preferences/saveFile.png (preferences/saveFile.png)
-* skin/classic/browser/preferences/preferences.css (preferences/preferences.css)
- skin/classic/browser/preferences/applications.css (preferences/applications.css)
+ skin/classic/browser/preferences/saveFile.png (preferences/saveFile.png)
+* skin/classic/browser/preferences/preferences.css (preferences/preferences.css)
+ skin/classic/browser/preferences/applications.css (preferences/applications.css)
#ifdef MOZ_BROWSER_STATUSBAR
- skin/classic/browser/statusbar/dynamic.css (../shared/statusbar/dynamic.css)
-* skin/classic/browser/statusbar/overlay.css (statusbar/overlay.css)
-* skin/classic/browser/statusbar/prefs.css (statusbar/prefs.css)
- skin/classic/browser/statusbar/pulse.png (../shared/statusbar/pulse.png)
- skin/classic/browser/statusbar/pms16.png (../shared/statusbar/pms16.png)
- skin/classic/browser/statusbar/pms24.png (../shared/statusbar/pms24.png)
- skin/classic/browser/statusbar/throbber-idle.png (../shared/statusbar/throbber-idle.png)
- skin/classic/browser/statusbar/throbberStatic.png (../shared/statusbar/throbberStatic.png)
+ skin/classic/browser/statusbar/dynamic.css (../shared/statusbar/dynamic.css)
+* skin/classic/browser/statusbar/overlay.css (statusbar/overlay.css)
+* skin/classic/browser/statusbar/prefs.css (statusbar/prefs.css)
+ skin/classic/browser/statusbar/pulse.png (../shared/statusbar/pulse.png)
+ skin/classic/browser/statusbar/pms16.png (../shared/statusbar/pms16.png)
+ skin/classic/browser/statusbar/pms24.png (../shared/statusbar/pms24.png)
+ skin/classic/browser/statusbar/throbber-idle.png (../shared/statusbar/throbber-idle.png)
+ skin/classic/browser/statusbar/throbberStatic.png (../shared/statusbar/throbberStatic.png)
#endif
- skin/classic/browser/tabbrowser/alltabs.png (tabbrowser/alltabs.png)
- skin/classic/browser/tabbrowser/alltabs-inverted.png (tabbrowser/alltabs-inverted.png)
- skin/classic/browser/tabbrowser/newtab.png (tabbrowser/newtab.png)
- skin/classic/browser/tabbrowser/newtab-glass.png (tabbrowser/newtab-glass.png)
- skin/classic/browser/tabbrowser/newtab-inverted.png (tabbrowser/newtab-inverted.png)
- skin/classic/browser/tabbrowser/connecting.png (tabbrowser/connecting.png)
- skin/classic/browser/tabbrowser/loading.png (tabbrowser/loading.png)
- skin/classic/browser/tabbrowser/tab-arrow-left.png (tabbrowser/tab-arrow-left.png)
- skin/classic/browser/tabbrowser/tab-arrow-left-glass.png (tabbrowser/tab-arrow-left-glass.png)
- skin/classic/browser/tabbrowser/tab-arrow-left-inverted.png (tabbrowser/tab-arrow-left-inverted.png)
- skin/classic/browser/tabbrowser/tab-overflow-border.png (tabbrowser/tab-overflow-border.png)
- skin/classic/browser/tabbrowser/tabDragIndicator.png (tabbrowser/tabDragIndicator.png)
+ skin/classic/browser/tabbrowser/alltabs.png (tabbrowser/alltabs.png)
+ skin/classic/browser/tabbrowser/alltabs-inverted.png (tabbrowser/alltabs-inverted.png)
+ skin/classic/browser/tabbrowser/newtab.png (tabbrowser/newtab.png)
+ skin/classic/browser/tabbrowser/newtab-glass.png (tabbrowser/newtab-glass.png)
+ skin/classic/browser/tabbrowser/newtab-inverted.png (tabbrowser/newtab-inverted.png)
+ skin/classic/browser/tabbrowser/connecting.png (tabbrowser/connecting.png)
+ skin/classic/browser/tabbrowser/loading.png (tabbrowser/loading.png)
+ skin/classic/browser/tabbrowser/tab-arrow-left.png (tabbrowser/tab-arrow-left.png)
+ skin/classic/browser/tabbrowser/tab-arrow-left-glass.png (tabbrowser/tab-arrow-left-glass.png)
+ skin/classic/browser/tabbrowser/tab-arrow-left-inverted.png (tabbrowser/tab-arrow-left-inverted.png)
+ skin/classic/browser/tabbrowser/tab-overflow-border.png (tabbrowser/tab-overflow-border.png)
+ skin/classic/browser/tabbrowser/tabDragIndicator.png (tabbrowser/tabDragIndicator.png)
+ skin/classic/browser/tabbrowser/tab-audio.svg (../shared/tabbrowser/tab-audio.svg)
+ skin/classic/browser/tabbrowser/tab-audio-small.svg (../shared/tabbrowser/tab-audio-small.svg)
#ifdef MOZ_SERVICES_SYNC
- skin/classic/browser/sync-throbber.png
- skin/classic/browser/sync-16.png
- skin/classic/browser/sync-32.png
- skin/classic/browser/sync-128.png
- skin/classic/browser/sync-bg.png
- skin/classic/browser/sync-desktopIcon.png
- skin/classic/browser/sync-mobileIcon.png
- skin/classic/browser/syncSetup.css
- skin/classic/browser/syncCommon.css
- skin/classic/browser/syncQuota.css
- skin/classic/browser/syncProgress.css
+ skin/classic/browser/sync-throbber.png
+ skin/classic/browser/sync-16.png
+ skin/classic/browser/sync-32.png
+ skin/classic/browser/sync-128.png
+ skin/classic/browser/sync-bg.png
+ skin/classic/browser/sync-desktopIcon.png
+ skin/classic/browser/sync-mobileIcon.png
+ skin/classic/browser/syncSetup.css
+ skin/classic/browser/syncCommon.css
+ skin/classic/browser/syncQuota.css
+ skin/classic/browser/syncProgress.css
#endif