summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/CSS2/normal-flow/block-in-inline-hittest-relpos-zindex.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/css/CSS2/normal-flow/block-in-inline-hittest-relpos-zindex.html')
-rw-r--r--testing/web-platform/tests/css/CSS2/normal-flow/block-in-inline-hittest-relpos-zindex.html69
1 files changed, 69 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/CSS2/normal-flow/block-in-inline-hittest-relpos-zindex.html b/testing/web-platform/tests/css/CSS2/normal-flow/block-in-inline-hittest-relpos-zindex.html
new file mode 100644
index 0000000000..221b70d44b
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/normal-flow/block-in-inline-hittest-relpos-zindex.html
@@ -0,0 +1,69 @@
+<!DOCTYPE html>
+<link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level">
+<link rel="help" href="https://drafts.csswg.org/cssom-view/#dom-document-elementfrompoint">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+section {
+ margin-bottom: 5px;
+}
+.target {
+ background: blue;
+ width: 100px;
+ height: 10px;
+}
+</style>
+<body>
+ <section>
+ <a href="#">
+ <div class="target"></div>
+ </a>
+ </section>
+ <section>
+ <a href="#">
+ <div class="target" style="z-index: 1"></div>
+ </a>
+ </section>
+ <section>
+ <a href="#">
+ <div class="target" style="z-index: -1"></div>
+ </a>
+ </section>
+ <section>
+ <a href="#">
+ <div class="target" style="position: relative"></div>
+ </a>
+ </section>
+ <section>
+ <a href="#">
+ <div class="target" style="position: relative; z-index: 1"></div>
+ </a>
+ </section>
+ <section>
+ <a href="#">
+ <div class="target" style="position: relative; z-index: -1"></div>
+ </a>
+ </section>
+<script>
+function isAncestorOf(target, ancestor) {
+ for (; target; target = target.parentElement) {
+ if (target === ancestor)
+ return true;
+ }
+ return false;
+}
+
+for (const root of document.getElementsByTagName('section')) {
+ const target = root.querySelector('.target');
+ const target_bounds = target.getBoundingClientRect();
+ const x = target_bounds.x + target_bounds.width / 2;
+ const y = target_bounds.y + target_bounds.height / 2;
+ const result = document.elementFromPoint(x, y);
+ const a = root.querySelector('a');
+ test(() => {
+ // For the `<a>` link to work, the `result` must be `a` or its descendant.
+ assert_true(isAncestorOf(result, a));
+ }, target.style.cssText);
+}
+</script>
+</body>