| Index: LayoutTests/fast/canvas/canvas-hit-regions-accessibility-test.html
 | 
| diff --git a/LayoutTests/fast/canvas/canvas-hit-regions-accessibility-test.html b/LayoutTests/fast/canvas/canvas-hit-regions-accessibility-test.html
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..9dcfeb79623e35b78e059026c4ce0f19241b0bd4
 | 
| --- /dev/null
 | 
| +++ b/LayoutTests/fast/canvas/canvas-hit-regions-accessibility-test.html
 | 
| @@ -0,0 +1,83 @@
 | 
| +<!DOCTYPE HTML>
 | 
| +<head>
 | 
| +<title>Canvas Hit Regions: accessibility test</title>
 | 
| +<script src="../../resources/js-test.js"></script>
 | 
| +</head>
 | 
| +<body>
 | 
| +<canvas id="canvas">
 | 
| +  <button id="button1"></button>
 | 
| +  <div id="container1">
 | 
| +    <button id="button2"></button>
 | 
| +    <button id="button3"></button>
 | 
| +  </div>
 | 
| +  <div id="container2">
 | 
| +    <div id="container3">
 | 
| +      <button id="button4"></button>
 | 
| +      <button id="button5"></button>
 | 
| +    </div>
 | 
| +    <button id="button6"></button>
 | 
| +  </div>
 | 
| +</canvas>
 | 
| +<script>
 | 
| +
 | 
| +  var canvas = document.getElementById("canvas");
 | 
| +  var context = canvas.getContext("2d");
 | 
| +
 | 
| +  function drawRectAndAddHitRegion(control, x, y, width, height) {
 | 
| +    if (window.accessibilityController)
 | 
| +      window["ax" + control] = accessibilityController.accessibleElementById(control);
 | 
| +
 | 
| +    context.beginPath();
 | 
| +    context.rect(x, y, width, height);
 | 
| +    context.fill();
 | 
| +    context.addHitRegion({
 | 
| +      id : control,
 | 
| +      control : document.getElementById(control)
 | 
| +    });
 | 
| +  }
 | 
| +
 | 
| +  function testAccessibilityRect(control, x, y, width, height) {
 | 
| +
 | 
| +    if (window.accessibilityController && !window["ax" + control])
 | 
| +      window["ax" + control] = accessibilityController.accessibleElementById(control);
 | 
| +
 | 
| +    shouldBe("ax" + control + ".x", x.toString());
 | 
| +    shouldBe("ax" + control + ".y", y.toString());
 | 
| +    shouldBe("ax" + control + ".width", width.toString());
 | 
| +    shouldBe("ax" + control + ".height", height.toString());
 | 
| +  }
 | 
| +
 | 
| +  drawRectAndAddHitRegion("button1", 0, 0, 200, 200);
 | 
| +  drawRectAndAddHitRegion("button2", 0, 0, 100, 50);
 | 
| +  drawRectAndAddHitRegion("button3", 40, 20, 50, 70);
 | 
| +  drawRectAndAddHitRegion("button4", 0, 0, 100, 50);
 | 
| +  drawRectAndAddHitRegion("button5", 40, 20, 50, 70);
 | 
| +  drawRectAndAddHitRegion("button6", 20, 10, 140, 30);
 | 
| +  drawRectAndAddHitRegion("button7", 0, 0, 200, 200);
 | 
| +
 | 
| +  debug("Just one button tests.");
 | 
| +  testAccessibilityRect("button1", 8, 8, 200, 200);
 | 
| +  debug("");
 | 
| +
 | 
| +  debug("The container1 has two buttons.");
 | 
| +  testAccessibilityRect("button2", 8, 8, 100, 50);
 | 
| +  testAccessibilityRect("button3", 48, 28, 50, 70);
 | 
| +  testAccessibilityRect("container1", 8, 8, 100, 90);
 | 
| +  debug("");
 | 
| +
 | 
| +  debug("Remove the button2 from the container1.");
 | 
| +  document.getElementById("container1").removeChild(document.getElementById("button2"));
 | 
| +  testAccessibilityRect("container1", 48, 28, 50, 70);
 | 
| +  debug("");
 | 
| +
 | 
| +  debug("Depth-two container tests.");
 | 
| +  testAccessibilityRect("button4", 8, 8, 100, 50);
 | 
| +  testAccessibilityRect("button5", 48, 28, 50, 70);
 | 
| +  testAccessibilityRect("button6", 28, 18, 140, 30);
 | 
| +  testAccessibilityRect("container2", 8, 8, 160, 90);
 | 
| +  testAccessibilityRect("container3", 8, 8, 100, 90);
 | 
| +  debug("");
 | 
| +
 | 
| +</script>
 | 
| +</body>
 | 
| +</html>
 | 
| 
 |