| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <script src="../resources/testharness.js"></script> | 2 <script src="../resources/testharness.js"></script> |
| 3 <script src="../resources/testharnessreport.js"></script> | 3 <script src="../resources/testharnessreport.js"></script> |
| 4 <script src="../resources/mojo-helpers.js"></script> | 4 <script src="../resources/mojo-helpers.js"></script> |
| 5 <script src="resources/fake-vr-displays.js"></script> | 5 <script src="resources/fake-vr-displays.js"></script> |
| 6 <script src="resources/mock-vr-service.js"></script> | 6 <script src="resources/mock-vr-service.js"></script> |
| 7 <canvas id="webgl2-canvas"></canvas> | 7 <canvas id="webgl2-canvas"></canvas> |
| 8 <script src="resources/presentation-setup.js"></script> | 8 <script src="resources/presentation-setup.js"></script> |
| 9 <script> | 9 <script> |
| 10 let fakeDisplays = fakeVRDisplays(); | 10 let fakeDisplays = fakeVRDisplays(); |
| 11 | 11 |
| 12 vr_test((service) => { | 12 vr_test( (t) => { |
| 13 if (!gl) { | 13 if (!gl) { |
| 14 // WebGL 2 is not supported. This is legal. | 14 // WebGL 2 is not supported. This is legal. |
| 15 t.done(); |
| 15 return Promise.resolve(); | 16 return Promise.resolve(); |
| 16 } else { | 17 } |
| 17 return navigator.getVRDisplays().then(displays => { | |
| 18 assert_true(displays != null); | |
| 19 assert_equals(1, displays.length); | |
| 20 | 18 |
| 21 var asyncTest = async_test( | 19 return navigator.getVRDisplays().then( (displays) => { |
| 22 "requestPresent resolves and actually presents"); | 20 var display = displays[0]; |
| 23 runWithUserGesture( () => { | 21 |
| 24 displays[0].requestPresent([{ source : webglCanvas }]).then( () => { | 22 runWithUserGesture( () => { |
| 25 asyncTest.step( () => { | 23 display.requestPresent([{ source : webglCanvas }]).then( () => { |
| 26 assert_true(displays[0].isPresenting); | 24 t.step( () => { |
| 27 }, "Display should be presenting"); | 25 assert_true(display.isPresenting); |
| 28 }, (err) => { | 26 }, "Display should be presenting"); |
| 29 asyncTest.step( () => { | 27 }, (err) => { |
| 30 assert_unreached(err); | 28 t.step( () => { |
| 31 }, "Should never reach here"); | 29 assert_unreached(err); |
| 32 }).then( () => { | 30 }, "Should never reach here"); |
| 33 asyncTest.done(); | 31 }).then( () => { |
| 34 }); | 32 t.done(); |
| 35 }); | |
| 36 }); | 33 }); |
| 37 } | 34 }); |
| 38 }, [fakeDisplays['Pixel']], | 35 }, (err) => { |
| 39 'Test requestPresent resolves when provided a WebGL2 canvas'); | 36 t.step( () => { |
| 37 assert_unreached(err); |
| 38 }, "getVRDisplays rejected"); |
| 39 t.done(); |
| 40 }); |
| 41 }, [fakeDisplays["Pixel"]], |
| 42 "Test requestPresent resolves when provided a WebGL2 canvas"); |
| 40 | 43 |
| 41 </script> | 44 </script> |
| OLD | NEW |