File: delegateFocus-is-focusable.html

package info (click to toggle)
mozjs140 140.7.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,216,752 kB
  • sloc: javascript: 2,267,210; cpp: 1,423,664; python: 966,252; ansic: 632,297; xml: 115,965; sh: 15,392; asm: 13,399; makefile: 10,455; yacc: 4,504; perl: 2,223; lex: 1,414; ruby: 1,064; exp: 756; java: 185; sql: 66; sed: 18
file content (19 lines) | stat: -rw-r--r-- 854 bytes parent folder | download | duplicates (19)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!doctype html>
<meta charset=utf-8>
<title>focus move tests caused by a call of Selection.addRange()</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="host"></div>
<script>
let host = document.getElementById("host");
let shadow = host.attachShadow({ mode: "open", delegatesFocus: true });
shadow.innerHTML = `<button>Focusable</button>`;

test(function() {
  assert_true(SpecialPowers.Services.focus.elementIsFocusable(host, 0), "host is focusable");
  host.focus();
  assert_equals(document.activeElement, host, "Host is focused");
  assert_equals(shadow.activeElement, shadow.querySelector("button"), "Button is focused");
  assert_true(SpecialPowers.Services.focus.elementIsFocusable(host, 0), "host is still focusable");
}, "isElementFocusable with delegateFocus");
</script>