Files
tubestation/devtools/shared/shims/event-emitter.js
J. Ryan Stinnett a4505e4125 Bug 912121 - Create shims for popular DevTools modules in add-ons. rs=devtools
For popular modules used by many DevTools add-ons, add shim files which wrap the
modules and make them available at their previous location.

Each shim includes a deprecation warning to make devs and users aware of the
issue.
2015-09-17 16:28:42 -05:00

43 lines
1.6 KiB
JavaScript

/* 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://gre/modules/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;
});