26 lines
990 B
JavaScript
26 lines
990 B
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/. */
|
|
|
|
export let ImportHelper = {
|
|
/**
|
|
* Helper so the new tab extension can easily trainhop while we convert
|
|
* modules from resource:// to moz-src:// URIs.
|
|
*
|
|
* @param {string} module
|
|
* The full moz-src URI to import.
|
|
* @param {string} [fallbackResourcePath ="resource://gre/modules/"]
|
|
* The resource url prefix to use for fallback import if moz-src fails.
|
|
* The helper will suffix _only_ the module filename to this path.
|
|
*/
|
|
import(module, fallbackResourcePath = "resource://gre/modules/") {
|
|
try {
|
|
return ChromeUtils.importESModule(module);
|
|
} catch {
|
|
let baseName = module.split("/").pop();
|
|
// Fallback to a resource URI if moz-src fails.
|
|
return ChromeUtils.importESModule(fallbackResourcePath + baseName);
|
|
}
|
|
},
|
|
};
|