diff options
author | Matt A. Tobin <email@mattatobin.com> | 2018-02-02 07:11:37 -0500 |
---|---|---|
committer | Matt A. Tobin <email@mattatobin.com> | 2018-02-02 07:11:37 -0500 |
commit | 464e29230eeb8c25dfb064f14239b1288c85332b (patch) | |
tree | 08935287f435060c489af48cd4a59d00e76197c6 /toolkit/components/console/jsconsole-clhandler.js | |
parent | 6d614170cbfa958564eb5f824234ad5a9e484344 (diff) | |
download | UXP-464e29230eeb8c25dfb064f14239b1288c85332b.tar UXP-464e29230eeb8c25dfb064f14239b1288c85332b.tar.gz UXP-464e29230eeb8c25dfb064f14239b1288c85332b.tar.lz UXP-464e29230eeb8c25dfb064f14239b1288c85332b.tar.xz UXP-464e29230eeb8c25dfb064f14239b1288c85332b.zip |
Issue N/A - Restore the Toolkit Error Console - Part 1: Toolkit
Diffstat (limited to 'toolkit/components/console/jsconsole-clhandler.js')
-rw-r--r-- | toolkit/components/console/jsconsole-clhandler.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/toolkit/components/console/jsconsole-clhandler.js b/toolkit/components/console/jsconsole-clhandler.js new file mode 100644 index 000000000..7e5d0ea51 --- /dev/null +++ b/toolkit/components/console/jsconsole-clhandler.js @@ -0,0 +1,40 @@ +/* -*- indent-tabs-mode: nil; js-indent-level: 4 -*- */ +/* vim:sw=4:sr:sta:et:sts: */ + +/* 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/. */ + +const Cc = Components.classes; +const Ci = Components.interfaces; +Components.utils.import("resource://gre/modules/XPCOMUtils.jsm"); + +function jsConsoleHandler() {} +jsConsoleHandler.prototype = { + handle: function clh_handle(cmdLine) { + if (!cmdLine.handleFlag("jsconsole", false)) + return; + + var wm = Cc["@mozilla.org/appshell/window-mediator;1"]. + getService(Ci.nsIWindowMediator); + var console = wm.getMostRecentWindow("global:console"); + if (!console) { + var wwatch = Cc["@mozilla.org/embedcomp/window-watcher;1"]. + getService(Ci.nsIWindowWatcher); + wwatch.openWindow(null, "chrome://global/content/console.xul", "_blank", + "chrome,dialog=no,all", cmdLine); + } else { + console.focus(); // the Error console was already open + } + + if (cmdLine.state == Ci.nsICommandLine.STATE_REMOTE_AUTO) + cmdLine.preventDefault = true; + }, + + helpInfo : " -jsconsole Open the Error console.\n", + + classID: Components.ID("{2cd0c310-e127-44d0-88fc-4435c9ab4d4b}"), + QueryInterface: XPCOMUtils.generateQI([Ci.nsICommandLineHandler]), +}; + +this.NSGetFactory = XPCOMUtils.generateNSGetFactory([jsConsoleHandler]); |