1
0
Fork 0
firefox/devtools/server/tests/xpcshell/test_getyoungestframe.js
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

38 lines
1.1 KiB
JavaScript

/* eslint-disable strict */
function run_test() {
Services.prefs.setBoolPref("security.allow_eval_with_system_principal", true);
registerCleanupFunction(() => {
Services.prefs.clearUserPref("security.allow_eval_with_system_principal");
});
const { addDebuggerToGlobal } = ChromeUtils.importESModule(
"resource://gre/modules/jsdebugger.sys.mjs"
);
addDebuggerToGlobal(globalThis);
const xpcInspector = Cc["@mozilla.org/jsinspector;1"].getService(
Ci.nsIJSInspector
);
const g = createTestGlobal("test1");
const dbg = makeDebugger();
dbg.uncaughtExceptionHook = testExceptionHook;
dbg.addDebuggee(g);
dbg.onDebuggerStatement = function (frame) {
Assert.ok(frame === dbg.getNewestFrame());
// Execute from the nested event loop, dbg.getNewestFrame() won't
// be working anymore.
executeSoon(function () {
try {
Assert.ok(frame === dbg.getNewestFrame());
} finally {
xpcInspector.exitNestedEventLoop("test");
}
});
xpcInspector.enterNestedEventLoop("test");
};
g.eval("function debuggerStatement() { debugger; }; debuggerStatement();");
dbg.disable();
}