| <!DOCTYPE html> |
| <html> |
| <head> |
| </head> |
| <body> |
| <p>This test ensures that the focus ring is shown on the only anchor after tabbing out and inside the window.</p> |
| <p><svg width="500" height="30"><a id="anchor" xlink:href="javascript:log('anchor was clicked')"><text font-size="18px" y="20">Anchor</text></a></svg></p> |
| <input id="input"> |
| <pre id="console"> |
| </pre> |
| |
| <script> |
| var anchor = document.getElementById('anchor'); |
| var input = document.getElementById('input'); |
| window.onfocus = function() { |
| log('window was focused'); |
| }; |
| window.onblur = function() { |
| log('window was blurred'); |
| }; |
| anchor.onfocus = function() { |
| log('anchor was focused'); |
| }; |
| anchor.onblur = function() { |
| log('anchor was blurred'); |
| }; |
| input.onfocus = function() { |
| log('input was focused'); |
| }; |
| input.onblur = function() { |
| log('input was blurred'); |
| }; |
| window.onload = function() { |
| if (window.eventSender) { |
| // Click the link. |
| var anchorRect = anchor.getBoundingClientRect(); |
| eventSender.mouseMoveTo(anchorRect.left + 2, anchorRect.top + 2); |
| eventSender.mouseDown(); |
| eventSender.mouseUp(); |
| // Shift focus to input element. |
| eventSender.keyDown('\t'); |
| internals.setFocused(false); |
| testRunner.overridePreference('WebKitTabToLinksPreferenceKey', true); |
| // Set focus to the anchor. |
| internals.setInitialFocus(false); |
| // Upon focus, the default focus ring should be displayed because the |
| // focus was triggered by the keyboard (tab). |
| internals.setFocused(true); |
| } |
| }; |
| |
| function log(message) { |
| var console = document.getElementById("console"); |
| console.textContent += message + '\n'; |
| } |
| </script> |
| </body> |
| </html> |