2 <?xml-stylesheet href=
"chrome://global/skin" type=
"text/css"?>
3 <?xml-stylesheet href=
"chrome://mochikit/content/tests/SimpleTest/test.css" type=
"text/css"?>
5 <!-- We've had issues on Mac OS X where native key events either don't get processed
6 or they get processed twice. This test tests some of those scenarios. -->
8 <window id=
"window1" title=
"Test Key Event Counts" onload=
"runTest()"
9 xmlns:
html=
"http://www.w3.org/1999/xhtml"
10 xmlns=
"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
12 <script type=
"application/javascript" src=
"chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
13 <script type=
"text/javascript" src=
"chrome://mochikit/content/tests/SimpleTest/EventUtils.js"/>
14 <script type=
"text/javascript" src=
"chrome://mochikit/content/tests/SimpleTest/NativeKeyCodes.js"/>
16 <!-- test results are displayed in the html:body -->
17 <body xmlns=
"http://www.w3.org/1999/xhtml">
19 <div id=
"content" style=
"display: none"></div>
23 <script type=
"application/javascript"><![CDATA[
24 var gKeyPressEventCount =
0;
25 var gKeyDownEventCound =
0;
32 function onKeyPress(e)
34 gKeyPressEventCount++;
40 window.addEventListener(
"keydown", onKeyDown, false);
41 window.addEventListener(
"keypress", onKeyPress, false);
44 gKeyDownEventCount =
0;
45 gKeyPressEventCount =
0;
46 synthesizeNativeKey(KEYBOARD_LAYOUT_EN_US, MAC_VK_Tab, {ctrlKey:
1},
"\t",
"\t");
47 is(gKeyDownEventCount,
1);
48 is(gKeyPressEventCount,
0,
"ctrl-tab should be consumed by tabbox of tabbrowser at keydown");
51 gKeyDownEventCount =
0;
52 gKeyPressEventCount =
0;
53 synthesizeNativeKey(KEYBOARD_LAYOUT_EN_US, MAC_VK_ANSI_A, {metaKey:
1, shiftKey:
1},
"a",
"A");
54 is(gKeyDownEventCount,
1);
55 is(gKeyPressEventCount,
1);
58 gKeyDownEventCount =
0;
59 gKeyPressEventCount =
0;
60 synthesizeNativeKey(KEYBOARD_LAYOUT_EN_US, MAC_VK_ANSI_Semicolon, {metaKey:
1},
";",
";");
61 is(gKeyDownEventCount,
1);
62 is(gKeyPressEventCount,
1);
64 window.removeEventListener(
"keydown", onKeyDown, false);
65 window.removeEventListener(
"keypress", onKeyPress, false);