38 lines
1.3 KiB
HTML
38 lines
1.3 KiB
HTML
<!DOCTYPE html>
|
|
<meta charset="utf-8">
|
|
<title>HTML Test: Blur on shadow host</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/resources/testdriver.js"></script>
|
|
<script src="/resources/testdriver-vendor.js"></script>
|
|
|
|
<div id="host">
|
|
<input id="slotted">
|
|
</div>
|
|
|
|
<script>
|
|
const host = document.getElementById("host");
|
|
|
|
const shadowRoot = host.attachShadow({ mode: "open", delegatesFocus: true });
|
|
|
|
shadowRoot.innerHTML = "<input><slot>"
|
|
|
|
test(function() {
|
|
host.focus();
|
|
assert_equals(document.activeElement, host);
|
|
assert_equals(shadowRoot.activeElement, shadowRoot.querySelector("input"));
|
|
host.blur();
|
|
assert_equals(document.activeElement, document.body);
|
|
assert_equals(shadowRoot.activeElement, null);
|
|
}, "Calling blur() on shadow host with delegatesFocus should remove the focus.");
|
|
|
|
test(function() {
|
|
const slotted = document.getElementById("slotted");
|
|
slotted.focus();
|
|
assert_equals(document.activeElement, slotted);
|
|
assert_equals(shadowRoot.activeElement, null)
|
|
host.blur();
|
|
assert_equals(document.activeElement, slotted);
|
|
assert_equals(shadowRoot.activeElement, null)
|
|
}, "Calling blur() on shadow host with delegatesFocus when the focus is on a slotted element should not remove the focus.");
|
|
</script>
|