tor-browser

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

Selection-later-become-slotted-content.html (1206B)


      1 <!doctype html>
      2 <meta charset=utf-8>
      3 <script src=/resources/testharness.js></script>
      4 <script src=/resources/testharnessreport.js></script>
      5 <div id="host">
      6  <span id="slotted">slotted</span>
      7 </div>
      8 <span id="outer">outer</span>
      9 <script>
     10 test(function(t) {
     11  const sel = window.getSelection();
     12  sel.setBaseAndExtent(slotted.firstChild, 3, outer.firstChild, 2);
     13  host.attachShadow({mode: "open"}).innerHTML = "<slot></slot><span>inner</span>";
     14 
     15  assert_equals(sel.anchorNode, slotted.firstChild);
     16  assert_equals(sel.anchorOffset, 3);
     17  assert_equals(sel.focusNode, outer.firstChild);
     18  assert_equals(sel.focusOffset, 2);
     19 
     20  const composedRange = sel.getComposedRanges({ shadowRoots: [host.shadowRoot] })[0];
     21  assert_equals(composedRange.startContainer, slotted.firstChild);
     22  assert_equals(composedRange.startOffset, 3);
     23  assert_equals(composedRange.endContainer, outer.firstChild);
     24  assert_equals(composedRange.endOffset, 2);
     25 
     26  sel.empty();
     27 
     28  assert_equals(sel.anchorNode, null);
     29  assert_equals(sel.anchorOffset, 0);
     30  assert_equals(sel.focusNode, null);
     31  assert_equals(sel.focusOffset, 0);
     32 }, "test to select a light DOM element and it becomes a slotted content after the selection");
     33 </script>