| <!DOCTYPE html> |
| <script src="../resources/testharness.js"></script> |
| <script src="../resources/testharnessreport.js"></script> |
| <script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> |
| <script src="file:///gen/device/vr/public/mojom/vr_service.mojom.js"></script> |
| <script src="../external/wpt/resources/chromium/webxr-test.js"></script> |
| <script src="resources/vr-test-utils.js "></script> |
| <script src="resources/test-constants.js"></script> |
| |
| <canvas id="webgl-canvas"></canvas> |
| <script src="resources/presentation-setup.js"></script> |
| <script> |
| let fakeDisplays = fakeVRDisplays(); |
| let fakeDisplay = fakeDisplays["Pixel"]; |
| |
| vr_test( (t) => { |
| return navigator.getVRDisplays().then( (displays) => { |
| let display = displays[0]; |
| let scale = fakeDisplay.webvrDefaultFramebufferScale; |
| |
| function compareEyes(actual, expected) { |
| t.step( () => { |
| assert_equals(actual.offset.length, expected.offset.length); |
| for (let i = 0; i < expected.offset.length; i++) { |
| assert_approx_equals(actual.offset[i], expected.offset[i], |
| FLOAT_EPSILON); |
| } |
| |
| assert_equals(actual.renderWidth, expected.renderWidth * scale); |
| assert_equals(actual.renderHeight, expected.renderHeight * scale); |
| }, "Returned eye parameters match provided parameters"); |
| } |
| |
| compareEyes(display.getEyeParameters("left"), fakeDisplay.leftEye); |
| compareEyes(display.getEyeParameters("right"), fakeDisplay.rightEye); |
| t.done(); |
| }, (err) => { |
| t.step( () => { |
| assert_unreached(err); |
| }, "getVRDisplays rejected"); |
| t.done(); |
| }); |
| }, [fakeDisplay], |
| "Test that actual eye parameters match the expected parameters"); |
| |
| </script> |