diff --git a/browser/components/customizableui/src/CustomizableUI.jsm b/browser/components/customizableui/src/CustomizableUI.jsm
index 8c6f26b0c11a..f622b3a563be 100644
--- a/browser/components/customizableui/src/CustomizableUI.jsm
+++ b/browser/components/customizableui/src/CustomizableUI.jsm
@@ -2089,25 +2089,71 @@ let CustomizableUIInternal = {
Object.freeze(CustomizableUIInternal);
this.CustomizableUI = {
+ /**
+ * Constant reference to the ID of the menu panel.
+ */
get AREA_PANEL() "PanelUI-contents",
+ /**
+ * Constant reference to the ID of the navigation toolbar.
+ */
get AREA_NAVBAR() "nav-bar",
+ /**
+ * Constant reference to the ID of the menubar's toolbar.
+ */
get AREA_MENUBAR() "toolbar-menubar",
+ /**
+ * Constant reference to the ID of the tabstrip toolbar.
+ */
get AREA_TABSTRIP() "TabsToolbar",
+ /**
+ * Constant reference to the ID of the bookmarks toolbar.
+ */
get AREA_BOOKMARKS() "PersonalToolbar",
+ /**
+ * Constant reference to the ID of the addon-bar toolbar shim.
+ * Do not use, this will be removed as soon as reasonably possible.
+ * @deprecated
+ */
get AREA_ADDONBAR() "addon-bar",
-
- get PROVIDER_XUL() "xul",
- get PROVIDER_API() "api",
- get PROVIDER_SPECIAL() "special",
-
- get SOURCE_BUILTIN() "builtin",
- get SOURCE_EXTERNAL() "external",
-
- get TYPE_BUTTON() "button",
+ /**
+ * Constant indicating the area is a menu panel.
+ */
get TYPE_MENU_PANEL() "menu-panel",
+ /**
+ * Constant indicating the area is a toolbar.
+ */
get TYPE_TOOLBAR() "toolbar",
+ /**
+ * Constant indicating a XUL-type provider.
+ */
+ get PROVIDER_XUL() "xul",
+ /**
+ * Constant indicating an API-type provider.
+ */
+ get PROVIDER_API() "api",
+ /**
+ * Constant indicating dynamic (special) widgets: spring, spacer, and separator.
+ */
+ get PROVIDER_SPECIAL() "special",
+
+ /**
+ * Constant indicating the widget is built-in
+ */
+ get SOURCE_BUILTIN() "builtin",
+ /**
+ * Constant indicating the widget is externally provided
+ * (e.g. by add-ons or other items not part of the builtin widget set).
+ */
+ get SOURCE_EXTERNAL() "external",
+
+ /**
+ * The class used to distinguish items that span the entire menu panel.
+ */
get WIDE_PANEL_CLASS() "panel-wide-item",
+ /**
+ * The (constant) number of columns in the menu panel.
+ */
get PANEL_COLUMN_COUNT() 3,
/**
@@ -2681,7 +2727,9 @@ this.CustomizableUI = {
return CustomizableUIInternal.canWidgetMoveToArea(aWidgetId, aArea);
},
/**
- * Whether we're in a default state.
+ * Whether we're in a default state. Note that non-removable non-default
+ * widgets and non-existing widgets are not taken into account in determining
+ * whether we're in the default state.
*
* NB: this is a property with a getter. The getter is NOT cheap, because
* it does smart things with non-removable non-default items, non-existent
diff --git a/browser/components/customizableui/test/browser.ini b/browser/components/customizableui/test/browser.ini
index 278a16187870..52cc3408c718 100644
--- a/browser/components/customizableui/test/browser.ini
+++ b/browser/components/customizableui/test/browser.ini
@@ -38,6 +38,10 @@ skip-if = true
# Because this test is about the menubar, it can't be run on mac
skip-if = os == "mac"
+[browser_946320_tabs_from_other_computers.js]
+# Because the test frequently intermittently fails on Linux for some reason
+skip-if = os == "linux"
+
[browser_934951_zoom_in_toolbar.js]
[browser_938980_navbar_collapsed.js]
[browser_938995_indefaultstate_nonremovable.js]
@@ -49,7 +53,6 @@ skip-if = os == "mac"
[browser_943683_migration_test.js]
[browser_944887_destroyWidget_should_destroy_in_palette.js]
[browser_945739_showInPrivateBrowsing_customize_mode.js]
-[browser_946320_tabs_from_other_computers.js]
[browser_947987_removable_default.js]
[browser_948985_non_removable_defaultArea.js]
[browser_952963_areaType_getter_no_area.js]
diff --git a/browser/devtools/debugger/debugger.xul b/browser/devtools/debugger/debugger.xul
index f6fec1854fc5..5c87349b1080 100644
--- a/browser/devtools/debugger/debugger.xul
+++ b/browser/devtools/debugger/debugger.xul
@@ -118,39 +118,39 @@