зеркало из https://github.com/mozilla/gecko-dev.git
27 строки
772 B
JavaScript
27 строки
772 B
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/licenses/publicdomain/ */
|
|
|
|
const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
|
|
|
|
function run_test() {
|
|
let complete = false;
|
|
|
|
let runnable = {
|
|
internalQI: ChromeUtils.generateQI(["nsIRunnable"]),
|
|
// eslint-disable-next-line mozilla/use-chromeutils-generateqi
|
|
QueryInterface(iid) {
|
|
// Attempt to schedule another runnable. This simulates a GC/CC
|
|
// being scheduled while executing the JS QI.
|
|
Services.tm.dispatchToMainThread(() => false);
|
|
return this.internalQI(iid);
|
|
},
|
|
|
|
run() {
|
|
complete = true;
|
|
},
|
|
};
|
|
|
|
Services.tm.dispatchToMainThread(runnable);
|
|
Services.tm.spinEventLoopUntil(() => complete);
|
|
}
|