diff --git a/packages/addon-kit/lib/clipboard.js b/packages/addon-kit/lib/clipboard.js index 1b3e709b4..019569037 100644 --- a/packages/addon-kit/lib/clipboard.js +++ b/packages/addon-kit/lib/clipboard.js @@ -41,8 +41,8 @@ "use strict"; const {Cc,Ci} = require("chrome"); -const errors = require("errors"); -const apiUtils = require("api-utils"); +const errors = require("api-utils/errors"); +const apiUtils = require("api-utils/api-utils"); /* While these data flavors resemble Internet media types, they do diff --git a/packages/addon-kit/lib/context-menu.js b/packages/addon-kit/lib/context-menu.js index b6dc562af..be2cf58ce 100644 --- a/packages/addon-kit/lib/context-menu.js +++ b/packages/addon-kit/lib/context-menu.js @@ -42,7 +42,7 @@ const {Ci} = require("chrome"); -if (!require("xul-app").is("Firefox")) { +if (!require("api-utils/xul-app").is("Firefox")) { throw new Error([ "The context-menu module currently supports only Firefox. In the future ", "we would like it to support other applications, however. Please see ", @@ -50,17 +50,17 @@ if (!require("xul-app").is("Firefox")) { ].join("")); } -const apiUtils = require("api-utils"); -const collection = require("collection"); -const { Worker } = require("content"); -const url = require("url"); -const { MatchPattern } = require("match-pattern"); -const { EventEmitterTrait: EventEmitter } = require("events"); -const observerServ = require("observer-service"); +const apiUtils = require("api-utils/api-utils"); +const collection = require("api-utils/collection"); +const { Worker } = require("api-utils/content"); +const url = require("api-utils/url"); +const { MatchPattern } = require("api-utils/match-pattern"); +const { EventEmitterTrait: EventEmitter } = require("api-utils/events"); +const observerServ = require("api-utils/observer-service"); const jpSelf = require("self"); -const winUtils = require("window-utils"); -const { Trait } = require("light-traits"); -const { Cortex } = require("cortex"); +const winUtils = require("api-utils/window-utils"); +const { Trait } = require("api-utils/light-traits"); +const { Cortex } = require("api-utils/cortex"); // All user items we add have this class name. const ITEM_CLASS = "jetpack-context-menu-item"; @@ -802,8 +802,8 @@ let browserManager = { // Note that calling this method will cause onTrack to be called immediately // for each currently open browser window. init: function BM_init() { - require("unload").ensure(this); - let windowTracker = new (require("window-utils").WindowTracker)(this); + require("api-utils/unload").ensure(this); + let windowTracker = new (require("api-utils/window-utils").WindowTracker)(this); // On inner-window-destroyed, remove the destroyed inner window's outer // window from all items' worker registries. @@ -1361,7 +1361,7 @@ ContextMenuPopup.prototype = { // Returns the OVERFLOW_THRESH_PREF pref value if it exists or // OVERFLOW_THRESH_DEFAULT if it doesn't. get _overflowThreshold() { - let prefs = require("preferences-service"); + let prefs = require("api-utils/preferences-service"); return prefs.get(OVERFLOW_THRESH_PREF, OVERFLOW_THRESH_DEFAULT); }, diff --git a/packages/addon-kit/lib/hotkeys.js b/packages/addon-kit/lib/hotkeys.js index 959a65c3a..66a16e943 100644 --- a/packages/addon-kit/lib/hotkeys.js +++ b/packages/addon-kit/lib/hotkeys.js @@ -41,8 +41,9 @@ const INVALID_HOTKEY = "Hotkey must have at least one modifier."; -const { toJSON: jsonify, toString: stringify } = require("keyboard/utils"); -const { register, unregister } = require("keyboard/hotkeys"); +const { toJSON: jsonify, + toString: stringify } = require("api-utils/keyboard/utils"); +const { register, unregister } = require("api-utils/keyboard/hotkeys"); const Hotkey = exports.Hotkey = function Hotkey(options) { if (!(this instanceof Hotkey)) diff --git a/packages/addon-kit/lib/notifications.js b/packages/addon-kit/lib/notifications.js index d6b6267c4..f2a4ea25f 100644 --- a/packages/addon-kit/lib/notifications.js +++ b/packages/addon-kit/lib/notifications.js @@ -40,8 +40,8 @@ "use strict"; const { Cc, Ci, Cr } = require("chrome"); -const apiUtils = require("api-utils"); -const errors = require("errors"); +const apiUtils = require("api-utils/api-utils"); +const errors = require("api-utils/errors"); try { let alertServ = Cc["@mozilla.org/alerts-service;1"]. diff --git a/packages/addon-kit/lib/page-mod.js b/packages/addon-kit/lib/page-mod.js index 48c10d4be..3656edd12 100644 --- a/packages/addon-kit/lib/page-mod.js +++ b/packages/addon-kit/lib/page-mod.js @@ -38,13 +38,13 @@ * ***** END LICENSE BLOCK ***** */ "use strict"; -const observers = require("observer-service"); -const { Worker, Loader } = require('content'); -const { EventEmitter } = require('events'); -const { List } = require('list'); -const { Registry } = require('utils/registry'); -const xulApp = require("xul-app"); -const { MatchPattern } = require('match-pattern'); +const observers = require("api-utils/observer-service"); +const { Worker, Loader } = require('api-utils/content'); +const { EventEmitter } = require('api-utils/events'); +const { List } = require('api-utils/list'); +const { Registry } = require('api-utils/utils/registry'); +const xulApp = require("api-utils/xul-app"); +const { MatchPattern } = require('api-utils/match-pattern'); // Whether or not the host application dispatches a document-element-inserted // notification when the document element is inserted into the DOM of a page. diff --git a/packages/addon-kit/lib/page-worker.js b/packages/addon-kit/lib/page-worker.js index 4e4dca0e3..93750a127 100644 --- a/packages/addon-kit/lib/page-worker.js +++ b/packages/addon-kit/lib/page-worker.js @@ -41,10 +41,10 @@ * ***** END LICENSE BLOCK ***** */ "use strict"; -const { Symbiont } = require("content"); -const { Trait } = require("traits"); +const { Symbiont } = require("api-utils/content"); +const { Trait } = require("api-utils/traits"); -if (!require("xul-app").isOneOf(["Firefox", "Thunderbird"])) { +if (!require("api-utils/xul-app").isOneOf(["Firefox", "Thunderbird"])) { throw new Error([ "The page-worker module currently supports only Firefox and Thunderbird. ", "In the future, we would like it to support other applications, however. ", diff --git a/packages/addon-kit/lib/panel.js b/packages/addon-kit/lib/panel.js index c08682955..c7f9023d0 100644 --- a/packages/addon-kit/lib/panel.js +++ b/packages/addon-kit/lib/panel.js @@ -38,7 +38,7 @@ "use strict"; -if (!require("xul-app").is("Firefox")) { +if (!require("api-utils/xul-app").is("Firefox")) { throw new Error([ "The panel module currently supports only Firefox. In the future ", "we would like it to support other applications, however. Please see ", @@ -48,12 +48,12 @@ if (!require("xul-app").is("Firefox")) { } const { Ci } = require("chrome"); -const { validateOptions: valid } = require("api-utils"); -const { Symbiont } = require("content"); -const { EventEmitter } = require('events'); -const timer = require("timer"); +const { validateOptions: valid } = require("api-utils/api-utils"); +const { Symbiont } = require("api-utils/content"); +const { EventEmitter } = require('api-utils/events'); +const timer = require("api-utils/timer"); -require("xpcom").utils.defineLazyServiceGetter( +require("api-utils/xpcom").utils.defineLazyServiceGetter( this, "windowMediator", "@mozilla.org/appshell/window-mediator;1", diff --git a/packages/addon-kit/lib/passwords.js b/packages/addon-kit/lib/passwords.js index b76e526d7..8225da9a0 100644 --- a/packages/addon-kit/lib/passwords.js +++ b/packages/addon-kit/lib/passwords.js @@ -37,10 +37,9 @@ * ***** END LICENSE BLOCK ***** */ "use strict"; - -const { Trait } = require("light-traits"); -const utils = require("passwords/utils"); -const defer = require("utils/function").Enqueued; +const { Trait } = require("api-utils/light-traits"); +const utils = require("api-utils/passwords/utils"); +const defer = require("api-utils/utils/function").Enqueued; /** * Utility function that returns `onComplete` and `onError` callbacks form the diff --git a/packages/addon-kit/lib/private-browsing.js b/packages/addon-kit/lib/private-browsing.js index 0526645f2..8336e7b17 100644 --- a/packages/addon-kit/lib/private-browsing.js +++ b/packages/addon-kit/lib/private-browsing.js @@ -39,10 +39,10 @@ "use strict"; const {Cc,Ci} = require("chrome"); -const observers = require("observer-service"); -const { EventEmitter } = require("events"); -const { setTimeout } = require("timer"); -const unload = require("unload"); +const observers = require("api-utils/observer-service"); +const { EventEmitter } = require("api-utils/events"); +const { setTimeout } = require("api-utils/timer"); +const unload = require("api-utils/unload"); const ON_START = "start"; const ON_STOP = "stop"; @@ -50,7 +50,7 @@ const ON_TRANSITION = "private-browsing-transition-complete"; let pbService; // Currently, only Firefox implements the private browsing service. -if (require("xul-app").is("Firefox")) { +if (require("api-utils/xul-app").is("Firefox")) { pbService = Cc["@mozilla.org/privatebrowsing;1"]. getService(Ci.nsIPrivateBrowsingService); } diff --git a/packages/addon-kit/lib/request.js b/packages/addon-kit/lib/request.js index 9918421bd..39ecae52c 100644 --- a/packages/addon-kit/lib/request.js +++ b/packages/addon-kit/lib/request.js @@ -36,14 +36,13 @@ * ***** END LICENSE BLOCK ***** */ "use strict"; - -const xpcom = require("xpcom"); -const xhr = require("xhr"); -const errors = require("errors"); -const apiUtils = require("api-utils"); +const xpcom = require("api-utils/xpcom"); +const xhr = require("api-utils/xhr"); +const errors = require("api-utils/errors"); +const apiUtils = require("api-utils/api-utils"); // Ugly but will fix with: https://bugzilla.mozilla.org/show_bug.cgi?id=596248 -const EventEmitter = require('events').EventEmitter.compose({ +const EventEmitter = require('api-utils/events').EventEmitter.compose({ constructor: function EventEmitter() this }); diff --git a/packages/addon-kit/lib/selection.js b/packages/addon-kit/lib/selection.js index c8d7bbf1e..6599f2151 100644 --- a/packages/addon-kit/lib/selection.js +++ b/packages/addon-kit/lib/selection.js @@ -37,7 +37,7 @@ "use strict"; -if (!require("xul-app").is("Firefox")) { +if (!require("api-utils/xul-app").is("Firefox")) { throw new Error([ "The selection module currently supports only Firefox. In the future ", "we would like it to support other applications, however. Please see ", @@ -46,8 +46,8 @@ if (!require("xul-app").is("Firefox")) { } let { Ci } = require("chrome"), - { setTimeout } = require("timer"), - { EventEmitter } = require('events'); + { setTimeout } = require("api-utils/timer"), + { EventEmitter } = require("api-utils/events"); // The selection type HTML const HTML = 0x01; @@ -95,7 +95,7 @@ function Selection(rangeNumber) { }); } -require("xpcom").utils.defineLazyServiceGetter(this, "windowMediator", +require("api-utils/xpcom").utils.defineLazyServiceGetter(this, "windowMediator", "@mozilla.org/appshell/window-mediator;1", "nsIWindowMediator"); /** @@ -227,7 +227,8 @@ function onUnload(event) { } let SelectionListenerManager = { - QueryInterface: require("xpcom").utils.generateQI([Ci.nsISelectionListener]), + QueryInterface: require("api-utils/xpcom").utils. + generateQI([Ci.nsISelectionListener]), // The collection of listeners wanting to be notified of selection changes listeners: EventEmitter.compose({ @@ -283,7 +284,7 @@ let SelectionListenerManager = { let self = this; function wrap(count, func) { if (count-- > 0) - require("timer").setTimeout(wrap, 0); + require("api-utils/timer").setTimeout(wrap, 0); else self.addSelectionListener(window); } @@ -337,7 +338,7 @@ SelectionListenerManager.listeners.on('error', console.error); * Install |SelectionListenerManager| as tab tracker in order to watch * tab opening/closing */ -require("tab-browser").Tracker(SelectionListenerManager); +require("api-utils/tab-browser").Tracker(SelectionListenerManager); /** * Exports an iterator so that discontiguous selections can be iterated. diff --git a/packages/addon-kit/lib/simple-storage.js b/packages/addon-kit/lib/simple-storage.js index c64157090..b719e2756 100644 --- a/packages/addon-kit/lib/simple-storage.js +++ b/packages/addon-kit/lib/simple-storage.js @@ -41,13 +41,13 @@ "use strict"; const {Cc,Ci} = require("chrome"); -const file = require("file"); -const prefs = require("preferences-service"); +const file = require("api-utils/file"); +const prefs = require("api-utils/preferences-service"); const jpSelf = require("self"); -const timer = require("timer"); -const unload = require("unload"); -const { EventEmitter } = require("events"); -const { Trait } = require("traits"); +const timer = require("api-utils/timer"); +const unload = require("api-utils/unload"); +const { EventEmitter } = require("api-utils/events"); +const { Trait } = require("api-utils/traits"); const WRITE_PERIOD_PREF = "extensions.addon-sdk.simple-storage.writePeriod"; const WRITE_PERIOD_DEFAULT = 300000; // 5 minutes diff --git a/packages/addon-kit/lib/tabs.js b/packages/addon-kit/lib/tabs.js index 38fec362a..f5797e333 100644 --- a/packages/addon-kit/lib/tabs.js +++ b/packages/addon-kit/lib/tabs.js @@ -37,7 +37,7 @@ * ***** END LICENSE BLOCK ***** */ "use strict"; -if (!require("xul-app").is("Firefox")) { +if (!require("api-utils/xul-app").is("Firefox")) { throw new Error([ "The tabs module currently supports only Firefox. In the future ", "we would like it to support other applications, however. Please see ", @@ -45,8 +45,8 @@ if (!require("xul-app").is("Firefox")) { ].join("")); } -const { browserWindows } = require("windows"); -const { tabs } = require("windows/tabs"); +const { browserWindows } = require("./windows"); +const { tabs } = require("api-utils/windows/tabs"); Object.defineProperties(tabs, { open: { value: function open(options) { diff --git a/packages/addon-kit/lib/timers.js b/packages/addon-kit/lib/timers.js index f48e58fbd..9373deadc 100644 --- a/packages/addon-kit/lib/timers.js +++ b/packages/addon-kit/lib/timers.js @@ -37,4 +37,4 @@ "use strict"; // This module just proxies to the low level equivalent "timer" in "api-utils". -module.exports = require("timer"); +module.exports = require("api-utils/timer"); diff --git a/packages/addon-kit/lib/widget.js b/packages/addon-kit/lib/widget.js index b4d8e9ec3..39f825a0b 100644 --- a/packages/addon-kit/lib/widget.js +++ b/packages/addon-kit/lib/widget.js @@ -64,7 +64,7 @@ const EVENTS = { "mouseout": "mouseout", }; -if (!require("xul-app").is("Firefox")) { +if (!require("api-utils/xul-app").is("Firefox")) { throw new Error([ "The widget module currently supports only Firefox. In the future ", "it will support other applications. Please see ", @@ -72,16 +72,16 @@ if (!require("xul-app").is("Firefox")) { ].join("")); } -const { validateOptions } = require("api-utils"); -const panels = require("panel"); -const { EventEmitter, EventEmitterTrait } = require("events"); -const { Trait } = require("traits"); -const LightTrait = require('light-traits').Trait; -const { Loader, Symbiont } = require("content"); -const timer = require("timer"); -const { Cortex } = require('cortex'); -const windowsAPI = require("windows"); -const unload = require("unload"); +const { validateOptions } = require("api-utils/api-utils"); +const panels = require("./panel"); +const { EventEmitter, EventEmitterTrait } = require("api-utils/events"); +const { Trait } = require("api-utils/traits"); +const LightTrait = require('api-utils/light-traits').Trait; +const { Loader, Symbiont } = require("api-utils/content"); +const timer = require("api-utils/timer"); +const { Cortex } = require('api-utils/cortex'); +const windowsAPI = require("./windows"); +const unload = require("api-utils/unload"); // Data types definition const valid = { @@ -124,7 +124,7 @@ let widgetAttributes = { // Import data definitions from loader, but don't compose with it as Model // functions allow us to recreate easily all Loader code. -let loaderAttributes = require("content/loader").validationAttributes; +let loaderAttributes = require("api-utils/content/loader").validationAttributes; for (let i in loaderAttributes) widgetAttributes[i] = loaderAttributes[i]; @@ -515,7 +515,7 @@ let browserManager = { // that calling this method can cause onTrack to be called immediately if // there are open windows. init: function () { - let windowTracker = new (require("window-utils").WindowTracker)(this); + let windowTracker = new (require("api-utils/window-utils").WindowTracker)(this); unload.ensure(windowTracker); }, @@ -721,7 +721,7 @@ WidgetChrome.prototype.update = function WC_update(updatedItem, property, value) WidgetChrome.prototype._createNode = function WC__createNode() { // XUL element container for widget let node = this._doc.createElement("toolbaritem"); - let guid = require("xpcom").makeUuid().toString(); + let guid = require("api-utils/xpcom").makeUuid().toString(); // Temporary work around require("self") failing on unit-test execution ... let jetpackID = "testID"; diff --git a/packages/addon-kit/lib/windows.js b/packages/addon-kit/lib/windows.js index f1d22ee6a..e9e097bfb 100644 --- a/packages/addon-kit/lib/windows.js +++ b/packages/addon-kit/lib/windows.js @@ -36,7 +36,7 @@ * ***** END LICENSE BLOCK ***** */ "use strict"; -if (!require("xul-app").is("Firefox")) { +if (!require("api-utils/xul-app").is("Firefox")) { throw new Error([ "The windows module currently supports only Firefox. In the future", " we would like it to support other applications, however. Please see ", @@ -45,18 +45,17 @@ if (!require("xul-app").is("Firefox")) { } const { Cc, Ci } = require('chrome'), - { Trait } = require('traits'), - { List } = require('list'), - { EventEmitter } = require('events'), - { WindowTabs, WindowTabTracker } = require('windows/tabs'), - { WindowDom } = require('windows/dom'), - { WindowLoader } = require('windows/loader'), - { WindowTrackerTrait } = require('window-utils'), - { Options } = require('tabs/tab'), - // { Sidebars } = require('window/sidebars'); - { utils } = require('xpcom'), - apiUtils = require('api-utils'), - unload = require('unload'), + { Trait } = require('api-utils/traits'), + { List } = require('api-utils/list'), + { EventEmitter } = require('api-utils/events'), + { WindowTabs, WindowTabTracker } = require('api-utils/windows/tabs'), + { WindowDom } = require('api-utils/windows/dom'), + { WindowLoader } = require('api-utils/windows/loader'), + { WindowTrackerTrait } = require('api-utils/window-utils'), + { Options } = require('api-utils/tabs/tab'), + { utils } = require('api-utils/xpcom'), + apiUtils = require('api-utils/api-utils'), + unload = require('api-utils/unload'), WM = Cc['@mozilla.org/appshell/window-mediator;1']. getService(Ci.nsIWindowMediator), diff --git a/packages/api-utils/lib/app-strings.js b/packages/api-utils/lib/app-strings.js index 217f35720..120c26e34 100644 --- a/packages/api-utils/lib/app-strings.js +++ b/packages/api-utils/lib/app-strings.js @@ -37,7 +37,7 @@ "use strict"; const {Cc,Ci} = require("chrome"); -const apiUtils = require("api-utils"); +const apiUtils = require("./api-utils"); /** * A bundle of strings. diff --git a/packages/api-utils/lib/byte-streams.js b/packages/api-utils/lib/byte-streams.js index a06e84736..b44357e53 100644 --- a/packages/api-utils/lib/byte-streams.js +++ b/packages/api-utils/lib/byte-streams.js @@ -120,7 +120,7 @@ function StreamManager(stream, rawStream) { self.unload(); }; - require("unload").ensure(this); + require("./unload").ensure(this); } StreamManager.prototype = { diff --git a/packages/api-utils/lib/content.js b/packages/api-utils/lib/content.js index 8072a7469..a46a5ff50 100644 --- a/packages/api-utils/lib/content.js +++ b/packages/api-utils/lib/content.js @@ -38,7 +38,7 @@ * ***** END LICENSE BLOCK ***** */ "use strict"; -exports.Loader = require('content/loader').Loader; -exports.Symbiont = require('content/symbiont').Symbiont; -exports.Worker = require('content/worker').Worker; +exports.Loader = require('./content/loader').Loader; +exports.Symbiont = require('./content/symbiont').Symbiont; +exports.Worker = require('./content/worker').Worker; diff --git a/packages/api-utils/lib/content/loader.js b/packages/api-utils/lib/content/loader.js index 705464536..25bc6514c 100644 --- a/packages/api-utils/lib/content/loader.js +++ b/packages/api-utils/lib/content/loader.js @@ -39,10 +39,10 @@ "use strict"; -const { EventEmitter } = require('events'); -const { validateOptions, getTypeOf } = require('api-utils'); -const { URL, toFilename } = require('url'); -const file = require("file"); +const { EventEmitter } = require('../events'); +const { validateOptions, getTypeOf } = require('../api-utils'); +const { URL, toFilename } = require('../url'); +const file = require('../file'); // map of property validations const valid = { diff --git a/packages/api-utils/lib/content/symbiont.js b/packages/api-utils/lib/content/symbiont.js index 18957d3de..7d0b42242 100644 --- a/packages/api-utils/lib/content/symbiont.js +++ b/packages/api-utils/lib/content/symbiont.js @@ -41,9 +41,9 @@ const { Worker } = require('./worker'); const { Loader } = require('./loader'); -const hiddenFrames = require("hidden-frame"); -const observers = require('observer-service'); -const unload = require("unload"); +const hiddenFrames = require('../hidden-frame'); +const observers = require('../observer-service'); +const unload = require('../unload'); /** * This trait is layered on top of `Worker` and in contrast to symbiont diff --git a/packages/api-utils/lib/content/worker.js b/packages/api-utils/lib/content/worker.js index 2bef63dba..b4adf9cb0 100644 --- a/packages/api-utils/lib/content/worker.js +++ b/packages/api-utils/lib/content/worker.js @@ -38,18 +38,18 @@ * ***** END LICENSE BLOCK ***** */ "use strict"; -const { shims } = require('cuddlefish'); -const { Trait } = require('traits'); -const { EventEmitter, EventEmitterTrait } = require('events'); +const { shims } = require('../cuddlefish'); +const { Trait } = require('../traits'); +const { EventEmitter, EventEmitterTrait } = require('../events'); const { Ci, Cu, Cc } = require('chrome'); -const timer = require('timer'); -const { toFilename } = require('url'); -const file = require('file'); -const unload = require('unload'); -const observers = require("observer-service"); -const { Cortex } = require('cortex'); -const { Enqueued } = require('utils/function'); -const proxy = require('content/content-proxy'); +const timer = require('../timer'); +const { toFilename } = require('../url'); +const file = require('../file'); +const unload = require('../unload'); +const observers = require('../observer-service'); +const { Cortex } = require('../cortex'); +const { Enqueued } = require('../utils/function'); +const proxy = require('./content-proxy'); const JS_VERSION = '1.8'; @@ -524,7 +524,7 @@ const Worker = AsyncEventEmitter.compose({ }, get tab() { - let tab = require("tabs/tab"); + let tab = require("../tabs/tab"); return tab.getTabForWindow(this._window); }, diff --git a/packages/api-utils/lib/cuddlefish.js b/packages/api-utils/lib/cuddlefish.js index f96f0c5ad..f5455961d 100644 --- a/packages/api-utils/lib/cuddlefish.js +++ b/packages/api-utils/lib/cuddlefish.js @@ -53,7 +53,7 @@ if (global.require) { // We're being loaded in a SecurableModule. This call also tells the // manifest-scanner that it ought to scan securable-module.js - securableModule = require("securable-module"); + securableModule = require("api-utils/securable-module"); } else { var ios = Cc['@mozilla.org/network/io-service;1'] .getService(Ci.nsIIOService); @@ -81,7 +81,7 @@ } if (false) // force the manifest-scanner to copy shims.js into the XPI - require("shims"); + require("api-utils/shims"); var localFS = new securableModule.LocalFileSystem(myURI); var shimsPath = localFS.resolveModule(null, "shims"); var shims = exports.shims = localFS.getFile(shimsPath); @@ -89,7 +89,7 @@ shims.filename = shimsPath; function unloadLoader(reason, onError) { - this.require("unload").send(reason, onError); + this.require("api-utils/unload").send(reason, onError); } function makeGetModuleExports(delegate) { @@ -152,11 +152,11 @@ var loader = new securableModule.Loader(loaderOptions); if (!globals.console) { - var console = loader.require("plain-text-console"); + var console = loader.require("api-utils/plain-text-console"); globals.console = new console.PlainTextConsole(options.print); } if (!globals.memory) - globals.memory = loader.require("memory"); + globals.memory = loader.require("api-utils/memory"); loader.console = globals.console; loader.memory = globals.memory; diff --git a/packages/api-utils/lib/dom/events/keys.js b/packages/api-utils/lib/dom/events/keys.js index f7dd76f29..ce38154c7 100644 --- a/packages/api-utils/lib/dom/events/keys.js +++ b/packages/api-utils/lib/dom/events/keys.js @@ -38,10 +38,10 @@ "use strict"; -const { emit } = require("dom/events"); -const { getCodeForKey, toJSON } = require("keyboard/utils"); -const { has } = require("array"); -const { isString } = require("type"); +const { emit } = require("../events"); +const { getCodeForKey, toJSON } = require("../../keyboard/utils"); +const { has } = require("../../array"); +const { isString } = require("../../type"); const INITIALIZER = "initKeyEvent"; const CATEGORY = "KeyboardEvent"; diff --git a/packages/api-utils/lib/e10s.js b/packages/api-utils/lib/e10s.js index 9ea6cdf9a..07472af8c 100644 --- a/packages/api-utils/lib/e10s.js +++ b/packages/api-utils/lib/e10s.js @@ -38,9 +38,9 @@ let {Cc, Ci, Cr} = require('chrome'); -let url = require("url"); -let file = require("file"); -let errors = require("errors"); +let url = require("./url"); +let file = require("./file"); +let errors = require("./errors"); let jetpackService = Cc["@mozilla.org/jetpack/service;1"] .getService(Ci.nsIJetpackService); @@ -106,7 +106,7 @@ exports.AddonProcess = function createAddonProcess(options) { // Whenever our add-on is disabled or uninstalled, we want to // destroy the remote process. - require("unload").when(function() { + require("./unload").when(function() { process.destroy(); process = null; }); @@ -135,7 +135,7 @@ exports.AddonProcess = function createAddonProcess(options) { }); process.on("console:trace", function(name, exception) { - var traceback = require("traceback"); + var traceback = require("./traceback"); var stack = traceback.fromException(remoteException(exception)); console.log(traceback.format(stack.slice(0, -2))); }); @@ -239,7 +239,7 @@ exports.AddonProcess = function createAddonProcess(options) { "sendMessage('core:exception', e); }"); process.send("addInjectedSandboxScript", - require("cuddlefish").shimsCode); + require("./cuddlefish").shimsCode); return process; }; diff --git a/packages/api-utils/lib/events.js b/packages/api-utils/lib/events.js index 4e1ac378b..4e36c0060 100644 --- a/packages/api-utils/lib/events.js +++ b/packages/api-utils/lib/events.js @@ -198,5 +198,5 @@ const eventEmitter = { return this; } }; -exports.EventEmitter = require("traits").Trait.compose(eventEmitter); -exports.EventEmitterTrait = require('light-traits').Trait(eventEmitter); +exports.EventEmitter = require("./traits").Trait.compose(eventEmitter); +exports.EventEmitterTrait = require('./light-traits').Trait(eventEmitter); diff --git a/packages/api-utils/lib/events/assembler.js b/packages/api-utils/lib/events/assembler.js index 97507818b..26860d6f5 100644 --- a/packages/api-utils/lib/events/assembler.js +++ b/packages/api-utils/lib/events/assembler.js @@ -38,8 +38,8 @@ "use strict"; -const { Trait } = require("light-traits"); -const { removeListener, on } = require("dom/events"); +const { Trait } = require("../light-traits"); +const { removeListener, on } = require("../dom/events"); /** * Trait may be used for building objects / composing traits that wish to handle diff --git a/packages/api-utils/lib/file.js b/packages/api-utils/lib/file.js index 2c269df03..30cb3566e 100644 --- a/packages/api-utils/lib/file.js +++ b/packages/api-utils/lib/file.js @@ -40,8 +40,8 @@ "use strict"; const {Cc,Ci,Cr} = require("chrome"); -const byteStreams = require("byte-streams"); -const textStreams = require("text-streams"); +const byteStreams = require("./byte-streams"); +const textStreams = require("./text-streams"); // Flags passed when opening a file. See nsprpub/pr/include/prio.h. const OPEN_FLAGS = { diff --git a/packages/api-utils/lib/find-tests-e10s-adapter.js b/packages/api-utils/lib/find-tests-e10s-adapter.js index 2e5150a35..fcd957b2c 100644 --- a/packages/api-utils/lib/find-tests-e10s-adapter.js +++ b/packages/api-utils/lib/find-tests-e10s-adapter.js @@ -37,8 +37,8 @@ "use strict"; if (this.chrome) { - var timer = require("timer"); - var ut = require("unit-test"); + var timer = require("./timer"); + var ut = require("./unit-test"); chrome.on( "runTest", diff --git a/packages/api-utils/lib/hidden-frame.js b/packages/api-utils/lib/hidden-frame.js index 8ee8fdf9c..241a4bc04 100644 --- a/packages/api-utils/lib/hidden-frame.js +++ b/packages/api-utils/lib/hidden-frame.js @@ -41,15 +41,15 @@ "use strict"; const {Cc, Ci} = require("chrome"); -const errors = require("errors"); -const apiUtils = require("api-utils"); -const timer = require("timer"); +const errors = require("./errors"); +const apiUtils = require("./api-utils"); +const timer = require("./timer"); const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; let hostFrame, hostDocument, hiddenWindow, isHostFrameReady = false; -if (!require("xul-app").isOneOf(["Firefox", "Thunderbird"])) { +if (!require("./xul-app").isOneOf(["Firefox", "Thunderbird"])) { throw new Error([ "The hidden-frame module currently supports only Firefox and Thunderbird. ", "In the future, we would like it to support other applications, however. ", @@ -113,7 +113,7 @@ function HiddenFrame(options) { options[key] = val; } - require("collection").addCollectionProperty(this, "onReady"); + require("./collection").addCollectionProperty(this, "onReady"); if (options.onReady) this.onReady.add(options.onReady); @@ -191,7 +191,7 @@ exports.remove = function remove(frame) { cache.splice(cache.indexOf(entry), 1); } -require("unload").when(function () { +require("./unload").when(function () { for each (let entry in cache.slice()) exports.remove(entry.frame); diff --git a/packages/api-utils/lib/keyboard/hotkeys.js b/packages/api-utils/lib/keyboard/hotkeys.js index aebf330dc..efea762e4 100644 --- a/packages/api-utils/lib/keyboard/hotkeys.js +++ b/packages/api-utils/lib/keyboard/hotkeys.js @@ -39,8 +39,8 @@ "use strict"; -const keyboardObserver = require("keyboard/observer"); -const { getKeyForCode, normalize } = require("keyboard/utils"); +const keyboardObserver = require("./observer"); +const { getKeyForCode, normalize } = require("./utils"); /** * Register a global `hotkey` that executes `listener` when the key combination diff --git a/packages/api-utils/lib/keyboard/observer.js b/packages/api-utils/lib/keyboard/observer.js index 48681799e..4818edf4f 100644 --- a/packages/api-utils/lib/keyboard/observer.js +++ b/packages/api-utils/lib/keyboard/observer.js @@ -38,11 +38,11 @@ "use strict"; -const { Trait } = require("light-traits"); -const { EventEmitterTrait: EventEmitter } = require("events"); -const { DOMEventAssembler } = require("events/assembler"); -const { browserWindowIterator, isBrowser } = require('window-utils'); -const windowObserver = require("windows/observer"); +const { Trait } = require("../light-traits"); +const { EventEmitterTrait: EventEmitter } = require("../events"); +const { DOMEventAssembler } = require("../events/assembler"); +const { browserWindowIterator, isBrowser } = require('../window-utils'); +const windowObserver = require("../windows/observer"); // Event emitter objects used to register listeners and emit events on them // when they occur. diff --git a/packages/api-utils/lib/keyboard/utils.js b/packages/api-utils/lib/keyboard/utils.js index 2e94cea1b..93c8e87d0 100644 --- a/packages/api-utils/lib/keyboard/utils.js +++ b/packages/api-utils/lib/keyboard/utils.js @@ -40,9 +40,9 @@ "use strict"; const { Cc, Ci } = require("chrome"); -const runtime = require("runtime"); -const { isString } = require("type"); -const array = require("array"); +const runtime = require("../runtime"); +const { isString } = require("../type"); +const array = require("../array"); const SWP = "{{SEPARATOR}}"; diff --git a/packages/api-utils/lib/list.js b/packages/api-utils/lib/list.js index 77e101829..8643a0a99 100644 --- a/packages/api-utils/lib/list.js +++ b/packages/api-utils/lib/list.js @@ -36,7 +36,7 @@ * ***** END LICENSE BLOCK ***** */ "use strict"; -const { Trait } = require('traits'); +const { Trait } = require('./traits'); /** * @see https://jetpack.mozillalabs.com/sdk/latest/docs/#module/api-utils/list diff --git a/packages/api-utils/lib/match-pattern.js b/packages/api-utils/lib/match-pattern.js index 34e6b8cc2..802fe3a8e 100644 --- a/packages/api-utils/lib/match-pattern.js +++ b/packages/api-utils/lib/match-pattern.js @@ -39,8 +39,7 @@ * ***** END LICENSE BLOCK ***** */ "use strict"; - -const { URL } = require("url"); +const { URL } = require("./url"); exports.MatchPattern = MatchPattern; diff --git a/packages/api-utils/lib/memory.js b/packages/api-utils/lib/memory.js index 00f39fe2e..008e83037 100644 --- a/packages/api-utils/lib/memory.js +++ b/packages/api-utils/lib/memory.js @@ -136,7 +136,7 @@ var gc = exports.gc = function gc() { test_utils.garbageCollect(); }; -require("unload").when( +require("./unload").when( function() { trackedObjects = {}; if (timer) { diff --git a/packages/api-utils/lib/observer-service.js b/packages/api-utils/lib/observer-service.js index 549cef75c..3bcd1266a 100644 --- a/packages/api-utils/lib/observer-service.js +++ b/packages/api-utils/lib/observer-service.js @@ -39,7 +39,7 @@ "use strict"; const {Cc,Ci} = require("chrome"); -var xpcom = require("xpcom"); +var xpcom = require("./xpcom"); /** * A service for adding, removing and notifying observers of notifications. @@ -200,7 +200,7 @@ Subject.prototype = { getInterfaces: function() {} }; -require("unload").when( +require("./unload").when( function removeAllObservers() { // Make a copy of cache first, since cache will be changing as we // iterate through it. diff --git a/packages/api-utils/lib/passwords/utils.js b/packages/api-utils/lib/passwords/utils.js index e63840aad..950aac2fe 100644 --- a/packages/api-utils/lib/passwords/utils.js +++ b/packages/api-utils/lib/passwords/utils.js @@ -42,7 +42,7 @@ const { Cc, Ci, components: { Constructor: CConstructor } } = require("chrome"); const { uri: ADDON_URI } = require("self"); const loginManager = Cc["@mozilla.org/login-manager;1"]. getService(Ci.nsILoginManager); -const { URL: parseURL } = require("url"); +const { URL: parseURL } = require("../url"); const LoginInfo = CConstructor("@mozilla.org/login-manager/loginInfo;1", "nsILoginInfo", "init"); diff --git a/packages/api-utils/lib/plain-text-console.js b/packages/api-utils/lib/plain-text-console.js index 45b3b8a23..f7ea74e26 100644 --- a/packages/api-utils/lib/plain-text-console.js +++ b/packages/api-utils/lib/plain-text-console.js @@ -101,12 +101,12 @@ Console.prototype = { exception: function exception(e) { var fullString = ("An exception occurred.\n" + - require("traceback").format(e) + "\n" + e); + require("./traceback").format(e) + "\n" + e); this.error(fullString); }, trace: function trace() { - var traceback = require("traceback"); + var traceback = require("./traceback"); var stack = traceback.get(); stack.splice(-1, 1); message(this.print, "info", [traceback.format(stack)]); diff --git a/packages/api-utils/lib/securable-module.js b/packages/api-utils/lib/securable-module.js index 1500bb6f3..0b7d564ba 100644 --- a/packages/api-utils/lib/securable-module.js +++ b/packages/api-utils/lib/securable-module.js @@ -297,7 +297,7 @@ // currently unused } if (false) // force scanner to copy self-maker.js into the XPI - require("self-maker"); + require("./self-maker"); let makerModData = {uri: self.fs.resolveModule(null, "self-maker")}; if (!makerModData.uri) throw new Error("Unable to find self-maker, from "+basePath); diff --git a/packages/api-utils/lib/self-e10s-adapter.js b/packages/api-utils/lib/self-e10s-adapter.js index 03e62a4b7..5eeb2a720 100644 --- a/packages/api-utils/lib/self-e10s-adapter.js +++ b/packages/api-utils/lib/self-e10s-adapter.js @@ -53,9 +53,9 @@ if (this.chrome) { } else { // Here we basically have to reimplement the self module. - let file = require("file"); - let url = require("url"); - let traceback = require("traceback"); + let file = require("./file"); + let url = require("./url"); + let traceback = require("./traceback"); let packageData = packaging.options.packageData; let resourcePackages = packaging.options.resourcePackages; diff --git a/packages/api-utils/lib/self-maker.js b/packages/api-utils/lib/self-maker.js index 0a8b2ae6c..932ffe1a7 100644 --- a/packages/api-utils/lib/self-maker.js +++ b/packages/api-utils/lib/self-maker.js @@ -37,8 +37,8 @@ "use strict"; -let file = require("file"); -let url = require("url"); +let file = require("./file"); +let url = require("./url"); let jid = packaging.jetpackID; let name = packaging.options.name; diff --git a/packages/api-utils/lib/tab-browser.js b/packages/api-utils/lib/tab-browser.js index 405a4865f..e98f35076 100644 --- a/packages/api-utils/lib/tab-browser.js +++ b/packages/api-utils/lib/tab-browser.js @@ -37,15 +37,14 @@ * ***** END LICENSE BLOCK ***** */ "use strict"; - const {Cc,Ci,Cu} = require("chrome"); var NetUtil = {}; Cu.import("resource://gre/modules/NetUtil.jsm", NetUtil); NetUtil = NetUtil.NetUtil; -const errors = require("errors"); -const windowUtils = require("window-utils"); -const apiUtils = require("api-utils"); -const collection = require("collection"); +const errors = require("./errors"); +const windowUtils = require("./window-utils"); +const apiUtils = require("./api-utils"); +const collection = require("./collection"); // TODO: The hard-coding of app-specific info here isn't very nice; // ideally such app-specific info should be more decoupled, and the @@ -53,7 +52,7 @@ const collection = require("collection"); // runtime, perhaps by inspecting supported packages (e.g. via // dynamically-named modules or package-defined extension points). -if (!require("xul-app").is("Firefox")) { +if (!require("./xul-app").is("Firefox")) { throw new Error([ "The tab-browser module currently supports only Firefox. In the future ", "it will support other applications. Please see ", @@ -124,7 +123,7 @@ exports.addTab = function addTab(url, options) { let mainWindow = e.target.defaultView; mainWindow.gBrowser.pinTab(mainWindow.gBrowser.selectedTab); } - require("errors").catchAndLog(function(e) options.onLoad(e))(e); + require("./errors").catchAndLog(function(e) options.onLoad(e))(e); }, options.url); } else { let tab = win.gBrowser.addTab(options.url); @@ -138,7 +137,7 @@ exports.addTab = function addTab(url, options) { // remove event handler from addTab - don't want notified // for subsequent loads in same tab. tabBrowser.removeEventListener("load", onLoad, true); - require("errors").catchAndLog(function(e) options.onLoad(e))(e); + require("./errors").catchAndLog(function(e) options.onLoad(e))(e); }, true); } } @@ -167,7 +166,7 @@ function Tracker(delegate, window) { this._window = window; this._windowTracker = new windowUtils.WindowTracker(this); - require("unload").ensure(this); + require("./unload").ensure(this); } Tracker.prototype = { __iterator__: function __iterator__() { @@ -217,7 +216,7 @@ function TabTracker(delegate, window) { this._delegate = delegate; this._tabs = []; this._tracker = new Tracker(this, window); - require("unload").ensure(this); + require("./unload").ensure(this); } TabTracker.prototype = { _TAB_EVENTS: ["TabOpen", "TabClose"], @@ -278,7 +277,7 @@ TabTracker.prototype = { exports.TabTracker = apiUtils.publicConstructor(TabTracker); exports.whenContentLoaded = function whenContentLoaded(callback) { - var cb = require("errors").catchAndLog(function eventHandler(event) { + var cb = require("./errors").catchAndLog(function eventHandler(event) { if (event.target && event.target.defaultView) callback(event.target.defaultView); }); @@ -427,7 +426,7 @@ let TabModule = exports.TabModule = function TabModule(window) { }, pushTabEvent: function TETT_pushTabEvent(event, tab) { for (let callback in self[event]) { - require("errors").catchAndLog(function(tab) { + require("./errors").catchAndLog(function(tab) { callback(new tabConstructor(tab)); })(tab); } @@ -438,7 +437,7 @@ let TabModule = exports.TabModule = function TabModule(window) { let [tabEl,] = getElementAndWindowForTab(tabObj, window); if (tabEl == tab) { for (let callback in tabObj[event]) - require("errors").catchAndLog(function() callback())(); + require("./errors").catchAndLog(function() callback())(); } } // if being closed, remove the tab object from the cache @@ -453,7 +452,7 @@ let TabModule = exports.TabModule = function TabModule(window) { this.tabs.splice(0); } }; - require("unload").ensure(eventsTabDelegate); + require("./unload").ensure(eventsTabDelegate); let eventsTabTracker = new ModuleTabTracker({ onTrack: function TETT_onTrack(tab) { @@ -480,7 +479,7 @@ let TabModule = exports.TabModule = function TabModule(window) { eventsTabDelegate.pushTabEvent("onPaint", tab); } }, window); - require("unload").ensure(eventsTabTracker); + require("./unload").ensure(eventsTabTracker); // Iterator for all tabs this.__iterator__ = function tabsIterator() { @@ -495,7 +494,7 @@ let TabModule = exports.TabModule = function TabModule(window) { // Unregister tabs event listeners events.forEach(function(e) self[e] = []); } - require("unload").ensure(this); + require("./unload").ensure(this); } // End of TabModule constructor @@ -527,7 +526,7 @@ function open(options, tabConstructor, window) { if (window) options.inNewWindow = false; - let win = window || require("window-utils").activeBrowserWindow; + let win = window || require("./window-utils").activeBrowserWindow; if (!win || options.inNewWindow) openURLInNewWindow(options, tabConstructor); @@ -547,7 +546,7 @@ function openURLInNewWindow(options, tabConstructor) { tabBrowser.addEventListener("load", function onLoad(e) { tabBrowser.removeEventListener("load", onLoad, true); let tab = tabConstructor(tabEl); - require("errors").catchAndLog(function(e) options.onOpen(e))(tab); + require("./errors").catchAndLog(function(e) options.onOpen(e))(tab); }, true); }; } @@ -571,8 +570,8 @@ function openURLInNewTab(options, window, tabConstructor) { // for subsequent loads in same tab. tabBrowser.removeEventListener("load", onLoad, true); let tab = tabConstructor(tabEl); - require("timer").setTimeout(function() { - require("errors").catchAndLog(function(tab) options.onOpen(tab))(tab); + require("./timer").setTimeout(function() { + require("./errors").catchAndLog(function(tab) options.onOpen(tab))(tab); }, 10); }, true); } @@ -581,7 +580,7 @@ function openURLInNewTab(options, window, tabConstructor) { function getElementAndWindowForTab(tabObj, window) { // iterate over open windows, or use single window if provided let windowIterator = window ? function() { yield window; } - : require("window-utils").windowIterator; + : require("./window-utils").windowIterator; for (let win in windowIterator()) { if (win.gBrowser) { // find the tab element at tab.index @@ -600,7 +599,7 @@ function ModuleTabTracker(delegate, window) { this._delegate = delegate; this._tabs = []; this._tracker = new Tracker(this, window); - require("unload").ensure(this); + require("./unload").ensure(this); } ModuleTabTracker.prototype = { _TAB_EVENTS: ["TabOpen", "TabClose", "TabSelect", "DOMContentLoaded", diff --git a/packages/api-utils/lib/tabs/tab.js b/packages/api-utils/lib/tabs/tab.js index 71d74559b..92bc83faf 100644 --- a/packages/api-utils/lib/tabs/tab.js +++ b/packages/api-utils/lib/tabs/tab.js @@ -36,13 +36,13 @@ "use strict"; const { Ci } = require('chrome'); -const { Trait } = require("traits"); -const { EventEmitter } = require("events"); -const { validateOptions } = require("api-utils"); -const { Enqueued } = require("utils/function"); -const { EVENTS } = require("tabs/events"); -const { getThumbnailURIForWindow } = require("utils/thumbnail"); -const { getFaviconURIForLocation } = require("utils/data"); +const { Trait } = require("../traits"); +const { EventEmitter } = require("../events"); +const { validateOptions } = require("../api-utils"); +const { Enqueued } = require("../utils/function"); +const { EVENTS } = require("./events"); +const { getThumbnailURIForWindow } = require("../utils/thumbnail"); +const { getFaviconURIForLocation } = require("../utils/data"); @@ -188,7 +188,7 @@ const TabTrait = Trait.compose(EventEmitter, { * @type {Worker} */ attach: function attach(options) { - let { Worker } = require("content/worker"); + let { Worker } = require("../content/worker"); options.window = this._contentWindow.wrappedJSObject; let worker = Worker(options); worker.once("detach", function detach() { @@ -279,7 +279,8 @@ exports.getTabForWindow = function (win) { let w = topWindow.gBrowser.browsers[i].contentWindow; if (getWindowID(w) == topWindowId) { return Tab({ - window: require("windows").BrowserWindow({ window: topWindow }), + // TODO: api-utils should not depend on addon-kit! + window: require("addon-kit/windows").BrowserWindow({ window: topWindow }), tab: topWindow.gBrowser.tabs[i] }); } diff --git a/packages/api-utils/lib/test.js b/packages/api-utils/lib/test.js index 6e9d00c74..0ced3a0bf 100644 --- a/packages/api-utils/lib/test.js +++ b/packages/api-utils/lib/test.js @@ -38,7 +38,7 @@ "use strict"; const BaseAssert = require("./test/assert").Assert; -const { isFunction, isObject } = require("type"); +const { isFunction, isObject } = require("./type"); /** * Function takes test `suite` object in CommonJS format and defines all of the diff --git a/packages/api-utils/lib/test/assert.js b/packages/api-utils/lib/test/assert.js index e19e64820..0c29d6269 100644 --- a/packages/api-utils/lib/test/assert.js +++ b/packages/api-utils/lib/test/assert.js @@ -37,7 +37,7 @@ "use strict"; const { isFunction, isNull, isObject, isString, isRegExp, isArray, isDate, - isPrimitive, isUndefined, instanceOf, source } = require("type"); + isPrimitive, isUndefined, instanceOf, source } = require("../type"); /** * The `AssertionError` is defined in assert. diff --git a/packages/api-utils/lib/text-streams.js b/packages/api-utils/lib/text-streams.js index 38728fa3e..87d375d94 100644 --- a/packages/api-utils/lib/text-streams.js +++ b/packages/api-utils/lib/text-streams.js @@ -247,7 +247,7 @@ function StreamManager(stream, rawStream) { self.unload(); }; - require("unload").ensure(this); + require("./unload").ensure(this); } StreamManager.prototype = { diff --git a/packages/api-utils/lib/timer-e10s-adapter.js b/packages/api-utils/lib/timer-e10s-adapter.js index 51103885e..c0dc313df 100644 --- a/packages/api-utils/lib/timer-e10s-adapter.js +++ b/packages/api-utils/lib/timer-e10s-adapter.js @@ -61,7 +61,7 @@ if (this.chrome) { }); } else { exports.register = function(addon) { - var timer = require("timer"); + var timer = require("./timer"); addon.registerCall("setTimeout", function(name, ms) { var id = timer.setTimeout(function() { addon.send("onTimeout", id); diff --git a/packages/api-utils/lib/timer.js b/packages/api-utils/lib/timer.js index 945dcb4d0..052f50662 100644 --- a/packages/api-utils/lib/timer.js +++ b/packages/api-utils/lib/timer.js @@ -40,7 +40,7 @@ "use strict"; const {Cc,Ci} = require("chrome"); -var xpcom = require("xpcom"); +var xpcom = require("./xpcom"); var timerClass = Cc["@mozilla.org/timer;1"]; var nextID = 1; @@ -133,7 +133,7 @@ function cancelTimer(timerID) { } } -require("unload").when( +require("./unload").when( function cancelAllPendingTimers() { var timerIDs = [timerID for (timerID in timers)]; timerIDs.forEach(function(timerID) { cancelTimer(timerID); }); diff --git a/packages/api-utils/lib/traceback.js b/packages/api-utils/lib/traceback.js index 9c58c110f..fdedd99b0 100644 --- a/packages/api-utils/lib/traceback.js +++ b/packages/api-utils/lib/traceback.js @@ -62,7 +62,7 @@ function getLocalFile(path) { function safeGetFileLine(path, line) { try { - var scheme = require("url").URL(path).scheme; + var scheme = require("./url").URL(path).scheme; // TODO: There should be an easier, more accurate way to figure out // what's the case here. if (!(scheme == "http" || scheme == "https")) diff --git a/packages/api-utils/lib/traits.js b/packages/api-utils/lib/traits.js index 07e764d0a..59193aa70 100644 --- a/packages/api-utils/lib/traits.js +++ b/packages/api-utils/lib/traits.js @@ -43,7 +43,7 @@ const { trait: _trait, //create: _create, required, -} = require('traits/core'); +} = require('./traits/core'); const defineProperties = Object.defineProperties, freeze = Object.freeze, diff --git a/packages/api-utils/lib/unit-test-finder.js b/packages/api-utils/lib/unit-test-finder.js index ddcc7ebe0..f698a9e0e 100644 --- a/packages/api-utils/lib/unit-test-finder.js +++ b/packages/api-utils/lib/unit-test-finder.js @@ -42,7 +42,7 @@ // permission to require() whatever we want. require("chrome"); -var file = require("file"); +var file = require("./file"); var TestFinder = exports.TestFinder = function TestFinder(options) { memory.track(this); diff --git a/packages/api-utils/lib/unit-test.js b/packages/api-utils/lib/unit-test.js index 852d5947c..5fdd234ae 100644 --- a/packages/api-utils/lib/unit-test.js +++ b/packages/api-utils/lib/unit-test.js @@ -37,11 +37,10 @@ * ***** END LICENSE BLOCK ***** */ "use strict"; - -var timer = require("timer"); +var timer = require("./timer"); exports.findAndRunTests = function findAndRunTests(options) { - var TestFinder = require("unit-test-finder").TestFinder; + var TestFinder = require("./unit-test-finder").TestFinder; var finder = new TestFinder({ dirs: options.dirs, filter: options.filter, @@ -90,7 +89,7 @@ TestRunner.prototype = { options = {console: console}; options.fs = this.fs; - var Cuddlefish = require("cuddlefish"); + var Cuddlefish = require("./cuddlefish"); if ("moduleOverrides" in options) { var moduleOverrides = options.moduleOverrides; diff --git a/packages/api-utils/lib/url-e10s-adapter.js b/packages/api-utils/lib/url-e10s-adapter.js index 32d26a749..1cc5f59f7 100644 --- a/packages/api-utils/lib/url-e10s-adapter.js +++ b/packages/api-utils/lib/url-e10s-adapter.js @@ -64,7 +64,7 @@ if (this.chrome) { } } else { - const { URL, toFilename, fromFilename } = require("url"); + const { URL, toFilename, fromFilename } = require("./url"); exports.register = function register(addon) { addon.registerCall("url:toFilename", function(name, spec) toFilename(spec)); diff --git a/packages/api-utils/lib/url.js b/packages/api-utils/lib/url.js index 65f6dcf85..450212930 100644 --- a/packages/api-utils/lib/url.js +++ b/packages/api-utils/lib/url.js @@ -120,4 +120,4 @@ function URL(url, base) { this.__defineGetter__("path", function() uri.path); this.toString = function URL_toString() uri.spec; }; -exports.URL = require("api-utils").publicConstructor(URL); +exports.URL = require("./api-utils").publicConstructor(URL); diff --git a/packages/api-utils/lib/utils/function.js b/packages/api-utils/lib/utils/function.js index 6576b4e37..ba43d594d 100644 --- a/packages/api-utils/lib/utils/function.js +++ b/packages/api-utils/lib/utils/function.js @@ -35,7 +35,7 @@ * ***** END LICENSE BLOCK ***** */ "use strict"; -var { setTimeout } = require("timer"); +var { setTimeout } = require("../timer"); /** * Takes a function and returns a wrapped one instead, calling which will call diff --git a/packages/api-utils/lib/utils/registry.js b/packages/api-utils/lib/utils/registry.js index 8587a37d9..b1d02f7cd 100644 --- a/packages/api-utils/lib/utils/registry.js +++ b/packages/api-utils/lib/utils/registry.js @@ -38,8 +38,8 @@ * ***** END LICENSE BLOCK ***** */ "use strict"; -const { EventEmitter } = require('events'); -const unload = require("unload"); +const { EventEmitter } = require('../events'); +const unload = require('../unload'); const Registry = EventEmitter.compose({ _registry: null, diff --git a/packages/api-utils/lib/window-utils.js b/packages/api-utils/lib/window-utils.js index 26e6644ff..a479a0db2 100644 --- a/packages/api-utils/lib/window-utils.js +++ b/packages/api-utils/lib/window-utils.js @@ -38,13 +38,13 @@ const {Cc,Ci} = require("chrome"); -var errors = require("errors"); +var errors = require("./errors"); var gWindowWatcher = Cc["@mozilla.org/embedcomp/window-watcher;1"] .getService(Ci.nsIWindowWatcher); -const { EventEmitter } = require('events'), - { Trait } = require('traits'); +const { EventEmitter } = require('./events'), + { Trait } = require('./traits'); /** * An iterator for XUL windows currently in the application. @@ -78,7 +78,7 @@ var WindowTracker = exports.WindowTracker = function WindowTracker(delegate) { for (window in windowIterator()) this._regWindow(window); gWindowWatcher.registerNotification(this); - require("unload").ensure(this); + require("./unload").ensure(this); }; WindowTracker.prototype = { @@ -161,7 +161,7 @@ function onDocUnload(event) { document.defaultView.removeEventListener("unload", onDocUnload, false); } -onDocUnload = require("errors").catchAndLog(onDocUnload); +onDocUnload = require("./errors").catchAndLog(onDocUnload); exports.closeOnUnload = function closeOnUnload(window) { window.addEventListener("unload", onDocUnload, false); @@ -208,7 +208,7 @@ function isBrowser(window) { }; exports.isBrowser = isBrowser; -require("unload").when( +require("./unload").when( function() { gDocsToClose.slice().forEach( function(doc) { doc.defaultView.close(); }); diff --git a/packages/api-utils/lib/windows/dom.js b/packages/api-utils/lib/windows/dom.js index bc132eaec..d74e31429 100644 --- a/packages/api-utils/lib/windows/dom.js +++ b/packages/api-utils/lib/windows/dom.js @@ -37,7 +37,7 @@ 'use strict'; -const { Trait } = require('traits'); +const { Trait } = require('../traits'); const WindowDom = Trait.compose({ _window: Trait.required, diff --git a/packages/api-utils/lib/windows/loader.js b/packages/api-utils/lib/windows/loader.js index 41be2eaaf..635b9e5a0 100644 --- a/packages/api-utils/lib/windows/loader.js +++ b/packages/api-utils/lib/windows/loader.js @@ -36,8 +36,8 @@ "use strict"; const { Cc, Ci } = require('chrome'), - { setTimeout } = require("timer"), - { Trait } = require('traits'), + { setTimeout } = require("../timer"), + { Trait } = require('../traits'), WM = Cc['@mozilla.org/appshell/window-mediator;1']. getService(Ci.nsIWindowMediator), diff --git a/packages/api-utils/lib/windows/tabs.js b/packages/api-utils/lib/windows/tabs.js index b40f2c77e..afc583c26 100644 --- a/packages/api-utils/lib/windows/tabs.js +++ b/packages/api-utils/lib/windows/tabs.js @@ -36,11 +36,11 @@ * ***** END LICENSE BLOCK ***** */ "use strict"; -const { Trait } = require("traits"); -const { List } = require("list"); -const { Tab, Options } = require("tabs/tab"); -const { EventEmitter } = require("events"); -const { EVENTS } = require("tabs/events"); +const { Trait } = require("../traits"); +const { List } = require("../list"); +const { Tab, Options } = require("../tabs/tab"); +const { EventEmitter } = require("../events"); +const { EVENTS } = require("../tabs/events"); const { getOwnerWindow, getActiveTab, getTabs, openTab, activateTab } = require("../tabs/utils"); const tabsObserver = require("../tabs/observer"); diff --git a/packages/api-utils/lib/xhr.js b/packages/api-utils/lib/xhr.js index e43f215e0..10b83db4a 100644 --- a/packages/api-utils/lib/xhr.js +++ b/packages/api-utils/lib/xhr.js @@ -175,7 +175,7 @@ DELEGATED_METHODS.forEach( }; }); -require("unload").when( +require("./unload").when( function() { requests.slice().forEach(function(request) { request._unload(); }); }); diff --git a/packages/api-utils/lib/xpcom.js b/packages/api-utils/lib/xpcom.js index 19149a0e5..10f1d6b3c 100644 --- a/packages/api-utils/lib/xpcom.js +++ b/packages/api-utils/lib/xpcom.js @@ -144,7 +144,7 @@ var getClass = exports.getClass = function getClass(contractID, iid) { return Cm.getClassObjectByContractID(contractID, iid); }; -require("unload").when( +require("./unload").when( function() { var copy = factories.slice(); copy.reverse(); diff --git a/packages/development-mode/lib/bootstrap.js b/packages/development-mode/lib/bootstrap.js index b05ae65d6..6986c60a7 100644 --- a/packages/development-mode/lib/bootstrap.js +++ b/packages/development-mode/lib/bootstrap.js @@ -38,7 +38,7 @@ "use strict"; var {Cc,Cm,Ci,components} = require("chrome"); -var file = require("file"); +var file = require("api-utils/file"); // A global registry of all Jetpack Programs that we're responsible // for loading and unloading. Keys are XPCOM contract IDs of diff --git a/packages/development-mode/lib/main.js b/packages/development-mode/lib/main.js index 19cbaa91d..61854c926 100644 --- a/packages/development-mode/lib/main.js +++ b/packages/development-mode/lib/main.js @@ -40,7 +40,7 @@ var print; var {Cc,Ci} = require("chrome"); -var xhr = require("xhr"); +var xhr = require("api-utils/xhr"); // TODO: Eventually we should be able to e.g. require("os").environ // rather than access this XPCOM service directly. @@ -48,7 +48,7 @@ var environ = Cc["@mozilla.org/process/environment;1"] .getService(Ci.nsIEnvironment); function runTask(options) { - require("bootstrap").run(options, packaging.root.path, print); + require("./bootstrap").run(options, packaging.root.path, print); processNextTask(); } @@ -65,7 +65,7 @@ function processNextTask() { } else processNextTask(); } else { - require("timer").setTimeout(processNextTask, 1000); + require("api-utils/timer").setTimeout(processNextTask, 1000); } } }; diff --git a/packages/test-harness/lib/harness.js b/packages/test-harness/lib/harness.js index 6f653f3a7..74e66fb35 100644 --- a/packages/test-harness/lib/harness.js +++ b/packages/test-harness/lib/harness.js @@ -238,7 +238,7 @@ function cleanup() { console.exception(e); }; - require("timer").setTimeout(showResults, 1); + require("api-utils/timer").setTimeout(showResults, 1); } function nextIteration(tests) { @@ -262,7 +262,7 @@ function nextIteration(tests) { iterationsLeft--; } if (iterationsLeft) - sandbox.require("unit-test").findAndRunTests({ + sandbox.require("api-utils/unit-test").findAndRunTests({ testOutOfProcess: packaging.enableE10s, testInProcess: true, fs: sandbox.fs, @@ -271,7 +271,7 @@ function nextIteration(tests) { onDone: nextIteration }); else - require("timer").setTimeout(cleanup, 0); + require("api-utils/timer").setTimeout(cleanup, 0); } var POINTLESS_ERRORS = [ @@ -325,9 +325,9 @@ var runTests = exports.runTests = function runTests(options) { try { cService.registerListener(consoleListener); - var cuddlefish = require("cuddlefish"); - var ptc = require("plain-text-console"); - var url = require("url"); + var cuddlefish = require("api-utils/cuddlefish"); + var ptc = require("api-utils/plain-text-console"); + var url = require("api-utils/url"); dirs = [url.toFilename(path) for each (path in options.rootPaths)]; @@ -335,7 +335,7 @@ var runTests = exports.runTests = function runTests(options) { options); var globals = {packaging: packaging}; - var xulApp = require("xul-app"); + var xulApp = require("api-utils/xul-app"); var xulRuntime = Cc["@mozilla.org/xre/app-info;1"] .getService(Ci.nsIXULRuntime); @@ -354,12 +354,12 @@ var runTests = exports.runTests = function runTests(options) { __proto__: options}); nextIteration(); } catch (e) { - print(require("traceback").format(e) + "\n" + e + "\n"); + print(require("api-utils/traceback").format(e) + "\n" + e + "\n"); onDone({passed: 0, failed: 1}); } }; -require("unload").when( +require("api-utils/unload").when( function() { cService.unregisterListener(consoleListener); }); diff --git a/packages/test-harness/lib/run-tests.js b/packages/test-harness/lib/run-tests.js index 6ae8f6a9b..bcf76e484 100644 --- a/packages/test-harness/lib/run-tests.js +++ b/packages/test-harness/lib/run-tests.js @@ -35,8 +35,7 @@ * ***** END LICENSE BLOCK ***** */ "use strict"; - -var obsvc = require("observer-service"); +var obsvc = require("api-utils/observer-service"); var {Cc,Ci} = require("chrome"); function runTests(iterations, filter, profileMemory, verbose, rootPaths, quit, print) { @@ -46,7 +45,7 @@ function runTests(iterations, filter, profileMemory, verbose, rootPaths, quit, p var window = ww.openWindow(null, "data:text/plain,Running tests...", "harness", "centerscreen", null); - var harness = require("harness"); + var harness = require("./harness"); function onDone(tests) { window.close();