| <html> |
| <head> |
| <script> |
| function log(msg) { |
| document.getElementById('log').appendChild(document.createTextNode(msg + '\n')); |
| } |
| |
| function test() { |
| if (window.layoutTestController) { |
| layoutTestController.dumpAsText(); |
| } |
| |
| window.onfocus = function() { log('main frame focused'); } |
| window.onblur = function() { log('main frame blurred'); } |
| |
| var input = document.getElementsByTagName('input')[0]; |
| input.onfocus = function() { log('<input> focused'); } |
| input.onblur = function() { log ('<input> blurred'); } |
| |
| var w = document.getElementById('frame').contentWindow; |
| w.onfocus = function() { log('iframe focused'); } |
| w.onblur = function() { log('iframe blurred'); } |
| |
| var inputInIframe = w.document.getElementsByTagName('input')[0]; |
| inputInIframe.onfocus = function() { log('<input> in iframe focused'); } |
| inputInIframe.onblur = function() { log ('<input> in frame blurred'); } |
| |
| input.focus(); |
| inputInIframe.focus(); |
| input.focus(); |
| } |
| </script> |
| </head> |
| <body onload="test()"> |
| <input> |
| <iframe id="frame" src='javascript:"<input>"' style="width: 100px; height: 100px; margin: 0px; border: 2px solid black;"></iframe> |
| <p>This page tests that frames receive focus events when one of their child |
| elements is programmatically focused, and receive blur events when an |
| element not in that frame is programmatically focused.</p> |
| |
| <pre id="log"></pre> |
| </body> |
| </html> |