summaryrefslogtreecommitdiffstats
path: root/toolkit/content/tests/chrome/test_bug792324.xul
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/content/tests/chrome/test_bug792324.xul')
-rw-r--r--toolkit/content/tests/chrome/test_bug792324.xul75
1 files changed, 75 insertions, 0 deletions
diff --git a/toolkit/content/tests/chrome/test_bug792324.xul b/toolkit/content/tests/chrome/test_bug792324.xul
new file mode 100644
index 000000000..a6fa42505
--- /dev/null
+++ b/toolkit/content/tests/chrome/test_bug792324.xul
@@ -0,0 +1,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>