Skip to content

Commit

Permalink
Make blur() works on shadow host with delegatesFocus
Browse files Browse the repository at this point in the history
This intends to address: whatwg/html#7070

Differential Revision: https://phabricator.services.mozilla.com/D125477

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1730566
gecko-commit: 8fb7f5a7c65404c7d157e61f29b093c5a50f343d
gecko-reviewers: emilio
  • Loading branch information
sefeng211 authored and moz-wptsync-bot committed Sep 20, 2021
1 parent 449e772 commit 51e5b73
Showing 1 changed file with 38 additions and 0 deletions.
38 changes: 38 additions & 0 deletions shadow-dom/focus/blur-on-shadow-host-delegatesFocus.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<!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>

0 comments on commit 51e5b73

Please sign in to comment.