| Index: LayoutTests/fast/overflow/hit-test-overflow-hidden-with-box-shadow.html
|
| diff --git a/LayoutTests/fast/overflow/hit-test-overflow-hidden-with-box-shadow.html b/LayoutTests/fast/overflow/hit-test-overflow-hidden-with-box-shadow.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..af5a7c1b57012fce8ca1a6e1ee8cc33cbf986952
|
| --- /dev/null
|
| +++ b/LayoutTests/fast/overflow/hit-test-overflow-hidden-with-box-shadow.html
|
| @@ -0,0 +1,86 @@
|
| +<!DOCTYPE html>
|
| +<style>
|
| +#shadow
|
| +{
|
| + overflow: hidden;
|
| + position: absolute;
|
| + box-shadow: 0 0 50px #000;
|
| + height: 100px;
|
| + width: 100px;
|
| +}
|
| +#content
|
| +{
|
| + display: block;
|
| + height: 200px;
|
| + width: 200px;
|
| + background: rgba(0,255,0,0.3);
|
| +}
|
| +</style>
|
| +<script src="../../resources/js-test.js"></script>
|
| +<script>
|
| +if (window.testRunner)
|
| + testRunner.dumpAsText();
|
| +
|
| +function click(x, y)
|
| +{
|
| + if (window.eventSender) {
|
| + eventSender.mouseMoveTo(x, y);
|
| + eventSender.mouseDown();
|
| + eventSender.mouseUp();
|
| + }
|
| +}
|
| +
|
| +function test(name, fn)
|
| +{
|
| + debug("<br>" + name);
|
| + fn();
|
| +}
|
| +
|
| +description("This test checks that div block should not get events on clicking the shadow outside div block.");
|
| +
|
| +function runTests()
|
| +{
|
| +
|
| + test("Focus should remain in the textarea", function() {
|
| + var textarea = document.getElementById("content");
|
| + var rect = textarea.getBoundingClientRect();
|
| + click(rect.left + 5, rect.top + 5);
|
| + shouldBeEqualToString("document.activeElement.tagName", "TEXTAREA");
|
| + });
|
| +
|
| + // Click on the shadow at right of the div block.
|
| + test("Focus should move to the body", function() {
|
| + var shadow = document.getElementById("shadow");
|
| + var rect = shadow.getBoundingClientRect();
|
| + var x = rect.left + shadow.offsetWidth + 5;
|
| + var y = rect.top + 5;
|
| + click(x, y);
|
| + shouldBeEqualToString("document.activeElement.tagName", "BODY");
|
| + });
|
| +
|
| + // Focus on the textarea to prepare for the next test.
|
| + test("Focus should remain in the textarea", function() {
|
| + var textarea = document.getElementById("content");
|
| + var rect = textarea.getBoundingClientRect();
|
| + click(rect.left + 5, rect.top + 5);
|
| + shouldBeEqualToString("document.activeElement.tagName", "TEXTAREA");
|
| + });
|
| +
|
| + // Click on the shadow at bottom of the div block.
|
| + test("Focus should move to the body", function() {
|
| + var shadow = document.getElementById("shadow");
|
| + var rect = shadow.getBoundingClientRect();
|
| + var x = rect.left + 5;
|
| + var y = rect.top + shadow.offsetHeight + 5;
|
| + click(x, y);
|
| + shouldBeEqualToString("document.activeElement.tagName", "BODY");
|
| + });
|
| +
|
| +}
|
| +</script>
|
| +
|
| +<body onload="runTests();">
|
| +<div id="shadow">
|
| + <textarea id="content"></textarea>
|
| +</div>
|
| +</body>
|
|
|