From bb23af29afc0ef21b3ee2d37e593a07f6cd7e81d Mon Sep 17 00:00:00 2001
From: "Matt A. Tobin" <email@mattatobin.com>
Date: Fri, 2 Feb 2018 07:28:34 -0500
Subject: Issue N/A - Restore the Toolkit Error Console - Part 2: Browser

---
 browser/base/content/browser-menubar.inc         |  3 +++
 browser/base/content/browser-sets.inc            |  6 ++++++
 browser/base/content/browser.js                  |  4 ++++
 browser/base/content/jsConsoleOverlay.xul        | 18 ++++++++++++++++++
 browser/base/jar.mn                              |  4 +++-
 browser/locales/en-US/chrome/browser/browser.dtd |  2 ++
 6 files changed, 36 insertions(+), 1 deletion(-)
 create mode 100644 browser/base/content/jsConsoleOverlay.xul

diff --git a/browser/base/content/browser-menubar.inc b/browser/base/content/browser-menubar.inc
index 8f77ebafe..e952bc3ca 100644
--- a/browser/base/content/browser-menubar.inc
+++ b/browser/base/content/browser-menubar.inc
@@ -502,6 +502,9 @@
                   <menuitem id="menu_pageSource"
                             observes="devtoolsMenuBroadcaster_PageSource"
                             accesskey="&pageSourceCmd.accesskey;"/>
+                  <menuitem id="javascriptConsole"
+                            observes="devtoolsMenuBroadcaster_ErrorConsole"
+                            accesskey="&errorConsoleCmd.accesskey;"/>
                 </menupopup>
               </menu>
               <menuitem id="menu_pageInfo"
diff --git a/browser/base/content/browser-sets.inc b/browser/base/content/browser-sets.inc
index fc5bfeb7e..a5a4ae8aa 100644
--- a/browser/base/content/browser-sets.inc
+++ b/browser/base/content/browser-sets.inc
@@ -98,6 +98,7 @@
     <command id="Tools:Search" oncommand="BrowserSearch.webSearch();"/>
     <command id="Tools:Downloads" oncommand="BrowserDownloadsUI();"/>
     <command id="Tools:Addons" oncommand="BrowserOpenAddonsMgr();"/>
+    <command id="Tools:ErrorConsole" oncommand="toJavaScriptConsole()"/>
     <command id="Tools:Sanitize"
      oncommand="Cc['@mozilla.org/browser/browserglue;1'].getService(Ci.nsIBrowserGlue).sanitize(window);"/>
     <command id="Tools:PrivateBrowsing"
@@ -181,11 +182,16 @@
                  oncommand="SidebarUI.toggle('viewTabsSidebar');"/>
     <broadcaster id="workOfflineMenuitemState"/>
 
+    <broadcaster id="devtoolsMenuBroadcaster_ErrorConsole"
+                 label="&errorConsoleCmd.label;"
+                 command="Tools:ErrorConsole"/>
+
     <broadcaster id="devtoolsMenuBroadcaster_PageSource"
                  label="&pageSourceCmd.label;"
                  key="key_viewSource"
                  command="View:PageSource">
       <observes element="canViewSource" attribute="disabled"/>
+ 
     </broadcaster>
   </broadcasterset>
 
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
index b794386f7..7b05e1da7 100755
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -3975,6 +3975,10 @@ function addToUrlbarHistory(aUrlToAdd) {
     PlacesUIUtils.markPageAsTyped(aUrlToAdd);
 }
 
+function toJavaScriptConsole() {
+  toOpenWindowByType("global:console", "chrome://global/content/console.xul");
+}
+
 function BrowserDownloadsUI()
 {
   if (PrivateBrowsingUtils.isWindowPrivate(window)) {
diff --git a/browser/base/content/jsConsoleOverlay.xul b/browser/base/content/jsConsoleOverlay.xul
new file mode 100644
index 000000000..1bc518d4f
--- /dev/null
+++ b/browser/base/content/jsConsoleOverlay.xul
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+<?xul-overlay href="chrome://browser/content/macBrowserOverlay.xul"?>
+
+<overlay id="jsConsoleOverlay"
+         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+<window id="JSConsoleWindow">
+
+#include browserMountPoints.inc
+
+</window>
+
+</overlay>
diff --git a/browser/base/jar.mn b/browser/base/jar.mn
index 4dcd47c95..38b103c43 100644
--- a/browser/base/jar.mn
+++ b/browser/base/jar.mn
@@ -6,6 +6,7 @@ browser.jar:
 #ifdef XP_MACOSX
 %  overlay chrome://mozapps/content/downloads/downloads.xul chrome://browser/content/downloadManagerOverlay.xul
 %  overlay chrome://mozapps/content/update/updates.xul chrome://browser/content/softwareUpdateOverlay.xul
+%  overlay chrome://global/content/console.xul chrome://browser/content/jsConsoleOverlay.xul
 #endif
 #ifdef XP_WIN
 %  overlay chrome://browser/content/browser.xul chrome://browser/content/win6BrowserOverlay.xul os=WINNT osversion>=6
@@ -177,7 +178,8 @@ browser.jar:
 #ifdef XP_MACOSX
 *       content/browser/macBrowserOverlay.xul         (content/macBrowserOverlay.xul)
 *       content/browser/downloadManagerOverlay.xul    (content/downloadManagerOverlay.xul)
-*       content/browser/softwareUpdateOverlay.xul  (content/softwareUpdateOverlay.xul)
+*       content/browser/softwareUpdateOverlay.xul     (content/softwareUpdateOverlay.xul)
+*       content/browser/jsConsoleOverlay.xul          (content/jsConsoleOverlay.xul)
 #endif
 *       content/browser/viewSourceOverlay.xul         (content/viewSourceOverlay.xul)
 #ifndef XP_MACOSX
diff --git a/browser/locales/en-US/chrome/browser/browser.dtd b/browser/locales/en-US/chrome/browser/browser.dtd
index 99e55c7e4..f6fc6e3fd 100644
--- a/browser/locales/en-US/chrome/browser/browser.dtd
+++ b/browser/locales/en-US/chrome/browser/browser.dtd
@@ -95,6 +95,8 @@ when there are no windows but Firefox is still running. -->
 <!ENTITY pageSourceCmd.label "Page Source">
 <!ENTITY pageSourceCmd.accesskey "o">
 <!ENTITY pageSourceCmd.commandkey "u">
+<!ENTITY errorConsoleCmd.label "Error Console">
+<!ENTITY errorConsoleCmd.accesskey "C">
 <!ENTITY pageInfoCmd.label "Page Info">
 <!ENTITY pageInfoCmd.accesskey "I">
 <!ENTITY pageInfoCmd.commandkey "i">
-- 
cgit v1.2.3