tor-browser

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

translate-non-html-translation-mode.html (1646B)


      1 <!doctype html>
      2 <meta charset=utf-8>
      3 <title>Non-HTML elements have a translation mode</title>
      4 <script src="/resources/testharness.js"></script>
      5 <script src="/resources/testharnessreport.js"></script>
      6 <script>
      7  test(() => {
      8    const svgContainer = document.createElement("svg");
      9    const foreignObject = document.createElement("foreignObject");
     10    svgContainer.appendChild(foreignObject);
     11    const div = document.createElement("div");
     12    foreignObject.appendChild(div);
     13 
     14    assert_true(div.translate);
     15  }, 'Non-HTML elements default to translate-enabled');
     16 
     17  test(() => {
     18    const outerDiv = document.createElement("div");
     19    outerDiv.translate = true;
     20    assert_true(outerDiv.translate);
     21 
     22    const svgContainer = document.createElement("svg");
     23    outerDiv.appendChild(svgContainer);
     24    const foreignObject = document.createElement("foreignObject");
     25    svgContainer.appendChild(foreignObject);
     26    const div = document.createElement("div");
     27    foreignObject.appendChild(div);
     28 
     29    assert_true(div.translate);
     30  }, "Non-HTML elements inherit their parent's translation-enabled state");
     31 
     32  test(() => {
     33    const outerDiv = document.createElement("div");
     34    outerDiv.translate = false;
     35    assert_false(outerDiv.translate);
     36 
     37    const svgContainer = document.createElement("svg");
     38    outerDiv.appendChild(svgContainer);
     39    const foreignObject = document.createElement("foreignObject");
     40    svgContainer.appendChild(foreignObject);
     41    const div = document.createElement("div");
     42    foreignObject.appendChild(div);
     43 
     44    assert_false(div.translate);
     45  }, "Non-HTML elements inherit their parent's no-translation state");
     46 </script>