diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
commit | 43a97878ce14b72f0981164f87f2e35e14151312 (patch) | |
tree | 620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/web-platform/tests/css/css-view-transitions/hit-test-unpainted-element-from-point.html | |
parent | Initial commit. (diff) | |
download | firefox-43a97878ce14b72f0981164f87f2e35e14151312.tar.xz firefox-43a97878ce14b72f0981164f87f2e35e14151312.zip |
Adding upstream version 110.0.1.upstream/110.0.1upstream
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 | 72 |
1 files changed, 72 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..ec5e407260 --- /dev/null +++ b/testing/web-platform/tests/css/css-view-transitions/hit-test-unpainted-element-from-point.html @@ -0,0 +1,72 @@ +<!DOCTYPE html> +<title>Shared 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-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> |