Index: LayoutTests/fast/spatial-navigation/snav-overlapping-elements.html |
diff --git a/LayoutTests/fast/spatial-navigation/snav-overlapping-elements.html b/LayoutTests/fast/spatial-navigation/snav-overlapping-elements.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..f5679a8825e93281a111665c9feba535024a8529 |
--- /dev/null |
+++ b/LayoutTests/fast/spatial-navigation/snav-overlapping-elements.html |
@@ -0,0 +1,87 @@ |
+<!DOCTYPE html> |
+<head> |
+<script src="../../resources/js-test.js"></script> |
+<script src="resources/spatial-navigation-utils.js"></script> |
+</head> |
+<style> |
+body a { |
+ position: absolute; |
+ height: 100px; |
+ width: 100px; |
+ border: 1px solid black; |
+} |
+#e1 { |
+ left: 10px; |
+ top: 10px; |
+} |
+#e2 { |
+ left: 20px; |
+ top: 75px; |
+} |
+#e3 { |
+ left: 10px; |
+ top: 150px; |
+} |
+#e4 { |
+ left: 10px; |
+ top: 300px; |
+} |
+#e5 { |
+ left: 75px; |
+ top: 300px; |
+} |
+#e6 { |
+ left: 150px; |
+ top: 300px; |
+} |
+</style> |
+<body id="some-content" onload="runTest()"> |
+<p id="description"></p> |
+<div id="elements"> |
+<!-- Vertical: --> |
+<a id="e1" href="#e1">Element 1</a> |
+<a id="e2" href="#e2">Element 2</a> |
+<a id="e3" href="#e3">Element 3</a> |
+<!-- Horizontal: --> |
+<a id="e4" href="#e1">Element 4</a> |
+<a id="e5" href="#e2">Element 5</a> |
+<a id="e6" href="#e3">Element 6</a> |
+</div> |
+<div id="console"></div> |
+<script type="application/javascript"> |
+description('This test ensures that Spatial Navigation works with overlapping elements'); |
+ |
+jsTestIsAsync = true; |
+ |
+var resultMap = [ |
+ // Vertical: |
+ ["Down", "e2"], |
+ ["Down", "e3"], |
+ ["Up", "e2"], |
+ ["Up", "e1"], |
+ ["Down", "e2"], |
+ ["Down", "e3"], |
+ ["Down", "e4"], |
+ // Horizontal: |
+ ["Right", "e5"], |
+ ["Right", "e6"], |
+ ["Left", "e5"], |
+ ["Left", "e4"], |
+ ["DONE", "DONE"] |
+]; |
+ |
+if (window.testRunner) { |
+ testRunner.overridePreference("WebKitTabToLinksPreferenceKey", 1); |
+ window.internals.settings.setSpatialNavigationEnabled(true); |
+} |
+ |
+function runTest() |
+{ |
+ // starting the test itself: get to a known place. |
+ document.getElementById("e1").focus(); |
+ |
+ initTest(resultMap, finishJSTest); |
+} |
+</script> |
+</body> |
+</html> |