| 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 t.step( () => { |
| 23 runWithUserGesture( () => { | 21 assert_true(displays != null); |
| 24 displays[0].requestPresent([{ source : webglCanvas }]).then( () => { | 22 assert_equals(1, displays.length); |
| 25 asyncTest.step( () => { | 23 }, "getVRDisplays returned correct results"); |
| 26 assert_true(displays[0].isPresenting); | 24 var display = displays[0]; |
| 27 }, "Display should be presenting"); | 25 |
| 28 }, (err) => { | 26 runWithUserGesture( () => { |
| 29 asyncTest.step( () => { | 27 display.requestPresent([{ source : webglCanvas }]).then( () => { |
| 30 assert_unreached(err); | 28 t.step( () => { |
| 31 }, "Should never reach here"); | 29 assert_true(display.isPresenting); |
| 32 }).then( () => { | 30 }, "Display should be presenting"); |
| 33 asyncTest.done(); | 31 }, (err) => { |
| 34 }); | 32 t.step( () => { |
| 35 }); | 33 assert_unreached(err); |
| 34 }, "Should never reach here"); |
| 35 }).then( () => { |
| 36 t.done(); |
| 36 }); | 37 }); |
| 37 } | 38 }); |
| 38 }, [fakeDisplays['Pixel']], | 39 }, (err) => { |
| 39 'Test requestPresent resolves when provided a WebGL2 canvas'); | 40 t.step( () => { |
| 41 assert_unreached(err); |
| 42 }, "getVRDisplays rejected"); |
| 43 t.done(); |
| 44 }); |
| 45 }, [fakeDisplays["Pixel"]], |
| 46 "Test requestPresent resolves when provided a WebGL2 canvas"); |
| 40 | 47 |
| 41 </script> | 48 </script> |
| OLD | NEW |