Source code

Revision control

Copy as Markdown

Other Tools

/* Any copyright is dedicated to the Public Domain.
"use strict";
async function openAboutPDF() {
return BrowserTestUtils.openNewForegroundTab({
gBrowser,
opening: "about:pdf",
waitForLoad: true,
});
}
function getAboutPDFActor(tab) {
return tab.linkedBrowser.browsingContext.currentWindowGlobal.getActor(
"AboutPDF"
);
}
async function createTempFile(contents, { suffix = ".pdf" } = {}) {
const file = Services.dirsvc.get("TmpD", Ci.nsIFile);
file.append(`aboutPDF-test${suffix}`);
file.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, 0o600);
const path = file.path;
const bytes =
typeof contents === "string"
? new TextEncoder().encode(contents)
: contents;
await IOUtils.write(path, bytes);
return path;
}
async function safeRemove(path) {
try {
await IOUtils.remove(path, { ignoreAbsent: true });
} catch {}
}