| <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> |
| 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) => { |
| function onFrame(time, vrFrame) { |
| testSession.requestAnimationFrame(onFrame); |
| 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); |
| immersiveTestName, testFunction, fakeDeviceInitParams, 'immersive-vr'); |
| nonImmersiveTestName, testFunction, fakeDeviceInitParams, 'inline'); |