diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /testing/web-platform/tests/webxr/xrSession_cancelAnimationFrame_invalidhandle.https.html | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/webxr/xrSession_cancelAnimationFrame_invalidhandle.https.html')
-rw-r--r-- | testing/web-platform/tests/webxr/xrSession_cancelAnimationFrame_invalidhandle.https.html | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/testing/web-platform/tests/webxr/xrSession_cancelAnimationFrame_invalidhandle.https.html b/testing/web-platform/tests/webxr/xrSession_cancelAnimationFrame_invalidhandle.https.html new file mode 100644 index 0000000000..f036e3080f --- /dev/null +++ b/testing/web-platform/tests/webxr/xrSession_cancelAnimationFrame_invalidhandle.https.html @@ -0,0 +1,42 @@ +<!DOCTYPE html> +<body> + <script src=/resources/testharness.js></script> + <script src=/resources/testharnessreport.js></script> + <script src="resources/webxr_util.js"></script> + <script src="resources/webxr_test_constants.js"></script> + <script> + let immersiveTestName = "XRSession cancelAnimationFrame does not have unexpected " + + "behavior when given invalid handles on immersive testSession"; + let nonImmersiveTestName = "XRSession cancelAnimationFrame does not have unexpected " + + "behavior when given invalid handles on non-immersive testSession"; + + let fakeDeviceInitParams = TRACKED_IMMERSIVE_DEVICE; + + let testFunction = (testSession) => new Promise((resolve) => { + let counter = 0; + + function onFrame(time, vrFrame) { + if(counter <= 10) { + testSession.requestAnimationFrame(onFrame); + } else { + resolve(); + } + counter++; + } + + let handle = testSession.requestAnimationFrame(onFrame); + testSession.cancelAnimationFrame(0); + testSession.cancelAnimationFrame(-1); + testSession.cancelAnimationFrame(handle + 1); + testSession.cancelAnimationFrame(handle - 1); + testSession.cancelAnimationFrame(0.5); + testSession.cancelAnimationFrame(null); + }); + + xr_session_promise_test( + immersiveTestName, testFunction, fakeDeviceInitParams, 'immersive-vr'); + xr_session_promise_test( + nonImmersiveTestName, testFunction, fakeDeviceInitParams, 'inline'); + + </script> +</body> |