Bug 1351099 - Remove unused AddonLogging.jsm file r?rhelmer draft
authorDan Banner <dbugs@thebanners.uk>
Wed, 19 Apr 2017 16:28:41 +0100
changeset 565188 2e53fac72309300a1eff9a696d80f76c60183226
parent 565030 c0ea5ed7f91a6be996a4a3c5ab25e2cdf6b4377e
child 624933 259db2ff3da9faecfc43c8096256f70cfc9fa661
push id54803
push userbmo:dbugs@thebanners.uk
push dateWed, 19 Apr 2017 15:29:37 +0000
reviewersrhelmer
bugs1351099
milestone55.0a1
Bug 1351099 - Remove unused AddonLogging.jsm file r?rhelmer MozReview-Commit-ID: B1mxqNZhpB
browser/base/content/test/static/browser_all_files_referenced.js
toolkit/mozapps/extensions/internal/AddonLogging.jsm
toolkit/mozapps/extensions/internal/moz.build
tools/lint/eslint/modules.json
--- a/browser/base/content/test/static/browser_all_files_referenced.js
+++ b/browser/base/content/test/static/browser_all_files_referenced.js
@@ -244,18 +244,16 @@ var whitelist = new Set([
   // Bug 1351091
   {file: "resource://gre/modules/Profiler.jsm"},
   // Bug 1351658
   {file: "resource://gre/modules/PropertyListUtils.jsm", platforms: ["linux", "win"]},
   // Bug 1351093
   {file: "resource://gre/modules/Sntp.jsm"},
   // Bug 1351097
   {file: "resource://gre/modules/accessibility/AccessFu.jsm"},
-  // Bug 1351099
-  {file: "resource://gre/modules/addons/AddonLogging.jsm"},
   // Bug 1351637
   {file: "resource://gre/modules/sdk/bootstrap.js"},
   // Bug 1351657
   {file: "resource://gre/res/langGroups.properties", platforms: ["macosx"]},
 
 ].filter(item =>
   ("isFromDevTools" in item) == isDevtools &&
   (!item.platforms || item.platforms.includes(AppConstants.platform))
deleted file mode 100644
--- a/toolkit/mozapps/extensions/internal/AddonLogging.jsm
+++ /dev/null
@@ -1,184 +0,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/. */
-
-"use strict";
-
-const Cc = Components.classes;
-const Ci = Components.interfaces;
-const Cr = Components.results;
-
-const KEY_PROFILEDIR                  = "ProfD";
-const FILE_EXTENSIONS_LOG             = "extensions.log";
-const PREF_LOGGING_ENABLED            = "extensions.logging.enabled";
-
-const LOGGER_FILE_PERM                = parseInt("666", 8);
-
-const NS_PREFBRANCH_PREFCHANGE_TOPIC_ID = "nsPref:changed";
-
-Components.utils.import("resource://gre/modules/FileUtils.jsm");
-Components.utils.import("resource://gre/modules/Services.jsm");
-
-this.EXPORTED_SYMBOLS = [ "LogManager" ];
-
-var gDebugLogEnabled = false;
-
-function formatLogMessage(aType, aName, aStr, aException) {
-  let message = aType.toUpperCase() + " " + aName + ": " + aStr;
-  if (aException) {
-    if (typeof aException == "number")
-      return message + ": " + Components.Exception("", aException).name;
-
-    message  = message + ": " + aException;
-    // instanceOf doesn't work here, let's duck type
-    if (aException.fileName)
-      message = message + " (" + aException.fileName + ":" + aException.lineNumber + ")";
-
-    if (aException.message == "too much recursion")
-      dump(message + "\n" + aException.stack + "\n");
-  }
-  return message;
-}
-
-function getStackDetails(aException) {
-  // Defensively wrap all this to ensure that failing to get the message source
-  // doesn't stop the message from being logged
-  try {
-    if (aException) {
-      if (aException instanceof Ci.nsIException) {
-        return {
-          sourceName: aException.filename,
-          lineNumber: aException.lineNumber
-        };
-      }
-
-      if (typeof aException == "object") {
-        return {
-          sourceName: aException.fileName,
-          lineNumber: aException.lineNumber
-        };
-      }
-    }
-
-    let stackFrame = Components.stack.caller.caller.caller;
-    return {
-      sourceName: stackFrame.filename,
-      lineNumber: stackFrame.lineNumber
-    };
-  } catch (e) {
-    return {
-      sourceName: null,
-      lineNumber: 0
-    };
-  }
-}
-
-function AddonLogger(aName) {
-  this.name = aName;
-}
-
-AddonLogger.prototype = {
-  name: null,
-
-  error(aStr, aException) {
-    let message = formatLogMessage("error", this.name, aStr, aException);
-
-    let stack = getStackDetails(aException);
-
-    let consoleMessage = Cc["@mozilla.org/scripterror;1"].
-                         createInstance(Ci.nsIScriptError);
-    consoleMessage.init(message, stack.sourceName, null, stack.lineNumber, 0,
-                        Ci.nsIScriptError.errorFlag, "component javascript");
-    Services.console.logMessage(consoleMessage);
-
-    // Always dump errors, in case the Console Service isn't listening yet
-    dump("*** " + message + "\n");
-
-    function formatTimestamp(date) {
-      // Format timestamp as: "%Y-%m-%d %H:%M:%S"
-      let year = String(date.getFullYear());
-      let month = String(date.getMonth() + 1).padStart(2, "0");
-      let day = String(date.getDate()).padStart(2, "0");
-      let hours = String(date.getHours()).padStart(2, "0");
-      let minutes = String(date.getMinutes()).padStart(2, "0");
-      let seconds = String(date.getSeconds()).padStart(2, "0");
-
-      return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
-    }
-
-    try {
-      var tstamp = new Date();
-      var logfile = FileUtils.getFile(KEY_PROFILEDIR, [FILE_EXTENSIONS_LOG]);
-      var stream = Cc["@mozilla.org/network/file-output-stream;1"].
-                   createInstance(Ci.nsIFileOutputStream);
-      stream.init(logfile, 0x02 | 0x08 | 0x10, LOGGER_FILE_PERM, 0); // write, create, append
-      var writer = Cc["@mozilla.org/intl/converter-output-stream;1"].
-                   createInstance(Ci.nsIConverterOutputStream);
-      writer.init(stream, "UTF-8", 0, 0x0000);
-      writer.writeString(formatTimestamp(tstamp) + " " +
-                         message + " at " + stack.sourceName + ":" +
-                         stack.lineNumber + "\n");
-      writer.close();
-    } catch (e) { }
-  },
-
-  warn(aStr, aException) {
-    let message = formatLogMessage("warn", this.name, aStr, aException);
-
-    let stack = getStackDetails(aException);
-
-    let consoleMessage = Cc["@mozilla.org/scripterror;1"].
-                         createInstance(Ci.nsIScriptError);
-    consoleMessage.init(message, stack.sourceName, null, stack.lineNumber, 0,
-                        Ci.nsIScriptError.warningFlag, "component javascript");
-    Services.console.logMessage(consoleMessage);
-
-    if (gDebugLogEnabled)
-      dump("*** " + message + "\n");
-  },
-
-  log(aStr, aException) {
-    if (gDebugLogEnabled) {
-      let message = formatLogMessage("log", this.name, aStr, aException);
-      dump("*** " + message + "\n");
-      Services.console.logStringMessage(message);
-    }
-  }
-};
-
-this.LogManager = {
-  getLogger(aName, aTarget) {
-    let logger = new AddonLogger(aName);
-
-    if (aTarget) {
-      ["error", "warn", "log"].forEach(function(name) {
-        let fname = name.toUpperCase();
-        delete aTarget[fname];
-        aTarget[fname] = function(aStr, aException) {
-          logger[name](aStr, aException);
-        };
-      });
-    }
-
-    return logger;
-  }
-};
-
-var PrefObserver = {
-  init() {
-    Services.prefs.addObserver(PREF_LOGGING_ENABLED, this);
-    Services.obs.addObserver(this, "xpcom-shutdown");
-    this.observe(null, NS_PREFBRANCH_PREFCHANGE_TOPIC_ID, PREF_LOGGING_ENABLED);
-  },
-
-  observe(aSubject, aTopic, aData) {
-    if (aTopic == "xpcom-shutdown") {
-      Services.prefs.removeObserver(PREF_LOGGING_ENABLED, this);
-      Services.obs.removeObserver(this, "xpcom-shutdown");
-    } else if (aTopic == NS_PREFBRANCH_PREFCHANGE_TOPIC_ID) {
-      gDebugLogEnabled = Services.prefs.getBoolPref(PREF_LOGGING_ENABLED, false);
-    }
-  }
-};
-
-PrefObserver.init();
--- a/toolkit/mozapps/extensions/internal/moz.build
+++ b/toolkit/mozapps/extensions/internal/moz.build
@@ -1,16 +1,15 @@
 # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # 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/.
 
 EXTRA_JS_MODULES.addons += [
-    'AddonLogging.jsm',
     'AddonRepository.jsm',
     'AddonRepository_SQLiteMigrator.jsm',
     'AddonUpdateChecker.jsm',
     'APIExtensionBootstrap.js',
     'Content.js',
     'E10SAddonsRollout.jsm',
     'GMPProvider.jsm',
     'LightweightThemeImageOptimizer.jsm',
--- a/tools/lint/eslint/modules.json
+++ b/tools/lint/eslint/modules.json
@@ -1,11 +1,10 @@
 {
   "AboutHome.jsm": ["AboutHomeUtils", "AboutHome"],
-  "AddonLogging.jsm": ["LogManager"],
   "AddonManager.jsm": ["AddonManager", "AddonManagerPrivate"],
   "addons.js": ["AddonsEngine", "AddonValidator"],
   "addons.jsm": ["Addon", "STATE_ENABLED", "STATE_DISABLED"],
   "addonsreconciler.js": ["AddonsReconciler", "CHANGE_INSTALLED", "CHANGE_UNINSTALLED", "CHANGE_ENABLED", "CHANGE_DISABLED"],
   "AddonTestUtils.jsm": ["AddonTestUtils", "MockAsyncShutdown"],
   "addonutils.js": ["AddonUtils"],
   "ajv-4.1.1.js": ["Ajv"],
   "AlertsHelper.jsm": [],