diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /testing/web-platform/tests/css/css-view-transitions/hit-test-unpainted-element-from-point.html | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/css/css-view-transitions/hit-test-unpainted-element-from-point.html')
-rw-r--r-- | testing/web-platform/tests/css/css-view-transitions/hit-test-unpainted-element-from-point.html | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-view-transitions/hit-test-unpainted-element-from-point.html b/testing/web-platform/tests/css/css-view-transitions/hit-test-unpainted-element-from-point.html new file mode 100644 index 0000000000..7c9ed911cb --- /dev/null +++ b/testing/web-platform/tests/css/css-view-transitions/hit-test-unpainted-element-from-point.html @@ -0,0 +1,79 @@ +<!DOCTYPE html> +<title>View transitions: hit test shared element at the real dom location</title> +<link rel="help" href="https://github.com/WICG/view-transitions"> +<link rel="author" href="mailto:vmpstr@chromium.org"> +<link rel="match" href="hit-test-unpainted-element-ref.html"> + +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<style> +html { view-transition-name: none } +#target { + width: 100px; + height: 100px; + contain: paint; + view-transition-name: shared; + position: relative; + z-index: 1; +} +.before { + background: yellow; + left: 200px; +} +.after { + background: green; +} +.after:hover { + background: red; +} +#unrelated { + width: 50px; + height: 50px; + position: relative; + top: -50px; + background: blue; +} + +html::view-transition { + pointer-events: none; +} +html::view-transition-group(*) { + pointer-events: auto; +} + +html::view-transition-group(shared) { + animation-delay: 300s; +} +html::view-transition-old(shared) { + animation: unset; + opacity: 1; +} +html::view-transition-new(shared) { + display: none; +} +</style> + +<div id=target class=before></div> +<div id=unrelated></div> + +<script> +async_test(t => { + assert_implements(document.startViewTransition, "Missing document.startViewTransition"); + document.startViewTransition(() => { + target.classList.toggle("before"); + target.classList.toggle("after"); + requestAnimationFrame(async () => { + // Check the old location of the element, we should get body. + t.step(() => assert_equals(document.elementFromPoint(20, 20), document.body)); + // Check the new location of the pseudo element, we should get documentElement, + // which is the originating element for the pseudo element. + t.step(() => assert_equals(document.elementFromPoint(220, 20), document.documentElement)); + // Check the spot that used to be covered by the element but now has + // unrelated element, which is what we expect to get. + t.step(() => assert_equals(document.elementFromPoint(20, 70), unrelated)); + t.done(); + }); + }); +}, "hit test should not hit unpainted element, but does hit pseudo and unrelated elements"); +</script> |