forked from mirrors/gecko-dev
Use 'globalThis' instead of 'this' when trying to attach a debugger to the current global to avoid subtle footguns with the varied definitions of 'this'. The debugger interface needs a true GlobalObject so this is much clearer. In particular, this is a problem in test_nativewrappers.js when the test runs in strict mode since the 'this' in the test function is no long implicitly the global. Differential Revision: https://phabricator.services.mozilla.com/D157544
22 lines
746 B
JavaScript
22 lines
746 B
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
// Test that we can read core dumps into HeapSnapshot instances.
|
|
/* eslint-disable strict */
|
|
if (typeof Debugger != "function") {
|
|
const { addDebuggerToGlobal } = ChromeUtils.import(
|
|
"resource://gre/modules/jsdebugger.jsm"
|
|
);
|
|
addDebuggerToGlobal(globalThis);
|
|
}
|
|
|
|
function run_test() {
|
|
const filePath = ChromeUtils.saveHeapSnapshot({ globals: [this] });
|
|
ok(true, "Should be able to save a snapshot.");
|
|
|
|
const snapshot = ChromeUtils.readHeapSnapshot(filePath);
|
|
ok(snapshot, "Should be able to read a heap snapshot");
|
|
ok(HeapSnapshot.isInstance(snapshot), "Should be an instanceof HeapSnapshot");
|
|
|
|
do_test_finished();
|
|
}
|