test_nsIHTMLObjectResizer_hideResizers.html (1771B)
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>Test for nsIHTMLObjectResizer.hideResizers()</title> 5 <script src="/tests/SimpleTest/SimpleTest.js"></script> 6 <script src="/tests/SimpleTest/EventUtils.js"></script> 7 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 8 </head> 9 <body> 10 <p id="display"></p> 11 <div id="content" style="display: none;"> 12 13 </div> 14 15 <div id="editor" contenteditable></div> 16 <img src="green.png"><!-- for ensuring to load the image at first test of <img> case --> 17 <pre id="test"> 18 19 <script class="testbody" type="application/javascript"> 20 "use strict"; 21 22 SimpleTest.waitForExplicitFinish(); 23 SimpleTest.waitForFocus(async function() { 24 async function waitForSelectionChange() { 25 return new Promise(resolve => { 26 document.addEventListener("selectionchange", () => { 27 resolve(); 28 }, {once: true}); 29 }); 30 } 31 32 document.execCommand("enableObjectResizing", false, true); 33 let editor = document.getElementById("editor"); 34 editor.innerHTML = "<img id=\"target\" src=\"green.png\" width=\"100\" height=\"100\">"; 35 let img = document.getElementById("target"); 36 let promiseSelectionChangeEvent = waitForSelectionChange(); 37 synthesizeMouseAtCenter(img, {}); 38 await promiseSelectionChangeEvent; 39 let resizer = getHTMLObjectResizer(); 40 ok(resizer.isObjectResizingActive, "resizers of the <img> should be visible"); 41 resizer.hideResizers(); 42 ok(!resizer.isObjectResizingActive, "resizers of the <img> should be visible"); 43 44 SimpleTest.finish(); 45 }); 46 47 function getHTMLObjectResizer() { 48 var Ci = SpecialPowers.Ci; 49 var editingSession = SpecialPowers.wrap(window).docShell.editingSession; 50 return editingSession.getEditorForWindow(window).QueryInterface(Ci.nsIHTMLObjectResizer); 51 } 52 </script> 53 </pre> 54 </body> 55 </html>