await BrowserTestUtils.withNewTab("about:blank", async function (bg) {
await BrowserTestUtils.withNewTab("about:blank", async function (fg) { for (let test of testingList) { // Focus the foreground tab's content
fg.focus();
// Confirm that the contents should be able to steal focus from content.
await SpecialPowers.spawn(fg, [test], test => { returnnew Promise(res => { function f() {
let e = content.document.activeElement; if (e.tagName != test.tagName) { // eslint-disable-next-line mozilla/no-arbitrary-setTimeout
content.setTimeout(f, 10);
} else {
is(
Services.focus.focusedElement,
e, "the foreground tab's " +
test.tagName + " element isn't focused by the " +
test.methodName + " (Test1: content can steal focus)"
);
res();
}
}
f();
});
});
await SpecialPowers.spawn(bg, [test], test => { returnnew Promise(res => { function f() {
let e = content.document.activeElement; if (e.tagName != test.tagName) { // eslint-disable-next-line mozilla/no-arbitrary-setTimeout
content.setTimeout(f, 10);
} else {
isnot(
Services.focus.focusedElement,
e, "the background tab's " +
test.tagName + " element is focused by the " +
test.methodName + " (Test1: content can steal focus)"
);
res();
}
}
f();
});
});
if (fg.isRemoteBrowser) {
is(
Services.focus.focusedElement,
fg, "Focus should be on the content in the parent process"
);
}
// Focus chrome
gURLBar.focus();
let originalFocus = Services.focus.focusedElement;
// Load about:blank just to make sure that everything works nicely
BrowserTestUtils.startLoadingURIString(bg, "about:blank");
await BrowserTestUtils.browserLoaded(bg);
BrowserTestUtils.startLoadingURIString(fg, "about:blank");
await BrowserTestUtils.browserLoaded(fg);
// Confirm that the contents should be able to steal focus from content.
await SpecialPowers.spawn(fg, [test], test => { returnnew Promise(res => { function f() {
let e = content.document.activeElement; if (e.tagName != test.tagName) { // eslint-disable-next-line mozilla/no-arbitrary-setTimeout
content.setTimeout(f, 10);
} else {
isnot(
Services.focus.focusedElement,
e, "the foreground tab's " +
test.tagName + " element is focused by the " +
test.methodName + " (Test2: content can NOT steal focus)"
);
res();
}
}
f();
});
});
await SpecialPowers.spawn(bg, [test], test => { returnnew Promise(res => { function f() {
let e = content.document.activeElement; if (e.tagName != test.tagName) { // eslint-disable-next-line mozilla/no-arbitrary-setTimeout
content.setTimeout(f, 10);
} else {
isnot(
Services.focus.focusedElement,
e, "the background tab's " +
test.tagName + " element is focused by the " +
test.methodName + " (Test2: content can NOT steal focus)"
);
res();
}
}
f();
});
});
is(
Services.focus.focusedElement,
originalFocus, "The parent process's focus has shifted " + "(methodName = " +
test.methodName + ")" + " (Test2: content can NOT steal focus)"
);
}
});
});
});
Messung V0.5
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.37Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.