summaryrefslogtreecommitdiffstats
path: root/widget/tests/test_alwaysontop_focus.xhtml
blob: b9cc3ee33cef8fc8265f7091a31d53ee238a7fa8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta charset="utf-8" />
  <title>Test that alwaysontop windows do not pull focus when opened.</title>
  <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
  <link rel="stylesheet" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
  <script><![CDATA[
    add_task(async function testAlwaysOnTop() {
      let topWin = window.docShell.rootTreeItem.domWindow;
      await SimpleTest.promiseFocus(topWin);
      is(Services.focus.activeWindow, topWin, "Top level window is focused");

      let newWin = Services.ww.openWindow(
        null,
        "about:blank",
        null,
        "chrome,alwaysontop,width=300,height=300",
        null
      );
      await new Promise(resolve => {
        newWin.addEventListener("load", resolve, { once: true });
      });

      // Wait one tick of the event loop to give the window a chance to focus.
      await new Promise(resolve => { SimpleTest.executeSoon(resolve); });

      is(Services.focus.activeWindow, topWin, "Top level window is still focused");
      newWin.close();
    });
  ]]></script>
</head>
<body>
<p id="display"></p>
<div id="content" style="display: none"></div>
<pre id="test"></pre>
</body>
</html>