diff options
76 files changed, 201 insertions, 956 deletions
diff --git a/application/palemoon/app/profile/palemoon.js b/application/palemoon/app/profile/palemoon.js index 90b4949b9..000113fe7 100644 --- a/application/palemoon/app/profile/palemoon.js +++ b/application/palemoon/app/profile/palemoon.js @@ -433,6 +433,8 @@ pref("browser.tabs.loadDivertedInBackground", false); pref("browser.tabs.loadBookmarksInBackground", false); pref("browser.tabs.noWindowActivationOnExternal", false); pref("browser.tabs.tabClipWidth", 140); +pref("browser.tabs.tabMinWidth", 100); +pref("browser.tabs.tabMaxWidth", 250); pref("browser.tabs.animate", true); pref("browser.tabs.onTop", true); #ifdef XP_WIN @@ -1079,6 +1081,8 @@ pref("security.csp.speccompliant", true); // Block insecure active content on https pages pref("security.mixed_content.block_active_content", true); +// Disable HPKP telemetry +pref("security.ssl.errorReporting.enabled", false); // Override the Goanna-default value of false for Firefox. pref("plain_text.wrap_long_lines", true); diff --git a/application/palemoon/base/content/browser.css b/application/palemoon/base/content/browser.css index a2970aefc..76e49436c 100644 --- a/application/palemoon/base/content/browser.css +++ b/application/palemoon/base/content/browser.css @@ -43,8 +43,6 @@ tabbrowser { .tabbrowser-tab:not([pinned]) { -moz-box-flex: 100; - max-width: 250px; - min-width: 100px; width: 0; transition: min-width 175ms ease-out, max-width 200ms ease-out, @@ -67,6 +65,12 @@ tabbrowser { display: none; } +.tabbrowser-tab[pinned] { + -moz-box-flex: 0; + min-width: 0 !important; + max-width: none !important; +} + .tabbrowser-tabs[positionpinnedtabs] > .tabbrowser-tab[pinned] { position: fixed !important; display: block; /* position:fixed already does this (bug 579776), but let's be explicit */ diff --git a/application/palemoon/base/content/browser.js b/application/palemoon/base/content/browser.js index c1643caa4..4bdac7850 100644 --- a/application/palemoon/base/content/browser.js +++ b/application/palemoon/base/content/browser.js @@ -420,7 +420,8 @@ var gPopupBlockerObserver = { if (!this._reportButton && gURLBar) this._reportButton = document.getElementById("page-report-button"); - if (!gBrowser.selectedBrowser.blockedPopups) { + if (!gBrowser.selectedBrowser.blockedPopups || + !gBrowser.selectedBrowser.blockedPopups.length) { // Hide the icon in the location bar (if the location bar exists) if (gURLBar) this._reportButton.hidden = true; @@ -522,65 +523,66 @@ var gPopupBlockerObserver = { else blockedPopupAllowSite.removeAttribute("disabled"); - var foundUsablePopupURI = false; - var blockedPopups = browser.blockedPopups; - if (blockedPopups) { - for (let i = 0; i < blockedPopups.length; i++) { - let blockedPopup = blockedPopups[i]; - - // popupWindowURI will be null if the file picker popup is blocked. - // xxxdz this should make the option say "Show file picker" and do it (Bug 590306) - if (!blockedPopup.popupWindowURI) - continue; - var popupURIspec = blockedPopup.popupWindowURI.spec; - - // Sometimes the popup URI that we get back from the blockedPopup - // isn't useful (for instance, netscape.com's popup URI ends up - // being "http://www.netscape.com", which isn't really the URI of - // the popup they're trying to show). This isn't going to be - // useful to the user, so we won't create a menu item for it. - if (popupURIspec == "" || popupURIspec == "about:blank" || - popupURIspec == uri.spec) - continue; - - // Because of the short-circuit above, we may end up in a situation - // in which we don't have any usable popup addresses to show in - // the menu, and therefore we shouldn't show the separator. However, - // since we got past the short-circuit, we must've found at least - // one usable popup URI and thus we'll turn on the separator later. - foundUsablePopupURI = true; - - var menuitem = document.createElement("menuitem"); - var label = gNavigatorBundle.getFormattedString("popupShowPopupPrefix", - [popupURIspec]); - menuitem.setAttribute("label", label); - menuitem.setAttribute("popupWindowURI", popupURIspec); - menuitem.setAttribute("popupWindowFeatures", blockedPopup.popupWindowFeatures); - menuitem.setAttribute("popupWindowName", blockedPopup.popupWindowName); - menuitem.setAttribute("oncommand", "gPopupBlockerObserver.showBlockedPopup(event);"); - menuitem.setAttribute("popupReportIndex", i); - menuitem.popupReportBrowser = browser; - aEvent.target.appendChild(menuitem); - } - } - - // Show or hide the separator, depending on whether we added any - // showable popup addresses to the menu. - var blockedPopupsSeparator = - document.getElementById("blockedPopupsSeparator"); - if (foundUsablePopupURI) - blockedPopupsSeparator.removeAttribute("hidden"); - else - blockedPopupsSeparator.setAttribute("hidden", true); - - var blockedPopupDontShowMessage = document.getElementById("blockedPopupDontShowMessage"); - var showMessage = gPrefService.getBoolPref("privacy.popups.showBrowserMessage"); + let blockedPopupDontShowMessage = document.getElementById("blockedPopupDontShowMessage"); + let showMessage = gPrefService.getBoolPref("privacy.popups.showBrowserMessage"); blockedPopupDontShowMessage.setAttribute("checked", !showMessage); if (aEvent.target.anchorNode.id == "page-report-button") { aEvent.target.anchorNode.setAttribute("open", "true"); blockedPopupDontShowMessage.setAttribute("label", gNavigatorBundle.getString("popupWarningDontShowFromLocationbar")); - } else + } else { blockedPopupDontShowMessage.setAttribute("label", gNavigatorBundle.getString("popupWarningDontShowFromMessage")); + } + + let blockedPopupsSeparator = + document.getElementById("blockedPopupsSeparator"); + blockedPopupsSeparator.setAttribute("hidden", true); + + gBrowser.selectedBrowser.retrieveListOfBlockedPopups().then(blockedPopups => { + let foundUsablePopupURI = false; + if (blockedPopups) { + for (let i = 0; i < blockedPopups.length; i++) { + let blockedPopup = blockedPopups[i]; + + // popupWindowURI will be null if the file picker popup is blocked. + // xxxdz this should make the option say "Show file picker" and do it (Bug 590306) + if (!blockedPopup.popupWindowURIspec) + continue; + + var popupURIspec = blockedPopup.popupWindowURIspec; + + // Sometimes the popup URI that we get back from the blockedPopup + // isn't useful (for instance, netscape.com's popup URI ends up + // being "http://www.netscape.com", which isn't really the URI of + // the popup they're trying to show). This isn't going to be + // useful to the user, so we won't create a menu item for it. + if (popupURIspec == "" || popupURIspec == "about:blank" || + popupURIspec == "<self>" || + popupURIspec == uri.spec) + continue; + + // Because of the short-circuit above, we may end up in a situation + // in which we don't have any usable popup addresses to show in + // the menu, and therefore we shouldn't show the separator. However, + // since we got past the short-circuit, we must've found at least + // one usable popup URI and thus we'll turn on the separator later. + foundUsablePopupURI = true; + + var menuitem = document.createElement("menuitem"); + var label = gNavigatorBundle.getFormattedString("popupShowPopupPrefix", + [popupURIspec]); + menuitem.setAttribute("label", label); + menuitem.setAttribute("oncommand", "gPopupBlockerObserver.showBlockedPopup(event);"); + menuitem.setAttribute("popupReportIndex", i); + menuitem.popupReportBrowser = browser; + aEvent.target.appendChild(menuitem); + } + } + + // Show the separator if we added any + // showable popup addresses to the menu. + if (foundUsablePopupURI) + blockedPopupsSeparator.removeAttribute("hidden"); + }, null); }, onPopupHiding: function (aEvent) { @@ -3096,6 +3098,8 @@ const BrowserSearch = { }, }; +XPCOMUtils.defineConstant(this, "BrowserSearch", BrowserSearch); + function FillHistoryMenu(aParent) { // Lazily add the hover listeners on first showing and never remove them if (!aParent.hasStatusListener) { @@ -6768,7 +6772,7 @@ function getTabModalPromptBox(aWindow) { function getBrowser() gBrowser; function getNavToolbox() gNavToolbox; -let gPrivateBrowsingUI = { +var gPrivateBrowsingUI = { init: function PBUI_init() { // Do nothing for normal windows if (!PrivateBrowsingUtils.isWindowPrivate(window)) { diff --git a/application/palemoon/base/content/browser.xul b/application/palemoon/base/content/browser.xul index f9030056e..254e2eee0 100644 --- a/application/palemoon/base/content/browser.xul +++ b/application/palemoon/base/content/browser.xul @@ -452,7 +452,6 @@ <image id="addons-notification-icon" class="notification-anchor-icon" role="button"/> <image id="indexedDB-notification-icon" class="notification-anchor-icon" role="button"/> <image id="password-notification-icon" class="notification-anchor-icon" role="button"/> - <image id="webapps-notification-icon" class="notification-anchor-icon" role="button"/> <image id="plugins-notification-icon" class="notification-anchor-icon" role="button"/> <image id="web-notifications-notification-icon" class="notification-anchor-icon" role="button"/> <image id="alert-plugins-notification-icon" class="notification-anchor-icon" role="button"/> diff --git a/application/palemoon/base/content/pageinfo/pageInfo.js b/application/palemoon/base/content/pageinfo/pageInfo.js index 6b02bc370..600174ad9 100644 --- a/application/palemoon/base/content/pageinfo/pageInfo.js +++ b/application/palemoon/base/content/pageinfo/pageInfo.js @@ -2,7 +2,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ -const Cu = Components.utils; +var Cu = Components.utils; Cu.import("resource://gre/modules/LoadContextInfo.jsm"); Cu.import("resource://gre/modules/Services.jsm"); diff --git a/application/palemoon/base/content/sanitizeDialog.js b/application/palemoon/base/content/sanitizeDialog.js index 18df5e4a4..786113288 100644 --- a/application/palemoon/base/content/sanitizeDialog.js +++ b/application/palemoon/base/content/sanitizeDialog.js @@ -3,8 +3,8 @@ * 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 Cc = Components.classes; -const Ci = Components.interfaces; +var Cc = Components.classes; +var Ci = Components.interfaces; var gSanitizePromptDialog = { diff --git a/application/palemoon/base/content/sync/aboutSyncTabs.js b/application/palemoon/base/content/sync/aboutSyncTabs.js index bc624a459..410494b5b 100644 --- a/application/palemoon/base/content/sync/aboutSyncTabs.js +++ b/application/palemoon/base/content/sync/aboutSyncTabs.js @@ -2,7 +2,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -const Cu = Components.utils; +var Cu = Components.utils; Cu.import("resource://services-common/utils.js"); Cu.import("resource://services-sync/main.js"); diff --git a/application/palemoon/base/content/sync/addDevice.js b/application/palemoon/base/content/sync/addDevice.js index 40862a791..0390d4397 100644 --- a/application/palemoon/base/content/sync/addDevice.js +++ b/application/palemoon/base/content/sync/addDevice.js @@ -2,9 +2,9 @@ * 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 Cu = Components.utils; +var Ci = Components.interfaces; +var Cc = Components.classes; +var Cu = Components.utils; Cu.import("resource://services-sync/main.js"); Cu.import("resource://gre/modules/XPCOMUtils.jsm"); diff --git a/application/palemoon/base/content/sync/genericChange.js b/application/palemoon/base/content/sync/genericChange.js index 0c6dc145e..df6639178 100644 --- a/application/palemoon/base/content/sync/genericChange.js +++ b/application/palemoon/base/content/sync/genericChange.js @@ -2,8 +2,8 @@ * 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; +var Ci = Components.interfaces; +var Cc = Components.classes; Components.utils.import("resource://services-sync/main.js"); Components.utils.import("resource://gre/modules/Services.jsm"); diff --git a/application/palemoon/base/content/sync/setup.js b/application/palemoon/base/content/sync/setup.js index 99faa038e..e8d67a5f6 100644 --- a/application/palemoon/base/content/sync/setup.js +++ b/application/palemoon/base/content/sync/setup.js @@ -2,10 +2,10 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -const Ci = Components.interfaces; -const Cc = Components.classes; -const Cr = Components.results; -const Cu = Components.utils; +var Ci = Components.interfaces; +var Cc = Components.classes; +var Cr = Components.results; +var Cu = Components.utils; // page consts diff --git a/application/palemoon/base/content/tabbrowser.xml b/application/palemoon/base/content/tabbrowser.xml index 1b8099785..10f109ce8 100644 --- a/application/palemoon/base/content/tabbrowser.xml +++ b/application/palemoon/base/content/tabbrowser.xml @@ -1445,6 +1445,9 @@ t.setAttribute("label", aURI); t.setAttribute("crop", "end"); + t.style.maxWidth = this.tabContainer.mTabMaxWidth + "px"; + t.style.minWidth = this.tabContainer.mTabMinWidth + "px"; + t.width = 0; t.setAttribute("validate", "never"); //PMed t.setAttribute("onerror", "this.removeAttribute('image');"); t.className = "tabbrowser-tab"; @@ -3410,6 +3413,8 @@ <implementation implements="nsIDOMEventListener"> <constructor> <![CDATA[ + this.mTabMinWidth = Services.prefs.getIntPref("browser.tabs.tabMinWidth"); + this.mTabMaxWidth = Services.prefs.getIntPref("browser.tabs.tabMaxWidth"); this.mTabClipWidth = Services.prefs.getIntPref("browser.tabs.tabClipWidth"); this.mCloseButtons = Services.prefs.getIntPref("browser.tabs.closeButtons"); this._closeWindowWithLastTab = Services.prefs.getBoolPref("browser.tabs.closeWindowWithLastTab"); @@ -3417,6 +3422,9 @@ var tab = this.firstChild; tab.setAttribute("label", this.tabbrowser.mStringBundle.getString("tabs.emptyTabTitle")); + tab.style.minWidth = this.mTabMinWidth + "px"; + tab.style.maxWidth = this.mTabMaxWidth + "px"; + tab.width = 0; tab.setAttribute("crop", "end"); tab.setAttribute("onerror", "this.removeAttribute('image');"); this.adjustTabstrip(); diff --git a/application/palemoon/components/distribution.js b/application/palemoon/components/distribution.js index b44b5bed3..d3300604e 100644 --- a/application/palemoon/components/distribution.js +++ b/application/palemoon/components/distribution.js @@ -4,10 +4,10 @@ this.EXPORTED_SYMBOLS = [ "DistributionCustomizer" ]; -const Ci = Components.interfaces; -const Cc = Components.classes; -const Cr = Components.results; -const Cu = Components.utils; +var Ci = Components.interfaces; +var Cc = Components.classes; +var Cr = Components.results; +var Cu = Components.utils; const DISTRIBUTION_CUSTOMIZATION_COMPLETE_TOPIC = "distribution-customization-complete"; diff --git a/application/palemoon/components/sessionstore/content/aboutSessionRestore.js b/application/palemoon/components/sessionstore/content/aboutSessionRestore.js index cae3bf4de..2459b67f5 100644 --- a/application/palemoon/components/sessionstore/content/aboutSessionRestore.js +++ b/application/palemoon/components/sessionstore/content/aboutSessionRestore.js @@ -2,9 +2,9 @@ * 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 Cc = Components.classes; -const Ci = Components.interfaces; -const Cu = Components.utils; +var Cc = Components.classes; +var Ci = Components.interfaces; +var Cu = Components.utils; var gStateObject; var gTreeData; diff --git a/application/palemoon/components/sessionstore/content/content-sessionStore.js b/application/palemoon/components/sessionstore/content/content-sessionStore.js index bdf0fef0c..e3e956ef2 100644 --- a/application/palemoon/components/sessionstore/content/content-sessionStore.js +++ b/application/palemoon/components/sessionstore/content/content-sessionStore.js @@ -10,7 +10,7 @@ function debug(msg) { * Listens for and handles content events that we need for the * session store service to be notified of state changes in content. */ -let EventListener = { +var EventListener = { DOM_EVENTS: [ "pageshow", "change", "input" diff --git a/application/palemoon/modules/Windows8WindowFrameColor.jsm b/application/palemoon/modules/Windows8WindowFrameColor.jsm index d424da499..e7a447db2 100644 --- a/application/palemoon/modules/Windows8WindowFrameColor.jsm +++ b/application/palemoon/modules/Windows8WindowFrameColor.jsm @@ -11,15 +11,15 @@ Cu.import("resource://gre/modules/Services.jsm"); Cu.import("resource://gre/modules/XPCOMUtils.jsm"); Cu.import("resource://gre/modules/WindowsRegistry.jsm"); -const Windows8WindowFrameColor = { +var Windows8WindowFrameColor = { _windowFrameColor: null, get_win8: function() { if (this._windowFrameColor) return this._windowFrameColor; - let HKCU = Ci.nsIWindowsRegKey.ROOT_KEY_CURRENT_USER; - let dwmKey = "Software\\Microsoft\\Windows\\DWM"; + const HKCU = Ci.nsIWindowsRegKey.ROOT_KEY_CURRENT_USER; + const dwmKey = "Software\\Microsoft\\Windows\\DWM"; // Window frame base color component values when Color Intensity is at 0. let frameBaseColor = 217; diff --git a/application/palemoon/themes/linux/browser.css b/application/palemoon/themes/linux/browser.css index dbdc06235..9a08ea4d8 100644 --- a/application/palemoon/themes/linux/browser.css +++ b/application/palemoon/themes/linux/browser.css @@ -1228,10 +1228,6 @@ toolbar[iconsize="small"] #webrtc-status-button { list-style-image: url(chrome://mozapps/skin/passwordmgr/key-64.png); } -.popup-notification-icon[popupid="webapps-install"] { - list-style-image: url(chrome://browser/skin/webapps-64.png); -} - .popup-notification-icon[popupid="mixed-content-blocked"] { list-style-image: url(chrome://browser/skin/mixed-content-blocked-64.png); } @@ -1305,10 +1301,6 @@ toolbar[iconsize="small"] #webrtc-status-button { list-style-image: url(chrome://mozapps/skin/passwordmgr/key-16.png); } -#webapps-notification-icon { - list-style-image: url(chrome://browser/skin/webapps-16.png); -} - #plugins-notification-icon { list-style-image: url(chrome://browser/skin/notification-pluginNormal.png); } diff --git a/application/palemoon/themes/linux/jar.mn b/application/palemoon/themes/linux/jar.mn index 3c2ac406e..570bbb153 100644 --- a/application/palemoon/themes/linux/jar.mn +++ b/application/palemoon/themes/linux/jar.mn @@ -136,8 +136,6 @@ browser.jar: skin/classic/browser/syncQuota.css skin/classic/browser/syncProgress.css #endif - skin/classic/browser/webapps-16.png - skin/classic/browser/webapps-64.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/linux/webapps-16.png b/application/palemoon/themes/linux/webapps-16.png Binary files differdeleted file mode 100644 index df3978c4c..000000000 --- a/application/palemoon/themes/linux/webapps-16.png +++ /dev/null diff --git a/application/palemoon/themes/linux/webapps-64.png b/application/palemoon/themes/linux/webapps-64.png Binary files differdeleted file mode 100644 index 7c5e48cb8..000000000 --- a/application/palemoon/themes/linux/webapps-64.png +++ /dev/null diff --git a/application/palemoon/themes/osx/browser.css b/application/palemoon/themes/osx/browser.css index 6307c5f58..485ed9115 100644 --- a/application/palemoon/themes/osx/browser.css +++ b/application/palemoon/themes/osx/browser.css @@ -1459,14 +1459,14 @@ richlistitem[type~="action"][actiontype="switchtab"][selected="true"] > .ac-url- linear-gradient(-moz-dialog, -moz-dialog); } -.tabbrowser-tab:-moz-lwtheme { - color: inherit; - /* 0.99 opacity rquired to force an active layer, see bug #1028369 */ - opacity: 0.99; +.tabbrowser-tab[visuallyselected=true]:not(:-moz-lwtheme) { + /* overriding tabbox.css */ + color: inherit; } -.tabbrowser-tab:-moz-lwtheme:not([selected="true"]) { - opacity: 0.9; +.tabbrowser-tab[visuallyselected=true] { + /* overriding tabbox.css */ + text-shadow: inherit; } /* Remove highlight fuzz on dark themes */ @@ -1913,10 +1913,6 @@ toolbarbutton.bookmark-item[dragover="true"][open="true"] { list-style-image: url(chrome://mozapps/skin/passwordmgr/key-64.png); } -.popup-notification-icon[popupid="webapps-install"] { - list-style-image: url(chrome://browser/skin/webapps-64.png); -} - .popup-notification-icon[popupid="mixed-content-blocked"] { list-style-image: url(chrome://browser/skin/mixed-content-blocked-64.png); } @@ -1988,10 +1984,6 @@ toolbarbutton.bookmark-item[dragover="true"][open="true"] { list-style-image: url(chrome://mozapps/skin/passwordmgr/key-16.png); } -#webapps-notification-icon { - list-style-image: url(chrome://browser/skin/webapps-16.png); -} - #plugins-notification-icon { list-style-image: url(chrome://browser/skin/notification-pluginNormal.png); } diff --git a/application/palemoon/themes/osx/jar.mn b/application/palemoon/themes/osx/jar.mn index a085c5f81..28d779985 100644 --- a/application/palemoon/themes/osx/jar.mn +++ b/application/palemoon/themes/osx/jar.mn @@ -66,8 +66,6 @@ browser.jar: skin/classic/browser/urlbar-arrow.png skin/classic/browser/urlbar-popup-blocked.png skin/classic/browser/urlbar-history-dropmarker.png - skin/classic/browser/webapps-16.png - skin/classic/browser/webapps-64.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) diff --git a/application/palemoon/themes/osx/webapps-16.png b/application/palemoon/themes/osx/webapps-16.png Binary files differdeleted file mode 100644 index 7112ab4e4..000000000 --- a/application/palemoon/themes/osx/webapps-16.png +++ /dev/null diff --git a/application/palemoon/themes/osx/webapps-64.png b/application/palemoon/themes/osx/webapps-64.png Binary files differdeleted file mode 100644 index 7c5e48cb8..000000000 --- a/application/palemoon/themes/osx/webapps-64.png +++ /dev/null diff --git a/application/palemoon/themes/windows/browser.css b/application/palemoon/themes/windows/browser.css index b87b50732..db60a6fa7 100644 --- a/application/palemoon/themes/windows/browser.css +++ b/application/palemoon/themes/windows/browser.css @@ -2400,10 +2400,6 @@ toolbarbutton.bookmark-item[dragover="true"][open="true"] { list-style-image: url(chrome://mozapps/skin/passwordmgr/key-64.png); } -.popup-notification-icon[popupid="webapps-install"] { - list-style-image: url(chrome://browser/skin/webapps-64.png); -} - .popup-notification-icon[popupid="mixed-content-blocked"] { list-style-image: url(chrome://browser/skin/mixed-content-blocked-64.png); } @@ -2475,10 +2471,6 @@ toolbarbutton.bookmark-item[dragover="true"][open="true"] { list-style-image: url(chrome://mozapps/skin/passwordmgr/key-16.png); } -#webapps-notification-icon { - list-style-image: url(chrome://browser/skin/webapps-16.png); -} - #plugins-notification-icon { list-style-image: url(chrome://browser/skin/notification-pluginNormal.png); } diff --git a/application/palemoon/themes/windows/jar.mn b/application/palemoon/themes/windows/jar.mn index 8c0d9a5cc..ce4627e21 100644 --- a/application/palemoon/themes/windows/jar.mn +++ b/application/palemoon/themes/windows/jar.mn @@ -68,8 +68,6 @@ browser.jar: skin/classic/browser/urlbar-arrow.png skin/classic/browser/urlbar-popup-blocked.png skin/classic/browser/urlbar-history-dropmarker.png - skin/classic/browser/webapps-16.png - skin/classic/browser/webapps-64.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) diff --git a/application/palemoon/themes/windows/webapps-16.png b/application/palemoon/themes/windows/webapps-16.png Binary files differdeleted file mode 100644 index 7112ab4e4..000000000 --- a/application/palemoon/themes/windows/webapps-16.png +++ /dev/null diff --git a/application/palemoon/themes/windows/webapps-64.png b/application/palemoon/themes/windows/webapps-64.png Binary files differdeleted file mode 100644 index 7c5e48cb8..000000000 --- a/application/palemoon/themes/windows/webapps-64.png +++ /dev/null diff --git a/dom/fetch/Request.cpp b/dom/fetch/Request.cpp index bc17afae3..c119a503e 100644 --- a/dom/fetch/Request.cpp +++ b/dom/fetch/Request.cpp @@ -327,7 +327,7 @@ Request::Constructor(const GlobalObject& aGlobal, RequestCache fallbackCache = RequestCache::EndGuard_; if (aInput.IsUSVString()) { fallbackMode = RequestMode::Cors; - fallbackCredentials = RequestCredentials::Omit; + fallbackCredentials = RequestCredentials::Same_origin; fallbackCache = RequestCache::Default; } diff --git a/dom/tests/mochitest/fetch/test_fetch_cors.js b/dom/tests/mochitest/fetch/test_fetch_cors.js index ac83d050d..f375ce73f 100644 --- a/dom/tests/mochitest/fetch/test_fetch_cors.js +++ b/dom/tests/mochitest/fetch/test_fetch_cors.js @@ -64,9 +64,9 @@ function testSameOriginCredentials() { withCred: "same-origin", }, { - // Default mode is "omit". + // Default mode is "same-origin". pass: 1, - noCookie: 1, + cookie: cookieStr, }, { pass: 1, diff --git a/dom/tests/mochitest/fetch/test_request.js b/dom/tests/mochitest/fetch/test_request.js index badad61b9..5be361a46 100644 --- a/dom/tests/mochitest/fetch/test_request.js +++ b/dom/tests/mochitest/fetch/test_request.js @@ -6,7 +6,7 @@ function testDefaultCtor() { is(req.context, "fetch", "Default context is fetch."); is(req.referrer, "about:client", "Default referrer is `client` which serializes to about:client."); is(req.mode, "cors", "Request mode for string input is cors"); - is(req.credentials, "omit", "Default Request credentials is omit"); + is(req.credentials, "same-origin", "Default Request credentials is same-origin"); is(req.cache, "default", "Default Request cache is default"); var req = new Request(req); @@ -16,7 +16,7 @@ function testDefaultCtor() { is(req.context, "fetch", "Default context is fetch."); is(req.referrer, "about:client", "Default referrer is `client` which serializes to about:client."); is(req.mode, "cors", "Request mode string input is cors"); - is(req.credentials, "omit", "Default Request credentials is omit"); + is(req.credentials, "same-origin", "Default Request credentials is same-origin"); is(req.cache, "default", "Default Request cache is default"); } diff --git a/image/decoders/nsPNGDecoder.cpp b/image/decoders/nsPNGDecoder.cpp index 0f385b339..9596ae7d6 100644 --- a/image/decoders/nsPNGDecoder.cpp +++ b/image/decoders/nsPNGDecoder.cpp @@ -34,13 +34,18 @@ namespace image { static LazyLogModule sPNGLog("PNGDecoder"); static LazyLogModule sPNGDecoderAccountingLog("PNGDecoderAccounting"); -// limit image dimensions (bug #251381, #591822, #967656, and #1283961) +// Limit image dimensions. #ifndef MOZ_PNG_MAX_WIDTH -# define MOZ_PNG_MAX_WIDTH 0x7fffffff // Unlimited +# define MOZ_PNG_MAX_WIDTH 65535 #endif #ifndef MOZ_PNG_MAX_HEIGHT -# define MOZ_PNG_MAX_HEIGHT 0x7fffffff // Unlimited +# define MOZ_PNG_MAX_HEIGHT 65535 #endif +// Maximum area supported in pixels (W*H) +#ifndef MOZ_PNG_MAX_PIX +# define MOZ_PNG_MAX_PIX 268435456 // 256 Mpix = 16Ki x 16Ki +#endif + nsPNGDecoder::AnimFrameInfo::AnimFrameInfo() : mDispose(DisposalMethod::KEEP) @@ -568,6 +573,13 @@ nsPNGDecoder::info_callback(png_structp png_ptr, png_infop info_ptr) png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type, &interlace_type, &compression_type, &filter_type); + // Check sizes against cap limits and W*H + if ((width > MOZ_PNG_MAX_WIDTH) || + (height > MOZ_PNG_MAX_HEIGHT) || + (width * height > MOZ_PNG_MAX_PIX)) { + png_error(decoder->mPNG, "Image too large"); + } + const IntRect frameRect(0, 0, width, height); // Post our size to the superclass diff --git a/media/libopus/silk/NLSF_stabilize.c b/media/libopus/silk/NLSF_stabilize.c index 1fa1ea379..8f3426b91 100644 --- a/media/libopus/silk/NLSF_stabilize.c +++ b/media/libopus/silk/NLSF_stabilize.c @@ -130,7 +130,7 @@ void silk_NLSF_stabilize( /* Keep delta_min distance between the NLSFs */ for( i = 1; i < L; i++ ) - NLSF_Q15[i] = silk_max_int( NLSF_Q15[i], NLSF_Q15[i-1] + NDeltaMin_Q15[i] ); + NLSF_Q15[i] = silk_max_int( NLSF_Q15[i], silk_ADD_SAT16( NLSF_Q15[i-1], NDeltaMin_Q15[i] ) ); /* Last NLSF should be no higher than 1 - NDeltaMin[L] */ NLSF_Q15[L-1] = silk_min_int( NLSF_Q15[L-1], (1<<15) - NDeltaMin_Q15[L] ); diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js index 1706807e9..4fdc2676a 100644 --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js @@ -2158,19 +2158,9 @@ pref("security.block_script_with_wrong_mime", true); // Block images of wrong MIME for XCTO: nosniff. pref("security.xcto_nosniff_block_images", false); -// OCSP must-staple -pref("security.ssl.enable_ocsp_must_staple", true); - // Insecure Form Field Warning pref("security.insecure_field_warning.contextual.enabled", false); -// Disable pinning checks by default. -pref("security.cert_pinning.enforcement_level", 0); -// Do not process hpkp headers rooted by not built in roots by default. -// This is to prevent accidental pinning from MITM devices and is used -// for tests. -pref("security.cert_pinning.process_headers_from_non_builtin_roots", false); - // If set to true, allow view-source URIs to be opened from URIs that share // their protocol with the inner URI of the view-source URI pref("security.view-source.reachable-from-inner-protocol", false); diff --git a/netwerk/base/security-prefs.js b/netwerk/base/security-prefs.js index 329a4c6b7..5351d7c04 100644 --- a/netwerk/base/security-prefs.js +++ b/netwerk/base/security-prefs.js @@ -111,6 +111,17 @@ pref("security.ssl.errorReporting.enabled", true); pref("security.ssl.errorReporting.url", "https://incoming.telemetry.mozilla.org/submit/sslreports/"); pref("security.ssl.errorReporting.automatic", false); +// OCSP must-staple +pref("security.ssl.enable_ocsp_must_staple", true); + +// HPKP settings + +// Enable pinning checks by default. +pref("security.cert_pinning.enforcement_level", 2); +// Do not process hpkp headers rooted by not built in roots by default. +// This is to prevent accidental pinning from MITM devices and is used +// for tests. +pref("security.cert_pinning.process_headers_from_non_builtin_roots", false); // Impose a maximum age on HPKP headers, to avoid sites getting permanently // blacking themselves out by setting a bad pin. (60 days by default) // https://tools.ietf.org/html/rfc7469#section-4.1 diff --git a/testing/web-platform/tests/fetch/api/request/request-init-003.sub.html b/testing/web-platform/tests/fetch/api/request/request-init-003.sub.html index 8860d6074..1f95c5ae9 100644 --- a/testing/web-platform/tests/fetch/api/request/request-init-003.sub.html +++ b/testing/web-platform/tests/fetch/api/request/request-init-003.sub.html @@ -44,7 +44,7 @@ "referrer" : "http://{{host}}:{{ports[http][0]}}/", "referrerPolicy" : "", "mode" : "cors", - "credentials" : "omit", + "credentials" : "same-origin", "cache" : "default", "redirect" : "follow", "integrity" : "", diff --git a/testing/web-platform/tests/fetch/api/request/request-structure.html b/testing/web-platform/tests/fetch/api/request/request-structure.html index cbe6cee99..9494689c7 100644 --- a/testing/web-platform/tests/fetch/api/request/request-structure.html +++ b/testing/web-platform/tests/fetch/api/request/request-structure.html @@ -82,7 +82,7 @@ break; case "credentials": - defaultValue = "omit"; + defaultValue = "same-origin"; newValue = "cors"; break; diff --git a/toolkit/mozapps/extensions/content/extensions.js b/toolkit/mozapps/extensions/content/extensions.js index fc4392231..1e185f879 100644 --- a/toolkit/mozapps/extensions/content/extensions.js +++ b/toolkit/mozapps/extensions/content/extensions.js @@ -4,10 +4,10 @@ "use strict"; -const Cc = Components.classes; -const Ci = Components.interfaces; -const Cu = Components.utils; -const Cr = Components.results; +var Cc = Components.classes; +var Ci = Components.interfaces; +var Cu = Components.utils; +var Cr = Components.results; Cu.import("resource://gre/modules/XPCOMUtils.jsm"); Cu.import("resource://gre/modules/Services.jsm"); diff --git a/toolkit/mozapps/extensions/content/newaddon.js b/toolkit/mozapps/extensions/content/newaddon.js index 2b2a54af5..e45b3c1cc 100644 --- a/toolkit/mozapps/extensions/content/newaddon.js +++ b/toolkit/mozapps/extensions/content/newaddon.js @@ -2,9 +2,9 @@ * 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 Cc = Components.classes; -const Ci = Components.interfaces; -const Cu = Components.utils; +var Cc = Components.classes; +var Ci = Components.interfaces; +var Cu = Components.utils; Cu.import("resource://gre/modules/Services.jsm"); Cu.import("resource://gre/modules/AddonManager.jsm"); diff --git a/toolkit/mozapps/extensions/content/selectAddons.js b/toolkit/mozapps/extensions/content/selectAddons.js index f80932b3f..01b9030ee 100644 --- a/toolkit/mozapps/extensions/content/selectAddons.js +++ b/toolkit/mozapps/extensions/content/selectAddons.js @@ -10,8 +10,8 @@ Components.utils.import("resource://gre/modules/AddonManager.jsm"); Components.utils.import("resource://gre/modules/addons/AddonRepository.jsm"); Components.utils.import("resource://gre/modules/Services.jsm"); -const Cc = Components.classes; -const Ci = Components.interfaces; +var Cc = Components.classes; +var Ci = Components.interfaces; var gView = null; diff --git a/toolkit/mozapps/extensions/internal/Content.js b/toolkit/mozapps/extensions/internal/Content.js index 61a8b0323..9ab3b9ad6 100644 --- a/toolkit/mozapps/extensions/internal/Content.js +++ b/toolkit/mozapps/extensions/internal/Content.js @@ -6,7 +6,7 @@ (function() { -const {classes: Cc, interfaces: Ci, utils: Cu} = Components; +var {classes: Cc, interfaces: Ci, utils: Cu} = Components; var {Services} = Cu.import("resource://gre/modules/Services.jsm", {}); diff --git a/toolkit/mozapps/extensions/internal/GMPProvider.jsm b/toolkit/mozapps/extensions/internal/GMPProvider.jsm index 52affa9ba..25651f1b8 100644 --- a/toolkit/mozapps/extensions/internal/GMPProvider.jsm +++ b/toolkit/mozapps/extensions/internal/GMPProvider.jsm @@ -4,9 +4,9 @@ "use strict"; -const Cc = Components.classes; -const Ci = Components.interfaces; -const Cu = Components.utils; +var Cc = Components.classes; +var Ci = Components.interfaces; +var Cu = Components.utils; this.EXPORTED_SYMBOLS = []; @@ -58,6 +58,7 @@ const GMP_PLUGINS = [ optionsURL: "chrome://mozapps/content/extensions/gmpPrefs.xul", isEME: true }]; +XPCOMUtils.defineConstant(this, "GMP_PLUGINS", GMP_PLUGINS); XPCOMUtils.defineLazyGetter(this, "pluginsBundle", () => Services.strings.createBundle("chrome://global/locale/plugins.properties")); diff --git a/toolkit/mozapps/webextensions/internal/ProductAddonChecker.jsm b/toolkit/mozapps/extensions/internal/ProductAddonChecker.jsm index f98dd2a94..f98dd2a94 100644 --- a/toolkit/mozapps/webextensions/internal/ProductAddonChecker.jsm +++ b/toolkit/mozapps/extensions/internal/ProductAddonChecker.jsm diff --git a/toolkit/mozapps/extensions/internal/XPIProvider.jsm b/toolkit/mozapps/extensions/internal/XPIProvider.jsm index 5b3585cd8..b522bd3ae 100644 --- a/toolkit/mozapps/extensions/internal/XPIProvider.jsm +++ b/toolkit/mozapps/extensions/internal/XPIProvider.jsm @@ -144,6 +144,7 @@ const FIREFOX_APPCOMPATVERSION = "56.9" // The value for this is in Makefile.in #expand const DB_SCHEMA = __MOZ_EXTENSIONS_DB_SCHEMA__; +XPCOMUtils.defineConstant(this, "DB_SCHEMA", DB_SCHEMA); #ifdef MOZ_DEVTOOLS const NOTIFICATION_TOOLBOXPROCESS_LOADED = "ToolboxProcessLoaded"; #endif diff --git a/toolkit/mozapps/extensions/internal/XPIProviderUtils.js b/toolkit/mozapps/extensions/internal/XPIProviderUtils.js index 6b37ed640..f2420bd1a 100644 --- a/toolkit/mozapps/extensions/internal/XPIProviderUtils.js +++ b/toolkit/mozapps/extensions/internal/XPIProviderUtils.js @@ -4,10 +4,10 @@ "use strict"; -const Cc = Components.classes; -const Ci = Components.interfaces; -const Cr = Components.results; -const Cu = Components.utils; +var Cc = Components.classes; +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"); diff --git a/toolkit/mozapps/extensions/internal/moz.build b/toolkit/mozapps/extensions/internal/moz.build index efcd2af21..337df3104 100644 --- a/toolkit/mozapps/extensions/internal/moz.build +++ b/toolkit/mozapps/extensions/internal/moz.build @@ -5,12 +5,12 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. EXTRA_JS_MODULES.addons += [ - '../../webextensions/internal/ProductAddonChecker.jsm', 'AddonLogging.jsm', 'AddonRepository_SQLiteMigrator.jsm', 'Content.js', 'GMPProvider.jsm', 'LightweightThemeImageOptimizer.jsm', + 'ProductAddonChecker.jsm', 'SpellCheckDictionaryBootstrap.js', ] diff --git a/toolkit/mozapps/webextensions/amIAddonManager.idl b/toolkit/mozapps/webextensions/amIAddonManager.idl deleted file mode 100644 index 58a58b62d..000000000 --- a/toolkit/mozapps/webextensions/amIAddonManager.idl +++ /dev/null @@ -1,29 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "nsISupports.idl" - -interface nsIURI; - -/** - * A service to make some AddonManager functionality available to C++ callers. - * Javascript callers should still use AddonManager.jsm directly. - */ -[scriptable, function, uuid(7b45d82d-7ad5-48d7-9b05-f32eb9818cd4)] -interface amIAddonManager : nsISupports -{ - /** - * Synchronously map a URI to the corresponding Addon ID. - * - * Mappable URIs are limited to in-application resources belonging to the - * add-on, such as Javascript compartments, XUL windows, XBL bindings, etc. - * but do not include URIs from meta data, such as the add-on homepage. - * - * @param aURI - * The nsIURI to map - * @return - * true if the URI has been mapped successfully to an Addon ID - */ - boolean mapURIToAddonID(in nsIURI aURI, out AUTF8String aID); -}; diff --git a/toolkit/mozapps/webextensions/amIAddonPathService.idl b/toolkit/mozapps/webextensions/amIAddonPathService.idl deleted file mode 100644 index 9c9197a61..000000000 --- a/toolkit/mozapps/webextensions/amIAddonPathService.idl +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; 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/. */ - -#include "nsISupports.idl" - -interface nsIURI; - -/** - * This service maps file system paths where add-ons reside to the ID - * of the add-on. Paths are added by the add-on manager. They can - * looked up by anyone. - */ -[scriptable, uuid(fcd9e270-dfb1-11e3-8b68-0800200c9a66)] -interface amIAddonPathService : nsISupports -{ - /** - * Given a path to a file, return the ID of the add-on that the file belongs - * to. Returns an empty string if there is no add-on there. Note that if an - * add-on is located at /a/b/c, then looking up the path /a/b/c/d will return - * that add-on. - */ - AString findAddonId(in AString path); - - /** - * Call this function to inform the service that the given file system path is - * associated with the given add-on ID. - */ - void insertPath(in AString path, in AString addonId); - - /** - * Given a URI to a file, return the ID of the add-on that the file belongs - * to. Returns an empty string if there is no add-on there. - */ - AString mapURIToAddonId(in nsIURI aURI); -}; diff --git a/toolkit/mozapps/webextensions/amIWebInstallListener.idl b/toolkit/mozapps/webextensions/amIWebInstallListener.idl deleted file mode 100644 index eed108097..000000000 --- a/toolkit/mozapps/webextensions/amIWebInstallListener.idl +++ /dev/null @@ -1,134 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "nsISupports.idl" - -interface nsIDOMElement; -interface nsIURI; -interface nsIVariant; - -/** - * amIWebInstallInfo is used by the default implementation of - * amIWebInstallListener to communicate with the running application and allow - * it to warn the user about blocked installs and start the installs running. - */ -[scriptable, uuid(fa0b47a3-f819-47ac-bc66-4bd1d7f67b1d)] -interface amIWebInstallInfo : nsISupports -{ - readonly attribute nsIDOMElement browser; - readonly attribute nsIURI originatingURI; - readonly attribute nsIVariant installs; - - /** - * Starts all installs. - */ - void install(); -}; - -/** - * The registered amIWebInstallListener is used to notify about new installs - * triggered by websites. The default implementation displays a confirmation - * dialog when add-ons are ready to install and uses the observer service to - * notify when installations are blocked. - */ -[scriptable, uuid(d9240d4b-6b3a-4cad-b402-de6c93337e0c)] -interface amIWebInstallListener : nsISupports -{ - /** - * Called when installation by websites is currently disabled. - * - * @param aBrowser - * The browser that triggered the installs - * @param aUri - * The URI of the site that triggered the installs - * @param aInstalls - * The AddonInstalls that were blocked - * @param aCount - * The number of AddonInstalls - */ - void onWebInstallDisabled(in nsIDOMElement aBrowser, in nsIURI aUri, - [array, size_is(aCount)] in nsIVariant aInstalls, - [optional] in uint32_t aCount); - - /** - * Called when the website is not allowed to directly prompt the user to - * install add-ons. - * - * @param aBrowser - * The browser that triggered the installs - * @param aUri - * The URI of the site that triggered the installs - * @param aInstalls - * The AddonInstalls that were blocked - * @param aCount - * The number of AddonInstalls - * @return true if the caller should start the installs - */ - boolean onWebInstallBlocked(in nsIDOMElement aBrowser, in nsIURI aUri, - [array, size_is(aCount)] in nsIVariant aInstalls, - [optional] in uint32_t aCount); - - /** - * Called when a website wants to ask the user to install add-ons. - * - * @param aBrowser - * The browser that triggered the installs - * @param aUri - * The URI of the site that triggered the installs - * @param aInstalls - * The AddonInstalls that were requested - * @param aCount - * The number of AddonInstalls - * @return true if the caller should start the installs - */ - boolean onWebInstallRequested(in nsIDOMElement aBrowser, in nsIURI aUri, - [array, size_is(aCount)] in nsIVariant aInstalls, - [optional] in uint32_t aCount); -}; - -[scriptable, uuid(a80b89ad-bb1a-4c43-9cb7-3ae656556f78)] -interface amIWebInstallListener2 : nsISupports -{ - /** - * Called when a non-same-origin resource attempted to initiate an install. - * Installs will have already been cancelled and cannot be restarted. - * - * @param aBrowser - * The browser that triggered the installs - * @param aUri - * The URI of the site that triggered the installs - * @param aInstalls - * The AddonInstalls that were blocked - * @param aCount - * The number of AddonInstalls - */ - boolean onWebInstallOriginBlocked(in nsIDOMElement aBrowser, in nsIURI aUri, - [array, size_is(aCount)] in nsIVariant aInstalls, - [optional] in uint32_t aCount); -}; - -/** - * amIWebInstallPrompt is used, if available, by the default implementation of - * amIWebInstallInfo to display a confirmation UI to the user before running - * installs. - */ -[scriptable, uuid(386906f1-4d18-45bf-bc81-5dcd68e42c3b)] -interface amIWebInstallPrompt : nsISupports -{ - /** - * Get a confirmation that the user wants to start the installs. - * - * @param aBrowser - * The browser that triggered the installs - * @param aUri - * The URI of the site that triggered the installs - * @param aInstalls - * The AddonInstalls that were requested - * @param aCount - * The number of AddonInstalls - */ - void confirm(in nsIDOMElement aBrowser, in nsIURI aUri, - [array, size_is(aCount)] in nsIVariant aInstalls, - [optional] in uint32_t aCount); -}; diff --git a/toolkit/mozapps/webextensions/amIWebInstaller.idl b/toolkit/mozapps/webextensions/amIWebInstaller.idl deleted file mode 100644 index 6c5ebca67..000000000 --- a/toolkit/mozapps/webextensions/amIWebInstaller.idl +++ /dev/null @@ -1,82 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "nsISupports.idl" - -interface nsIDOMElement; -interface nsIVariant; -interface nsIURI; - -/** - * A callback function used to notify webpages when a requested install has - * ended. - * - * NOTE: This is *not* the same as InstallListener. - */ -[scriptable, function, uuid(bb22f5c0-3ca1-48f6-873c-54e87987700f)] -interface amIInstallCallback : nsISupports -{ - /** - * Called when an install completes or fails. - * - * @param aUrl - * The url of the add-on being installed - * @param aStatus - * 0 if the install was successful or negative if not - */ - void onInstallEnded(in AString aUrl, in int32_t aStatus); -}; - - -/** - * This interface is used to allow webpages to start installing add-ons. - */ -[scriptable, uuid(658d6c09-15e0-4688-bee8-8551030472a9)] -interface amIWebInstaller : nsISupports -{ - /** - * Checks if installation is enabled for a webpage. - * - * @param aMimetype - * The mimetype for the add-on to be installed - * @param referer - * The URL of the webpage trying to install an add-on - * @return true if installation is enabled - */ - boolean isInstallEnabled(in AString aMimetype, in nsIURI aReferer); - - /** - * Installs an array of add-ons at the request of a webpage - * - * @param aMimetype - * The mimetype for the add-ons - * @param aBrowser - * The browser installing the add-ons. - * @param aReferer - * The URI for the webpage installing the add-ons - * @param aUris - * The URIs of add-ons to be installed - * @param aHashes - * The hashes for the add-ons to be installed - * @param aNames - * The names for the add-ons to be installed - * @param aIcons - * The icons for the add-ons to be installed - * @param aCallback - * An optional callback to notify about installation success and - * failure - * @param aInstallCount - * An optional argument including the number of add-ons to install - * @return true if the installation was successfully started - */ - boolean installAddonsFromWebpage(in AString aMimetype, - in nsIDOMElement aBrowser, - in nsIURI aReferer, - [array, size_is(aInstallCount)] in wstring aUris, - [array, size_is(aInstallCount)] in wstring aHashes, - [array, size_is(aInstallCount)] in wstring aNames, - [array, size_is(aInstallCount)] in wstring aIcons, - [optional] in amIInstallCallback aCallback, - [optional] in uint32_t aInstallCount); -}; diff --git a/toolkit/mozapps/webextensions/content/OpenH264-license.txt b/toolkit/mozapps/webextensions/content/OpenH264-license.txt deleted file mode 100644 index ad37989b8..000000000 --- a/toolkit/mozapps/webextensions/content/OpenH264-license.txt +++ /dev/null @@ -1,59 +0,0 @@ --------------------------------------------------------
-About The Cisco-Provided Binary of OpenH264 Video Codec
--------------------------------------------------------
-
-Cisco provides this program under the terms of the BSD license.
-
-Additionally, this binary is licensed under Cisco’s AVC/H.264 Patent Portfolio License from MPEG LA, at no cost to you, provided that the requirements and conditions shown below in the AVC/H.264 Patent Portfolio sections are met.
-
-As with all AVC/H.264 codecs, you may also obtain your own patent license from MPEG LA or from the individual patent owners, or proceed at your own risk. Your rights from Cisco under the BSD license are not affected by this choice.
-
-For more information on the OpenH264 binary licensing, please see the OpenH264 FAQ found at http://www.openh264.org/faq.html#binary
-
-A corresponding source code to this binary program is available under the same BSD terms, which can be found at http://www.openh264.org
-
------------
-BSD License
------------
-
-Copyright © 2014 Cisco Systems, Inc.
-
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
------------------------------------------
-AVC/H.264 Patent Portfolio License Notice
------------------------------------------
-
-The binary form of this Software is distributed by Cisco under the AVC/H.264 Patent Portfolio License from MPEG LA, and is subject to the following requirements, which may or may not be applicable to your use of this software:
-
-THIS PRODUCT IS LICENSED UNDER THE AVC PATENT PORTFOLIO LICENSE FOR THE PERSONAL USE OF A CONSUMER OR OTHER USES IN WHICH IT DOES NOT RECEIVE REMUNERATION TO (i) ENCODE VIDEO IN COMPLIANCE WITH THE AVC STANDARD (“AVC VIDEO”) AND/OR (ii) DECODE AVC VIDEO THAT WAS ENCODED BY A CONSUMER ENGAGED IN A PERSONAL ACTIVITY AND/OR WAS OBTAINED FROM A VIDEO PROVIDER LICENSED TO PROVIDE AVC VIDEO. NO LICENSE IS GRANTED OR SHALL BE IMPLIED FOR ANY OTHER USE. ADDITIONAL INFORMATION MAY BE OBTAINED FROM MPEG LA, L.L.C. SEE HTTP://WWW.MPEGLA.COM
-
-Accordingly, please be advised that content providers and broadcasters using AVC/H.264 in their service may be required to obtain a separate use license from MPEG LA, referred to as "(b) sublicenses" in the SUMMARY OF AVC/H.264 LICENSE TERMS from MPEG LA found at http://www.openh264.org/mpegla
-
----------------------------------------------
-AVC/H.264 Patent Portfolio License Conditions
----------------------------------------------
-
-In addition, the Cisco-provided binary of this Software is licensed under Cisco's license from MPEG LA only if the following conditions are met:
-
-1. The Cisco-provided binary is separately downloaded to an end user’s device, and not integrated into or combined with third party software prior to being downloaded to the end user’s device;
-
-2. The end user must have the ability to control (e.g., to enable, disable, or re-enable) the use of the Cisco-provided binary;
-
-3. Third party software, in the location where end users can control the use of the Cisco-provided binary, must display the following text:
-
- "OpenH264 Video Codec provided by Cisco Systems, Inc."
-
-4. Any third-party software that makes use of the Cisco-provided binary must reproduce all of the above text, as well as this last condition, in the EULA and/or in another location where licensing information is to be presented to the end user.
-
-
-
- v1.0
diff --git a/toolkit/mozapps/webextensions/content/about.xul b/toolkit/mozapps/webextensions/content/about.xul deleted file mode 100644 index 6effcf37a..000000000 --- a/toolkit/mozapps/webextensions/content/about.xul +++ /dev/null @@ -1,57 +0,0 @@ -<?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://mozapps/skin/extensions/about.css" type="text/css"?> - -<!DOCTYPE dialog SYSTEM "chrome://mozapps/locale/extensions/about.dtd"> - -<dialog id="genericAbout" - xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" - onload="init();" - buttons="accept" - buttoniconaccept="close" - onaccept="close();"> - - <script type="application/javascript" src="chrome://mozapps/content/extensions/about.js"/> - <script type="application/javascript" src="chrome://global/content/contentAreaUtils.js"/> - - <stringbundleset id="aboutSet"> - <stringbundle id="extensionsStrings" src="chrome://mozapps/locale/extensions/extensions.properties"/> - </stringbundleset> - - <vbox id="clientBox" flex="1"> - <hbox class="basic-info"> - <vbox pack="center"> - <image id="extensionIcon"/> - </vbox> - <vbox flex="1"> - <label id="extensionName"/> - <label id="extensionVersion" crop="end"/> - </vbox> - </hbox> - <description id="extensionDescription" class="boxIndent"/> - - <separator id="groove" class="groove"/> - - <vbox id="extensionDetailsBox" flex="1"> - <label id="extensionCreatorLabel" class="sectionTitle">&creator.label;</label> - <hbox id="creatorBox" class="boxIndent"> - <label id="extensionCreator" flex="1" crop="end"/> - <label id="extensionHomepage" onclick="if (event.button == 0) { loadHomepage(event); }" - class="text-link" value="&homepage.label;"/> - </hbox> - - <label id="extensionDevelopers" class="sectionTitle">&developers.label;</label> - <vbox flex="1" id="developersBox" class="boxIndent"/> - <label id="extensionTranslators" class="sectionTitle">&translators.label;</label> - <vbox flex="1" id="translatorsBox" class="boxIndent"/> - <label id="extensionContributors" class="sectionTitle">&contributors.label;</label> - <vbox flex="1" id="contributorsBox" class="boxIndent"/> - </vbox> - </vbox> - -</dialog> diff --git a/toolkit/mozapps/webextensions/content/blocklist.css b/toolkit/mozapps/webextensions/content/blocklist.css deleted file mode 100644 index cb48005a2..000000000 --- a/toolkit/mozapps/webextensions/content/blocklist.css +++ /dev/null @@ -1,11 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -.hardBlockedAddon { - -moz-binding: url("chrome://mozapps/content/extensions/blocklist.xml#hardblockedaddon"); -} - -.softBlockedAddon { - -moz-binding: url("chrome://mozapps/content/extensions/blocklist.xml#softblockedaddon"); -} diff --git a/toolkit/mozapps/webextensions/content/blocklist.xml b/toolkit/mozapps/webextensions/content/blocklist.xml deleted file mode 100644 index 74474392f..000000000 --- a/toolkit/mozapps/webextensions/content/blocklist.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?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/. --> - -<!DOCTYPE bindings [ - <!ENTITY % blocklistDTD SYSTEM "chrome://mozapps/locale/extensions/blocklist.dtd" > - %blocklistDTD; -]> - -<bindings id="blocklistBindings" - xmlns="http://www.mozilla.org/xbl" - xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" - xmlns:xbl="http://www.mozilla.org/xbl"> - - <binding id="hardblockedaddon"> - <content align="start"> - <xul:image xbl:inherits="src=icon"/> - <xul:vbox flex="1"> - <xul:hbox class="addon-name-version"> - <xul:label class="addonName" crop="end" xbl:inherits="value=name"/> - <xul:label class="addonVersion" xbl:inherits="value=version"/> - </xul:hbox> - <xul:hbox> - <xul:spacer flex="1"/> - <xul:label class="blockedLabel" value="&blocklist.blocked.label;"/> - </xul:hbox> - </xul:vbox> - </content> - </binding> - - <binding id="softblockedaddon"> - <content align="start"> - <xul:image xbl:inherits="src=icon"/> - <xul:vbox flex="1"> - <xul:hbox class="addon-name-version"> - <xul:label class="addonName" crop="end" xbl:inherits="value=name"/> - <xul:label class="addonVersion" xbl:inherits="value=version"/> - </xul:hbox> - <xul:hbox> - <xul:spacer flex="1"/> - <xul:checkbox class="disableCheckbox" checked="true" label="&blocklist.checkbox.label;"/> - </xul:hbox> - </xul:vbox> - </content> - <implementation> - <field name="_checkbox"> - document.getAnonymousElementByAttribute(this, "class", "disableCheckbox") - </field> - <property name="checked" readonly="true"> - <getter> - return this._checkbox.checked; - </getter> - </property> - </implementation> - </binding> -</bindings> diff --git a/toolkit/mozapps/webextensions/content/blocklist.xul b/toolkit/mozapps/webextensions/content/blocklist.xul deleted file mode 100644 index 240d9e4e1..000000000 --- a/toolkit/mozapps/webextensions/content/blocklist.xul +++ /dev/null @@ -1,46 +0,0 @@ -<?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/"?> -<?xml-stylesheet href="chrome://mozapps/skin/extensions/blocklist.css"?> -<?xml-stylesheet href="chrome://mozapps/content/extensions/blocklist.css"?> - -<!DOCTYPE dialog [ -<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd"> -%brandDTD; -<!ENTITY % extensionsDTD SYSTEM "chrome://mozapps/locale/extensions/blocklist.dtd"> -%extensionsDTD; -]> - -<dialog windowtype="Addons:Blocklist" title="&blocklist.title;" align="stretch" - xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" - onload="init();" ondialogaccept="return finish(true)" - ondialogcancel="return finish(false)" - buttons="accept,cancel" style="&blocklist.style;" - buttonlabelaccept="&blocklist.accept.label;" - buttonaccesskeyaccept="&blocklist.accept.accesskey;"> - - <script type="application/javascript" src="chrome://global/content/globalOverlay.js"/> - <script type="application/javascript" src="chrome://mozapps/content/extensions/blocklist.js"/> - - <hbox align="stretch" flex="1"> - <vbox pack="start"> - <image class="error-icon"/> - </vbox> - <vbox flex="1"> - <label>&blocklist.summary;</label> - <separator class="thin"/> - <richlistbox id="addonList" flex="1"/> - <separator class="thin"/> - <description id="bothMessage" hidden="true" class="bold">&blocklist.softandhard;</description> - <description id="hardBlockMessage" hidden="true" class="bold">&blocklist.hardblocked;</description> - <description id="softBlockMessage" hidden="true" class="bold">&blocklist.softblocked;</description> - <hbox pack="start"> - <label id="moreInfo" class="text-link" value="&blocklist.moreinfo;"/> - </hbox> - </vbox> - </hbox> -</dialog> diff --git a/toolkit/mozapps/webextensions/content/eula.xul b/toolkit/mozapps/webextensions/content/eula.xul deleted file mode 100644 index 10e657951..000000000 --- a/toolkit/mozapps/webextensions/content/eula.xul +++ /dev/null @@ -1,35 +0,0 @@ -<?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://mozapps/skin/extensions/eula.css" type="text/css"?> - -<!DOCTYPE window [ -<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd"> -%brandDTD; -<!ENTITY % extensionsDTD SYSTEM "chrome://mozapps/locale/extensions/extensions.dtd"> -%extensionsDTD; -]> - -<dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" - title="&eula.title;" width="&eula.width;" height="&eula.height;" - buttons="accept,cancel" buttonlabelaccept="&eula.accept;" - ondialogaccept="window.arguments[0].accepted = true" - onload="Startup();"> - - <script type="application/javascript" src="chrome://mozapps/content/extensions/eula.js"/> - - <stringbundleset id="extensionsSet"> - <stringbundle id="extensionsStrings" src="chrome://mozapps/locale/extensions/extensions.properties"/> - </stringbundleset> - - <hbox id="heading-container"> - <image id="icon"/> - <label id="heading" flex="1"/> - </hbox> - - <textbox id="eula" multiline="true" readonly="true" flex="1"/> -</dialog> diff --git a/toolkit/mozapps/webextensions/content/gmpPrefs.xul b/toolkit/mozapps/webextensions/content/gmpPrefs.xul deleted file mode 100644 index ea7ee92fa..000000000 --- a/toolkit/mozapps/webextensions/content/gmpPrefs.xul +++ /dev/null @@ -1,8 +0,0 @@ -<?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/. --> - -<!-- This is intentionally empty and a dummy to let the GMPProvider - have a preferences button in the list view. --> diff --git a/toolkit/mozapps/webextensions/content/list.xul b/toolkit/mozapps/webextensions/content/list.xul deleted file mode 100644 index 65efeb6a2..000000000 --- a/toolkit/mozapps/webextensions/content/list.xul +++ /dev/null @@ -1,44 +0,0 @@ -<?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/"?> - -<dialog id="addonList" windowtype="Addons:List" - xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" - onunload="shutdown();" - buttons="accept,cancel" onload="init();"> - - <script type="application/javascript" src="chrome://global/content/globalOverlay.js"/> - <script type="application/javascript" - src="chrome://mozapps/content/extensions/list.js"/> - - <stringbundle id="extensionsBundle" - src="chrome://mozapps/locale/extensions/extensions.properties"/> - <stringbundle id="brandBundle" - src="chrome://branding/locale/brand.properties"/> - - <hbox align="start"> - <vbox> - <image id="infoIcon"/> - </vbox> - <vbox class="spaced" style="min-width: 20em; max-width: 40em"> - <label id="message1" class="spaced" hidden="true"/> - <separator class="thin"/> - <tree id="addonsTree" rows="6" hidecolumnpicker="true" hidden="true" class="spaced"> - <treecols style="max-width: 25em;"> - <treecol flex="1" id="nameColumn" hideheader="true"/> - </treecols> - <treechildren id="addonsChildren"/> - </tree> - <label id="message2" class="spaced" hidden="true"/> - <label class="bold spaced" id="message3" hidden="true"/> - <hbox id="moreInfoBox" hidden="true"> - <label id="moreInfo" class="text-link spaced"/> - <spacer flex="1"/> - </hbox> - </vbox> - </hbox> -</dialog> diff --git a/toolkit/mozapps/webextensions/content/pluginPrefs.xul b/toolkit/mozapps/webextensions/content/pluginPrefs.xul deleted file mode 100644 index c3fdbfa5b..000000000 --- a/toolkit/mozapps/webextensions/content/pluginPrefs.xul +++ /dev/null @@ -1,20 +0,0 @@ -<?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/. --> - -<!DOCTYPE window SYSTEM "chrome://pluginproblem/locale/pluginproblem.dtd"> - -<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> - <setting type="control" title="&plugin.file;"> - <label class="text-list" id="pluginLibraries"/> - </setting> - <setting type="control" title="&plugin.mimeTypes;"> - <label class="text-list" id="pluginMimeTypes"/> - </setting> - <setting type="bool" pref="dom.ipc.plugins.flash.disable-protected-mode" - inverted="true" title="&plugin.flashProtectedMode.label;" - id="pluginEnableProtectedMode" - learnmore="https://support.mozilla.org/kb/flash-protected-mode-settings" /> -</vbox> diff --git a/toolkit/mozapps/webextensions/content/updateinfo.xsl b/toolkit/mozapps/webextensions/content/updateinfo.xsl deleted file mode 100644 index 5fcccd6d7..000000000 --- a/toolkit/mozapps/webextensions/content/updateinfo.xsl +++ /dev/null @@ -1,41 +0,0 @@ -<?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/. --> - -<xsl:stylesheet version="1.0" xmlns:xhtml="http://www.w3.org/1999/xhtml" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> - - <!-- Any elements not otherwise specified will be stripped but the contents - will be displayed. All attributes are stripped from copied elements. --> - - <!-- Block these elements and their contents --> - <xsl:template match="xhtml:head|xhtml:script|xhtml:style"> - </xsl:template> - - <!-- Allowable styling elements --> - <xsl:template match="xhtml:b|xhtml:i|xhtml:em|xhtml:strong|xhtml:u|xhtml:q|xhtml:sub|xhtml:sup|xhtml:code"> - <xsl:copy><xsl:apply-templates/></xsl:copy> - </xsl:template> - - <!-- Allowable block formatting elements --> - <xsl:template match="xhtml:h1|xhtml:h2|xhtml:h3|xhtml:p|xhtml:div|xhtml:blockquote|xhtml:pre"> - <xsl:copy><xsl:apply-templates/></xsl:copy> - </xsl:template> - - <!-- Allowable list formatting elements --> - <xsl:template match="xhtml:ul|xhtml:ol|xhtml:li|xhtml:dl|xhtml:dt|xhtml:dd"> - <xsl:copy><xsl:apply-templates/></xsl:copy> - </xsl:template> - - <!-- These elements are copied and their contents dropped --> - <xsl:template match="xhtml:br|xhtml:hr"> - <xsl:copy/> - </xsl:template> - - <!-- The root document --> - <xsl:template match="/"> - <xhtml:body><xsl:apply-templates/></xhtml:body> - </xsl:template> - -</xsl:stylesheet> diff --git a/toolkit/mozapps/webextensions/content/xpinstallConfirm.css b/toolkit/mozapps/webextensions/content/xpinstallConfirm.css deleted file mode 100644 index 583facfec..000000000 --- a/toolkit/mozapps/webextensions/content/xpinstallConfirm.css +++ /dev/null @@ -1,8 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -installitem { - -moz-binding: url("chrome://mozapps/content/xpinstall/xpinstallItem.xml#installitem"); - display: -moz-box; -} diff --git a/toolkit/mozapps/webextensions/content/xpinstallConfirm.xul b/toolkit/mozapps/webextensions/content/xpinstallConfirm.xul deleted file mode 100644 index f1c29eb73..000000000 --- a/toolkit/mozapps/webextensions/content/xpinstallConfirm.xul +++ /dev/null @@ -1,37 +0,0 @@ -<?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://mozapps/content/xpinstall/xpinstallConfirm.css" type="text/css"?> -<?xml-stylesheet href="chrome://global/skin/" type="text/css"?> -<?xml-stylesheet href="chrome://mozapps/skin/xpinstall/xpinstallConfirm.css" type="text/css"?> - -<!DOCTYPE dialog SYSTEM "chrome://mozapps/locale/xpinstall/xpinstallConfirm.dtd"> - -<dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" - id="xpinstallConfirm" title="&dialog.title;" style="&dialog.style;" - windowtype="Addons:Install" - onload="XPInstallConfirm.init()" - ondialogaccept="return XPInstallConfirm.onOK();" - ondialogcancel="return XPInstallConfirm.onCancel();"> - - <script src="chrome://mozapps/content/xpinstall/xpinstallConfirm.js" type="application/javascript"/> - - <stringbundle id="xpinstallConfirmStrings" - src="chrome://mozapps/locale/xpinstall/xpinstallConfirm.properties"/> - - <vbox flex="1" id="dialogContentBox"> - <hbox id="xpinstallheader" align="start"> - <image class="alert-icon"/> - <vbox flex="1"> - <description class="warning">&warningPrimary.label;</description> - <description>&warningSecondary.label;</description> - </vbox> - </hbox> - <label id="itemWarningIntro"/> - <vbox id="itemList" class="listbox" flex="1" style="overflow: auto;"/> - </vbox> - -</dialog> diff --git a/toolkit/mozapps/webextensions/content/xpinstallItem.xml b/toolkit/mozapps/webextensions/content/xpinstallItem.xml deleted file mode 100644 index 5146af84f..000000000 --- a/toolkit/mozapps/webextensions/content/xpinstallItem.xml +++ /dev/null @@ -1,51 +0,0 @@ -<?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/. --> - - -<!DOCTYPE bindings SYSTEM "chrome://mozapps/locale/xpinstall/xpinstallConfirm.dtd"> - -<bindings id="xpinstallItemBindings" - xmlns="http://www.mozilla.org/xbl" - xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" - xmlns:xbl="http://www.mozilla.org/xbl"> - - <binding id="installitem"> - <resources> - <stylesheet src="chrome://mozapps/skin/xpinstall/xpinstallConfirm.css"/> - </resources> - <content> - <xul:hbox flex="1"> - <xul:vbox align="center" pack="center" class="xpinstallIconContainer"> - <xul:image class="xpinstallItemIcon" xbl:inherits="src=icon"/> - </xul:vbox> - <xul:vbox flex="1" pack="center"> - <xul:hbox class="xpinstallItemNameRow" align="center"> - <xul:label class="xpinstallItemName" xbl:inherits="value=name" crop="right"/> - <xul:label class="xpinstallItemSigned" xbl:inherits="value=cert,signed"/> - </xul:hbox> - <xul:hbox class="xpinstallItemDetailsRow" align="center"> - <xul:textbox class="xpinstallItemURL" xbl:inherits="value=url" flex="1" readonly="true" crop="right"/> - </xul:hbox> - </xul:vbox> - </xul:hbox> - </content> - <implementation> - <property name="name" onset="this.setAttribute('name', val); return val;" - onget="return this.getAttribute('name');"/> - <property name="cert" onset="this.setAttribute('cert', val); return val;" - onget="return this.getAttribute('cert');"/> - <property name="signed" onset="this.setAttribute('signed', val); return val;" - onget="return this.getAttribute('signed');"/> - <property name="url" onset="this.setAttribute('url', val); return val;" - onget="return this.getAttribute('url');"/> - <property name="icon" onset="this.setAttribute('icon', val); return val;" - onget="return this.getAttribute('icon');"/> - <property name="type" onset="this.setAttribute('type', val); return val;" - onget="return this.getAttribute('type');"/> - </implementation> - </binding> - -</bindings> - diff --git a/toolkit/mozapps/webextensions/internal/AddonUpdateChecker.jsm b/toolkit/mozapps/webextensions/internal/AddonUpdateChecker.jsm index bdd3a81e7..391c69a06 100644 --- a/toolkit/mozapps/webextensions/internal/AddonUpdateChecker.jsm +++ b/toolkit/mozapps/webextensions/internal/AddonUpdateChecker.jsm @@ -26,6 +26,12 @@ const XMLURI_PARSE_ERROR = "http://www.mozilla.org/newlayout/xml/parsererror. const PREF_UPDATE_REQUIREBUILTINCERTS = "extensions.update.requireBuiltInCerts"; +#ifdef MOZ_PHOENIX +const PREF_EM_MIN_COMPAT_APP_VERSION = "extensions.minCompatibleAppVersion"; +const FIREFOX_ID = "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}" +const FIREFOX_APPCOMPATVERSION = "56.9" +#endif + Components.utils.import("resource://gre/modules/Services.jsm"); Components.utils.import("resource://gre/modules/XPCOMUtils.jsm"); @@ -446,6 +452,7 @@ function parseRDFManifest(aId, aUpdateKey, aRequest, aManifestData) { * @throws if the update manifest is invalid in any way */ function parseJSONManifest(aId, aUpdateKey, aRequest, aManifestData) { +#ifdef MOZ_PHOENIX if (aUpdateKey) throw Components.Exception("Update keys are not supported for JSON update manifests"); @@ -515,10 +522,10 @@ function parseJSONManifest(aId, aUpdateKey, aRequest, aManifestData) { let app = getProperty(applications, "gecko", "object"); let appEntry = { - id: TOOLKIT_ID, + id: FIREFOX_ID, minVersion: getProperty(app, "strict_min_version", "string", - AddonManagerPrivate.webExtensionsMinPlatformVersion), - maxVersion: "*", + Services.prefs.getCharPref(PREF_EM_MIN_COMPAT_APP_VERSION)), + maxVersion: FIREFOX_APPCOMPATVERSION, }; let result = { @@ -539,7 +546,6 @@ function parseJSONManifest(aId, aUpdateKey, aRequest, aManifestData) { } appEntry.maxVersion = getProperty(app, "strict_max_version", "string"); - result.strictCompatibility = appEntry.maxVersion != "*"; } else if ("advisory_max_version" in app) { appEntry.maxVersion = getProperty(app, "advisory_max_version", "string"); } @@ -551,6 +557,9 @@ function parseJSONManifest(aId, aUpdateKey, aRequest, aManifestData) { results.push(result); } return results; +#else + throw Components.Exception("This application does not support JSON update manifests"); +#endif } /** diff --git a/toolkit/mozapps/webextensions/internal/SpellCheckDictionaryBootstrap.js b/toolkit/mozapps/webextensions/internal/SpellCheckDictionaryBootstrap.js deleted file mode 100644 index f4f557fc2..000000000 --- a/toolkit/mozapps/webextensions/internal/SpellCheckDictionaryBootstrap.js +++ /dev/null @@ -1,17 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -var hunspell, dir; - -function startup(data) { - hunspell = Components.classes["@mozilla.org/spellchecker/engine;1"] - .getService(Components.interfaces.mozISpellCheckingEngine); - dir = data.installPath.clone(); - dir.append("dictionaries"); - hunspell.addDirectory(dir); -} - -function shutdown() { - hunspell.removeDirectory(dir); -} diff --git a/toolkit/mozapps/webextensions/internal/moz.build b/toolkit/mozapps/webextensions/internal/moz.build index 28c34f8c9..e3b54ed3b 100644 --- a/toolkit/mozapps/webextensions/internal/moz.build +++ b/toolkit/mozapps/webextensions/internal/moz.build @@ -5,17 +5,16 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. EXTRA_JS_MODULES.addons += [ + '../../extensions/internal/ProductAddonChecker.jsm', + '../../extensions/internal/SpellCheckDictionaryBootstrap.js', 'AddonLogging.jsm', 'AddonRepository.jsm', 'AddonRepository_SQLiteMigrator.jsm', - 'AddonUpdateChecker.jsm', 'APIExtensionBootstrap.js', 'Content.js', 'E10SAddonsRollout.jsm', 'GMPProvider.jsm', 'LightweightThemeImageOptimizer.jsm', - 'ProductAddonChecker.jsm', - 'SpellCheckDictionaryBootstrap.js', 'WebExtensionBootstrap.js', 'XPIProvider.jsm', 'XPIProviderUtils.js', @@ -33,4 +32,5 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] != 'android': EXTRA_PP_JS_MODULES.addons += [ 'AddonConstants.jsm', + 'AddonUpdateChecker.jsm', ] diff --git a/toolkit/mozapps/webextensions/jar.mn b/toolkit/mozapps/webextensions/jar.mn index 77cbf32eb..6da7dc893 100644 --- a/toolkit/mozapps/webextensions/jar.mn +++ b/toolkit/mozapps/webextensions/jar.mn @@ -9,27 +9,27 @@ toolkit.jar: content/mozapps/extensions/extensions.css (content/extensions.css) * content/mozapps/extensions/extensions.js (content/extensions.js) * content/mozapps/extensions/extensions.xml (content/extensions.xml) - content/mozapps/extensions/updateinfo.xsl (content/updateinfo.xsl) - content/mozapps/extensions/about.xul (content/about.xul) + content/mozapps/extensions/updateinfo.xsl (../extensions/content/updateinfo.xsl) + content/mozapps/extensions/about.xul (../extensions/content/about.xul) content/mozapps/extensions/about.js (content/about.js) - content/mozapps/extensions/list.xul (content/list.xul) + content/mozapps/extensions/list.xul (../extensions/content/list.xul) content/mozapps/extensions/list.js (content/list.js) - content/mozapps/extensions/blocklist.xul (content/blocklist.xul) + content/mozapps/extensions/blocklist.xul (../extensions/content/blocklist.xul) content/mozapps/extensions/blocklist.js (content/blocklist.js) - content/mozapps/extensions/blocklist.css (content/blocklist.css) - content/mozapps/extensions/blocklist.xml (content/blocklist.xml) + content/mozapps/extensions/blocklist.css (../extensions/content/blocklist.css) + content/mozapps/extensions/blocklist.xml (../extensions/content/blocklist.xml) * content/mozapps/extensions/update.xul (content/update.xul) content/mozapps/extensions/update.js (content/update.js) - content/mozapps/extensions/eula.xul (content/eula.xul) + content/mozapps/extensions/eula.xul (../extensions/content/eula.xul) content/mozapps/extensions/eula.js (content/eula.js) content/mozapps/extensions/newaddon.xul (content/newaddon.xul) content/mozapps/extensions/newaddon.js (content/newaddon.js) - content/mozapps/extensions/pluginPrefs.xul (content/pluginPrefs.xul) - content/mozapps/extensions/gmpPrefs.xul (content/gmpPrefs.xul) - content/mozapps/extensions/OpenH264-license.txt (content/OpenH264-license.txt) + content/mozapps/extensions/pluginPrefs.xul (../extensions/content/pluginPrefs.xul) + content/mozapps/extensions/gmpPrefs.xul (../extensions/content/gmpPrefs.xul) + content/mozapps/extensions/OpenH264-license.txt (../extensions/content/OpenH264-license.txt) #endif content/mozapps/extensions/setting.xml (content/setting.xml) - content/mozapps/xpinstall/xpinstallConfirm.xul (content/xpinstallConfirm.xul) + content/mozapps/xpinstall/xpinstallConfirm.xul (../extensions/content/xpinstallConfirm.xul) content/mozapps/xpinstall/xpinstallConfirm.js (content/xpinstallConfirm.js) - content/mozapps/xpinstall/xpinstallConfirm.css (content/xpinstallConfirm.css) - content/mozapps/xpinstall/xpinstallItem.xml (content/xpinstallItem.xml) + content/mozapps/xpinstall/xpinstallConfirm.css (../extensions/content/xpinstallConfirm.css) + content/mozapps/xpinstall/xpinstallItem.xml (../extensions/content/xpinstallItem.xml) diff --git a/toolkit/mozapps/webextensions/moz.build b/toolkit/mozapps/webextensions/moz.build index 30152676a..d039ac68c 100644 --- a/toolkit/mozapps/webextensions/moz.build +++ b/toolkit/mozapps/webextensions/moz.build @@ -10,10 +10,10 @@ DIRS += ['internal'] TEST_DIRS += ['test'] XPIDL_SOURCES += [ - 'amIAddonManager.idl', - 'amIAddonPathService.idl', - 'amIWebInstaller.idl', - 'amIWebInstallListener.idl', + '../extensions/amIAddonManager.idl', + '../extensions/amIAddonPathService.idl', + '../extensions/amIWebInstaller.idl', + '../extensions/amIWebInstallListener.idl', ] XPIDL_MODULE = 'extensions' diff --git a/toolkit/themes/linux/global/icons/loading_16.png b/toolkit/themes/linux/global/icons/loading_16.png Binary files differnew file mode 100644 index 000000000..7108ea341 --- /dev/null +++ b/toolkit/themes/linux/global/icons/loading_16.png diff --git a/toolkit/themes/linux/global/icons/notloading_16.png b/toolkit/themes/linux/global/icons/notloading_16.png Binary files differnew file mode 100644 index 000000000..04dab30ed --- /dev/null +++ b/toolkit/themes/linux/global/icons/notloading_16.png diff --git a/toolkit/themes/linux/global/jar.mn b/toolkit/themes/linux/global/jar.mn index 0efc8c5cf..6a053dec6 100644 --- a/toolkit/themes/linux/global/jar.mn +++ b/toolkit/themes/linux/global/jar.mn @@ -45,6 +45,8 @@ toolkit.jar: skin/classic/global/icons/blacklist_large.png (icons/blacklist_large.png) skin/classic/global/icons/close.svg (icons/close.svg) skin/classic/global/icons/find.png (icons/find.png) + skin/classic/global/icons/loading_16.png (icons/loading_16.png) + skin/classic/global/icons/notloading_16.png (icons/notloading_16.png) skin/classic/global/icons/resizer.png (icons/resizer.png) skin/classic/global/icons/sslWarning.png (icons/sslWarning.png) diff --git a/toolkit/themes/osx/global/icons/loading_16.png b/toolkit/themes/osx/global/icons/loading_16.png Binary files differnew file mode 100644 index 000000000..1b2df8093 --- /dev/null +++ b/toolkit/themes/osx/global/icons/loading_16.png diff --git a/toolkit/themes/osx/global/icons/notloading_16.png b/toolkit/themes/osx/global/icons/notloading_16.png Binary files differnew file mode 100644 index 000000000..ece0ee18a --- /dev/null +++ b/toolkit/themes/osx/global/icons/notloading_16.png diff --git a/toolkit/themes/osx/global/jar.mn b/toolkit/themes/osx/global/jar.mn index 9407ccee5..2b7d19641 100644 --- a/toolkit/themes/osx/global/jar.mn +++ b/toolkit/themes/osx/global/jar.mn @@ -101,8 +101,10 @@ toolkit.jar: skin/classic/global/icons/information-32.png (icons/information-32.png) skin/classic/global/icons/information-64.png (icons/information-64.png) skin/classic/global/icons/information-large.png (icons/information-large.png) + skin/classic/global/icons/loading_16.png (icons/loading_16.png) skin/classic/global/icons/menulist-dropmarker.png (icons/menulist-dropmarker.png) skin/classic/global/icons/notfound.png (icons/notfound.png) + skin/classic/global/icons/notloading_16.png (icons/notloading_16.png) skin/classic/global/icons/panebutton-active.png (icons/panebutton-active.png) skin/classic/global/icons/panebutton-inactive.png (icons/panebutton-inactive.png) skin/classic/global/icons/panel-dropmarker.png (icons/panel-dropmarker.png) diff --git a/toolkit/themes/windows/global/icons/loading_16.png b/toolkit/themes/windows/global/icons/loading_16.png Binary files differnew file mode 100644 index 000000000..0315d470b --- /dev/null +++ b/toolkit/themes/windows/global/icons/loading_16.png diff --git a/toolkit/themes/windows/global/icons/notloading_16.png b/toolkit/themes/windows/global/icons/notloading_16.png Binary files differnew file mode 100644 index 000000000..f8366ded5 --- /dev/null +++ b/toolkit/themes/windows/global/icons/notloading_16.png diff --git a/toolkit/themes/windows/global/jar.mn b/toolkit/themes/windows/global/jar.mn index 8c5d5de5a..75f4cc650 100644 --- a/toolkit/themes/windows/global/jar.mn +++ b/toolkit/themes/windows/global/jar.mn @@ -50,6 +50,8 @@ toolkit.jar: skin/classic/global/icons/close-inverted-win7.png (icons/close-inverted-win7.png) skin/classic/global/icons/close-inverted-win7@2x.png (icons/close-inverted-win7@2x.png) skin/classic/global/icons/find.png (icons/find.png) + skin/classic/global/icons/loading_16.png (icons/loading_16.png) + skin/classic/global/icons/notloading_16.png (icons/notloading_16.png) skin/classic/global/icons/resizer.png (icons/resizer.png) skin/classic/global/icons/sslWarning.png (icons/sslWarning.png) * skin/classic/global/in-content/common.css (in-content/common.css) |