tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

collapse.html (1327B)


      1 <!DOCTYPE HTML>
      2 <meta charset=utf-8>
      3 <title>Selection across multiple contenteditable</title>
      4 <script src="/resources/testharness.js"></script>
      5 <script src="/resources/testharnessreport.js"></script>
      6 <button id="button"></button>
      7 <div contenteditable id="host1"></div>
      8 <div contenteditable id="host2"></div>
      9 <div contenteditable id="host3">
     10  <div contenteditable="false">
     11    <div contenteditable id="host4"></div>
     12  </div>
     13 </div>
     14 <script>
     15 function clearFocus() {
     16  // Move focus from editable host to a button to remove selection limiter
     17  button.focus();
     18 }
     19 test(() => {
     20  clearFocus();
     21  getSelection().collapse(host1);
     22  assert_equals(document.activeElement, host1);
     23  getSelection().collapse(host2);
     24  assert_equals(document.activeElement, host2);
     25 }, "Selection.collapse() must succeed across siblings");
     26 
     27 test(() => {
     28  clearFocus();
     29  getSelection().collapse(host4);
     30  assert_equals(document.activeElement, host4);
     31  getSelection().collapse(host3);
     32  assert_equals(document.activeElement, host3);
     33 }, "Selection.collapse() must succeed for the ancestor");
     34 
     35 
     36 test(() => {
     37  clearFocus();
     38  getSelection().collapse(host3);
     39  assert_equals(document.activeElement, host3);
     40  getSelection().collapse(host4);
     41  assert_equals(document.activeElement, host4);
     42 }, "Selection.collapse() must succeed for the descendant");
     43 </script>