/* 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"; /** * This file only exists to support add-ons which import this module at a * specific path. */ (function (factory) { // Module boilerplate if (this.module && module.id.indexOf("event-emitter") >= 0) { // require factory.call(this, require, exports, module); } else { // Cu.import const Cu = Components.utils; const { require } = Cu.import("resource://devtools/shared/Loader.jsm", {}); this.isWorker = false; this.promise = Cu.import("resource://gre/modules/Promise.jsm", {}).Promise; factory.call(this, require, this, { exports: this }); this.EXPORTED_SYMBOLS = ["EventEmitter"]; } }).call(this, function (require, exports, module) { const { Cu } = require("chrome"); const Services = require("Services"); const WARNING_PREF = "devtools.migration.warnings"; // Cu and Services aren't accessible from workers if (Cu && Services && Services.prefs && Services.prefs.getBoolPref(WARNING_PREF)) { const { Deprecated } = Cu.import("resource://gre/modules/Deprecated.jsm", {}); Deprecated.warning("This path to event-emitter.js is deprecated. Please " + "use require(\"devtools/shared/event-emitter\") to " + "load this module.", "https://bugzil.la/912121"); } const EventEmitter = require("devtools/shared/event-emitter"); this.EventEmitter = EventEmitter; module.exports = EventEmitter; });