summaryrefslogtreecommitdiffstats
path: root/application
diff options
context:
space:
mode:
authorwin7-7 <win7-7@users.noreply.github.com>2019-08-04 23:13:48 +0300
committerwin7-7 <win7-7@users.noreply.github.com>2019-08-04 23:13:48 +0300
commit1c53b589c4425cf1bbb6b0bbc9df7689f94c86f3 (patch)
tree005e15e08597fb9c5798bb20db6494b5d96bea28 /application
parent248476f94e89772d64f6cbe597ebb193522f2a46 (diff)
parent5a957202b70a0b11078b0cffa8967b63baff5661 (diff)
downloadUXP-1c53b589c4425cf1bbb6b0bbc9df7689f94c86f3.tar
UXP-1c53b589c4425cf1bbb6b0bbc9df7689f94c86f3.tar.gz
UXP-1c53b589c4425cf1bbb6b0bbc9df7689f94c86f3.tar.lz
UXP-1c53b589c4425cf1bbb6b0bbc9df7689f94c86f3.tar.xz
UXP-1c53b589c4425cf1bbb6b0bbc9df7689f94c86f3.zip
Merge branch 'master' into FrameProperties-remove-obsolete-comment
Diffstat (limited to 'application')
-rw-r--r--application/palemoon/branding/official/configure.sh2
-rw-r--r--application/palemoon/branding/unofficial/configure.sh2
-rw-r--r--application/palemoon/branding/unstable/configure.sh2
-rw-r--r--application/palemoon/branding/unstable/firefox.icnsbin12079 -> 59809 bytes
-rw-r--r--application/palemoon/components/places/content/browserPlacesViews.js15
-rw-r--r--application/palemoon/components/places/content/controller.js86
-rw-r--r--application/palemoon/components/places/content/placesOverlay.xul11
-rw-r--r--application/palemoon/components/places/content/sidebarUtils.js2
-rw-r--r--application/palemoon/components/preferences/advanced.xul9
-rw-r--r--application/palemoon/components/preferences/privacy.js30
-rw-r--r--application/palemoon/components/preferences/privacy.xul3
-rw-r--r--application/palemoon/locales/en-US/chrome/browser/preferences/advanced.dtd2
-rw-r--r--application/palemoon/locales/generic/profile/bookmarks.html.in8
13 files changed, 79 insertions, 93 deletions
diff --git a/application/palemoon/branding/official/configure.sh b/application/palemoon/branding/official/configure.sh
index a9818b4a7..8943f5819 100644
--- a/application/palemoon/branding/official/configure.sh
+++ b/application/palemoon/branding/official/configure.sh
@@ -2,5 +2,5 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-MOZ_APP_DISPLAYNAME=PaleMoon
+MOZ_APP_DISPLAYNAME="Pale Moon"
# MOZ_UA_BUILDID=20100101
diff --git a/application/palemoon/branding/unofficial/configure.sh b/application/palemoon/branding/unofficial/configure.sh
index 05a1e1b87..c03b8382a 100644
--- a/application/palemoon/branding/unofficial/configure.sh
+++ b/application/palemoon/branding/unofficial/configure.sh
@@ -2,4 +2,4 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-MOZ_APP_DISPLAYNAME=NewMoon
+MOZ_APP_DISPLAYNAME="New Moon"
diff --git a/application/palemoon/branding/unstable/configure.sh b/application/palemoon/branding/unstable/configure.sh
index 814133dfa..8943f5819 100644
--- a/application/palemoon/branding/unstable/configure.sh
+++ b/application/palemoon/branding/unstable/configure.sh
@@ -2,5 +2,5 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-MOZ_APP_DISPLAYNAME=Palemoon
+MOZ_APP_DISPLAYNAME="Pale Moon"
# MOZ_UA_BUILDID=20100101
diff --git a/application/palemoon/branding/unstable/firefox.icns b/application/palemoon/branding/unstable/firefox.icns
index 117ddb195..3df606a01 100644
--- a/application/palemoon/branding/unstable/firefox.icns
+++ b/application/palemoon/branding/unstable/firefox.icns
Binary files differ
diff --git a/application/palemoon/components/places/content/browserPlacesViews.js b/application/palemoon/components/places/content/browserPlacesViews.js
index eec7274a4..8b90dd280 100644
--- a/application/palemoon/components/places/content/browserPlacesViews.js
+++ b/application/palemoon/components/places/content/browserPlacesViews.js
@@ -109,8 +109,15 @@ PlacesViewBase.prototype = {
get selectedNode() {
if (this._contextMenuShown) {
- let popup = document.popupNode;
- return popup._placesNode || popup.parentNode._placesNode || null;
+ let anchor = this._contextMenuShown.triggerNode;
+ if (!anchor)
+ return null;
+
+ if (anchor._placesNode)
+ return this._rootElt == anchor ? null : anchor._placesNode;
+
+ anchor = anchor.parentNode;
+ return this._rootElt == anchor ? null : (anchor._placesNode || null);
}
return null;
},
@@ -176,13 +183,13 @@ PlacesViewBase.prototype = {
},
buildContextMenu: function PVB_buildContextMenu(aPopup) {
- this._contextMenuShown = true;
+ this._contextMenuShown = aPopup;
window.updateCommands("places");
return this.controller.buildContextMenu(aPopup);
},
destroyContextMenu: function PVB_destroyContextMenu(aPopup) {
- this._contextMenuShown = false;
+ this._contextMenuShown = null;
},
_cleanPopup: function PVB_cleanPopup(aPopup, aDelay) {
diff --git a/application/palemoon/components/places/content/controller.js b/application/palemoon/components/places/content/controller.js
index 7f5f7f652..d09827163 100644
--- a/application/palemoon/components/places/content/controller.js
+++ b/application/palemoon/components/places/content/controller.js
@@ -334,20 +334,6 @@ PlacesController.prototype = {
},
/**
- * Determines whether or not the root node for the view is selected
- */
- rootNodeIsSelected: function PC_rootNodeIsSelected() {
- var nodes = this._view.selectedNodes;
- var root = this._view.result.root;
- for (var i = 0; i < nodes.length; ++i) {
- if (nodes[i] == root)
- return true;
- }
-
- return false;
- },
-
- /**
* Looks at the data on the clipboard to see if it is paste-able.
* Paste-able data is:
* - in a format that the view can receive
@@ -400,7 +386,7 @@ PlacesController.prototype = {
* Gathers information about the selected nodes according to the following
* rules:
* "link" node is a URI
- * "bookmark" node is a bookamrk
+ * "bookmark" node is a bookmark
* "livemarkChild" node is a child of a livemark
* "tagChild" node is a child of a tag
* "folder" node is a folder
@@ -414,15 +400,10 @@ PlacesController.prototype = {
* node are set on its corresponding object as properties.
* Notes:
* 1) This can be slow, so don't call it anywhere performance critical!
- * 2) A single-object array corresponding the root node is returned if
- * there's no selection.
*/
_buildSelectionMetadata: function PC__buildSelectionMetadata() {
var metadata = [];
- var root = this._view.result.root;
var nodes = this._view.selectedNodes;
- if (nodes.length == 0)
- nodes.push(root); // See the second note above
for (var i = 0; i < nodes.length; i++) {
var nodeData = {};
@@ -501,10 +482,23 @@ PlacesController.prototype = {
*/
_shouldShowMenuItem: function PC__shouldShowMenuItem(aMenuItem, aMetaData) {
var selectiontype = aMenuItem.getAttribute("selectiontype");
- if (selectiontype == "multiple" && aMetaData.length == 1)
+ if (!selectiontype) {
+ selectiontype = "single|multiple";
+ }
+ var selectionTypes = selectiontype.split("|");
+ if (selectionTypes.indexOf("any") != -1) {
+ return true;
+ }
+ var count = aMetaData.length;
+ if (count > 1 && selectionTypes.indexOf("multiple") == -1)
return false;
- if (selectiontype == "single" && aMetaData.length != 1)
+ if (count == 1 && selectionTypes.indexOf("single") == -1)
return false;
+ // NB: if there is no selection, we show the item if (and only if)
+ // the selectiontype includes 'none' - the metadata list will be
+ // empty so none of the other criteria will apply anyway.
+ if (count == 0)
+ return selectionTypes.indexOf("none") != -1;
var forceHideAttr = aMenuItem.getAttribute("forcehideselection");
if (forceHideAttr) {
@@ -551,9 +545,11 @@ PlacesController.prototype = {
* 1) The "selectiontype" attribute may be set on a menu-item to "single"
* if the menu-item should be visible only if there is a single node
* selected, or to "multiple" if the menu-item should be visible only if
- * multiple nodes are selected. If the attribute is not set or if it is
- * set to an invalid value, the menu-item may be visible for both types of
- * selection.
+ * multiple nodes are selected, or to "none" if the menuitems should be
+ * visible for if there are no selected nodes, or to a |-separated
+ * combination of these.
+ * If the attribute is not set or set to an invalid value, the menu-item
+ * may be visible irrespective of the selection.
* 2) The "selection" attribute may be set on a menu-item to the various
* meta-data rules for which it may be visible. The rules should be
* separated with the | character.
@@ -584,7 +580,7 @@ PlacesController.prototype = {
var separator = null;
var visibleItemsBeforeSep = false;
- var anyVisible = false;
+ var usableItemCount = 0;
for (var i = 0; i < aPopup.childNodes.length; ++i) {
var item = aPopup.childNodes[i];
if (item.localName != "menuseparator") {
@@ -598,12 +594,13 @@ PlacesController.prototype = {
(!/tree/i.test(this._view.localName) || ip);
var hideIfPrivate = item.getAttribute("hideifprivatebrowsing") == "true" &&
PrivateBrowsingUtils.isWindowPrivate(window);
- item.hidden = hideIfNoIP || hideIfPrivate || hideParentFolderItem ||
- !this._shouldShowMenuItem(item, metadata);
+ var shouldHideItem = hideIfNoIP || hideIfPrivate || hideParentFolderItem ||
+ !this._shouldShowMenuItem(item, metadata);
+ item.hidden = item.disabled = shouldHideItem;
if (!item.hidden) {
visibleItemsBeforeSep = true;
- anyVisible = true;
+ usableItemCount++;
// Show the separator above the menu-item if any
if (separator) {
@@ -627,21 +624,21 @@ PlacesController.prototype = {
}
// Set Open Folder/Links In Tabs items enabled state if they're visible
- if (anyVisible) {
+ if (usableItemCount > 0) {
var openContainerInTabsItem = document.getElementById("placesContext_openContainer:tabs");
- if (!openContainerInTabsItem.hidden && this._view.selectedNode &&
- PlacesUtils.nodeIsContainer(this._view.selectedNode)) {
- openContainerInTabsItem.disabled =
- !PlacesUtils.hasChildURIs(this._view.selectedNode);
- }
- else {
- // see selectiontype rule in the overlay
- var openLinksInTabsItem = document.getElementById("placesContext_openLinks:tabs");
- openLinksInTabsItem.disabled = openLinksInTabsItem.hidden;
+ if (!openContainerInTabsItem.hidden) {
+ var containerToUse = this._view.selectedNode || this._view.result.root;
+ if (PlacesUtils.nodeIsContainer(containerToUse)) {
+ if (!PlacesUtils.hasChildURIs(containerToUse, true)) {
+ openContainerInTabsItem.disabled = true;
+ // Ensure that we don't display the menu if nothing is enabled:
+ usableItemCount--;
+ }
+ }
}
}
- return anyVisible;
+ return usableItemCount > 0;
},
/**
@@ -707,10 +704,15 @@ PlacesController.prototype = {
*/
openSelectionInTabs: function PC_openLinksInTabs(aEvent) {
var node = this._view.selectedNode;
+ var nodes = this._view.selectedNodes;
+ // In the case of no selection, open the root node:
+ if (!node && !nodes.length) {
+ node = this._view.result.root;
+ }
if (node && PlacesUtils.nodeIsContainer(node))
- PlacesUIUtils.openContainerNodeInTabs(this._view.selectedNode, aEvent, this._view);
+ PlacesUIUtils.openContainerNodeInTabs(node, aEvent, this._view);
else
- PlacesUIUtils.openURINodesInTabs(this._view.selectedNodes, aEvent, this._view);
+ PlacesUIUtils.openURINodesInTabs(nodes, aEvent, this._view);
},
/**
diff --git a/application/palemoon/components/places/content/placesOverlay.xul b/application/palemoon/components/places/content/placesOverlay.xul
index dd4d50f01..745990a9c 100644
--- a/application/palemoon/components/places/content/placesOverlay.xul
+++ b/application/palemoon/components/places/content/placesOverlay.xul
@@ -149,20 +149,20 @@
command="placesCmd_new:bookmark"
label="&cmd.new_bookmark.label;"
accesskey="&cmd.new_bookmark.accesskey;"
- selection="any"
+ selectiontype="any"
hideifnoinsertionpoint="true"/>
<menuitem id="placesContext_new:folder"
command="placesCmd_new:folder"
label="&cmd.new_folder.label;"
accesskey="&cmd.context_new_folder.accesskey;"
- selection="any"
+ selectiontype="any"
hideifnoinsertionpoint="true"/>
<menuitem id="placesContext_new:separator"
command="placesCmd_new:separator"
label="&cmd.new_separator.label;"
accesskey="&cmd.new_separator.accesskey;"
closemenu="single"
- selection="any"
+ selectiontype="any"
hideifnoinsertionpoint="true"/>
<menuseparator id="placesContext_newSeparator"/>
<menuitem id="placesContext_createBookmark"
@@ -182,14 +182,13 @@
command="placesCmd_copy"
label="&copyCmd.label;"
closemenu="single"
- accesskey="&copyCmd.accesskey;"
- selection="any"/>
+ accesskey="&copyCmd.accesskey;"/>
<menuitem id="placesContext_paste"
command="placesCmd_paste"
label="&pasteCmd.label;"
closemenu="single"
accesskey="&pasteCmd.accesskey;"
- selection="any"
+ selectiontype="any"
hideifnoinsertionpoint="true"/>
<menuseparator id="placesContext_editSeparator"/>
<menuitem id="placesContext_delete"
diff --git a/application/palemoon/components/places/content/sidebarUtils.js b/application/palemoon/components/places/content/sidebarUtils.js
index 8ffb70348..06ed53753 100644
--- a/application/palemoon/components/places/content/sidebarUtils.js
+++ b/application/palemoon/components/places/content/sidebarUtils.js
@@ -40,7 +40,7 @@ var SidebarUtils = {
var openInTabs = isContainer &&
(aEvent.button == 1 ||
(aEvent.button == 0 && modifKey)) &&
- PlacesUtils.hasChildURIs(tbo.view.nodeForTreeIndex(cell.row));
+ PlacesUtils.hasChildURIs(tbo.view.nodeForTreeIndex(cell.row), true);
if (aEvent.button == 0 && isContainer && !openInTabs) {
tbo.view.toggleOpenState(cell.row);
diff --git a/application/palemoon/components/preferences/advanced.xul b/application/palemoon/components/preferences/advanced.xul
index 34998c1b8..e5f3bb160 100644
--- a/application/palemoon/components/preferences/advanced.xul
+++ b/application/palemoon/components/preferences/advanced.xul
@@ -106,6 +106,8 @@
<preference id="general.smoothScroll.scrollbars" name="general.smoothScroll.scrollbars" type="bool"/>
<preference id="general.smoothScroll.scrollbars.durationMinMS" name="general.smoothScroll.scrollbars.durationMinMS" type="int"/>
<preference id="general.smoothScroll.scrollbars.durationMaxMS" name="general.smoothScroll.scrollbars.durationMaxMS" type="int"/>
+
+ <preference id="mousewheel.default.delta_multiplier_y" name="mousewheel.default.delta_multiplier_y" type="int"/>
</preferences>
#ifdef HAVE_SHELL_SERVICE
@@ -445,6 +447,13 @@
preference="general.smoothScroll.scrollbars.durationMaxMS"/>
<label flex="1">ms.</label>
</hbox>
+
+ <hbox align="center">
+ <label value="&smoothscroll.overall.yspeed.label;"/>
+ <textbox type="number" size="3" min="1" max="999"
+ preference="mousewheel.default.delta_multiplier_y"/>
+ <label flex="1">%.</label>
+ </hbox>
</groupbox>
</tabpanel>
<!-- end Smooth scrolling tab -->
diff --git a/application/palemoon/components/preferences/privacy.js b/application/palemoon/components/preferences/privacy.js
index 05c2f9b8a..e2a871acc 100644
--- a/application/palemoon/components/preferences/privacy.js
+++ b/application/palemoon/components/preferences/privacy.js
@@ -298,36 +298,6 @@ var gPrivacyPane = {
// HISTORY
- /**
- * Read the location bar enabled and suggestion prefs
- * @return Int value for suggestion menulist
- */
- readSuggestionPref: function PPP_readSuggestionPref()
- {
- let getVal = function(aPref)
- document.getElementById("browser.urlbar." + aPref).value;
-
- // Suggest nothing if autocomplete is not enabled
- if (!getVal("autocomplete.enabled"))
- return -1;
-
- // Bottom 2 bits of default.behavior specify history/bookmark
- return getVal("default.behavior") & 3;
- },
-
- /**
- * Update browser.urlbar.autocomplete.enabled when a
- * browser.urlbar.suggest.* pref is changed from the ui.
- */
- writeSuggestionPref: function PPP_writeSuggestionPref() {
- let getVal = (aPref) => {
- return document.getElementById("browser.urlbar.suggest." + aPref).value;
- }
- // autocomplete.enabled is true if any of the suggestions is true
- let enabled = ["history", "bookmark", "openpage"].map(getVal).some(v => v);
- Services.prefs.setBoolPref("browser.urlbar.autocomplete.enabled", enabled);
- },
-
/*
* Preferences:
*
diff --git a/application/palemoon/components/preferences/privacy.xul b/application/palemoon/components/preferences/privacy.xul
index bdb227c63..d2f8106d1 100644
--- a/application/palemoon/components/preferences/privacy.xul
+++ b/application/palemoon/components/preferences/privacy.xul
@@ -254,15 +254,12 @@
<vbox id="tabPrefsBox" align="start" flex="1">
<checkbox id="historySuggestion" label="&locbar.history.label;"
- onsyncfrompreference="return gPrivacyPane.writeSuggestionPref();"
accesskey="&locbar.history.accesskey;"
preference="browser.urlbar.suggest.history"/>
<checkbox id="bookmarkSuggestion" label="&locbar.bookmarks.label;"
- onsyncfrompreference="return gPrivacyPane.writeSuggestionPref();"
accesskey="&locbar.bookmarks.accesskey;"
preference="browser.urlbar.suggest.bookmark"/>
<checkbox id="openpageSuggestion" label="&locbar.openpage.label;"
- onsyncfrompreference="return gPrivacyPane.writeSuggestionPref();"
accesskey="&locbar.openpage.accesskey;"
preference="browser.urlbar.suggest.openpage"/>
</vbox>
diff --git a/application/palemoon/locales/en-US/chrome/browser/preferences/advanced.dtd b/application/palemoon/locales/en-US/chrome/browser/preferences/advanced.dtd
index dcb7b0e90..bb8dd12d2 100644
--- a/application/palemoon/locales/en-US/chrome/browser/preferences/advanced.dtd
+++ b/application/palemoon/locales/en-US/chrome/browser/preferences/advanced.dtd
@@ -147,3 +147,5 @@
<!ENTITY smoothscroll.pagekeys.duration "Page up/down scroll duration:">
<!ENTITY smoothscroll.scrollbar.label "Smooth scroll with scrollbars">
<!ENTITY smoothscroll.scrollbar.duration "Scrollbar smooth scroll duration:">
+
+<!ENTITY smoothscroll.overall.yspeed.label "Overall smooth scroll speed:">
diff --git a/application/palemoon/locales/generic/profile/bookmarks.html.in b/application/palemoon/locales/generic/profile/bookmarks.html.in
index 96270641a..90e3adfe9 100644
--- a/application/palemoon/locales/generic/profile/bookmarks.html.in
+++ b/application/palemoon/locales/generic/profile/bookmarks.html.in
@@ -11,9 +11,9 @@
<DT><H3 PERSONAL_TOOLBAR_FOLDER="true" ID="rdf:#$FvPhC3">@bookmarks_toolbarfolder@</H3>
<DD>@bookmarks_toolbarfolder_description@
<DL><p>
- <DT><A HREF="http://www.palemoon.org/" ICON_URI="http://www.palemoon.org/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADe0lEQVQ4jW2T7VPTBQDHfwd/gpZW57bwuvJFIQ1lPgy9g7KzNCO4A9sDA8FNTCyg0KD9GBuCIrYhHYPw6Ygd2xB0rAFrEfxikA03YibyIO4pYGwONlhbx923F72I2/V5/f18X32/BBHDrox6ejKnlTxSaqRKlROuK5op1w3DHKUfdZC1d36hxeY3Qca9lVFH7uG2RFLPdKGo0YqOQTcouw/T7hBcy2E4l9YjuhGHmCDJuFg7bmd6mXrXMRleO9EEZp4axc2T6DH/CddyGN5ABMH1vxGObMC/GoVp3N1JEJtKXmadEdPY50FLJ/FGphIHzurx5Y1HMFiW8HB2BX84gvD4wghHNvBXdAMeXxi3fpj5+l+ZWUjbzsyL0NjFeDOjAcm823inxIjSVjuMD72g7D5YZ1fw2BmEbzWCQCgK29wK6rXTEYF0aAexPTmX3MbkY+fhYqQKlMgW/wiObAzFzZNo1s9D/2ARk/OrGPrdB5PVC5PVi7HHz3FaYUN29ZCYePFt/vDW3VwkfnARR4tuouAyBUGdGbw6C9r6HTDZlmF/tgoN5UFbnwPynjk06+chUz1B2vn7Q8RLyTzX1kQOEg59iiOF3+IkOQCejIJQboXi3lOMzwQw7Q5h5JEf6mEPbhudEF2fwNGKEbBOqZ0ELYXn2pLIwQvMPLB5cmSU68C7NIqSlilcveuCweLH+EwI1tkg9A8WofrZDW6tBccvDoN9Wu0k6Ck8alsSB6+kFCDpIylOlPUgR0JB+I0V4g43FL1+dFIhGH5bR1v/EiTfP4VIPoHMykGkCjXDBC1FUEXbywFjfz7Y2VJkXtAhp2oQIrkNEvUC6nV+NPaH0NgXQv19PyranTjbZEeOhMLBQhVJMFhCBmPvJ9GE/Twwj5fj/c+04NaMoKT1CRp6A7g+sAZFXxByQxBXdc8h1S6hst2BD8sHIkknv6MTBEEQ9H25klf3ccE8VobMLzQQXrNA0ulB08AamoxraOwPoaE3gNruZZAqN0QKGw6JtFWblpwVT2fxtQkH8pFeoAS/hsKFW7O4cs+Ha/oA6rq9qOlahLjDBaHchrRz3VqCyIqPuUNW/A5WfvXr71VE3z3XBX7tGMraplHZ/gxf3ZnH5y1T4MhGo6kiTfX/yP/BOEwyducopWlFXeYs8U8Lgsu/LvAvmc0fV5ikrFwVIzb/D6b/QY5z63dPAAAAAElFTkSuQmCC">Pale Moon</A>
- <DT><A HREF="https://forum.palemoon.org/index.php" ICON_URI="https://forum.palemoon.org/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADWUlEQVQ4jW1T60+Tdxj9Bf4CyXRR21Kixgheq1baAo2IaLkIpi0tpdQCBZHLNIIgQvGlpVkHOnnpFKrOTafUtjIuVYmXKBZREzLB4A0NbOVFghVtcEOqJid+YMlI50meb+ecPM/JeQgJQESymcNTNVHx+7vcJdYBps7+dNTS9tz9s2uQ0pQ7OIH8OaCCVqb+QG3ItPqj81tRYHmIltsMeh5PYoh5D8Y7Dc/EPzNnrzw5TCgqKFAdtCSuzL480YQlO34CL8uO4qZBtN0bB+OdxmvfDKamP2Ha/xmTU3503h25SMgck0XCosOsqO/AiqXAiinFvDAhlvK2ImpLEuIkKdgqSUG2bje8kz588H/G2JsPOGZ/qJ8VxxSwv12f7V8sLELEzqMIl1SAEPLV6fvjEd69/4iBYR/qnS9mlJXtbLKIn0ct4GkQJi5GtNYKhf464tP2ghACmUyOevokpHIlVoSHw+a6h5v9Xtx/9ha5dD+Sy69WkwXrte6Q1WqsSqyApOAMdHVuiNMNIIRAkZ6Byz1D6HvyCiftt9HUPgi6fRjNV/5ErW0I4sLWO2ThBg0TsjoDYTFFiM89gfTqa4hW1IAQAhabg81xCdiWmIraY7/A3j2KX294kG95BMmhu4jUOTyEzc9kQlap8M26LESpG7CzzIWYdNP/7lepNfi9+yVs3WNQm/uQfNANUd7FUcKJ3NUzf40KC/k6rE01YkdpOwSy2Q2ksjQYjpzG9/Q5NJ5qRXPnCGouDCOfHoC06hYEOS13CEeQW8PaqEKoIAsihRHS8k4IZfrZEBVq1DleorHLh8arPtR3TKLyvAeFxx9DaXCDrz1LkbDYktBQvsrPjczEuqQyJOx1IurfDGTKTNAdDBq7ptDQNYUjrneodU6g6rwHKRXXZyLk9Gy1Q0U6A3dTBnhJJZAecCClsBkrwlciZ3cx6M4xWK79jR8v+2Bue4Nq2xjy6QEIcltq5jRZHsyJ1F7iCrMRm2OFxtSNcsstmM704mjHa5jbvDBdmoC+hUFeQz/EBU4nIfLggHeQB7NFeYZl2yr9ccWt0JgfoPT0C1T99hcqzo1gn/UZ1KZev0hnM3xF/B+42ynumrQTRvEeR69Mf3Nca34wnmF09yYccBnXKpu4gfwvLIL1Qrog43cAAAAASUVORK5CYII=" LAST_CHARSET="UTF-8">Pale Moon forum</A>
- <DT><A HREF="http://www.palemoon.org/faq.shtml" ICON_URI="http://www.palemoon.org/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADe0lEQVQ4jW2T7VPTBQDHfwd/gpZW57bwuvJFIQ1lPgy9g7KzNCO4A9sDA8FNTCyg0KD9GBuCIrYhHYPw6Ygd2xB0rAFrEfxikA03YibyIO4pYGwONlhbx923F72I2/V5/f18X32/BBHDrox6ejKnlTxSaqRKlROuK5op1w3DHKUfdZC1d36hxeY3Qca9lVFH7uG2RFLPdKGo0YqOQTcouw/T7hBcy2E4l9YjuhGHmCDJuFg7bmd6mXrXMRleO9EEZp4axc2T6DH/CddyGN5ABMH1vxGObMC/GoVp3N1JEJtKXmadEdPY50FLJ/FGphIHzurx5Y1HMFiW8HB2BX84gvD4wghHNvBXdAMeXxi3fpj5+l+ZWUjbzsyL0NjFeDOjAcm823inxIjSVjuMD72g7D5YZ1fw2BmEbzWCQCgK29wK6rXTEYF0aAexPTmX3MbkY+fhYqQKlMgW/wiObAzFzZNo1s9D/2ARk/OrGPrdB5PVC5PVi7HHz3FaYUN29ZCYePFt/vDW3VwkfnARR4tuouAyBUGdGbw6C9r6HTDZlmF/tgoN5UFbnwPynjk06+chUz1B2vn7Q8RLyTzX1kQOEg59iiOF3+IkOQCejIJQboXi3lOMzwQw7Q5h5JEf6mEPbhudEF2fwNGKEbBOqZ0ELYXn2pLIwQvMPLB5cmSU68C7NIqSlilcveuCweLH+EwI1tkg9A8WofrZDW6tBccvDoN9Wu0k6Ck8alsSB6+kFCDpIylOlPUgR0JB+I0V4g43FL1+dFIhGH5bR1v/EiTfP4VIPoHMykGkCjXDBC1FUEXbywFjfz7Y2VJkXtAhp2oQIrkNEvUC6nV+NPaH0NgXQv19PyranTjbZEeOhMLBQhVJMFhCBmPvJ9GE/Twwj5fj/c+04NaMoKT1CRp6A7g+sAZFXxByQxBXdc8h1S6hst2BD8sHIkknv6MTBEEQ9H25klf3ccE8VobMLzQQXrNA0ulB08AamoxraOwPoaE3gNruZZAqN0QKGw6JtFWblpwVT2fxtQkH8pFeoAS/hsKFW7O4cs+Ha/oA6rq9qOlahLjDBaHchrRz3VqCyIqPuUNW/A5WfvXr71VE3z3XBX7tGMraplHZ/gxf3ZnH5y1T4MhGo6kiTfX/yP/BOEwyducopWlFXeYs8U8Lgsu/LvAvmc0fV5ikrFwVIzb/D6b/QY5z63dPAAAAAElFTkSuQmCC">F.A.Q.</A>
- <DT><A HREF="http://www.palemoon.org/releasenotes.shtml" ICON_URI="http://www.palemoon.org/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADe0lEQVQ4jW2T7VPTBQDHfwd/gpZW57bwuvJFIQ1lPgy9g7KzNCO4A9sDA8FNTCyg0KD9GBuCIrYhHYPw6Ygd2xB0rAFrEfxikA03YibyIO4pYGwONlhbx923F72I2/V5/f18X32/BBHDrox6ejKnlTxSaqRKlROuK5op1w3DHKUfdZC1d36hxeY3Qca9lVFH7uG2RFLPdKGo0YqOQTcouw/T7hBcy2E4l9YjuhGHmCDJuFg7bmd6mXrXMRleO9EEZp4axc2T6DH/CddyGN5ABMH1vxGObMC/GoVp3N1JEJtKXmadEdPY50FLJ/FGphIHzurx5Y1HMFiW8HB2BX84gvD4wghHNvBXdAMeXxi3fpj5+l+ZWUjbzsyL0NjFeDOjAcm823inxIjSVjuMD72g7D5YZ1fw2BmEbzWCQCgK29wK6rXTEYF0aAexPTmX3MbkY+fhYqQKlMgW/wiObAzFzZNo1s9D/2ARk/OrGPrdB5PVC5PVi7HHz3FaYUN29ZCYePFt/vDW3VwkfnARR4tuouAyBUGdGbw6C9r6HTDZlmF/tgoN5UFbnwPynjk06+chUz1B2vn7Q8RLyTzX1kQOEg59iiOF3+IkOQCejIJQboXi3lOMzwQw7Q5h5JEf6mEPbhudEF2fwNGKEbBOqZ0ELYXn2pLIwQvMPLB5cmSU68C7NIqSlilcveuCweLH+EwI1tkg9A8WofrZDW6tBccvDoN9Wu0k6Ck8alsSB6+kFCDpIylOlPUgR0JB+I0V4g43FL1+dFIhGH5bR1v/EiTfP4VIPoHMykGkCjXDBC1FUEXbywFjfz7Y2VJkXtAhp2oQIrkNEvUC6nV+NPaH0NgXQv19PyranTjbZEeOhMLBQhVJMFhCBmPvJ9GE/Twwj5fj/c+04NaMoKT1CRp6A7g+sAZFXxByQxBXdc8h1S6hst2BD8sHIkknv6MTBEEQ9H25klf3ccE8VobMLzQQXrNA0ulB08AamoxraOwPoaE3gNruZZAqN0QKGw6JtFWblpwVT2fxtQkH8pFeoAS/hsKFW7O4cs+Ha/oA6rq9qOlahLjDBaHchrRz3VqCyIqPuUNW/A5WfvXr71VE3z3XBX7tGMraplHZ/gxf3ZnH5y1T4MhGo6kiTfX/yP/BOEwyducopWlFXeYs8U8Lgsu/LvAvmc0fV5ikrFwVIzb/D6b/QY5z63dPAAAAAElFTkSuQmCC">Release notes</A>
+ <DT><A HREF="http://www.palemoon.org/" ICON_URI="http://www.palemoon.org/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfjBQQNKi3s6zvVAAAAB3RJTUUH4wUFDiY4QniqfgAAAAlwSFlzAAAK8AAACvABQqw0mAAAAn1JREFUeNpVU9FKW0EUnLO7NzdFY5uqRSMSoSj1F/paP0EEoU/2H/pWIkiLX+GzH5HnQj9BENQqpSgWkdbeu/fubudsCKQ3CSS7M3PmzDmRb5f3mH1SShsGcmAF7wTYaGMC35cQjBNwYoxczeJlKpASrAFGHYOP3cKUJMO3Cb4JMPwhIggJdZNwLEaOKBiU52bIp73S7jp+iyyJFNG2/JBlSBYC6KrsWhnR1XYQ2Sc1GuRKcTTXMbudwqpcfokxUPtamV/heGWdgaVKYWXPpvRp0sLF/ZB3Z72uKx0B3ocswis8VQ0CRf7yTMWflRZTh00bq1awpS18IK8kXltBQWDbBroK2X7Byxc9m9tIk7Qyju66EThwjHhHyS3DQpG0dSYVEELM9rWdyKskmmDMEpaphjpAnOw4VhuayAMGBi85cX0UzF7xVEfUdJNyV5Ltu5wNYIJsOK1GPji6TFKBkm3wJxq6iLQkMWVXhkmqkAktHHF/qgDnfXsZUhi03mTVqm7gFKiDzuPUXWg4FabPqbdRRVWcZOcuiJXx02P1VgjU8HJM2rtWysFOzh1dcXSaPizolEKdue5Yvp7fDn+efz+LtS81Bt2YIHn1Jn0SqLO31ubwtLzlGfekerm5vuWss1fzz3vHtxc/RpE9q4cmkcCKUW2yGc2EFLQpTdcei8OVL8a567zKCyuLR78f6u37m7s9iS0rE1HrhD1qilXC6vyIddCr/mr/dH516bNy8ypz3mHwZrD/anPt0JuyqkOBqtJlKrhMFk2dUPkID1MtvV45XNsevCcn/vdvnD6+btbvbn4dPNw+7lSVH+pZOde96i8vjJcH/ZNO6a5n8f8A5KRcUpQlS3kAAAAASUVORK5CYII=">Pale Moon</A>
+ <DT><A HREF="https://forum.palemoon.org/index.php" ICON_URI="https://forum.palemoon.org/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfjBQQNKi3s6zvVAAAAB3RJTUUH4wUFDiY4QniqfgAAAAlwSFlzAAAK8AAACvABQqw0mAAAAn1JREFUeNpVU9FKW0EUnLO7NzdFY5uqRSMSoSj1F/paP0EEoU/2H/pWIkiLX+GzH5HnQj9BENQqpSgWkdbeu/fubudsCKQ3CSS7M3PmzDmRb5f3mH1SShsGcmAF7wTYaGMC35cQjBNwYoxczeJlKpASrAFGHYOP3cKUJMO3Cb4JMPwhIggJdZNwLEaOKBiU52bIp73S7jp+iyyJFNG2/JBlSBYC6KrsWhnR1XYQ2Sc1GuRKcTTXMbudwqpcfokxUPtamV/heGWdgaVKYWXPpvRp0sLF/ZB3Z72uKx0B3ocswis8VQ0CRf7yTMWflRZTh00bq1awpS18IK8kXltBQWDbBroK2X7Byxc9m9tIk7Qyju66EThwjHhHyS3DQpG0dSYVEELM9rWdyKskmmDMEpaphjpAnOw4VhuayAMGBi85cX0UzF7xVEfUdJNyV5Ltu5wNYIJsOK1GPji6TFKBkm3wJxq6iLQkMWVXhkmqkAktHHF/qgDnfXsZUhi03mTVqm7gFKiDzuPUXWg4FabPqbdRRVWcZOcuiJXx02P1VgjU8HJM2rtWysFOzh1dcXSaPizolEKdue5Yvp7fDn+efz+LtS81Bt2YIHn1Jn0SqLO31ubwtLzlGfekerm5vuWss1fzz3vHtxc/RpE9q4cmkcCKUW2yGc2EFLQpTdcei8OVL8a567zKCyuLR78f6u37m7s9iS0rE1HrhD1qilXC6vyIddCr/mr/dH516bNy8ypz3mHwZrD/anPt0JuyqkOBqtJlKrhMFk2dUPkID1MtvV45XNsevCcn/vdvnD6+btbvbn4dPNw+7lSVH+pZOde96i8vjJcH/ZNO6a5n8f8A5KRcUpQlS3kAAAAASUVORK5CYII=" LAST_CHARSET="UTF-8">Pale Moon forum</A>
+ <DT><A HREF="http://www.palemoon.org/faq.shtml" ICON_URI="http://www.palemoon.org/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfjBQQNKi3s6zvVAAAAB3RJTUUH4wUFDiY4QniqfgAAAAlwSFlzAAAK8AAACvABQqw0mAAAAn1JREFUeNpVU9FKW0EUnLO7NzdFY5uqRSMSoSj1F/paP0EEoU/2H/pWIkiLX+GzH5HnQj9BENQqpSgWkdbeu/fubudsCKQ3CSS7M3PmzDmRb5f3mH1SShsGcmAF7wTYaGMC35cQjBNwYoxczeJlKpASrAFGHYOP3cKUJMO3Cb4JMPwhIggJdZNwLEaOKBiU52bIp73S7jp+iyyJFNG2/JBlSBYC6KrsWhnR1XYQ2Sc1GuRKcTTXMbudwqpcfokxUPtamV/heGWdgaVKYWXPpvRp0sLF/ZB3Z72uKx0B3ocswis8VQ0CRf7yTMWflRZTh00bq1awpS18IK8kXltBQWDbBroK2X7Byxc9m9tIk7Qyju66EThwjHhHyS3DQpG0dSYVEELM9rWdyKskmmDMEpaphjpAnOw4VhuayAMGBi85cX0UzF7xVEfUdJNyV5Ltu5wNYIJsOK1GPji6TFKBkm3wJxq6iLQkMWVXhkmqkAktHHF/qgDnfXsZUhi03mTVqm7gFKiDzuPUXWg4FabPqbdRRVWcZOcuiJXx02P1VgjU8HJM2rtWysFOzh1dcXSaPizolEKdue5Yvp7fDn+efz+LtS81Bt2YIHn1Jn0SqLO31ubwtLzlGfekerm5vuWss1fzz3vHtxc/RpE9q4cmkcCKUW2yGc2EFLQpTdcei8OVL8a567zKCyuLR78f6u37m7s9iS0rE1HrhD1qilXC6vyIddCr/mr/dH516bNy8ypz3mHwZrD/anPt0JuyqkOBqtJlKrhMFk2dUPkID1MtvV45XNsevCcn/vdvnD6+btbvbn4dPNw+7lSVH+pZOde96i8vjJcH/ZNO6a5n8f8A5KRcUpQlS3kAAAAASUVORK5CYII=">F.A.Q.</A>
+ <DT><A HREF="http://www.palemoon.org/releasenotes.shtml" ICON_URI="http://www.palemoon.org/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfjBQQNKi3s6zvVAAAAB3RJTUUH4wUFDiY4QniqfgAAAAlwSFlzAAAK8AAACvABQqw0mAAAAn1JREFUeNpVU9FKW0EUnLO7NzdFY5uqRSMSoSj1F/paP0EEoU/2H/pWIkiLX+GzH5HnQj9BENQqpSgWkdbeu/fubudsCKQ3CSS7M3PmzDmRb5f3mH1SShsGcmAF7wTYaGMC35cQjBNwYoxczeJlKpASrAFGHYOP3cKUJMO3Cb4JMPwhIggJdZNwLEaOKBiU52bIp73S7jp+iyyJFNG2/JBlSBYC6KrsWhnR1XYQ2Sc1GuRKcTTXMbudwqpcfokxUPtamV/heGWdgaVKYWXPpvRp0sLF/ZB3Z72uKx0B3ocswis8VQ0CRf7yTMWflRZTh00bq1awpS18IK8kXltBQWDbBroK2X7Byxc9m9tIk7Qyju66EThwjHhHyS3DQpG0dSYVEELM9rWdyKskmmDMEpaphjpAnOw4VhuayAMGBi85cX0UzF7xVEfUdJNyV5Ltu5wNYIJsOK1GPji6TFKBkm3wJxq6iLQkMWVXhkmqkAktHHF/qgDnfXsZUhi03mTVqm7gFKiDzuPUXWg4FabPqbdRRVWcZOcuiJXx02P1VgjU8HJM2rtWysFOzh1dcXSaPizolEKdue5Yvp7fDn+efz+LtS81Bt2YIHn1Jn0SqLO31ubwtLzlGfekerm5vuWss1fzz3vHtxc/RpE9q4cmkcCKUW2yGc2EFLQpTdcei8OVL8a567zKCyuLR78f6u37m7s9iS0rE1HrhD1qilXC6vyIddCr/mr/dH516bNy8ypz3mHwZrD/anPt0JuyqkOBqtJlKrhMFk2dUPkID1MtvV45XNsevCcn/vdvnD6+btbvbn4dPNw+7lSVH+pZOde96i8vjJcH/ZNO6a5n8f8A5KRcUpQlS3kAAAAASUVORK5CYII=">Release notes</A>
</DL><p>
</DL><p>