40 lines
1.2 KiB
JavaScript
40 lines
1.2 KiB
JavaScript
function set_text(field, text) {
|
|
field.value = text;
|
|
field.dispatchEvent(new Event("input"));
|
|
}
|
|
|
|
async function reset_about_page(doc) {
|
|
let info_text = doc.getElementById("info-text-div");
|
|
let msg = JSON.stringify({ type: "listen-success" });
|
|
let promise = BrowserTestUtils.waitForMutationCondition(
|
|
info_text,
|
|
{ attributes: true, attributeFilter: ["hidden"] },
|
|
() => info_text.hidden !== false
|
|
);
|
|
Services.obs.notifyObservers(null, "about-webauthn-prompt", msg);
|
|
await promise;
|
|
}
|
|
|
|
async function send_auth_info_and_check_categories(doc, ops) {
|
|
let info_text = doc.getElementById("info-text-div");
|
|
let msg = JSON.stringify({
|
|
type: "selected-device",
|
|
auth_info: { options: ops },
|
|
});
|
|
|
|
let promise = BrowserTestUtils.waitForMutationCondition(
|
|
info_text,
|
|
{ attributes: true, attributeFilter: ["hidden"] },
|
|
() => info_text.hidden
|
|
);
|
|
Services.obs.notifyObservers(null, "about-webauthn-prompt", msg);
|
|
await promise;
|
|
|
|
// Info should be shown always, so we use it as a canary
|
|
let info_tab_button = doc.getElementById("info-tab-button");
|
|
isnot(
|
|
info_tab_button.style.display,
|
|
"none",
|
|
"Info button in the sidebar not visible"
|
|
);
|
|
}
|