Bug 1447235 - Enable the console sidebar in Nightly; r=bgrins. draft
authorNicolas Chevobbe <nchevobbe@mozilla.com>
Fri, 27 Apr 2018 16:29:55 +0200
changeset 794670 e504095a1a5ffee711f81ef3de2b1a4da38b4493
parent 794618 87cc179438941649616131ed9bb0c6f0766c8028
push id109755
push userbmo:nchevobbe@mozilla.com
push dateMon, 14 May 2018 09:51:58 +0000
reviewersbgrins
bugs1447235, 1419292
milestone62.0a1
Bug 1447235 - Enable the console sidebar in Nightly; r=bgrins. In Bug 1419292, we make sure there is no issue when releasing actors for the output messages, so the sidebar is probably good to go on Nighly in order to get more feedback. The test for context menu entries in the console was updated since it now shows the "Open in sidebar" entry. MozReview-Commit-ID: 8R3rhf944Fh
devtools/client/preferences/devtools-client.js
devtools/client/webconsole/test/mochitest/browser_console_context_menu_entries.js
--- a/devtools/client/preferences/devtools-client.js
+++ b/devtools/client/preferences/devtools-client.js
@@ -287,18 +287,22 @@ pref("devtools.netmonitor.persistlog", f
 // in the Web Console to display a timestamp, or |false| to not display
 // any timestamps.
 pref("devtools.webconsole.timestampMessages", false);
 
 // Web Console automatic multiline mode: |true| if you want incomplete statements
 // to automatically trigger multiline editing (equivalent to shift + enter).
 pref("devtools.webconsole.autoMultiline", true);
 
-// Enable the webconsole sidebar toggle
+// Enable the webconsole sidebar toggle in Nightly builds.
+#if defined(NIGHTLY_BUILD)
+pref("devtools.webconsole.sidebarToggle", true);
+#else
 pref("devtools.webconsole.sidebarToggle", false);
+#endif
 
 // Disable the new performance recording panel by default
 pref("devtools.performance.new-panel-enabled", false);
 
 // Enable client-side mapping service for source maps
 pref("devtools.source-map.client-service.enabled", true);
 
 // The number of lines that are displayed in the web console.
--- a/devtools/client/webconsole/test/mochitest/browser_console_context_menu_entries.js
+++ b/devtools/client/webconsole/test/mochitest/browser_console_context_menu_entries.js
@@ -21,49 +21,57 @@ add_task(async function() {
     content.wrappedJSObject.location.reload();
   });
   const networkMessage = await onNetworkMessage;
 
   info("Open and check the context menu for the network message");
   let menuPopup = await openContextMenu(hud, networkMessage.node);
   ok(menuPopup, "The context menu is displayed on a network message");
 
-  let expectedContextMenu = [
+  let expectedContextMenu = addPrefBasedEntries([
     "#console-menu-copy-url (a)",
     "#console-menu-open-url (T)",
     "#console-menu-store (S) [disabled]",
     "#console-menu-copy (C)",
     "#console-menu-copy-object (o) [disabled]",
-    "#console-menu-select (A)"
-  ];
+    "#console-menu-select (A)",
+  ]);
   is(getSimplifiedContextMenu(menuPopup).join("\n"), expectedContextMenu.join("\n"),
     "The context menu has the expected entries for a network message");
 
   info("Logging a text message in the content window");
   const onLogMessage = waitForMessage(hud, "simple text message");
   ContentTask.spawn(gBrowser.selectedBrowser, null, () => {
     content.wrappedJSObject.console.log("simple text message");
   });
 
   const logMessage = await onLogMessage;
   menuPopup = await openContextMenu(hud, logMessage.node);
   ok(menuPopup, "The context menu is displayed on a log message");
 
-  expectedContextMenu = [
+  expectedContextMenu = addPrefBasedEntries([
     "#console-menu-store (S) [disabled]",
     "#console-menu-copy (C)",
     "#console-menu-copy-object (o) [disabled]",
-    "#console-menu-select (A)"
-  ];
+    "#console-menu-select (A)",
+  ]);
   is(getSimplifiedContextMenu(menuPopup).join("\n"), expectedContextMenu.join("\n"),
     "The context menu has the expected entries for a simple log message");
 
   await hideContextMenu(hud);
 });
 
+function addPrefBasedEntries(expectedEntries) {
+  if (Services.prefs.getBoolPref("devtools.webconsole.sidebarToggle", false)) {
+    expectedEntries.push("#console-menu-open-sidebar (V) [disabled]");
+  }
+
+  return expectedEntries;
+}
+
 function getSimplifiedContextMenu(popupElement) {
   return [...popupElement.querySelectorAll("menuitem")]
     .map(entry => {
       const key = entry.getAttribute("accesskey");
       const disabled = entry.hasAttribute("disabled");
       return `#${entry.id} (${key})${disabled ? " [disabled]" : ""}`;
     });
 }