diff options
Diffstat (limited to 'application/palemoon')
69 files changed, 190 insertions, 475 deletions
diff --git a/application/palemoon/base/content/abouthome/aboutHome.js b/application/palemoon/base/content/abouthome/aboutHome.js index 9e826b69e..6a970acd6 100644 --- a/application/palemoon/base/content/abouthome/aboutHome.js +++ b/application/palemoon/base/content/abouthome/aboutHome.js @@ -234,8 +234,8 @@ const SEARCH_ENGINES = { }; // This global tracks if the page has been set up before, to prevent double inits -let gInitialized = false; -let gObserver = new MutationObserver(function (mutations) { +var gInitialized = false; +var gObserver = new MutationObserver(function (mutations) { for (let mutation of mutations) { if (mutation.attributeName == "searchEngineURL") { setupSearchEngine(); diff --git a/application/palemoon/base/content/browser-addons.js b/application/palemoon/base/content/browser-addons.js index 7993a0c9c..f5c398f33 100644 --- a/application/palemoon/base/content/browser-addons.js +++ b/application/palemoon/base/content/browser-addons.js @@ -226,7 +226,7 @@ const gXPInstallObserver = { * - If an add-on was installed, incrementing the count, show the bar. * - If an add-on was uninstalled, and no more items are left, hide the bar. */ -let AddonsMgrListener = { +var AddonsMgrListener = { get addonBar() document.getElementById("addon-bar"), get statusBar() document.getElementById("status-bar"), getAddonBarItemCount: function() { @@ -461,7 +461,7 @@ var LightWeightThemeWebInstaller = { /* * Listen for Lightweight Theme styling changes and update the browser's theme accordingly. */ -let LightweightThemeListener = { +var LightweightThemeListener = { _modifiedStyles: [], init: function () { diff --git a/application/palemoon/base/content/browser-gestureSupport.js b/application/palemoon/base/content/browser-gestureSupport.js index d88f47c79..13eb71b99 100644 --- a/application/palemoon/base/content/browser-gestureSupport.js +++ b/application/palemoon/base/content/browser-gestureSupport.js @@ -13,7 +13,7 @@ // chrome-only, we must listen for the simple gesture events during // the capturing phase and call stopPropagation on every event. -let gGestureSupport = { +var gGestureSupport = { _currentRotation: 0, _lastRotateDelta: 0, _rotateMomentumThreshold: .75, @@ -532,7 +532,7 @@ let gGestureSupport = { }; // History Swipe Animation Support (bug 678392) -let gHistorySwipeAnimation = { +var gHistorySwipeAnimation = { active: false, isLTR: false, diff --git a/application/palemoon/base/content/browser-places.js b/application/palemoon/base/content/browser-places.js index cf9c28597..5c13a43f9 100644 --- a/application/palemoon/base/content/browser-places.js +++ b/application/palemoon/base/content/browser-places.js @@ -959,7 +959,7 @@ var PlacesMenuDNDHandler = { * This object handles the initialization and uninitialization of the bookmarks * toolbar. */ -let PlacesToolbarHelper = { +var PlacesToolbarHelper = { _place: "place:folder=TOOLBAR", get _viewElt() { @@ -1006,7 +1006,7 @@ let PlacesToolbarHelper = { * menu button. */ -let BookmarkingUI = { +var BookmarkingUI = { get button() { if (!this._button) { this._button = document.getElementById("bookmarks-menu-button"); diff --git a/application/palemoon/base/content/browser-syncui.js b/application/palemoon/base/content/browser-syncui.js index fc8c7f016..67056e221 100644 --- a/application/palemoon/base/content/browser-syncui.js +++ b/application/palemoon/base/content/browser-syncui.js @@ -3,7 +3,7 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. // gSyncUI handles updating the tools menu -let gSyncUI = { +var gSyncUI = { _obs: ["weave:service:sync:start", "weave:service:sync:delayed", "weave:service:quota:remaining", diff --git a/application/palemoon/base/content/browser-thumbnails.js b/application/palemoon/base/content/browser-thumbnails.js index b06dfd503..079b0ac1b 100644 --- a/application/palemoon/base/content/browser-thumbnails.js +++ b/application/palemoon/base/content/browser-thumbnails.js @@ -7,7 +7,7 @@ /** * Keeps thumbnails of open web pages up-to-date. */ -let gBrowserThumbnails = { +var gBrowserThumbnails = { /** * Pref that controls whether we can store SSL content on disk */ diff --git a/application/palemoon/base/content/browser-uacompat.js b/application/palemoon/base/content/browser-uacompat.js new file mode 100644 index 000000000..933aa55d1 --- /dev/null +++ b/application/palemoon/base/content/browser-uacompat.js @@ -0,0 +1,45 @@ +/* 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 UserAgentCompatibility = { + PREF_UA_COMPAT: "general.useragent.compatMode", + PREF_UA_COMPAT_GECKO: "general.useragent.compatMode.gecko", + PREF_UA_COMPAT_FIREFOX: "general.useragent.compatMode.firefox", + + init: function() { + this.checkPreferences(); + Services.prefs.addObserver(this.PREF_UA_COMPAT, this, false); + Services.prefs.addObserver(this.PREF_UA_COMPAT_GECKO, this, false); + Services.prefs.addObserver(this.PREF_UA_COMPAT_FIREFOX, this, false); + }, + + uninit: function() { + Services.prefs.removeObserver(this.PREF_UA_COMPAT, this, false); + Services.prefs.removeObserver(this.PREF_UA_COMPAT_GECKO, this, false); + Services.prefs.removeObserver(this.PREF_UA_COMPAT_FIREFOX, this, false); + }, + + observe: function() { + this.checkPreferences(); + }, + + checkPreferences: function() { + var compatMode = Services.prefs.getIntPref(this.PREF_UA_COMPAT); + + switch(compatMode) { + case 0: + Services.prefs.setBoolPref(this.PREF_UA_COMPAT_GECKO, false); + Services.prefs.setBoolPref(this.PREF_UA_COMPAT_FIREFOX, false); + break; + case 1: + Services.prefs.setBoolPref(this.PREF_UA_COMPAT_GECKO, true); + Services.prefs.setBoolPref(this.PREF_UA_COMPAT_FIREFOX, false); + break; + case 2: + Services.prefs.setBoolPref(this.PREF_UA_COMPAT_GECKO, true); + Services.prefs.setBoolPref(this.PREF_UA_COMPAT_FIREFOX, true); + break; + } + } +}; diff --git a/application/palemoon/base/content/browser-webrtcUI.js b/application/palemoon/base/content/browser-webrtcUI.js index a6c9008ca..d59134ce5 100644 --- a/application/palemoon/base/content/browser-webrtcUI.js +++ b/application/palemoon/base/content/browser-webrtcUI.js @@ -3,7 +3,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/. -let WebrtcIndicator = { +var WebrtcIndicator = { init: function () { let temp = {}; Cu.import("resource:///modules/webrtcUI.jsm", temp); diff --git a/application/palemoon/base/content/browser.css b/application/palemoon/base/content/browser.css index e6a84421b..4865cfee7 100644 --- a/application/palemoon/base/content/browser.css +++ b/application/palemoon/base/content/browser.css @@ -280,6 +280,10 @@ panel[noactions] > richlistbox > richlistitem[type~="action"] > .ac-url-box > .a -moz-binding: url("chrome://browser/content/urlbarBindings.xml#urlbar-rich-result-popup"); } +#DateTimePickerPanel[active="true"] { + -moz-binding: url("chrome://global/content/bindings/datetimepopup.xml#datetime-popup"); +} + /* Pale Moon: Address bar: Feeds */ #ub-feed-button > .button-box > .box-inherit > .button-text, #ub-feed-button > .button-box > .button-menu-dropmarker { @@ -542,11 +546,11 @@ window[chromehidden~="toolbar"] toolbar:not(.toolbar-primary):not(#nav-bar):not( max-width: 280px; } -.form-validation-anchor { +.popup-anchor { /* should occupy space but not be visible */ opacity: 0; - visibility: hidden; pointer-events: none; + -moz-stack-sizing: ignore; } #addon-progress-notification { @@ -627,10 +631,6 @@ statuspanel[inactive][previoustype=overLink] { -moz-box-align: end; } -.panel-inner-arrowcontentfooter[footertype="promobox"] { - -moz-binding: url("chrome://browser/content/urlbarBindings.xml#promobox"); -} - /* highlighter */ %include highlighter.css diff --git a/application/palemoon/base/content/browser.js b/application/palemoon/base/content/browser.js index 3f294d82b..5fe475338 100644 --- a/application/palemoon/base/content/browser.js +++ b/application/palemoon/base/content/browser.js @@ -7,6 +7,7 @@ var Ci = Components.interfaces; var Cu = Components.utils; Cu.import("resource://gre/modules/XPCOMUtils.jsm"); +Cu.import("resource://gre/modules/Services.jsm"); Cu.import("resource:///modules/RecentWindow.jsm"); XPCOMUtils.defineLazyModuleGetter(this, "Task", @@ -144,6 +145,7 @@ let gInitialPages = [ #include browser-plugins.js #include browser-tabPreviews.js #include browser-thumbnails.js +#include browser-uacompat.js #ifdef MOZ_WEBRTC #include browser-webrtcUI.js @@ -920,6 +922,7 @@ var gBrowserInit = { TabsInTitlebar.init(); retrieveToolbarIconsizesFromTheme(); ToolbarIconColor.init(); + UserAgentCompatibility.init(); #ifdef XP_WIN if (window.matchMedia("(-moz-os-version: windows-win8)").matches && @@ -1296,6 +1299,8 @@ var gBrowserInit = { DevToolsTheme.uninit(); #endif + UserAgentCompatibility.uninit(); + var enumerator = Services.wm.getEnumerator(null); enumerator.getNext(); if (!enumerator.hasMoreElements()) { @@ -2370,7 +2375,7 @@ function BrowserOnAboutPageLoad(doc) { /** * Handle command events bubbling up from error page content */ -let BrowserOnClick = { +var BrowserOnClick = { handleEvent: function BrowserOnClick_handleEvent(aEvent) { if (!aEvent.isTrusted || // Don't trust synthetic events aEvent.button == 2 || aEvent.target.localName != "button") { @@ -7096,7 +7101,8 @@ function focusNextFrame(event) { if (element.ownerDocument == document) focusAndSelectUrlBar(); } -let BrowserChromeTest = { + +var BrowserChromeTest = { _cb: null, _ready: false, markAsReady: function () { @@ -7114,7 +7120,7 @@ let BrowserChromeTest = { } }; -let ToolbarIconColor = { +var ToolbarIconColor = { init: function () { this._initialized = true; diff --git a/application/palemoon/base/content/browser.xul b/application/palemoon/base/content/browser.xul index df152bbaa..ea9c3f969 100644 --- a/application/palemoon/base/content/browser.xul +++ b/application/palemoon/base/content/browser.xul @@ -132,6 +132,20 @@ <!-- for url bar autocomplete --> <panel type="autocomplete-richlistbox" id="PopupAutoCompleteRichResult" noautofocus="true" hidden="true"/> + <!-- for date/time picker. consumeoutsideclicks is set to never, so that + clicks on the anchored input box are never consumed. --> + <panel id="DateTimePickerPanel" + type="arrow" + hidden="true" + orient="vertical" + noautofocus="true" + norolluponanchor="true" + consumeoutsideclicks="never" + level="parent" + tabspecific="true"> + <iframe id="dateTimePopupFrame"/> + </panel> + <!-- for invalid form error message --> <panel id="invalid-form-popup" type="arrow" orient="vertical" noautofocus="true" hidden="true" level="parent"> <description/> @@ -139,7 +153,6 @@ <panel id="editBookmarkPanel" type="arrow" - footertype="promobox" orient="vertical" ignorekeys="true" consumeoutsideclicks="true" @@ -946,7 +959,8 @@ flex="1" contenttooltip="aHTMLTooltip" tabcontainer="tabbrowser-tabs" contentcontextmenu="contentAreaContextMenu" - autocompletepopup="PopupAutoComplete"/> + autocompletepopup="PopupAutoComplete" + datetimepicker="DateTimePickerPanel"/> <chatbar id="pinnedchats" layer="true" mousethrough="always" hidden="true"/> <statuspanel id="statusbar-display" inactive="true"/> </vbox> diff --git a/application/palemoon/base/content/newtab/drag.js b/application/palemoon/base/content/newtab/drag.js index 8f0bf674e..fbd688faa 100644 --- a/application/palemoon/base/content/newtab/drag.js +++ b/application/palemoon/base/content/newtab/drag.js @@ -7,7 +7,7 @@ /** * This singleton implements site dragging functionality. */ -let gDrag = { +var gDrag = { /** * The site offset to the drag start point. */ diff --git a/application/palemoon/base/content/newtab/dragDataHelper.js b/application/palemoon/base/content/newtab/dragDataHelper.js index a66e4e87e..54348ab14 100644 --- a/application/palemoon/base/content/newtab/dragDataHelper.js +++ b/application/palemoon/base/content/newtab/dragDataHelper.js @@ -4,7 +4,7 @@ * You can obtain one at http://mozilla.org/MPL/2.0/. */ #endif -let gDragDataHelper = { +var gDragDataHelper = { get mimeType() { return "text/x-moz-url"; }, diff --git a/application/palemoon/base/content/newtab/drop.js b/application/palemoon/base/content/newtab/drop.js index d7bf30506..748652455 100644 --- a/application/palemoon/base/content/newtab/drop.js +++ b/application/palemoon/base/content/newtab/drop.js @@ -11,7 +11,7 @@ const DELAY_REARRANGE_MS = 100; /** * This singleton implements site dropping functionality. */ -let gDrop = { +var gDrop = { /** * The last drop target. */ diff --git a/application/palemoon/base/content/newtab/dropPreview.js b/application/palemoon/base/content/newtab/dropPreview.js index 903762345..fd7587a35 100644 --- a/application/palemoon/base/content/newtab/dropPreview.js +++ b/application/palemoon/base/content/newtab/dropPreview.js @@ -9,7 +9,7 @@ * indicate the transformation that results from dropping a cell at a certain * position. */ -let gDropPreview = { +var gDropPreview = { /** * Rearranges the sites currently contained in the grid when a site would be * dropped onto the given cell. diff --git a/application/palemoon/base/content/newtab/dropTargetShim.js b/application/palemoon/base/content/newtab/dropTargetShim.js index a85a6ccd6..046dbea1e 100644 --- a/application/palemoon/base/content/newtab/dropTargetShim.js +++ b/application/palemoon/base/content/newtab/dropTargetShim.js @@ -9,7 +9,7 @@ * the default DnD target detection relies on the cursor's position. We want * to pick a drop target based on the dragged site's position. */ -let gDropTargetShim = { +var gDropTargetShim = { /** * Cache for the position of all cells, cleaned after drag finished. */ diff --git a/application/palemoon/base/content/newtab/grid.js b/application/palemoon/base/content/newtab/grid.js index 3b7dfc35f..46e0b804b 100644 --- a/application/palemoon/base/content/newtab/grid.js +++ b/application/palemoon/base/content/newtab/grid.js @@ -7,7 +7,7 @@ /** * This singleton represents the grid that contains all sites. */ -let gGrid = { +var gGrid = { /** * The DOM node of the grid. */ diff --git a/application/palemoon/base/content/newtab/newTab.js b/application/palemoon/base/content/newtab/newTab.js index 6d8647ab6..bba73fd7a 100644 --- a/application/palemoon/base/content/newtab/newTab.js +++ b/application/palemoon/base/content/newtab/newTab.js @@ -18,7 +18,7 @@ XPCOMUtils.defineLazyModuleGetter(this, "Rect", XPCOMUtils.defineLazyModuleGetter(this, "PrivateBrowsingUtils", "resource://gre/modules/PrivateBrowsingUtils.jsm"); -let { +var { links: gLinks, allPages: gAllPages, linkChecker: gLinkChecker, diff --git a/application/palemoon/base/content/newtab/page.js b/application/palemoon/base/content/newtab/page.js index afe5bfba8..fc836a55e 100644 --- a/application/palemoon/base/content/newtab/page.js +++ b/application/palemoon/base/content/newtab/page.js @@ -8,7 +8,7 @@ * This singleton represents the whole 'New Tab Page' and takes care of * initializing all its components. */ -let gPage = { +var gPage = { /** * Initializes the page. */ diff --git a/application/palemoon/base/content/newtab/transformations.js b/application/palemoon/base/content/newtab/transformations.js index 6d1554f5f..0711d7d0a 100644 --- a/application/palemoon/base/content/newtab/transformations.js +++ b/application/palemoon/base/content/newtab/transformations.js @@ -9,7 +9,7 @@ * in the DOM and by showing or hiding the node. It additionally provides * convenience methods to work with a site's DOM node. */ -let gTransformation = { +var gTransformation = { /** * Returns the width of the left and top border of a cell. We need to take it * into account when measuring and comparing site and cell positions. diff --git a/application/palemoon/base/content/newtab/undo.js b/application/palemoon/base/content/newtab/undo.js index 5f619e980..b856914d2 100644 --- a/application/palemoon/base/content/newtab/undo.js +++ b/application/palemoon/base/content/newtab/undo.js @@ -8,7 +8,7 @@ * Dialog allowing to undo the removal of single site or to completely restore * the grid's original state. */ -let gUndoDialog = { +var gUndoDialog = { /** * The undo dialog's timeout in miliseconds. */ diff --git a/application/palemoon/base/content/newtab/updater.js b/application/palemoon/base/content/newtab/updater.js index 7b483e037..e6da37f87 100644 --- a/application/palemoon/base/content/newtab/updater.js +++ b/application/palemoon/base/content/newtab/updater.js @@ -8,7 +8,7 @@ * This singleton provides functionality to update the current grid to a new * set of pinned and blocked sites. It adds, moves and removes sites. */ -let gUpdater = { +var gUpdater = { /** * Updates the current grid according to its pinned and blocked sites. * This removes old, moves existing and creates new sites to fill gaps. diff --git a/application/palemoon/base/content/popup-notifications.inc b/application/palemoon/base/content/popup-notifications.inc index 7be975b7f..31a72b489 100644 --- a/application/palemoon/base/content/popup-notifications.inc +++ b/application/palemoon/base/content/popup-notifications.inc @@ -2,7 +2,6 @@ <panel id="notification-popup" type="arrow" - footertype="promobox" position="after_start" hidden="true" orient="vertical" diff --git a/application/palemoon/base/content/sync/aboutSyncTabs.js b/application/palemoon/base/content/sync/aboutSyncTabs.js index 535c43e56..bc624a459 100644 --- a/application/palemoon/base/content/sync/aboutSyncTabs.js +++ b/application/palemoon/base/content/sync/aboutSyncTabs.js @@ -11,7 +11,7 @@ Cu.import("resource://gre/modules/PlacesUtils.jsm", this); Cu.import("resource://gre/modules/Services.jsm"); Cu.import("resource://gre/modules/XPCOMUtils.jsm"); -let RemoteTabViewer = { +var RemoteTabViewer = { _tabsList: null, init: function () { diff --git a/application/palemoon/base/content/sync/addDevice.js b/application/palemoon/base/content/sync/addDevice.js index 556e75768..40862a791 100644 --- a/application/palemoon/base/content/sync/addDevice.js +++ b/application/palemoon/base/content/sync/addDevice.js @@ -15,7 +15,7 @@ const ADD_DEVICE_PAGE = 0; const SYNC_KEY_PAGE = 1; const DEVICE_CONNECTED_PAGE = 2; -let gSyncAddDevice = { +var gSyncAddDevice = { init: function init() { this.pin1.setAttribute("maxlength", PIN_PART_LENGTH); diff --git a/application/palemoon/base/content/sync/genericChange.js b/application/palemoon/base/content/sync/genericChange.js index 6d1ce9485..0c6dc145e 100644 --- a/application/palemoon/base/content/sync/genericChange.js +++ b/application/palemoon/base/content/sync/genericChange.js @@ -8,7 +8,7 @@ const Cc = Components.classes; Components.utils.import("resource://services-sync/main.js"); Components.utils.import("resource://gre/modules/Services.jsm"); -let Change = { +var Change = { _dialog: null, _dialogType: null, _status: null, diff --git a/application/palemoon/base/content/sync/progress.js b/application/palemoon/base/content/sync/progress.js index 2063f612a..101160fa8 100644 --- a/application/palemoon/base/content/sync/progress.js +++ b/application/palemoon/base/content/sync/progress.js @@ -6,8 +6,8 @@ const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components; Cu.import("resource://gre/modules/Services.jsm"); Cu.import("resource://services-sync/main.js"); -let gProgressBar; -let gCounter = 0; +var gProgressBar; +var gCounter = 0; function onLoad(event) { Services.obs.addObserver(onEngineSync, "weave:engine:sync:finish", false); diff --git a/application/palemoon/base/content/sync/quota.js b/application/palemoon/base/content/sync/quota.js index 7117a2ddf..454052754 100644 --- a/application/palemoon/base/content/sync/quota.js +++ b/application/palemoon/base/content/sync/quota.js @@ -10,7 +10,7 @@ const Cu = Components.utils; Cu.import("resource://services-sync/main.js"); Cu.import("resource://gre/modules/DownloadUtils.jsm"); -let gSyncQuota = { +var gSyncQuota = { init: function init() { this.bundle = document.getElementById("quotaStrings"); @@ -86,7 +86,7 @@ let gSyncQuota = { }; -let gUsageTreeView = { +var gUsageTreeView = { _ignored: {keys: true, meta: true, diff --git a/application/palemoon/base/content/sync/utils.js b/application/palemoon/base/content/sync/utils.js index 0c02b5bc0..d41ecf18a 100644 --- a/application/palemoon/base/content/sync/utils.js +++ b/application/palemoon/base/content/sync/utils.js @@ -8,7 +8,7 @@ const PERMISSIONS_RWUSR = 0x180; // Weave should always exist before before this file gets included. -let gSyncUtils = { +var gSyncUtils = { get bundle() { delete this.bundle; return this.bundle = Services.strings.createBundle("chrome://browser/locale/syncSetup.properties"); diff --git a/application/palemoon/base/content/tabbrowser.xml b/application/palemoon/base/content/tabbrowser.xml index 69d824fd5..49db93377 100644 --- a/application/palemoon/base/content/tabbrowser.xml +++ b/application/palemoon/base/content/tabbrowser.xml @@ -30,7 +30,7 @@ <xul:vbox flex="1" class="browserContainer"> <xul:stack flex="1" class="browserStack" anonid="browserStack"> <xul:browser anonid="initialBrowser" type="content-primary" message="true" disablehistory="true" - xbl:inherits="tooltip=contenttooltip,contextmenu=contentcontextmenu,autocompletepopup"/> + xbl:inherits="tooltip=contenttooltip,contextmenu=contentcontextmenu,autocompletepopup,datetimepicker"/> </xul:stack> </xul:vbox> </xul:hbox> @@ -138,19 +138,19 @@ ]]></getter> </property> - <property name="formValidationAnchor" readonly="true"> + <property name="popupAnchor" readonly="true"> <getter><![CDATA[ - if (this.mCurrentTab._formValidationAnchor) { - return this.mCurrentTab._formValidationAnchor; + if (this.mCurrentTab._popupAnchor) { + return this.mCurrentTab._popupAnchor; } let stack = this.mCurrentBrowser.parentNode; - // Create an anchor for the form validation popup + // Create an anchor for the popup const NS_XUL = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; - let formValidationAnchor = document.createElementNS(NS_XUL, "hbox"); - formValidationAnchor.className = "form-validation-anchor"; - formValidationAnchor.hidden = true; - stack.appendChild(formValidationAnchor); - return this.mCurrentTab._formValidationAnchor = formValidationAnchor; + let popupAnchor = document.createElementNS(NS_XUL, "hbox"); + popupAnchor.className = "popup-anchor"; + popupAnchor.hidden = true; + stack.appendChild(popupAnchor); + return this.mCurrentTab._popupAnchor = popupAnchor; ]]></getter> </property> @@ -1502,6 +1502,10 @@ b.setAttribute("autocompletepopup", this.getAttribute("autocompletepopup")); b.setAttribute("autoscrollpopup", this._autoScrollPopup.id); + if (this.hasAttribute("datetimepicker")) { + b.setAttribute("datetimepicker", this.getAttribute("datetimepicker")); + } + // Create the browserStack container var stack = document.createElementNS(NS_XUL, "stack"); stack.className = "browserStack"; diff --git a/application/palemoon/base/content/urlbarBindings.xml b/application/palemoon/base/content/urlbarBindings.xml index bdb7a6a12..07cd5380d 100644 --- a/application/palemoon/base/content/urlbarBindings.xml +++ b/application/palemoon/base/content/urlbarBindings.xml @@ -1778,195 +1778,6 @@ </implementation> </binding> - <binding id="promobox"> - <content> - <xul:hbox class="panel-promo-box" align="start" flex="1"> - <xul:hbox align="center" flex="1"> - <xul:image class="panel-promo-icon"/> - <xul:description anonid="promo-message" class="panel-promo-message" flex="1"> - <xul:description anonid="promo-link" - class="plain text-link inline-link" - onclick="document.getBindingParent(this).onLinkClick();"/> - </xul:description> - </xul:hbox> - <xul:toolbarbutton class="panel-promo-closebutton close-icon" - oncommand="document.getBindingParent(this).onCloseButtonCommand();" - tooltiptext="&closeNotification.tooltip;"/> - </xul:hbox> - </content> - - <implementation implements="nsIDOMEventListener"> - <constructor><![CDATA[ - this._panel.addEventListener("popupshowing", this, false); - ]]></constructor> - - <destructor><![CDATA[ - this._panel.removeEventListener("popupshowing", this, false); - ]]></destructor> - - <field name="_panel" readonly="true"><![CDATA[ - let node = this.parentNode; - while(node && node.localName != "panel") { - node = node.parentNode; - } - node; - ]]></field> - <field name="_promomessage" readonly="true"> - document.getAnonymousElementByAttribute(this, "anonid", "promo-message"); - </field> - <field name="_promolink" readonly="true"> - document.getAnonymousElementByAttribute(this, "anonid", "promo-link"); - </field> - <field name="_brandBundle" readonly="true"> - Services.strings.createBundle("chrome://branding/locale/brand.properties"); - </field> - <property name="_viewsLeftMap"> - <getter><![CDATA[ - let viewsLeftMap = {}; - try { - viewsLeftMap = JSON.parse(Services.prefs.getCharPref("browser.syncPromoViewsLeftMap")); - } catch (ex) { - // If the old preference exists, migrate it to the new one. - try { - let oldPref = Services.prefs.getIntPref("browser.syncPromoViewsLeft"); - Services.prefs.clearUserPref("browser.syncPromoViewsLeft"); - viewsLeftMap.bookmarks = oldPref; - viewsLeftMap.passwords = oldPref; - Services.prefs.setCharPref("browser.syncPromoViewsLeftMap", - JSON.stringify(viewsLeftMap)); - } catch (ex2) {} - } - return viewsLeftMap; - ]]></getter> - </property> - <property name="_viewsLeft"> - <getter><![CDATA[ - let views = 5; - let map = this._viewsLeftMap; - if (this._notificationType in map) { - views = map[this._notificationType]; - } - return views; - ]]></getter> - <setter><![CDATA[ - let map = this._viewsLeftMap; - map[this._notificationType] = val; - Services.prefs.setCharPref("browser.syncPromoViewsLeftMap", - JSON.stringify(map)); - return val; - ]]></setter> - </property> - <property name="_notificationType"> - <getter><![CDATA[ - // Use the popupid attribute to identify the notification type, - // otherwise just rely on the panel id for common arrowpanels. - let type = this._panel.firstChild.getAttribute("popupid") || - this._panel.id; - if (type.startsWith("password-")) - return "passwords"; - if (type == "editBookmarkPanel") - return "bookmarks"; - if (type == "addon-install-complete") { - if (!Services.prefs.prefHasUserValue("services.sync.username")) - return "addons"; - if (!Services.prefs.getBoolPref("services.sync.engine.addons")) - return "addons-sync-disabled"; - } - return null; - ]]></getter> - </property> - <property name="_notificationMessage"> - <getter><![CDATA[ - return gNavigatorBundle.getFormattedString( - "syncPromoNotification." + this._notificationType + ".description", - [this._brandBundle.GetStringFromName("syncBrandShortName")] - ); - ]]></getter> - </property> - <property name="_notificationLink"> - <getter><![CDATA[ - if (this._notificationType == "addons-sync-disabled") { - return "https://forum.palemoon.org/viewforum.php?f=52"; - } - return "http://www.palemoon.org/sync/"; - ]]></getter> - </property> - <method name="onCloseButtonCommand"> - <body><![CDATA[ - this._viewsLeft = 0; - this.hidden = true; - ]]></body> - </method> - <method name="onLinkClick"> - <body><![CDATA[ - // Open a new selected tab and close the current panel. - gBrowser.loadOneTab(this._promolink.getAttribute("href"), - { inBackground: false }); - this._panel.hidePopup(); - ]]></body> - </method> - <method name="handleEvent"> - <parameter name="event"/> - <body><![CDATA[ - if (event.type != "popupshowing" || event.target != this._panel) - return; - - // A previous notification may have unhidden this. - this.hidden = true; - - // Only handle supported notification panels. - if (!this._notificationType) { - return; - } - - let viewsLeft = this._viewsLeft; - if (viewsLeft) { - // XXX: Short-circuit this for now. - // TO-DO: Clean up this code for sync promotion - this._viewsLeft = 0; - viewsLeft = 0; - return; - // XXX - - if (Services.prefs.prefHasUserValue("services.sync.username") && - this._notificationType != "addons-sync-disabled") { - // If the user has already setup Sync, don't show the notification. - this._viewsLeft = 0; - // Be sure to hide the panel, in case it was visible and the user - // decided to setup Sync after noticing it. - viewsLeft = 0; - // The panel is still hidden, just bail out. - return; - } - else { - this._viewsLeft = viewsLeft - 1; - } - - this._promolink.setAttribute("href", this._notificationLink); - this._promolink.value = gNavigatorBundle.getString("syncPromoNotification.learnMoreLinkText"); - - this.hidden = false; - - // HACK: The description element doesn't wrap correctly in panels, - // thus set a width on it, based on the available space, before - // setting its textContent. Then set its height as well, to - // fix wrong height calculation on Linux (bug 659578). - this._panel.addEventListener("popupshown", function panelShown() { - this._panel.removeEventListener("popupshown", panelShown, true); - // Previous popupShown events may close the panel or change - // its contents, so ensure this is still valid. - if (this._panel.state != "open" || !this._notificationType) - return; - this._promomessage.width = this._promomessage.getBoundingClientRect().width; - this._promomessage.firstChild.textContent = this._notificationMessage; - this._promomessage.height = this._promomessage.getBoundingClientRect().height; - }.bind(this), true); - } - ]]></body> - </method> - </implementation> - </binding> - <binding id="toolbarbutton-badged" display="xul:button" extends="chrome://global/content/bindings/toolbarbutton.xml#toolbarbutton"> <content> diff --git a/application/palemoon/branding/official/pref/palemoon-branding.js b/application/palemoon/branding/official/pref/palemoon-branding.js index 4f5d196d7..8e8703fb7 100644 --- a/application/palemoon/branding/official/pref/palemoon-branding.js +++ b/application/palemoon/branding/official/pref/palemoon-branding.js @@ -8,6 +8,8 @@ pref("app.releaseNotesURL", "http://www.palemoon.org/releasenotes.shtml"); // Enable Firefox compatmode by default.
pref("general.useragent.compatMode", 2);
+pref("general.useragent.compatMode.gecko", true);
+pref("general.useragent.compatMode.firefox", true);
// ========================= updates ========================
#if defined(XP_WIN)
diff --git a/application/palemoon/branding/unstable/pref/palemoon-branding.js b/application/palemoon/branding/unstable/pref/palemoon-branding.js index 4c088f76d..dda6f86a5 100644 --- a/application/palemoon/branding/unstable/pref/palemoon-branding.js +++ b/application/palemoon/branding/unstable/pref/palemoon-branding.js @@ -8,6 +8,8 @@ pref("app.releaseNotesURL", "http://www.palemoon.org/unstable/releasenotes.shtml // Enable Firefox compatmode by default.
pref("general.useragent.compatMode", 2);
+pref("general.useragent.compatMode.gecko", true);
+pref("general.useragent.compatMode.firefox", true);
// ========================= updates ========================
#if defined(XP_WIN)
diff --git a/application/palemoon/components/downloads/DownloadsCommon.jsm b/application/palemoon/components/downloads/DownloadsCommon.jsm index 0921f8400..c6614e780 100644 --- a/application/palemoon/components/downloads/DownloadsCommon.jsm +++ b/application/palemoon/components/downloads/DownloadsCommon.jsm @@ -104,7 +104,7 @@ const kPartialDownloadSuffix = ".part"; const kPrefBranch = Services.prefs.getBranch("browser.download."); -let PrefObserver = { +var PrefObserver = { QueryInterface: XPCOMUtils.generateQI([Ci.nsIObserver, Ci.nsISupportsWeakReference]), getPref: function PO_getPref(name) { diff --git a/application/palemoon/components/downloads/content/contentAreaDownloadsView.js b/application/palemoon/components/downloads/content/contentAreaDownloadsView.js index 29e2e368c..fbb18ab04 100644 --- a/application/palemoon/components/downloads/content/contentAreaDownloadsView.js +++ b/application/palemoon/components/downloads/content/contentAreaDownloadsView.js @@ -4,7 +4,7 @@ Components.utils.import("resource://gre/modules/PrivateBrowsingUtils.jsm"); -let ContentAreaDownloadsView = { +var ContentAreaDownloadsView = { init: function CADV_init() { let view = new DownloadsPlacesView(document.getElementById("downloadsRichListBox")); // Do not display the Places downloads in private windows diff --git a/application/palemoon/components/nsBrowserGlue.js b/application/palemoon/components/nsBrowserGlue.js index cdb0b7522..c4205c2c5 100644 --- a/application/palemoon/components/nsBrowserGlue.js +++ b/application/palemoon/components/nsBrowserGlue.js @@ -35,6 +35,7 @@ Cu.import("resource://gre/modules/Services.jsm"); ["OS", "resource://gre/modules/osfile.jsm"], ["LoginManagerParent", "resource://gre/modules/LoginManagerParent.jsm"], ["FormValidationHandler", "resource:///modules/FormValidationHandler.jsm"], + ["DateTimePickerHelper", "resource://gre/modules/DateTimePickerHelper.jsm"], ].forEach(([name, resource]) => XPCOMUtils.defineLazyModuleGetter(this, name, resource)); const PREF_PLUGINS_NOTIFYUSER = "plugins.update.notifyUser"; @@ -167,6 +168,7 @@ BrowserGlue.prototype = { } catch (e) { Cu.reportError("Could not end startup crash tracking in quit-application-granted: " + e); } + DateTimePickerHelper.uninit(); break; #ifdef OBSERVE_LASTWINDOW_CLOSE_TOPICS case "browser-lastwindow-close-requested": @@ -496,6 +498,8 @@ BrowserGlue.prototype = { } #endif + DateTimePickerHelper.init(); + this._trackSlowStartup(); }, diff --git a/application/palemoon/components/places/BrowserPlaces.manifest b/application/palemoon/components/places/BrowserPlaces.manifest deleted file mode 100644 index 3b25f50f4..000000000 --- a/application/palemoon/components/places/BrowserPlaces.manifest +++ /dev/null @@ -1,2 +0,0 @@ -component {6bcb9bde-9018-4443-a071-c32653469597} PlacesProtocolHandler.js -contract @mozilla.org/network/protocol;1?name=place {6bcb9bde-9018-4443-a071-c32653469597} diff --git a/application/palemoon/components/places/PlacesProtocolHandler.js b/application/palemoon/components/places/PlacesProtocolHandler.js deleted file mode 100644 index ebffd2e28..000000000 --- a/application/palemoon/components/places/PlacesProtocolHandler.js +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * vim: sw=2 ts=2 sts=2 et - * 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 Cc = Components.classes; -const Ci = Components.interfaces; - -Components.utils.import("resource://gre/modules/NetUtil.jsm"); -Components.utils.import("resource://gre/modules/XPCOMUtils.jsm"); - -const SCHEME = "place"; -const URL = "chrome://browser/content/places/content-ui/controller.xhtml"; - -function PlacesProtocolHandler() {} - -PlacesProtocolHandler.prototype = { - scheme: SCHEME, - defaultPort: -1, - protocolFlags: Ci.nsIProtocolHandler.URI_DANGEROUS_TO_LOAD | - Ci.nsIProtocolHandler.URI_IS_LOCAL_RESOURCE | - Ci.nsIProtocolHandler.URI_NORELATIVE | - Ci.nsIProtocolHandler.URI_NOAUTH, - - newURI: function PPH_newURI(aSpec, aOriginCharset, aBaseUri) { - let uri = Cc["@mozilla.org/network/simple-uri;1"].createInstance(Ci.nsIURI); - uri.spec = aSpec; - return uri; - }, - - newChannel: function PPH_newChannel(aUri) { - let chan = NetUtil.newChannel(URL); - chan.originalURI = aUri; - return chan; - }, - - allowPort: function PPH_allowPort(aPort, aScheme) { - return false; - }, - - QueryInterface: XPCOMUtils.generateQI([ - Ci.nsIProtocolHandler - ]), - - classID: Components.ID("{6bcb9bde-9018-4443-a071-c32653469597}") -}; - -this.NSGetFactory = XPCOMUtils.generateNSGetFactory([PlacesProtocolHandler]); diff --git a/application/palemoon/components/places/content/controller.js b/application/palemoon/components/places/content/controller.js index 4d3773905..e2ae2afb0 100644 --- a/application/palemoon/components/places/content/controller.js +++ b/application/palemoon/components/places/content/controller.js @@ -1603,7 +1603,7 @@ PlacesController.prototype = { * the view that the item(s) have been dropped on was not necessarily active. * Drop functions are passed the view that is being dropped on. */ -let PlacesControllerDragHelper = { +var PlacesControllerDragHelper = { /** * DOM Element currently being dragged over */ diff --git a/application/palemoon/components/places/content/places.js b/application/palemoon/components/places/content/places.js index 9ecdfebe0..a94193823 100644 --- a/application/palemoon/components/places/content/places.js +++ b/application/palemoon/components/places/content/places.js @@ -1377,7 +1377,7 @@ var ViewMenu = { } } -let ContentArea = { +var ContentArea = { _specialViews: new Map(), init: function CA_init() { @@ -1511,7 +1511,7 @@ let ContentArea = { } }; -let ContentTree = { +var ContentTree = { init: function CT_init() { this._view = document.getElementById("placeContent"); }, diff --git a/application/palemoon/components/places/moz.build b/application/palemoon/components/places/moz.build index fc69beed9..2e35e1951 100644 --- a/application/palemoon/components/places/moz.build +++ b/application/palemoon/components/places/moz.build @@ -6,9 +6,5 @@ JAR_MANIFESTS += ['jar.mn'] -EXTRA_COMPONENTS += [ - 'BrowserPlaces.manifest', - 'PlacesProtocolHandler.js', -] EXTRA_JS_MODULES += [ 'PlacesUIUtils.jsm' ] diff --git a/application/palemoon/components/preferences/aboutPermissions.js b/application/palemoon/components/preferences/aboutPermissions.js index 106d45f89..31b48f88e 100644 --- a/application/palemoon/components/preferences/aboutPermissions.js +++ b/application/palemoon/components/preferences/aboutPermissions.js @@ -13,15 +13,15 @@ Cu.import("resource://gre/modules/AddonManager.jsm"); Cu.import("resource://gre/modules/NetUtil.jsm"); Cu.import("resource://gre/modules/ForgetAboutSite.jsm"); -let gFaviconService = Cc["@mozilla.org/browser/favicon-service;1"]. +var gFaviconService = Cc["@mozilla.org/browser/favicon-service;1"]. getService(Ci.nsIFaviconService); -let gPlacesDatabase = Cc["@mozilla.org/browser/nav-history-service;1"]. +var gPlacesDatabase = Cc["@mozilla.org/browser/nav-history-service;1"]. getService(Ci.nsPIPlacesDatabase). DBConnection. clone(true); -let gSitesStmt = gPlacesDatabase.createAsyncStatement( +var gSitesStmt = gPlacesDatabase.createAsyncStatement( "SELECT get_unreversed_host(rev_host) AS host " + "FROM moz_places " + "WHERE rev_host > '.' " + @@ -30,12 +30,12 @@ let gSitesStmt = gPlacesDatabase.createAsyncStatement( "ORDER BY MAX(frecency) DESC " + "LIMIT :limit"); -let gVisitStmt = gPlacesDatabase.createAsyncStatement( +var gVisitStmt = gPlacesDatabase.createAsyncStatement( "SELECT SUM(visit_count) AS count " + "FROM moz_places " + "WHERE rev_host = :rev_host"); -let gFlash = { +var gFlash = { name: "Shockwave Flash", betterName: "Adobe Flash", type: "application/x-shockwave-flash", @@ -290,7 +290,7 @@ Site.prototype = { * * Inspired by pageinfo/permissions.js */ -let PermissionDefaults = { +var PermissionDefaults = { UNKNOWN: Ci.nsIPermissionManager.UNKNOWN_ACTION, // 0 ALLOW: Ci.nsIPermissionManager.ALLOW_ACTION, // 1 DENY: Ci.nsIPermissionManager.DENY_ACTION, // 2 @@ -449,7 +449,7 @@ let PermissionDefaults = { /** * AboutPermissions manages the about:permissions page. */ -let AboutPermissions = { +var AboutPermissions = { /** * Maximum number of sites to return from the places database. */ diff --git a/application/palemoon/components/preferences/sanitize.js b/application/palemoon/components/preferences/sanitize.js index 893155e62..15e6f58f4 100644 --- a/application/palemoon/components/preferences/sanitize.js +++ b/application/palemoon/components/preferences/sanitize.js @@ -3,7 +3,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/. */ -let gSanitizeDialog = Object.freeze({ +var gSanitizeDialog = Object.freeze({ onClearHistoryChanged: function () { let downloadsPref = document.getElementById("privacy.clearOnShutdown.downloads"); let historyPref = document.getElementById("privacy.clearOnShutdown.history"); diff --git a/application/palemoon/components/preferences/sync.js b/application/palemoon/components/preferences/sync.js index 9c7f1aa1f..f29728dbf 100644 --- a/application/palemoon/components/preferences/sync.js +++ b/application/palemoon/components/preferences/sync.js @@ -9,7 +9,7 @@ const PAGE_NO_ACCOUNT = 0; const PAGE_HAS_ACCOUNT = 1; const PAGE_NEEDS_UPDATE = 2; -let gSyncPane = { +var gSyncPane = { _stringBundle: null, prefArray: ["engine.bookmarks", "engine.passwords", "engine.prefs", "engine.tabs", "engine.history"], diff --git a/application/palemoon/components/sessionstore/SessionStorage.jsm b/application/palemoon/components/sessionstore/SessionStorage.jsm index 192352c49..64aef35a5 100644 --- a/application/palemoon/components/sessionstore/SessionStorage.jsm +++ b/application/palemoon/components/sessionstore/SessionStorage.jsm @@ -38,7 +38,7 @@ this.SessionStorage = { Object.freeze(SessionStorage); -let DomStorage = { +var DomStorage = { /** * Reads all session storage data from the given docShell. * @param aDocShell @@ -142,7 +142,7 @@ let DomStorage = { } }; -let History = { +var History = { /** * Returns a given history entry's URI. * @param aHistory diff --git a/application/palemoon/components/sessionstore/SessionStore.jsm b/application/palemoon/components/sessionstore/SessionStore.jsm index a8e7adfcc..f7c495be8 100644 --- a/application/palemoon/components/sessionstore/SessionStore.jsm +++ b/application/palemoon/components/sessionstore/SessionStore.jsm @@ -88,7 +88,7 @@ XPCOMUtils.defineLazyServiceGetter(this, "gScreenManager", // retrieved from a given docShell if not already collected before. // This is made so they're automatically in sync with all nsIDocShell.allow* // properties. -let gDocShellCapabilities = (function () { +var gDocShellCapabilities = (function () { let caps; return docShell => { @@ -247,7 +247,7 @@ this.SessionStore = { // Freeze the SessionStore object. We don't want anyone to modify it. Object.freeze(SessionStore); -let SessionStoreInternal = { +var SessionStoreInternal = { QueryInterface: XPCOMUtils.generateQI([ Ci.nsIDOMEventListener, Ci.nsIObserver, @@ -4471,7 +4471,7 @@ let SessionStoreInternal = { * pinned, visible and hidden tabs in that and FIFO order. Hidden tabs are only * restored with restore_hidden_tabs=true. */ -let TabRestoreQueue = { +var TabRestoreQueue = { // The separate buckets used to store tabs. tabs: {priority: [], visible: [], hidden: []}, @@ -4608,7 +4608,7 @@ let TabRestoreQueue = { // A map storing a closed window's state data until it goes aways (is GC'ed). // This ensures that API clients can still read (but not write) states of // windows they still hold a reference to but we don't. -let DyingWindowCache = { +var DyingWindowCache = { _data: new WeakMap(), has: function (window) { @@ -4631,7 +4631,7 @@ let DyingWindowCache = { // A set of tab attributes to persist. We will read a given list of tab // attributes when collecting tab data and will re-set those attributes when // the given tab data is restored to a new tab. -let TabAttributes = { +var TabAttributes = { _attrs: new Set(), // We never want to directly read or write those attributes. @@ -4677,7 +4677,7 @@ let TabAttributes = { // This is used to help meter the number of restoring tabs. This is the control // point for telling the next tab to restore. It gets attached to each gBrowser // via gBrowser.addTabsProgressListener -let gRestoreTabsProgressListener = { +var gRestoreTabsProgressListener = { onStateChange: function(aBrowser, aWebProgress, aRequest, aStateFlags, aStatus) { // Ignore state changes on browsers that we've already restored and state // changes that aren't applicable. diff --git a/application/palemoon/components/sessionstore/_SessionFile.jsm b/application/palemoon/components/sessionstore/_SessionFile.jsm index 9d40b9cca..62b4d1687 100644 --- a/application/palemoon/components/sessionstore/_SessionFile.jsm +++ b/application/palemoon/components/sessionstore/_SessionFile.jsm @@ -130,7 +130,7 @@ const TaskUtils = { } }; -let SessionFileInternal = { +var SessionFileInternal = { /** * A promise fulfilled once initialization is complete */ diff --git a/application/palemoon/components/sessionstore/nsSessionStartup.js b/application/palemoon/components/sessionstore/nsSessionStartup.js index 7f07e9050..04037c10e 100644 --- a/application/palemoon/components/sessionstore/nsSessionStartup.js +++ b/application/palemoon/components/sessionstore/nsSessionStartup.js @@ -50,7 +50,7 @@ function debug(aMsg) { Services.console.logStringMessage(aMsg); } -let gOnceInitializedDeferred = Promise.defer(); +var gOnceInitializedDeferred = Promise.defer(); /* :::::::: The Service ::::::::::::::: */ diff --git a/application/palemoon/components/shell/ShellService.jsm b/application/palemoon/components/shell/ShellService.jsm index 12e275bdb..74632b692 100644 --- a/application/palemoon/components/shell/ShellService.jsm +++ b/application/palemoon/components/shell/ShellService.jsm @@ -17,7 +17,7 @@ XPCOMUtils.defineLazyModuleGetter(this, "WindowsRegistry", /** * Internal functionality to save and restore the docShell.allow* properties. */ -let ShellServiceInternal = { +var ShellServiceInternal = { /** * Used to determine whether or not to offer "Set as desktop background" * functionality. Even if shell service is available it is not diff --git a/application/palemoon/installer/Makefile.in b/application/palemoon/installer/Makefile.in index 7cd77bdca..368b16efc 100644 --- a/application/palemoon/installer/Makefile.in +++ b/application/palemoon/installer/Makefile.in @@ -34,9 +34,9 @@ ifdef MOZ_ENABLE_GNOME_COMPONENT DEFINES += -DMOZ_ENABLE_GNOME_COMPONENT=1 endif -ifdef MOZ_WIDGET_GTK +ifneq (,$(filter gtk%,$(MOZ_WIDGET_TOOLKIT))) DEFINES += -DMOZ_GTK=1 -ifdef MOZ_ENABLE_GTK3 +ifeq ($(MOZ_WIDGET_TOOLKIT),gtk3) DEFINES += -DMOZ_GTK3=1 endif endif @@ -131,16 +131,17 @@ AB = $(firstword $(subst -, ,$(AB_CD))) DEFINES += -DAB=$(AB) DEFINES += -DMOZ_ICU_VERSION=$(MOZ_ICU_VERSION) -ifdef MOZ_NATIVE_ICU -DEFINES += -DMOZ_NATIVE_ICU +ifdef MOZ_SYSTEM_ICU +DEFINES += -DMOZ_SYSTEM_ICU endif -ifdef MOZ_SHARED_ICU -DEFINES += -DMOZ_SHARED_ICU +ifdef MOZ_ICU_DATA_ARCHIVE +DEFINES += -DMOZ_ICU_DATA_ARCHIVE endif ifdef MOZ_JEMALLOC3 DEFINES += -DMOZ_JEMALLOC3 endif DEFINES += -DMOZ_ICU_DBG_SUFFIX=$(MOZ_ICU_DBG_SUFFIX) +DEFINES += -DICU_DATA_FILE=$(ICU_DATA_FILE) ifdef CLANG_CXX DEFINES += -DCLANG_CXX endif diff --git a/application/palemoon/locales/en-US/chrome/browser/browser.properties b/application/palemoon/locales/en-US/chrome/browser/browser.properties index 5e08c3e50..518f1b0de 100644 --- a/application/palemoon/locales/en-US/chrome/browser/browser.properties +++ b/application/palemoon/locales/en-US/chrome/browser/browser.properties @@ -364,26 +364,6 @@ restartButton=Restart # menu, set this to "true". Otherwise, you can leave it as "false". browser.menu.showCharacterEncoding=false -# LOCALIZATION NOTE (syncPromoNotification.bookmarks.label): This appears in -# the add bookmark star panel. %S will be replaced by syncBrandShortName. -# The final space separates this text from the Learn More link. -syncPromoNotification.bookmarks.description=You can access your bookmarks on all your devices with %S.\u0020 -# LOCALIZATION NOTE (syncPromoNotification.passwords.label): This appears in -# the remember password panel. %S will be replaced by syncBrandShortName. -# The final space separates this text from the Learn More link. -syncPromoNotification.passwords.description=You can access your passwords on all your devices with %S.\u0020 -syncPromoNotification.learnMoreLinkText=Learn More -# LOCALIZATION NOTE (syncPromoNotification.addons.label): This appears in -# the add-on install complete panel when Sync isn't set. -# %S will be replaced by syncBrandShortName. -# The final space separates this text from the Learn More link. -syncPromoNotification.addons.description=You can access your add-ons on all your devices with %S.\u0020 -# LOCALIZATION NOTE (syncPromoNotification.addons-sync-disabled.label): -# This appears in the add-on install complete panel when Sync is set -# but addons sync is not. %S will be replaced by syncBrandShortName. -# The final space separates this text from the Learn More link. -syncPromoNotification.addons-sync-disabled.description=You can use your %S account to synchronize add-ons across multiple devices.\u0020 - # Mozilla data reporting notification (Telemetry, Firefox Health Report, etc) dataReportingNotification.message = %1$S automatically sends some data to %2$S so that we can improve your experience. dataReportingNotification.button.label = Choose What I Share diff --git a/application/palemoon/locales/en-US/chrome/overrides/netError.dtd b/application/palemoon/locales/en-US/chrome/overrides/netError.dtd index 51aedb275..c97bd1b59 100644 --- a/application/palemoon/locales/en-US/chrome/overrides/netError.dtd +++ b/application/palemoon/locales/en-US/chrome/overrides/netError.dtd @@ -51,7 +51,6 @@ <p>&brandShortName; can’t load this page for some reason.</p> "> -<!ENTITY malformedURI.title "The address isn't valid"> <!ENTITY captivePortal.title "Login to network"> <!ENTITY captivePortal.longDesc " <p>This network may require you to login to access the internet.</p> @@ -59,7 +58,7 @@ <!ENTITY openPortalLoginPage.label "Open Login Page"> -<!ENTITY malformedURI.title "The address isn’t valid"> +<!ENTITY malformedURI.title "The address isn't valid"> <!ENTITY malformedURI.longDesc " <ul> <li>Web addresses are usually written like diff --git a/application/palemoon/modules/BrowserNewTabPreloader.jsm b/application/palemoon/modules/BrowserNewTabPreloader.jsm index 719a9e05e..778698fba 100644 --- a/application/palemoon/modules/BrowserNewTabPreloader.jsm +++ b/application/palemoon/modules/BrowserNewTabPreloader.jsm @@ -79,7 +79,7 @@ this.BrowserNewTabPreloader = { Object.freeze(BrowserNewTabPreloader); -let Initializer = { +var Initializer = { _timer: null, _observing: false, @@ -120,7 +120,7 @@ let Initializer = { } }; -let Preferences = { +var Preferences = { _enabled: null, _branch: null, @@ -157,7 +157,7 @@ let Preferences = { }, }; -let HiddenBrowsers = { +var HiddenBrowsers = { _browsers: null, _updateTimer: null, @@ -379,7 +379,7 @@ HiddenBrowser.prototype = { } }; -let HostFrame = { +var HostFrame = { _frame: null, _deferred: null, diff --git a/application/palemoon/modules/FormSubmitObserver.jsm b/application/palemoon/modules/FormSubmitObserver.jsm index 72c5ca601..e4d3e765e 100644 --- a/application/palemoon/modules/FormSubmitObserver.jsm +++ b/application/palemoon/modules/FormSubmitObserver.jsm @@ -9,14 +9,14 @@ "use strict"; -let Cc = Components.classes; -let Ci = Components.interfaces; -let Cu = Components.utils; - -let HTMLInputElement = Ci.nsIDOMHTMLInputElement; -let HTMLTextAreaElement = Ci.nsIDOMHTMLTextAreaElement; -let HTMLSelectElement = Ci.nsIDOMHTMLSelectElement; -let HTMLButtonElement = Ci.nsIDOMHTMLButtonElement; +var Cc = Components.classes; +var Ci = Components.interfaces; +var Cu = Components.utils; + +var HTMLInputElement = Ci.nsIDOMHTMLInputElement; +var HTMLTextAreaElement = Ci.nsIDOMHTMLTextAreaElement; +var HTMLSelectElement = Ci.nsIDOMHTMLSelectElement; +var HTMLButtonElement = Ci.nsIDOMHTMLButtonElement; this.EXPORTED_SYMBOLS = [ "FormSubmitObserver" ]; diff --git a/application/palemoon/modules/FormValidationHandler.jsm b/application/palemoon/modules/FormValidationHandler.jsm index 05be510e1..387c221d7 100644 --- a/application/palemoon/modules/FormValidationHandler.jsm +++ b/application/palemoon/modules/FormValidationHandler.jsm @@ -8,15 +8,15 @@ "use strict"; -let Cc = Components.classes; -let Ci = Components.interfaces; -let Cu = Components.utils; +var Cc = Components.classes; +var Ci = Components.interfaces; +var Cu = Components.utils; this.EXPORTED_SYMBOLS = [ "FormValidationHandler" ]; Cu.import("resource://gre/modules/Services.jsm"); -let FormValidationHandler = +var FormValidationHandler = { _panel: null, _anchor: null, @@ -122,7 +122,7 @@ let FormValidationHandler = this._panel.hidden = false; let tabBrowser = aWindow.gBrowser; - this._anchor = tabBrowser.formValidationAnchor; + this._anchor = tabBrowser.popupAnchor; this._anchor.left = aPanelData.contentRect.left; this._anchor.top = aPanelData.contentRect.top; this._anchor.width = aPanelData.contentRect.width; diff --git a/application/palemoon/modules/NetworkPrioritizer.jsm b/application/palemoon/modules/NetworkPrioritizer.jsm index ea4a87790..23d688a30 100644 --- a/application/palemoon/modules/NetworkPrioritizer.jsm +++ b/application/palemoon/modules/NetworkPrioritizer.jsm @@ -34,8 +34,8 @@ const PRIORITY_DELTA = -10; // Variables -let _lastFocusedWindow = null; -let _windows = []; +var _lastFocusedWindow = null; +var _windows = []; // Exported symbol @@ -64,7 +64,7 @@ function _handleEvent(aEvent) { // Methods that impact a browser. Put into single object for organization. -let BrowserHelper = { +var BrowserHelper = { onOpen: function NP_BH_onOpen(aBrowser) { // If the tab is in the focused window, leave priority as it is if (aBrowser.ownerDocument.defaultView != _lastFocusedWindow) @@ -91,7 +91,7 @@ let BrowserHelper = { // Methods that impact a window. Put into single object for organization. -let WindowHelper = { +var WindowHelper = { addWindow: function NP_WH_addWindow(aWindow) { // Build internal data object _windows.push({ window: aWindow, lastSelectedBrowser: null }); diff --git a/application/palemoon/modules/PopupNotifications.jsm b/application/palemoon/modules/PopupNotifications.jsm index 9b2e8e5d1..d2faf52c3 100644 --- a/application/palemoon/modules/PopupNotifications.jsm +++ b/application/palemoon/modules/PopupNotifications.jsm @@ -18,8 +18,8 @@ const ICON_ATTRIBUTE_SHOWING = "showing"; const PREF_SECURITY_DELAY = "security.notification_enable_delay"; -let popupNotificationsMap = new WeakMap(); -let gNotificationParents = new WeakMap; +var popupNotificationsMap = new WeakMap(); +var gNotificationParents = new WeakMap; function getAnchorFromBrowser(aBrowser) { let anchor = aBrowser.getAttribute("popupnotificationanchor") || diff --git a/application/palemoon/modules/SharedFrame.jsm b/application/palemoon/modules/SharedFrame.jsm index 4d248ae5b..b9d59bfa9 100644 --- a/application/palemoon/modules/SharedFrame.jsm +++ b/application/palemoon/modules/SharedFrame.jsm @@ -18,7 +18,7 @@ const Cu = Components.utils; * when another one of the placeholder is meant to be displayed. * */ -let Frames = new Map(); +var Frames = new Map(); /** * The Frames map is the main data structure that holds information diff --git a/application/palemoon/modules/openLocationLastURL.jsm b/application/palemoon/modules/openLocationLastURL.jsm index 0d653df28..3f58db8ce 100644 --- a/application/palemoon/modules/openLocationLastURL.jsm +++ b/application/palemoon/modules/openLocationLastURL.jsm @@ -10,11 +10,11 @@ Components.utils.import("resource://gre/modules/PrivateBrowsingUtils.jsm"); this.EXPORTED_SYMBOLS = [ "OpenLocationLastURL" ]; -let prefSvc = Components.classes["@mozilla.org/preferences-service;1"] +var prefSvc = Components.classes["@mozilla.org/preferences-service;1"] .getService(Components.interfaces.nsIPrefBranch); -let gOpenLocationLastURLData = ""; +var gOpenLocationLastURLData = ""; -let observer = { +var observer = { QueryInterface: function (aIID) { if (aIID.equals(Components.interfaces.nsIObserver) || aIID.equals(Components.interfaces.nsISupports) || @@ -35,7 +35,7 @@ let observer = { } }; -let os = Components.classes["@mozilla.org/observer-service;1"] +var os = Components.classes["@mozilla.org/observer-service;1"] .getService(Components.interfaces.nsIObserverService); os.addObserver(observer, "last-pb-context-exited", true); os.addObserver(observer, "browser:purge-session-history", true); diff --git a/application/palemoon/modules/promise.js b/application/palemoon/modules/promise.js index 7c96f02cf..74065c8db 100644 --- a/application/palemoon/modules/promise.js +++ b/application/palemoon/modules/promise.js @@ -24,7 +24,7 @@ module.metadata = { 'stability': 'unstable' }; -let promised = (function() { +var promised = (function() { // Note: Define shortcuts and utility functions here in order to avoid // slower property accesses and unnecessary closure creations on each // call of this popular function. diff --git a/application/palemoon/themes/linux/browser.css b/application/palemoon/themes/linux/browser.css index a396ea5fd..334062613 100644 --- a/application/palemoon/themes/linux/browser.css +++ b/application/palemoon/themes/linux/browser.css @@ -1559,29 +1559,6 @@ richlistitem[type~="action"][actiontype="switchtab"] > .ac-url-box > .ac-action- min-width: 27em; } -.panel-promo-box { - margin: 8px -10px -10px -10px; - padding: 8px 10px; - border-top: 1px solid ThreeDShadow; - background-image: linear-gradient(hsla(0,0%,0%,.15), hsla(0,0%,0%,.08) 6px); -} - -.panel-promo-icon { - list-style-image: url("chrome://browser/skin/sync-notification-24.png"); - -moz-margin-end: 10px; - vertical-align: middle; -} - -.panel-promo-closebutton { - margin-top: 0; - margin-bottom: 0; -} - -.panel-promo-closebutton > .toolbarbutton-text { - padding: 0; - margin: 0; -} - /* Content area */ #sidebar { background-color: Window; diff --git a/application/palemoon/themes/linux/jar.mn b/application/palemoon/themes/linux/jar.mn index 44d837778..f1339b803 100644 --- a/application/palemoon/themes/linux/jar.mn +++ b/application/palemoon/themes/linux/jar.mn @@ -130,7 +130,6 @@ browser.jar: skin/classic/browser/sync-128.png skin/classic/browser/sync-desktopIcon.png skin/classic/browser/sync-mobileIcon.png - skin/classic/browser/sync-notification-24.png skin/classic/browser/syncSetup.css skin/classic/browser/syncCommon.css skin/classic/browser/syncQuota.css diff --git a/application/palemoon/themes/linux/sync-notification-24.png b/application/palemoon/themes/linux/sync-notification-24.png Binary files differdeleted file mode 100644 index d67eb47ac..000000000 --- a/application/palemoon/themes/linux/sync-notification-24.png +++ /dev/null diff --git a/application/palemoon/themes/osx/browser.css b/application/palemoon/themes/osx/browser.css index aa5918bab..a66ddacfc 100644 --- a/application/palemoon/themes/osx/browser.css +++ b/application/palemoon/themes/osx/browser.css @@ -1338,41 +1338,6 @@ richlistitem[type~="action"][actiontype="switchtab"][selected="true"] > .ac-url- min-width: 27em; } -.panel-promo-box { - margin: 10px -10px -10px; - padding: 8px 10px; - border-top: 1px solid ThreeDShadow; - background-image: linear-gradient(hsla(0,0%,0%,.15), hsla(0,0%,0%,.08) 6px); - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; -} - -@media (-moz-mac-lion-theme) { - .panel-promo-box { - border-top-style: none; - background: #f1f5fb; - color: GrayText; - box-shadow: 0px 1px 2px rgb(204,214,234) inset; - } -} - -.panel-promo-icon { - list-style-image: url("chrome://browser/skin/sync-notification-24.png"); - -moz-margin-end: 10px; - vertical-align: middle; -} - -.panel-promo-closebutton { - border: none; - -moz-margin-end: -14px; - margin-top: -8px; -} - -.panel-promo-closebutton > .toolbarbutton-text { - padding: 0; - margin: 0; -} - /* ::::: content area ::::: */ #sidebar { diff --git a/application/palemoon/themes/osx/jar.mn b/application/palemoon/themes/osx/jar.mn index 8742f1b87..904da3788 100644 --- a/application/palemoon/themes/osx/jar.mn +++ b/application/palemoon/themes/osx/jar.mn @@ -163,7 +163,6 @@ browser.jar: skin/classic/browser/sync-bg.png skin/classic/browser/sync-desktopIcon.png skin/classic/browser/sync-mobileIcon.png - skin/classic/browser/sync-notification-24.png skin/classic/browser/syncSetup.css skin/classic/browser/syncCommon.css skin/classic/browser/syncQuota.css diff --git a/application/palemoon/themes/osx/sync-notification-24.png b/application/palemoon/themes/osx/sync-notification-24.png Binary files differdeleted file mode 100644 index fc9a4e63d..000000000 --- a/application/palemoon/themes/osx/sync-notification-24.png +++ /dev/null diff --git a/application/palemoon/themes/windows/browser.css b/application/palemoon/themes/windows/browser.css index 3e8c63af4..a64955f0f 100644 --- a/application/palemoon/themes/windows/browser.css +++ b/application/palemoon/themes/windows/browser.css @@ -1778,42 +1778,6 @@ richlistitem[type~="action"][actiontype="switchtab"] > .ac-url-box > .ac-action- min-width: 27em; } -.panel-promo-box { - margin: 10px -10px -10px; - padding: 8px 10px; - border-top: 1px solid ThreeDShadow; - background-image: linear-gradient(hsla(0,0%,0%,.15), hsla(0,0%,0%,.08) 6px); - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; -} - -@media (-moz-windows-default-theme) { - .panel-promo-box { - border-top-style: none; - background: #f1f5fb; - color: GrayText; - box-shadow: 0px 1px 2px rgb(204,214,234) inset; - } -} - -.panel-promo-icon { - list-style-image: url("chrome://browser/skin/sync-notification-24.png"); - -moz-margin-end: 10px; - vertical-align: middle; -} - -.panel-promo-closebutton { - -moz-appearance: none; - border: none; - -moz-margin-end: -10px; - margin-top: -5px; -} - -.panel-promo-closebutton > .toolbarbutton-text { - padding: 0; - margin: 0; -} - /* ::::: content area ::::: */ #sidebar { diff --git a/application/palemoon/themes/windows/jar.mn b/application/palemoon/themes/windows/jar.mn index 994e87be3..30643570b 100644 --- a/application/palemoon/themes/windows/jar.mn +++ b/application/palemoon/themes/windows/jar.mn @@ -159,7 +159,6 @@ browser.jar: skin/classic/browser/sync-bg.png skin/classic/browser/sync-desktopIcon.png skin/classic/browser/sync-mobileIcon.png - skin/classic/browser/sync-notification-24.png skin/classic/browser/syncSetup.css skin/classic/browser/syncCommon.css skin/classic/browser/syncQuota.css diff --git a/application/palemoon/themes/windows/sync-notification-24.png b/application/palemoon/themes/windows/sync-notification-24.png Binary files differdeleted file mode 100644 index fc9a4e63d..000000000 --- a/application/palemoon/themes/windows/sync-notification-24.png +++ /dev/null |