tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

console_monitor.js (1026B)


      1 /* eslint-env mozilla/chrome-script */
      2 
      3 let consoleListener;
      4 
      5 function ConsoleListener() {
      6  Services.console.registerListener(this);
      7 }
      8 
      9 ConsoleListener.prototype = {
     10  callbacks: [],
     11 
     12  observe: aMsg => {
     13    if (!(aMsg instanceof Ci.nsIScriptError)) {
     14      return;
     15    }
     16 
     17    let msg = {
     18      cssSelectors: aMsg.cssSelectors,
     19      errorMessage: aMsg.errorMessage,
     20      sourceName: aMsg.sourceName,
     21      lineNumber: aMsg.lineNumber,
     22      columnNumber: aMsg.columnNumber,
     23      category: aMsg.category,
     24      windowID: aMsg.outerWindowID,
     25      innerWindowID: aMsg.innerWindowID,
     26      isScriptError: true,
     27      isWarning: (aMsg.flags & Ci.nsIScriptError.warningFlag) === 1,
     28    };
     29 
     30    sendAsyncMessage("monitor", msg);
     31  },
     32 };
     33 
     34 addMessageListener("load", function (e) {
     35  consoleListener = new ConsoleListener();
     36  sendAsyncMessage("ready", {});
     37 });
     38 
     39 addMessageListener("unload", function (e) {
     40  Services.console.unregisterListener(consoleListener);
     41  consoleListener = null;
     42  sendAsyncMessage("unloaded", {});
     43 });