Index: LayoutTests/fast/events/focus-click-on-non-mouse-focusable-element.html |
diff --git a/LayoutTests/fast/events/focus-click-on-non-mouse-focusable-element.html b/LayoutTests/fast/events/focus-click-on-non-mouse-focusable-element.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..205369593535ee1c4f70156d964f017087fe44e9 |
--- /dev/null |
+++ b/LayoutTests/fast/events/focus-click-on-non-mouse-focusable-element.html |
@@ -0,0 +1,28 @@ |
+<!DOCTYPE html> |
+<body> |
+<a href="#foo" onclick="return false;">link</a> |
+<input> |
+<script src="../js/resources/js-test-pre.js"></script> |
+<script> |
+description('Click on a focused anchor element should not change focus, and click on a non-focused anchor element should remove focus of another element.'); |
+jsTestIsAsync = true; |
+var a = document.querySelector('a'); |
+var input = document.querySelector('input'); |
+window.onload = function() { |
+ a.focus(); |
+ shouldBe('document.activeElement', 'a', true); |
+ eventSender.mouseMoveTo(a.offsetLeft + a.offsetWidth / 2, a.offsetTop + a.offsetHeight / 2); |
+ eventSender.mouseDown(); |
+ eventSender.mouseUp(); |
+ shouldBe('document.activeElement', 'a'); |
+ |
+ input.focus(); |
+ eventSender.mouseDown(); |
+ eventSender.mouseUp(); |
+ shouldBe('document.activeElement', 'document.body'); |
+ |
+ finishJSTest(); |
+}; |
+</script> |
+<script src="../js/resources/js-test-post.js"></script> |
+</body> |