Missing cursor/caret showing in search field on google.com
[WebKit-https.git] / LayoutTests / editing / selection / preserve-selection-when-clicking-button.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4     <meta name="viewport" content="width=device-width, initial-scale=1">
5     <script src="../../resources/ui-helper.js"></script>
6 </head>
7 <body>
8     <div class="editor" contenteditable>Hello world</div>
9     <pre>The selected text after clicking is: "<span class="output"></span>"</pre>
10     <div>
11         <button>Click here</button>
12     </div>
13     <p>This test verifies that clicking a button which hides itself on mousedown does not clear the selection. To test manually, select "Hello world" above and click the button. The <code>pre</code> element above should indicate that "Hello world" was selected after clicking.</p>
14     <script>
15     if (window.testRunner) {
16         testRunner.waitUntilDone();
17         testRunner.dumpAsText();
18     }
19
20     const editor = document.querySelector(".editor");
21     const button = document.querySelector("button");
22     const output = document.querySelector(".output");
23
24     function checkDone() {
25         doneCount = window.doneCount ? doneCount : 0;
26         if (++doneCount == 2 && window.testRunner)
27             testRunner.notifyDone();
28     }
29
30     getSelection().selectAllChildren(editor);
31     button.addEventListener("mousedown", () => {
32         button.style.display = "none";
33         setTimeout(() => {
34             output.textContent = getSelection().toString();
35             checkDone();
36         });
37     });
38
39     addEventListener("load", () => {
40         if (window.testRunner)
41             UIHelper.activateElement(button).then(checkDone);
42     });
43     </script>
44 </body>
45 </html>