[X2Go-Commits] [pale-moon] 175/294: Prevent mistaken overwriting of browser.newtab.url when using the browser preferences dialog

git-admin at x2go.org git-admin at x2go.org
Sat Apr 27 08:58:05 CEST 2019


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch upstream/28.5.0
in repository pale-moon.

commit a15e49e4269f34afaa1f37092332e134d9b9b711
Author: JustOff <Off.Just.Off at gmail.com>
Date:   Tue Mar 26 01:27:46 2019 +0200

    Prevent mistaken overwriting of browser.newtab.url when using the browser preferences dialog
---
 .../palemoon/components/preferences/newtaburl.js   | 36 +++++++++++++++++++++-
 .../palemoon/components/preferences/tabs.js        | 29 +++--------------
 2 files changed, 39 insertions(+), 26 deletions(-)

diff --git a/application/palemoon/components/preferences/newtaburl.js b/application/palemoon/components/preferences/newtaburl.js
index ac0eec1..3c82df8 100644
--- a/application/palemoon/components/preferences/newtaburl.js
+++ b/application/palemoon/components/preferences/newtaburl.js
@@ -22,7 +22,11 @@ var gNewtabUrl = {
           return;
         }
       } else {
-        newtabUrlChoice = Services.prefs.getIntPref("browser.newtab.choice");
+        if (this.newtabUrlChoiceIsSet) {
+          newtabUrlChoice = Services.prefs.getIntPref("browser.newtab.choice");
+        } else {
+          newtabUrlChoice = this.getNewtabChoice();
+        }
       }
       if (browserHomepageUrl || browserHomepageUrl == "") {
         if (Services.prefs.getBoolPref("browser.preferences.instantApply")) {
@@ -64,5 +68,35 @@ var gNewtabUrl = {
       } 
       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/tabs.js b/application/palemoon/components/preferences/tabs.js
index 17084a7..b09cb60 100644
--- a/application/palemoon/components/preferences/tabs.js
+++ b/application/palemoon/components/preferences/tabs.js
@@ -78,34 +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");
-    let defaultStartupHomepage = Services.prefs.getDefaultBranch("browser.")
-                                  .getComplexValue("startup.homepage",
-                                    Components.interfaces.nsIPrefLocalizedString).data;
-    switch (newtabUrlPref.value) {
-      case "about:logopage": 
-        newtabUrlChoice.value = 1;
-        break;
-      case defaultStartupHomepage:
-        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;
     }
+    gNewtabUrl.newtabUrlChoiceIsSet = true;
   }
 };

--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/pale-moon.git


More information about the x2go-commits mailing list