summaryrefslogtreecommitdiffstats
path: root/application/palemoon/components/preferences
diff options
context:
space:
mode:
Diffstat (limited to 'application/palemoon/components/preferences')
-rw-r--r--application/palemoon/components/preferences/advanced.js4
-rw-r--r--application/palemoon/components/preferences/advanced.xul26
-rw-r--r--application/palemoon/components/preferences/connection.js2
-rw-r--r--application/palemoon/components/preferences/connection.xul6
-rw-r--r--application/palemoon/components/preferences/jar.mn73
-rw-r--r--application/palemoon/components/preferences/main.xul7
-rw-r--r--application/palemoon/components/preferences/newtaburl.js102
-rw-r--r--application/palemoon/components/preferences/preferences.xul4
-rw-r--r--application/palemoon/components/preferences/security.xul25
-rw-r--r--application/palemoon/components/preferences/tabs.js75
-rw-r--r--application/palemoon/components/preferences/tabs.xul2
11 files changed, 190 insertions, 136 deletions
diff --git a/application/palemoon/components/preferences/advanced.js b/application/palemoon/components/preferences/advanced.js
index 0803496fe..aab58b386 100644
--- a/application/palemoon/components/preferences/advanced.js
+++ b/application/palemoon/components/preferences/advanced.js
@@ -455,7 +455,7 @@ var gAdvancedPane = {
var list = document.getElementById("offlineAppsList");
var item = list.selectedItem;
var origin = item.getAttribute("origin");
- var principal = BrowserUtils.principalFromOrigin(origin);
+ var principal = Services.scriptSecurityManager.createCodebasePrincipalFromOrigin(origin);
var prompts = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
.getService(Components.interfaces.nsIPromptService);
@@ -474,7 +474,7 @@ var gAdvancedPane = {
// get the permission
var pm = Components.classes["@mozilla.org/permissionmanager;1"]
.getService(Components.interfaces.nsIPermissionManager);
- var perm = pm.getPermissionObject(principal, "offline-app");
+ var perm = pm.getPermissionObject(principal, "offline-app", true);
if (perm) {
// clear offline cache entries
try {
diff --git a/application/palemoon/components/preferences/advanced.xul b/application/palemoon/components/preferences/advanced.xul
index 3bd5becb3..34998c1b8 100644
--- a/application/palemoon/components/preferences/advanced.xul
+++ b/application/palemoon/components/preferences/advanced.xul
@@ -27,10 +27,7 @@
<!--XXX button prefs -->
<!-- General tab -->
-<!-- Pale Moon: remove accessibility features, they confuse people anyway -->
-<!-- <preference id="accessibility.browsewithcaret" name="accessibility.browsewithcaret" type="bool"/> -->
<preference id="accessibility.typeaheadfind" name="accessibility.typeaheadfind" type="bool"/>
-<!-- <preference id="accessibility.blockautorefresh" name="accessibility.blockautorefresh" type="bool"/> -->
<preference id="general.autoScroll" name="general.autoScroll" type="bool"/>
<preference id="general.smoothScroll" name="general.smoothScroll" type="bool"/>
@@ -51,8 +48,8 @@
type="bool"/>
#endif
<preference id="pref.general.compatmode" name="general.useragent.compatMode" type="int"/>
-
- <!-- Data Choices tab -->
+
+ <preference id="pref.general.captiveportal" name="network.captive-portal-service.enabled" type="bool"/>
<!-- Network tab -->
<preference id="browser.cache.disk.capacity" name="browser.cache.disk.capacity" type="int"/>
@@ -136,22 +133,13 @@
<tabpanel id="generalPanel" orient="vertical">
<!-- Accessibility -->
-<!-- Pale Moon: remove accessibility features, they confuse people anyway -->
<groupbox id="accessibilityGroup" align="start">
<caption label="&accessibility.label;"/>
-<!-- <checkbox id="useCursorNavigation"
- label="&useCursorNavigation.label;"
- accesskey="&useCursorNavigation.accesskey;"
- preference="accessibility.browsewithcaret"/> -->
<checkbox id="searchStartTyping"
label="&searchStartTyping.label;"
accesskey="&searchStartTyping.accesskey;"
preference="accessibility.typeaheadfind"/>
-<!-- <checkbox id="blockAutoRefresh"
- label="&blockAutoRefresh.label;"
- accesskey="&blockAutoRefresh.accesskey;"
- preference="accessibility.blockautorefresh"/> -->
</groupbox>
<!-- Browsing -->
@@ -193,6 +181,7 @@
</hbox>
</groupbox>
#endif
+ <!-- User Agent compatibility -->
<groupbox id="UACompatGroup" orient="vertical">
<caption label="&UACompatGroup.label;"/>
<hbox align="center">
@@ -206,6 +195,15 @@
</menulist>
</hbox>
</groupbox>
+
+ <!-- Captive portal detection -->
+ <groupbox id="captivePortalGroup" orient="vertical">
+ <caption label="&captivePortalGroup.label;"/>
+ <checkbox id="captivePortalDetect"
+ label="&captivePortalDetect.label;"
+ preference="pref.general.captiveportal"/>
+ </groupbox>
+
</tabpanel>
<!-- Network -->
diff --git a/application/palemoon/components/preferences/connection.js b/application/palemoon/components/preferences/connection.js
index c1dd1bb6d..da038c925 100644
--- a/application/palemoon/components/preferences/connection.js
+++ b/application/palemoon/components/preferences/connection.js
@@ -63,7 +63,7 @@ var gConnectionsDialog = {
autologinProxyPref.disabled = proxyTypePref.value == 0;
var noProxiesPref = document.getElementById("network.proxy.no_proxies_on");
- noProxiesPref.disabled = proxyTypePref.value != 1;
+ noProxiesPref.disabled = proxyTypePref.value == 0;
var autoconfigURLPref = document.getElementById("network.proxy.autoconfig_url");
autoconfigURLPref.disabled = proxyTypePref.value != 2;
diff --git a/application/palemoon/components/preferences/connection.xul b/application/palemoon/components/preferences/connection.xul
index 491bf4878..e6079dd54 100644
--- a/application/palemoon/components/preferences/connection.xul
+++ b/application/palemoon/components/preferences/connection.xul
@@ -138,9 +138,6 @@
<radio id="networkProxySOCKSVersion5" value="5" label="&socks5.label;" accesskey="&socks5.accesskey;"/>
</radiogroup>
</row>
- <label value="&noproxy.label;" accesskey="&noproxy.accesskey;" control="networkProxyNone"/>
- <textbox id="networkProxyNone" preference="network.proxy.no_proxies_on" multiline="true" rows="2"/>
- <label value="&noproxyExplain.label;" control="networkProxyNone"/>
</rows>
</grid>
<radio value="2" label="&autoTypeRadio.label;" accesskey="&autoTypeRadio.accesskey;"/>
@@ -154,6 +151,9 @@
</hbox>
</radiogroup>
<separator class="thin"/>
+ <label value="&noproxy.label;" accesskey="&noproxy.accesskey;" control="networkProxyNone"/>
+ <textbox id="networkProxyNone" preference="network.proxy.no_proxies_on" multiline="true" rows="2"/>
+ <label value="&noproxyExplain.label;" control="networkProxyNone"/>
<checkbox id="autologinProxy" preference="signon.autologin.proxy"
label="&autologinproxy.label;" accesskey="&autologinproxy.accesskey;"
tooltiptext="&autologinproxy.tooltip;"/>
diff --git a/application/palemoon/components/preferences/jar.mn b/application/palemoon/components/preferences/jar.mn
index 2e2949306..6e143dea3 100644
--- a/application/palemoon/components/preferences/jar.mn
+++ b/application/palemoon/components/preferences/jar.mn
@@ -3,41 +3,42 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
browser.jar:
-* content/browser/preferences/advanced.xul
-* content/browser/preferences/advanced.js
- content/browser/preferences/applications.xul
-* content/browser/preferences/applications.js
- content/browser/preferences/applicationManager.xul
-* content/browser/preferences/applicationManager.js
-* content/browser/preferences/colors.xul
-* content/browser/preferences/cookies.xul
-* content/browser/preferences/cookies.js
- content/browser/preferences/content.xul
- content/browser/preferences/content.js
-* content/browser/preferences/connection.xul
- content/browser/preferences/connection.js
-* content/browser/preferences/fonts.xul
- content/browser/preferences/fonts.js
- content/browser/preferences/handlers.xml
- content/browser/preferences/handlers.css
-* content/browser/preferences/languages.xul
- content/browser/preferences/languages.js
-* content/browser/preferences/main.xul
- content/browser/preferences/main.js
- content/browser/preferences/permissions.xul
-* content/browser/preferences/permissions.js
-* content/browser/preferences/preferences.xul
- content/browser/preferences/privacy.xul
- content/browser/preferences/privacy.js
- content/browser/preferences/sanitize.xul
- content/browser/preferences/sanitize.js
- content/browser/preferences/security.xul
- content/browser/preferences/security.js
- content/browser/preferences/selectBookmark.xul
- content/browser/preferences/selectBookmark.js
+* content/browser/preferences/advanced.xul
+* content/browser/preferences/advanced.js
+ content/browser/preferences/applications.xul
+* content/browser/preferences/applications.js
+ content/browser/preferences/applicationManager.xul
+* content/browser/preferences/applicationManager.js
+* content/browser/preferences/colors.xul
+* content/browser/preferences/cookies.xul
+* content/browser/preferences/cookies.js
+ content/browser/preferences/content.xul
+ content/browser/preferences/content.js
+* content/browser/preferences/connection.xul
+ content/browser/preferences/connection.js
+* content/browser/preferences/fonts.xul
+ content/browser/preferences/fonts.js
+ content/browser/preferences/handlers.xml
+ content/browser/preferences/handlers.css
+* content/browser/preferences/languages.xul
+ content/browser/preferences/languages.js
+* content/browser/preferences/main.xul
+ content/browser/preferences/main.js
+ content/browser/preferences/newtaburl.js
+ content/browser/preferences/permissions.xul
+* content/browser/preferences/permissions.js
+* content/browser/preferences/preferences.xul
+ content/browser/preferences/privacy.xul
+ content/browser/preferences/privacy.js
+ content/browser/preferences/sanitize.xul
+ content/browser/preferences/sanitize.js
+ content/browser/preferences/security.xul
+ content/browser/preferences/security.js
+ content/browser/preferences/selectBookmark.xul
+ content/browser/preferences/selectBookmark.js
#ifdef MOZ_SERVICES_SYNC
- content/browser/preferences/sync.xul
- content/browser/preferences/sync.js
+ content/browser/preferences/sync.xul
+ content/browser/preferences/sync.js
#endif
-* content/browser/preferences/tabs.xul
-* content/browser/preferences/tabs.js
+* content/browser/preferences/tabs.xul
+* content/browser/preferences/tabs.js
diff --git a/application/palemoon/components/preferences/main.xul b/application/palemoon/components/preferences/main.xul
index 7634056eb..bb51947b0 100644
--- a/application/palemoon/components/preferences/main.xul
+++ b/application/palemoon/components/preferences/main.xul
@@ -96,6 +96,7 @@
type="autocomplete" autocompletesearch="history"
onsyncfrompreference="return gMainPane.syncFromHomePref();"
onsynctopreference="return gMainPane.syncToHomePref(this.value);"
+ oninput="gNewtabUrl.writeNewtabUrl(null, this.value);"
placeholder="&abouthome.pageTitle;"
preference="browser.startup.homepage"/>
</hbox>
@@ -103,15 +104,15 @@
<button label="" accesskey="&useCurrentPage.accesskey;"
label1="&useCurrentPage.label;"
label2="&useMultiple.label;"
- oncommand="gMainPane.setHomePageToCurrent();"
+ oncommand="gMainPane.setHomePageToCurrent(); gNewtabUrl.writeNewtabUrl();"
id="useCurrent"
preference="pref.browser.homepage.disable_button.current_page"/>
<button label="&chooseBookmark.label;" accesskey="&chooseBookmark.accesskey;"
- oncommand="gMainPane.setHomePageToBookmark();"
+ oncommand="gMainPane.setHomePageToBookmark(); gNewtabUrl.writeNewtabUrl();"
id="useBookmark"
preference="pref.browser.homepage.disable_button.bookmark_page"/>
<button label="&restoreDefault.label;" accesskey="&restoreDefault.accesskey;"
- oncommand="gMainPane.restoreDefaultHomePage();"
+ oncommand="gMainPane.restoreDefaultHomePage(); gNewtabUrl.writeNewtabUrl();"
id="restoreDefaultHomePage"
preference="pref.browser.homepage.disable_button.restore_default"/>
</hbox>
diff --git a/application/palemoon/components/preferences/newtaburl.js b/application/palemoon/components/preferences/newtaburl.js
new file mode 100644
index 000000000..3c82df846
--- /dev/null
+++ b/application/palemoon/components/preferences/newtaburl.js
@@ -0,0 +1,102 @@
+/* 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 gNewtabUrl = {
+ /**
+ * Writes browser.newtab.url with the appropriate value.
+ * If the choice is "my home page", get and sanitize
+ * the browser home page URL to make it suitable for newtab use.
+ *
+ * Called from prefwindow ondialogaccept in preferences.xul,
+ * newtabPage oncommand in tabs.xul, browserHomePage oninput,
+ * useCurrent, useBookmark and restoreDefaultHomePage oncommand
+ * in main.xul to consider instantApply.
+ */
+ writeNewtabUrl: function(newtabUrlChoice, browserHomepageUrl) {
+ try {
+ if (newtabUrlChoice) {
+ if (Services.prefs.getBoolPref("browser.preferences.instantApply")) {
+ newtabUrlChoice = parseInt(newtabUrlChoice);
+ } else {
+ return;
+ }
+ } else {
+ if (this.newtabUrlChoiceIsSet) {
+ newtabUrlChoice = Services.prefs.getIntPref("browser.newtab.choice");
+ } else {
+ newtabUrlChoice = this.getNewtabChoice();
+ }
+ }
+ if (browserHomepageUrl || browserHomepageUrl == "") {
+ if (Services.prefs.getBoolPref("browser.preferences.instantApply")) {
+ if (browserHomepageUrl == "") {
+ browserHomepageUrl = "about:home";
+ }
+ } else {
+ return;
+ }
+ } else {
+ browserHomepageUrl = Services.prefs.getComplexValue("browser.startup.homepage",
+ Components.interfaces.nsIPrefLocalizedString).data;
+ }
+ let newtabUrlPref = Services.prefs.getCharPref("browser.newtab.url");
+ switch (newtabUrlChoice) {
+ case 1:
+ newtabUrlPref = "about:logopage";
+ break;
+ case 2:
+ newtabUrlPref = Services.prefs.getDefaultBranch("browser.")
+ .getComplexValue("startup.homepage",
+ Components.interfaces.nsIPrefLocalizedString).data;
+ break;
+ case 3:
+ // If url is a pipe-delimited set of pages, just take the first one.
+ let newtabUrlSanitizedPref=browserHomepageUrl.split("|")[0];
+ // XXX: do we need extra sanitation here, e.g. for invalid URLs?
+ Services.prefs.setCharPref("browser.newtab.myhome", newtabUrlSanitizedPref);
+ newtabUrlPref = newtabUrlSanitizedPref;
+ break;
+ case 4:
+ newtabUrlPref = "about:newtab";
+ break;
+ default:
+ // In case of any other value it's a custom URL, consider instantApply.
+ if (this.newtabPageCustom) {
+ newtabUrlPref = this.newtabPageCustom;
+ }
+ }
+ Services.prefs.setCharPref("browser.newtab.url",newtabUrlPref);
+ } catch(e) { console.error(e); }
+ },
+
+ /**
+ * Determines the value of browser.newtab.choice based
+ * on the value of browser.newtab.url
+ *
+ * @returns the value of browser.newtab.choice
+ */
+ getNewtabChoice: function() {
+ let newtabUrlPref = Services.prefs.getCharPref("browser.newtab.url");
+ let browserHomepageUrl = Services.prefs.getComplexValue("browser.startup.homepage",
+ Components.interfaces.nsIPrefLocalizedString).data;
+ let newtabUrlSanitizedPref = browserHomepageUrl.split("|")[0];
+ let defaultStartupHomepage = Services.prefs.getDefaultBranch("browser.")
+ .getComplexValue("startup.homepage",
+ Components.interfaces.nsIPrefLocalizedString).data;
+ switch (newtabUrlPref) {
+ case "about:logopage":
+ return 1;
+ case defaultStartupHomepage:
+ return 2;
+ case newtabUrlSanitizedPref:
+ return 3;
+ case "about:newtab":
+ return 4;
+ default: // Custom URL entered.
+ // We need this to consider instantApply.
+ this.newtabPageCustom = newtabUrlPref;
+ return 0;
+ }
+ }
+};
diff --git a/application/palemoon/components/preferences/preferences.xul b/application/palemoon/components/preferences/preferences.xul
index 2f00b960a..a1d9c8cf7 100644
--- a/application/palemoon/components/preferences/preferences.xul
+++ b/application/palemoon/components/preferences/preferences.xul
@@ -56,10 +56,10 @@
#endif
#endif
onunload="if (typeof gSecurityPane != 'undefined') gSecurityPane.syncAddonSecurityLevel();"
- ondialogaccept="if (typeof gTabsPane != 'undefined') gTabsPane.writeNewtabUrl();
- return true;">
+ ondialogaccept="gNewtabUrl.writeNewtabUrl();">
<script type="application/javascript" src="chrome://browser/content/utilityOverlay.js"/>
+ <script type="application/javascript" src="chrome://browser/content/preferences/newtaburl.js"/>
<stringbundle id="bundleBrand" src="chrome://branding/locale/brand.properties"/>
<stringbundle id="bundlePreferences"
diff --git a/application/palemoon/components/preferences/security.xul b/application/palemoon/components/preferences/security.xul
index d3d321b16..bc1625275 100644
--- a/application/palemoon/components/preferences/security.xul
+++ b/application/palemoon/components/preferences/security.xul
@@ -43,13 +43,22 @@
<!-- Security Protocols -->
- <preference id="network.stricttransportsecurity.preloadlist"
- name="network.stricttransportsecurity.preloadlist"
+ <preference id="network.stricttransportsecurity.enabled"
+ name="network.stricttransportsecurity.enabled"
type="bool"/>
<preference id="security.cert_pinning.enforcement_level"
name="security.cert_pinning.enforcement_level"
type="int"/>
+ <!-- Opportunistic Encryption -->
+
+ <preference id="network.http.upgrade-insecure-requests"
+ name="network.http.upgrade-insecure-requests"
+ type="bool"/>
+ <preference id="network.http.altsvc.oe"
+ name="network.http.altsvc.oe"
+ type="bool"/>
+
<!-- XSS Filter -->
<!--
<preference id="security.xssfilter.enable" name="security.xssfilter.enable" type="bool"/>
@@ -137,13 +146,23 @@
<checkbox id="enableHSTS"
label="&enableHSTS.label;"
accesskey="&enableHSTS.accesskey;"
- preference="network.stricttransportsecurity.preloadlist" />
+ preference="network.stricttransportsecurity.enabled" />
<checkbox id="enableHPKP"
label="&enableHPKP.label;"
accesskey="&enableHPKP.accesskey;"
oncommand="gSecurityPane.updateHPKPPref();"/>
</vbox>
</groupbox>
+
+ <groupbox id="OpportunisticEncryption">
+ <caption label="&OpEnc.label;"/>
+ <checkbox id="enableUIROpEnc"
+ label="&enableUIROpEnc.label;"
+ preference="network.http.upgrade-insecure-requests" />
+ <checkbox id="enableAltSvcOpEnc"
+ label="&enableAltSvcOpEnc.label;"
+ preference="network.http.altsvc.oe" />
+ </groupbox>
<!-- XSS Filter -->
<!--
diff --git a/application/palemoon/components/preferences/tabs.js b/application/palemoon/components/preferences/tabs.js
index f0ad8490c..b09cb60df 100644
--- a/application/palemoon/components/preferences/tabs.js
+++ b/application/palemoon/components/preferences/tabs.js
@@ -78,80 +78,13 @@ var gTabsPane = {
/**
* Determines the value of the New Tab display drop-down based
* on the value of browser.newtab.url.
- *
- * @returns the appropriate value of browser.newtab.choice
*/
readNewtabUrl: function() {
- let newtabUrlPref = document.getElementById("browser.newtab.url");
- let newtabUrlSanitizedPref = document.getElementById("browser.newtab.myhome");
let newtabUrlChoice = document.getElementById("browser.newtab.choice");
- switch (newtabUrlPref.value) {
- case "about:logopage":
- newtabUrlChoice.value = 1;
- break;
- case "http://start.palemoon.org/":
- newtabUrlChoice.value = 2;
- break;
- case newtabUrlSanitizedPref.value:
- newtabUrlChoice.value = 3;
- break;
- case "about:newtab":
- newtabUrlChoice.value = 4;
- break;
- default: // Custom URL entered.
- document.getElementById("newtabPageCustom").hidden = false;
- newtabUrlChoice.value = 0;
- // We need this to consider instantApply.
- this.newtabPageCustom = newtabUrlPref.value;
+ newtabUrlChoice.value = gNewtabUrl.getNewtabChoice();
+ if (newtabUrlChoice.value == 0) {
+ document.getElementById("newtabPageCustom").hidden = false;
}
- },
-
- /**
- * Writes browser.newtab.url with the appropriate value.
- * if the choice is "my home page", get and sanitize the browser home page
- * URL to make it suitable for newtab use.
- *
- * Called from prefwindow's ondialogaccept handler and
- * from browser.newtab.choice's oncommand to consider instantApply.
- */
- writeNewtabUrl: function(newtabUrlChoice) {
- try {
- if (newtabUrlChoice) {
- if (Services.prefs.getBoolPref("browser.preferences.instantApply")) {
- newtabUrlChoice = parseInt(newtabUrlChoice);
- } else {
- return;
- }
- } else {
- newtabUrlChoice = Services.prefs.getIntPref("browser.newtab.choice");
- }
- let browserHomepageUrl = Services.prefs.getComplexValue("browser.startup.homepage",
- Components.interfaces.nsIPrefLocalizedString).data;
- let newtabUrlPref = Services.prefs.getCharPref("browser.newtab.url");
- switch (newtabUrlChoice) {
- case 1:
- newtabUrlPref = "about:logopage";
- break;
- case 2:
- newtabUrlPref = "http://start.palemoon.org/";
- break;
- case 3:
- // If url is a pipe-delimited set of pages, just take the first one.
- let newtabUrlSanitizedPref=browserHomepageUrl.split("|")[0];
- // XXX: do we need extra sanitation here, e.g. for invalid URLs?
- Services.prefs.setCharPref("browser.newtab.myhome", newtabUrlSanitizedPref);
- newtabUrlPref = newtabUrlSanitizedPref;
- break;
- case 4:
- newtabUrlPref = "about:newtab";
- break;
- default:
- // In case of any other value it's a custom URL, consider instantApply.
- if (this.newtabPageCustom) {
- newtabUrlPref = this.newtabPageCustom;
- }
- }
- Services.prefs.setCharPref("browser.newtab.url",newtabUrlPref);
- } catch(e) { console.error(e); }
+ gNewtabUrl.newtabUrlChoiceIsSet = true;
}
};
diff --git a/application/palemoon/components/preferences/tabs.xul b/application/palemoon/components/preferences/tabs.xul
index f5b44b776..64529d60d 100644
--- a/application/palemoon/components/preferences/tabs.xul
+++ b/application/palemoon/components/preferences/tabs.xul
@@ -85,7 +85,7 @@
<menulist
id="newtabPage"
preference="browser.newtab.choice"
- oncommand="gTabsPane.writeNewtabUrl(event.target.value);">
+ oncommand="gNewtabUrl.writeNewtabUrl(event.target.value);">
<menupopup>
<menuitem label="&newtabPage.custom.label;" value="0" id="newtabPageCustom" hidden="true" />
<menuitem label="&newtabPage.blank.label;" value="1" />