aboutsummaryrefslogtreecommitdiff
path: root/tools/addon-sdk-1.12/lib/sdk/loader/cuddlefish.js
diff options
context:
space:
mode:
Diffstat (limited to 'tools/addon-sdk-1.12/lib/sdk/loader/cuddlefish.js')
-rw-r--r--tools/addon-sdk-1.12/lib/sdk/loader/cuddlefish.js78
1 files changed, 0 insertions, 78 deletions
diff --git a/tools/addon-sdk-1.12/lib/sdk/loader/cuddlefish.js b/tools/addon-sdk-1.12/lib/sdk/loader/cuddlefish.js
deleted file mode 100644
index cac05a9..0000000
--- a/tools/addon-sdk-1.12/lib/sdk/loader/cuddlefish.js
+++ /dev/null
@@ -1,78 +0,0 @@
-/* vim:set ts=2 sw=2 sts=2 expandtab */
-/* 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';
-
-module.metadata = {
- "stability": "unstable"
-};
-
-// This module is manually loaded by bootstrap.js in a sandbox and immediatly
-// put in module cache so that it is never loaded in any other way.
-
-/* Workarounds to include dependencies in the manifest
-require('chrome') // Otherwise CFX will complain about Components
-require('toolkit/loader') // Otherwise CFX will stip out loader.js
-require('sdk/addon/runner') // Otherwise CFX will stip out addon/runner.js
-*/
-
-const { classes: Cc, Constructor: CC, interfaces: Ci, utils: Cu } = Components;
-
-// `loadSandbox` is exposed by bootstrap.js
-const loaderURI = module.uri.replace("sdk/loader/cuddlefish.js",
- "toolkit/loader.js");
-// We need to keep a reference to the sandbox in order to unload it in
-// bootstrap.js
-const loaderSandbox = loadSandbox(loaderURI);
-const loaderModule = loaderSandbox.exports;
-
-const { override } = loaderModule;
-
-function CuddlefishLoader(options) {
- let { manifest } = options;
-
- options = override(options, {
- // Put `api-utils/loader` and `api-utils/cuddlefish` loaded as JSM to module
- // cache to avoid subsequent loads via `require`.
- modules: override({
- 'toolkit/loader': loaderModule,
- 'addon-sdk/sdk/loader/cuddlefish': exports
- }, options.modules),
- resolve: function resolve(id, requirer) {
- let entry = requirer && requirer in manifest && manifest[requirer];
- let uri = null;
-
- // If manifest entry for this requirement is present we follow manifest.
- // Note: Standard library modules like 'panel' will be present in
- // manifest unless they were moved to platform.
- if (entry) {
- let requirement = entry.requirements[id];
- // If requirer entry is in manifest and it's requirement is not, than
- // it has no authority to load since linker was not able to find it.
- if (!requirement)
- throw Error('Module: ' + requirer.id + ' located at ' + requirer.uri
- + ' has no authority to load: ' + id, requirer.uri);
-
- uri = requirement;
- }
- // If requirer is off manifest than it's a system module and we allow it
- // to go off manifest.
- else {
- uri = id;
- }
- return uri;
- }
- });
-
- let loader = loaderModule.Loader(options);
- // Hack to allow loading from `toolkit/loader`.
- loader.modules[loaderURI] = loaderSandbox;
- return loader;
-}
-
-exports = override(loaderModule, {
- Loader: CuddlefishLoader
-});