Bug 1363485 - Add migration to new navbar layout draft
authorUK992 <urbankrajnc92@gmail.com>
Thu, 29 Jun 2017 19:09:43 +0200
changeset 618219 824ca288cfd06b944b1a32eb739d952acc3c38d7
parent 618218 52fa22ea967b9ef59868ab27eb19bec3794931ce
child 618220 6d990ad06baf1e271c5b8f127b3bc65d3e36be3b
push id71247
push userbmo:urbankrajnc92@gmail.com
push dateSun, 30 Jul 2017 18:44:46 +0000
bugs1363485
milestone56.0a1
Bug 1363485 - Add migration to new navbar layout MozReview-Commit-ID: HIPq5rKgtlA
browser/components/customizableui/CustomizableUI.jsm
--- a/browser/components/customizableui/CustomizableUI.jsm
+++ b/browser/components/customizableui/CustomizableUI.jsm
@@ -59,17 +59,17 @@ const kSubviewEvents = [
   "ViewShowing",
   "ViewHiding"
 ];
 
 /**
  * The current version. We can use this to auto-add new default widgets as necessary.
  * (would be const but isn't because of testing purposes)
  */
-var kVersion = 6;
+var kVersion = 7;
 
 /**
  * Buttons removed from built-ins by version they were removed. kVersion must be
  * bumped any time a new id is added to this. Use the button id as key, and
  * version the button is removed in as the value.  e.g. "pocket-button": 5
  */
 var ObsoleteBuiltinButtons = {
   "pocket-button": 6
@@ -420,16 +420,34 @@ var CustomizableUIInternal = {
     if (currentVersion < 2) {
       // Nuke the old 'loop-call-button' out of orbit.
       CustomizableUI.removeWidgetFromArea("loop-call-button");
     }
 
     if (currentVersion < 4) {
       CustomizableUI.removeWidgetFromArea("loop-button-throttled");
     }
+
+    if (currentVersion < 7 && gSavedState && gSavedState.placements &&
+        gSavedState.placements[CustomizableUI.AREA_NAVBAR]) {
+      let placements = gSavedState.placements[CustomizableUI.AREA_NAVBAR];
+      let newPlacements = ["back-button", "forward-button", "stop-reload-button", "home-button"];
+      for (let button of placements) {
+        if (!newPlacements.includes(button)) {
+          newPlacements.push(button);
+        }
+      }
+
+      if (!newPlacements.includes("sidebar-button")) {
+        newPlacements.push("sidebar-button");
+      }
+
+      gSavedState.placements[CustomizableUI.AREA_NAVBAR] = newPlacements;
+    }
+
   },
 
   /**
    * _markObsoleteBuiltinButtonsSeen
    * when upgrading, ensure obsoleted buttons are in seen state.
    */
   _markObsoleteBuiltinButtonsSeen() {
     if (!gSavedState)