Bug 1472599 - Reset browser.startup.page preference for older profiles
MozReview-Commit-ID: LpzKJYxty1K
--- a/browser/components/preferences/in-content/home.js
+++ b/browser/components/preferences/in-content/home.js
@@ -270,16 +270,19 @@ var gHomePane = {
case this.HOME_MODE_BLANK:
if (homePref.value !== "about:blank") {
homePref.value = "about:blank";
} else {
this._renderCustomSettings({shouldShow: false});
}
break;
case this.HOME_MODE_CUSTOM:
+ if (startupPref.value === gMainPane.STARTUP_PREF_BLANK) {
+ Services.prefs.clearUserPref(startupPref.id);
+ }
this._renderCustomSettings({shouldShow: true});
break;
}
},
/**
* Switches the "Use Current Page" button between its singular and plural
* forms.
@@ -343,20 +346,18 @@ var gHomePane = {
const rv = { urls: null, names: null };
gSubDialog.open("chrome://browser/content/preferences/selectBookmark.xul",
"resizable=yes, modal=yes", rv,
this._setHomePageToBookmarkClosed.bind(this, rv));
Services.telemetry.scalarAdd("preferences.use_bookmark", 1);
},
restoreDefaultHomePage() {
- const homePref = Preferences.get("browser.startup.homepage");
- const newtabPref = Preferences.get(this.NEWTAB_ENABLED_PREF);
- homePref.value = homePref.defaultValue;
- newtabPref.value = newtabPref.defaultValue;
+ Services.prefs.clearUserPref("browser.startup.homepage");
+ Services.prefs.clearUserPref(this.NEWTAB_ENABLED_PREF);
},
onCustomHomePageInput(event) {
if (this._telemetryHomePageTimer) {
clearTimeout(this._telemetryHomePageTimer);
}
let browserHomePage = event.target.value;
// The length of the home page URL string should be more then four,
@@ -379,19 +380,17 @@ var gHomePane = {
/**
* Check all Home Tab preferences for user set values.
*/
_changedHomeTabDefaultPrefs() {
const homeContentChanged = this.homePanePrefs.some(pref => pref.hasUserValue);
const homePref = Preferences.get("browser.startup.homepage");
const newtabPref = Preferences.get(this.NEWTAB_ENABLED_PREF);
- return homeContentChanged ||
- (homePref.value !== homePref.defaultValue) ||
- newtabPref.hasUserValue;
+ return homeContentChanged || homePref.hasUserValue || newtabPref.hasUserValue;
},
/**
* Show the Restore Defaults button if any preference on the Home tab was
* changed, or hide it otherwise.
*/
toggleRestoreDefaultsBtn() {
const btn = document.getElementById("restoreDefaultHomePageBtn");
@@ -399,17 +398,17 @@ var gHomePane = {
btn.style.visibility = prefChanged ? "visible" : "hidden";
},
/**
* Set all prefs on the Home tab back to their default values.
*/
restoreDefaultPrefsForHome() {
this.restoreDefaultHomePage();
- this.homePanePrefs.forEach(pref => pref.value = pref.defaultValue);
+ this.homePanePrefs.forEach(pref => Services.prefs.clearUserPref(pref.id));
},
init() {
// Event Listeners
document.getElementById("homeMode").addEventListener("command", this.onMenuChange.bind(this));
document.getElementById("homePageUrl").addEventListener("change", this.onCustomHomePageChange.bind(this));
document.getElementById("homePageUrl").addEventListener("input", this.onCustomHomePageInput.bind(this));
document.getElementById("useCurrentBtn").addEventListener("command", this.setHomePageToCurrent.bind(this));