| 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( (t) => { | 12 vr_test((service) => { |
| 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(); | |
| 16 return Promise.resolve(); | 15 return Promise.resolve(); |
| 16 } else { |
| 17 return navigator.getVRDisplays().then(displays => { |
| 18 assert_true(displays != null); |
| 19 assert_equals(1, displays.length); |
| 20 |
| 21 var asyncTest = async_test( |
| 22 "requestPresent resolves and actually presents"); |
| 23 runWithUserGesture( () => { |
| 24 displays[0].requestPresent([{ source : webglCanvas }]).then( () => { |
| 25 asyncTest.step( () => { |
| 26 assert_true(displays[0].isPresenting); |
| 27 }, "Display should be presenting"); |
| 28 }, (err) => { |
| 29 asyncTest.step( () => { |
| 30 assert_unreached(err); |
| 31 }, "Should never reach here"); |
| 32 }).then( () => { |
| 33 asyncTest.done(); |
| 34 }); |
| 35 }); |
| 36 }); |
| 17 } | 37 } |
| 18 | 38 }, [fakeDisplays['Pixel']], |
| 19 return navigator.getVRDisplays().then( (displays) => { | 39 'Test requestPresent resolves when provided a WebGL2 canvas'); |
| 20 var display = displays[0]; | |
| 21 | |
| 22 runWithUserGesture( () => { | |
| 23 display.requestPresent([{ source : webglCanvas }]).then( () => { | |
| 24 t.step( () => { | |
| 25 assert_true(display.isPresenting); | |
| 26 }, "Display should be presenting"); | |
| 27 }, (err) => { | |
| 28 t.step( () => { | |
| 29 assert_unreached(err); | |
| 30 }, "Should never reach here"); | |
| 31 }).then( () => { | |
| 32 t.done(); | |
| 33 }); | |
| 34 }); | |
| 35 }, (err) => { | |
| 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"); | |
| 43 | 40 |
| 44 </script> | 41 </script> |
| OLD | NEW |