| OLD | NEW |
| 1 <p>This tests that modifier keys are propagated to the fake mouse event created
when you press return and a link has focus.</p> | 1 <p>This tests that modifier keys are propagated to the fake mouse event created
when you press return and a link has focus.</p> |
| 2 <p>If the test succeeds, you should see six "PASS" messages below.</p> | 2 <p>If the test succeeds, you should see six "PASS" messages below.</p> |
| 3 <p>This is the <a id="link" href="#" onclick="checkKeyState(event)" onmousedown=
"checkKeyState(event)" onmouseuup="checkKeyState(event)">link</a> used for testi
ng.</p> | 3 <p>This is the <a id="link" href="#" onclick="checkKeyState(event)" onmousedown=
"checkKeyState(event)" onmouseuup="checkKeyState(event)">link</a> used for testi
ng.</p> |
| 4 <pre id="console"> | 4 <pre id="console"> |
| 5 </pre> | 5 </pre> |
| 6 <script> | 6 <script> |
| 7 | 7 |
| 8 if (window.testRunner) | 8 if (window.testRunner) |
| 9 testRunner.dumpAsText(); | 9 testRunner.dumpAsText(); |
| 10 | 10 |
| 11 var link = document.getElementById("link"); | 11 var link = document.getElementById("link"); |
| 12 link.focus(); | 12 link.focus(); |
| 13 | 13 |
| 14 var expectedCtrl; | 14 var expectedCtrl; |
| 15 var expectedAlt; | 15 var expectedAlt; |
| 16 var expectedShift; | 16 var expectedShift; |
| 17 var expectedMeta; | 17 var expectedMeta; |
| 18 | 18 |
| 19 function test(ctrlKey, altKey, shiftKey, metaKey) | 19 function test(ctrlKey, altKey, shiftKey, metaKey) |
| 20 { | 20 { |
| 21 expectedCtrl = ctrlKey; | 21 expectedCtrl = ctrlKey; |
| 22 expectedAlt = altKey; | 22 expectedAlt = altKey; |
| 23 expectedShift = shiftKey; | 23 expectedShift = shiftKey; |
| 24 expectedMeta = metaKey; | 24 expectedMeta = metaKey; |
| 25 var event = document.createEvent("KeyboardEvents"); | 25 var event = new KeyboardEvent("keydown", {bubbles: true, cancelable: true, v
iew: document.defaultView, key: "Enter", ctrlKey: ctrlKey, altKey: altKey, shift
Key: shiftKey, metaKey: metaKey}); |
| 26 event.initKeyboardEvent("keydown", true, true, document.defaultView, "Enter"
, 0, ctrlKey, altKey, shiftKey, metaKey, false); | |
| 27 link.dispatchEvent(event); | 26 link.dispatchEvent(event); |
| 28 } | 27 } |
| 29 | 28 |
| 30 function checkKeyState(event) | 29 function checkKeyState(event) |
| 31 { | 30 { |
| 32 if (event.ctrlKey == expectedCtrl && event.altKey == expectedAlt && event.sh
iftKey == expectedShift && event.metaKey == expectedMeta) | 31 if (event.ctrlKey == expectedCtrl && event.altKey == expectedAlt && event.sh
iftKey == expectedShift && event.metaKey == expectedMeta) |
| 33 document.getElementById("console").innerHTML += "PASS: " + event.type +
" event had all the right key state.\n"; | 32 document.getElementById("console").innerHTML += "PASS: " + event.type +
" event had all the right key state.\n"; |
| 34 else | 33 else |
| 35 document.getElementById("console").innerHTML += "FAIL: " + event.type +
" event did not have the right key state.\n"; | 34 document.getElementById("console").innerHTML += "FAIL: " + event.type +
" event did not have the right key state.\n"; |
| 36 } | 35 } |
| 37 | 36 |
| 38 test(false, false, false, false); | 37 test(false, false, false, false); |
| 39 test(true, false, false, false); | 38 test(true, false, false, false); |
| 40 test(false, true, false, false); | 39 test(false, true, false, false); |
| 41 test(false, false, true, false); | 40 test(false, false, true, false); |
| 42 test(false, false, false, true); | 41 test(false, false, false, true); |
| 43 test(true, true, true, true); | 42 test(true, true, true, true); |
| 44 | 43 |
| 45 link.blur(); | 44 link.blur(); |
| 46 | 45 |
| 47 </script> | 46 </script> |
| OLD | NEW |