blob: f6e45bd84aa180fbc4727e4c1ee37eec70a76253 [file] [log] [blame]
<!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="../xr/resources/xr-device-mocking.js"></script>
<script src="../xr/resources/xr-test-utils.js"></script>
<script src="../xr/resources/test-constants.js"></script>
<canvas id="webgl-canvas"></canvas>
<script>
let fakeDevices = fakeXRDevices();
promise_test( (t) => {
setFakeDevices([fakeDevices["FakeGooglePixelPhone"]]);
webglCanvasSetup();
return navigator.xr.requestDevice().then( (device) => new Promise((resolve) => {
runWithUserGesture( () => {
resolve(device.requestSession({ exclusive: true })
.then( (session) => new Promise((resolve) => {
try {
let webglLayer = new XRWebGLLayer(session, gl);
reject("XRWebGLLayer should fail with invalid arguments");
} catch (err) {
assert_equals(err.name, "InvalidStateError");
resolve();
}
})));
});
}));
}, "XRWebGLLayer throws error when the session device is not the set device");
</script>