[Release] Webkit-EFL Ver. 2.0_beta_118996_0.6.22
[framework/web/webkit-efl.git] / LayoutTests / fast / events / keydown-1.html
1 <body>
2 <p>This tests that keydown events aren't sent to the main frame for command key presses that occur when a subframe is first responder.  To run it manually, click inside the subframe, type a few characters, then do Command-A to Select All.  Only the subframe should report a keydown event.</p>
3 <iframe id="iframe" style="border: 1px solid black;" src="../../editing/resources/contenteditable-iframe-src.html"></iframe>
4 <ul id="console"></ul>
5
6 <script>
7 function log(str) {
8     var console = document.getElementById("console");
9     var li = document.createElement("li");
10     li.appendChild(document.createTextNode(str));
11     console.appendChild(li);
12 }
13
14 function addEventListeners() {
15     window.addEventListener("keydown", 
16     function(e) {
17         log("keydown in mainframe: " + e);
18     },
19 false);
20
21     window.frames[0].addEventListener("keydown", 
22     function(e) {
23         log("keydown in subframe: " + e);
24     },
25 false);
26 }
27
28 function step2() {
29     addEventListeners();
30     
31     if (!window.layoutTestController)
32         return;
33         
34     var iframe = document.getElementById("iframe");
35     var x = iframe.offsetParent.offsetLeft + iframe.offsetLeft + iframe.offsetWidth / 2;
36     var y = iframe.offsetParent.offsetTop + iframe.offsetTop + iframe.offsetHeight / 2;
37     
38     eventSender.mouseMoveTo(x, y);
39     eventSender.mouseDown();
40     eventSender.mouseUp();
41     
42     window.frames[0].document.execCommand("InsertText", false, "This sentence should not end with a period.");
43     // Move backward by one character.
44     eventSender.keyDown("leftArrow");
45     // Delete forward by one character.
46     eventSender.keyDown("delete");
47
48     log(window.frames[0].document.body.innerText);
49     window.layoutTestController.notifyDone();
50 }
51
52 function runTest() {
53     if (window.layoutTestController) {
54         layoutTestController.dumpAsText();
55         window.layoutTestController.waitUntilDone();
56     }
57     window.setTimeout(step2, 200);
58 }
59
60 runTest();
61 </script>
62 </body>