Bug 1455573 - Part 3: Save the reordering preference when destroying. r?jdescottes draft
authorDaisuke Akatsuka <dakatsuka@mozilla.com>
Fri, 27 Apr 2018 06:29:05 +0900
changeset 788741 6531d7d4141653f58738f552ee441de8fde08ee9
parent 788740 7a243dc409865125e87c0c7c5bcc4803a36b1327
child 788742 f560dd3a4ca62b5e0abe79bc8d16dc8d97688364
push id108078
push userbmo:dakatsuka@mozilla.com
push dateThu, 26 Apr 2018 22:25:18 +0000
reviewersjdescottes
bugs1455573
milestone61.0a1
Bug 1455573 - Part 3: Save the reordering preference when destroying. r?jdescottes MozReview-Commit-ID: AEmnzVkEs9T
devtools/client/framework/toolbox-tabs-order-manager.js
--- a/devtools/client/framework/toolbox-tabs-order-manager.js
+++ b/devtools/client/framework/toolbox-tabs-order-manager.js
@@ -20,16 +20,23 @@ class ToolboxTabsOrderManager {
     this.onMouseOut = this.onMouseOut.bind(this);
     this.onMouseUp = this.onMouseUp.bind(this);
 
     Services.prefs.addObserver(PREFERENCE_NAME, this.onOrderUpdated);
   }
 
   destroy() {
     Services.prefs.removeObserver(PREFERENCE_NAME, this.onOrderUpdated);
+
+    // Save the reordering preference, because some tools might be removed.
+    const ids =
+      this.currentPanelDefinitions.map(definition => definition.extensionId || definition.id);
+    const pref = ids.join(",");
+    Services.prefs.setCharPref(PREFERENCE_NAME, pref);
+
     this.onMouseUp();
   }
 
   setCurrentPanelDefinitions(currentPanelDefinitions) {
     this.currentPanelDefinitions = currentPanelDefinitions;
   }
 
   onMouseDown(e) {