diff --git a/extension/modules/api/GM_console.js b/extension/modules/api/GM_console.js index 044aa645..020e2107 100644 --- a/extension/modules/api/GM_console.js +++ b/extension/modules/api/GM_console.js @@ -1,5 +1,5 @@ "use strict"; -var EXPORTED_SYMBOLS = ["GM_console"]; +var EXPORTED_SYMBOLS = ["GM_console", "GM_getConsoleFor"]; const Cu = Components.utils; Cu.import("resource://scriptish/logging.js"); @@ -15,7 +15,7 @@ const aux_functions = ["assert", "dir", "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "profile", "profileEnd" ]; -function getConsoleFor(contentWindow, chromeWindow) { +function GM_getConsoleFor(contentWindow, chromeWindow) { // we dont have a chromeWindow for e10s atm, see Scriptish_injectScripts impl if (chromeWindow) { let (rv = Scriptish_getFirebugConsole(contentWindow, chromeWindow)) { @@ -33,7 +33,7 @@ function getConsoleFor(contentWindow, chromeWindow) { } function GM_console_legacy(script, contentWindow, chromeWindow) { - const _console = getConsoleFor(contentWindow, chromeWindow); + const _console = GM_getConsoleFor(contentWindow, chromeWindow); const console = { __exposedProps__: {__noSuchMethod__: "r"} }; const prefix = "[" + (script.id || "Scriptish") + "]"; @@ -92,7 +92,7 @@ function GM_console(sandbox, script, contentWindow, chromeWindow) { return GM_console_legacy(script, contentWindow, chromeWindow); } - const _console = getConsoleFor(contentWindow, chromeWindow); + const _console = GM_getConsoleFor(contentWindow, chromeWindow); const console = Cu.createObjectIn(sandbox, {defineAs: "console"}); const prefix = "[" + (script.id || "Scriptish") + "]"; diff --git a/extension/modules/utils/Scriptish_injectScripts.js b/extension/modules/utils/Scriptish_injectScripts.js index 4ac8501e..59a4baca 100644 --- a/extension/modules/utils/Scriptish_injectScripts.js +++ b/extension/modules/utils/Scriptish_injectScripts.js @@ -7,7 +7,7 @@ Cu.import("resource://scriptish/api/GM_sandboxScripts.js"); lazyImport(this, "resource://scriptish/logging.js", ["Scriptish_log", "Scriptish_logError"]); lazyImport(this, "resource://scriptish/prefmanager.js", ["Scriptish_prefRoot"]); lazyImport(this, "resource://scriptish/api.js", ["GM_API"]); -lazyImport(this, "resource://scriptish/api/GM_console.js", ["GM_console"]); +lazyImport(this, "resource://scriptish/api/GM_console.js", ["GM_console", "GM_getConsoleFor"]); lazyImport(this, "resource://scriptish/api/GM_ScriptLogger.js", ["GM_ScriptLogger"]); lazyImport(this, "resource://scriptish/third-party/Scriptish_getBrowserForContentWindow.js", ["Scriptish_getBrowserForContentWindow"]); @@ -93,15 +93,16 @@ function Scriptish_injectScripts(options) { if (!useGrants || script.grant['GM_log']) { lazy(sandbox, "GM_log", function() { + const _console = GM_getConsoleFor(safeWisafeWin, chromeWin); if (Scriptish_prefRoot.getValue("logToErrorConsole")) { let logger = new GM_ScriptLogger(script); return function() { const args = Array.slice(arguments); logger.log(args.join(" ")); - sandbox.console.log.apply(sandbox.console, args); + _console.log.apply(_console, args); } } - return sandbox.console.log.bind(sandbox.console); + return _console.log.bind(_console); }); }