summaryrefslogtreecommitdiff
path: root/toolkit/content/tests/chrome/test_bug792324.xul
blob: a6fa4250567b8e146ac62cd7f51d060da5a2b3ed (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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=792324
-->
<window title="Mozilla Bug 792324"
  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

  <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
  <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"/>
<body  xmlns="http://www.w3.org/1999/xhtml">
  <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=792324">Mozilla Bug 792324</a>

  <p id="display"></p>
<div id="content" style="display: none">
</div>
</body>

<panel id="panel-1">
  <button label="just a normal button"/>
  <button id="button-1"
          accesskey="X"
          oncommand="clicked(event)"
          label="Button in panel 1"
  />
</panel>

<panel id="panel-2">
  <button label="just a normal button"/>
  <button id="button-2"
          accesskey="X"
          oncommand="clicked(event)"
          label="Button in panel 2"
  />
</panel>

<script class="testbody" type="application/javascript;version=1.7"><![CDATA[

/** Test for Bug 792324 **/
let after_click;

function clicked(event) {
  after_click(event);
}

function checkAccessKeyOnPanel(panelid, buttonid, cb) {
  let panel = document.getElementById(panelid);
  panel.addEventListener("popupshown", function onpopupshown() {
    panel.removeEventListener("popupshown", onpopupshown);
    panel.firstChild.focus();
    after_click = function(event) {
      is(event.target.id, buttonid, "Accesskey was directed to the button '" + buttonid + "'");
      panel.hidePopup();
      cb();
    }
    synthesizeKey("X", {});
  });
 panel.openPopup(null, "", 100, 100, false, false);
}

function test() {
  checkAccessKeyOnPanel("panel-1", "button-1", function() {
    checkAccessKeyOnPanel("panel-2", "button-2", function() {
      SimpleTest.finish();
    });
  });
}

SimpleTest.waitForExplicitFinish();
SimpleTest.waitForFocus(test, window);

]]></script>

</window>