Bug 1239949 - Add a pref for showing bookmarks toolbar and menubar; r?mixedpuppy
MozReview-Commit-ID: KqCSjlhWAOo
--- a/browser/components/distribution.js
+++ b/browser/components/distribution.js
@@ -235,19 +235,24 @@ DistributionCustomizer.prototype = {
}
}
break;
}
}
}),
+ _newProfile: false,
_customizationsApplied: false,
applyCustomizations: function DIST_applyCustomizations() {
this._customizationsApplied = true;
+
+ if (!Services.prefs.prefHasUserValue("browser.migration.version"))
+ this._newProfile = true;
+
if (!this._ini)
return this._checkCustomizationComplete();
// nsPrefService loads very early. Reload prefs so we can set
// distribution defaults during the prefservice:after-app-defaults
// notification (see applyPrefDefaults below)
this._prefSvc.QueryInterface(Ci.nsIObserver);
this._prefSvc.observe(null, "reload-default-prefs", null);
@@ -403,16 +408,35 @@ DistributionCustomizer.prototype = {
} catch (e) { /* ignore bad prefs and move on */ }
}
}
return this._checkCustomizationComplete();
},
_checkCustomizationComplete: function DIST__checkCustomizationComplete() {
+ const BROWSER_DOCURL = "chrome://browser/content/browser.xul";
+
+ if (this._newProfile) {
+ let xulStore = Cc["@mozilla.org/xul/xulstore;1"].getService(Ci.nsIXULStore);
+
+ try {
+ var showPersonalToolbar = Services.prefs.getBoolPref("browser.showPersonalToolbar");
+ if (showPersonalToolbar) {
+ xulStore.setValue(BROWSER_DOCURL, "PersonalToolbar", "collapsed", "false");
+ }
+ } catch(e) {}
+ try {
+ var showMenubar = Services.prefs.getBoolPref("browser.showMenubar");
+ if (showMenubar) {
+ xulStore.setValue(BROWSER_DOCURL, "toolbar-menubar", "collapsed", "false");
+ }
+ } catch(e) {}
+ }
+
let prefDefaultsApplied = this._prefDefaultsApplied || !this._ini;
if (this._customizationsApplied && this._bookmarksApplied &&
prefDefaultsApplied) {
let os = Cc["@mozilla.org/observer-service;1"].
getService(Ci.nsIObserverService);
os.notifyObservers(null, DISTRIBUTION_CUSTOMIZATION_COMPLETE_TOPIC, null);
}
}