52 lines
1.4 KiB
HTML
52 lines
1.4 KiB
HTML
<!doctype html>
|
|
<meta charset="utf-8">
|
|
<title>Test for page up/down in collapsed select (bug 1488828)</title>
|
|
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<script src="/tests/SimpleTest/EventUtils.js"></script>
|
|
<link rel="stylesheet" href="/tests/SimpleTest/test.css"/>
|
|
<style>
|
|
.reframe {
|
|
display: flex;
|
|
}
|
|
</style>
|
|
<div id="container">
|
|
<select>
|
|
<option>ABC</option>
|
|
<option>DEF</option>
|
|
</select>
|
|
</div>
|
|
<script>
|
|
(async function() {
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
const utils = SpecialPowers.DOMWindowUtils;
|
|
const select = document.querySelector("select");
|
|
await SimpleTest.promiseFocus(window);
|
|
|
|
ok(!select.openInParentProcess, "Should not be open")
|
|
|
|
select.focus();
|
|
synthesizeKey("VK_SPACE");
|
|
|
|
ok(SpecialPowers.wrap(select).openInParentProcess, "Should open");
|
|
|
|
const container = document.getElementById("container");
|
|
container.getBoundingClientRect(); // flush layout
|
|
|
|
const frameCountBeforeReframe = utils.framesConstructed;
|
|
|
|
container.classList.add("reframe");
|
|
|
|
container.getBoundingClientRect(); // flush layout
|
|
|
|
ok(utils.framesConstructed > frameCountBeforeReframe, "Should have reframed");
|
|
ok(SpecialPowers.wrap(select).openInParentProcess, "Should remain open");
|
|
|
|
select.remove();
|
|
|
|
container.getBoundingClientRect(); // flush layout
|
|
ok(!SpecialPowers.wrap(select).openInParentProcess, "Should close after removal");
|
|
|
|
SimpleTest.finish();
|
|
}());
|
|
</script>
|