es6module_devtoolsLoader.sys.mjs (2669B)
1 export let x = 0; 2 3 export function increment() { 4 x++; 5 }; 6 7 import { object } from "resource://test/es6module_devtoolsLoader.js"; 8 export const importedObject = object; 9 10 const importDevTools = ChromeUtils.importESModule("resource://test/es6module_devtoolsLoader.js", { global: "devtools" }); 11 export const importESModuleDevTools = importDevTools.object; 12 13 const importShared = ChromeUtils.importESModule("resource://test/es6module_devtoolsLoader.js", { global: "shared" }); 14 export const importESModuleShared = importShared.object; 15 16 const importCurrent = ChromeUtils.importESModule("resource://test/es6module_devtoolsLoader.js", { global: "current" }); 17 export const importESModuleCurrent = importCurrent.object; 18 19 const importContextual = ChromeUtils.importESModule("resource://test/es6module_devtoolsLoader.js", { global: "contextual" }); 20 export const importESModuleContextual = importContextual.object; 21 22 let caught = false; 23 try { 24 ChromeUtils.importESModule("resource://test/es6module_devtoolsLoader.js"); 25 } catch (e) { 26 caught = true; 27 } 28 export const importESModuleNoOptionFailed1 = caught; 29 30 caught = false; 31 try { 32 ChromeUtils.importESModule("resource://test/es6module_devtoolsLoader.js", {}); 33 } catch (e) { 34 caught = true; 35 } 36 export const importESModuleNoOptionFailed2 = caught; 37 38 const lazyDevTools = {}; 39 ChromeUtils.defineESModuleGetters(lazyDevTools, { 40 object: "resource://test/es6module_devtoolsLoader.js", 41 }, { global: "devtools" }); 42 43 export function importLazyDevTools() { 44 return lazyDevTools.object; 45 } 46 47 const lazyShared = {}; 48 ChromeUtils.defineESModuleGetters(lazyShared, { 49 object: "resource://test/es6module_devtoolsLoader.js", 50 }, { global: "shared" }); 51 52 export function importLazyShared() { 53 return lazyShared.object; 54 } 55 56 const lazyCurrent = {}; 57 ChromeUtils.defineESModuleGetters(lazyCurrent, { 58 object: "resource://test/es6module_devtoolsLoader.js", 59 }, { global: "current" }); 60 61 export function importLazyCurrent() { 62 return lazyCurrent.object; 63 } 64 65 const lazyContextual = {}; 66 ChromeUtils.defineESModuleGetters(lazyContextual, { 67 object: "resource://test/es6module_devtoolsLoader.js", 68 }, { global: "contextual" }); 69 70 export function importLazyContextual() { 71 return lazyContextual.object; 72 } 73 74 caught = false; 75 try { 76 let lazy = {}; 77 ChromeUtils.defineESModuleGetters({}, { 78 object: "resource://test/es6module_devtoolsLoader.js", 79 }); 80 } catch (e) { 81 caught = true; 82 } 83 export const importLazyNoOptionFailed1 = caught; 84 85 caught = false; 86 try { 87 let lazy = {}; 88 ChromeUtils.defineESModuleGetters({}, { 89 object: "resource://test/es6module_devtoolsLoader.js", 90 }, {}); 91 } catch (e) { 92 caught = true; 93 } 94 export const importLazyNoOptionFailed2 = caught;