tor-browser

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

test_bug1574596.html (2094B)


      1 <!DOCTYPE html>
      2 <html>
      3 <!--
      4 https://bugzilla.mozilla.org/show_bug.cgi?id=1574596
      5 -->
      6 <head>
      7  <title>Test for Bug 1574596</title>
      8  <script src="/tests/SimpleTest/SimpleTest.js"></script>
      9  <script src="/tests/SimpleTest/EventUtils.js"></script>
     10  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
     11 
     12 <script>
     13 
     14 function resizingActive(win) {
     15  let Ci = SpecialPowers.Ci;
     16  let editor = SpecialPowers.wrap(win).docShell.editor;
     17  return editor && editor.QueryInterface(Ci.nsIHTMLObjectResizer).isObjectResizingActive;
     18 }
     19 
     20 add_task(async function() {
     21  let iframe = document.getElementById("iframe1");
     22  iframe.focus();
     23  let edit = iframe.contentDocument.getElementById("edit");
     24  edit.focus();
     25 
     26  iframe.contentDocument.execCommand("enableObjectResizing", false, true);
     27 
     28  async function waitForSelectionChange() {
     29    return new Promise(resolve => {
     30      iframe.contentDocument.addEventListener("selectionchange", () => {
     31        resolve();
     32      }, {once: true});
     33    });
     34  }
     35 
     36  let target = iframe.contentDocument.getElementById("target");
     37  let promiseSelectionChangeEvent = waitForSelectionChange();
     38  synthesizeMouseAtCenter(target, {}, iframe.contentWindow);
     39  await promiseSelectionChangeEvent;
     40 
     41  ok(resizingActive(iframe.contentWindow), "Resizing should be active");
     42 
     43  iframe.style.display = "none";
     44  iframe.offsetHeight; // reflow
     45 
     46  await new Promise(SimpleTest.executeSoon);
     47  ok(!resizingActive(iframe.contentWindow), "Resizing should not be active");
     48 
     49  iframe.style.display = "";
     50  iframe.offsetHeight; // reflow
     51 
     52  promiseSelectionChangeEvent = waitForSelectionChange();
     53  synthesizeMouseAtCenter(target, {}, iframe.contentWindow);
     54  await promiseSelectionChangeEvent;
     55  ok(resizingActive(iframe.contentWindow), "Resizing should be active again");
     56 });
     57 </script>
     58 </head>
     59 <body>
     60  <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1574596">Mozilla Bug 1574596</a>
     61  <p id="display"></p>
     62 
     63  <div>
     64    <iframe id="iframe1" srcdoc="<div id=edit contenteditable><img id='target' src='green.png'></div>"></iframe>
     65  </div>
     66 </body>
     67 </html>