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="webgl-canvas"></canvas> | 7 <canvas id="webgl-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((service) => { |
13 return navigator.getVRDisplays().then(displays => { | 13 return navigator.getVRDisplays().then(displays => { |
14 assert_true(displays != null); | 14 assert_true(displays != null); |
15 assert_equals(1, displays.length); | 15 assert_equals(1, displays.length); |
| 16 var max_layers = displays[0].capabilities.maxLayers; |
| 17 var layers = []; |
| 18 for (var i = 0; i <= max_layers; ++i) { |
| 19 layers.push({ source : webglCanvas }); |
| 20 } |
16 var asyncTest = async_test( | 21 var asyncTest = async_test( |
17 "requestPresent rejects and does not present"); | 22 "requestPresent rejects and does not present"); |
18 runWithUserGesture( () => { | 23 runWithUserGesture( () => { |
19 displays[0].requestPresent([{ source : webglCanvas }]).then( () => { | 24 displays[0].requestPresent(layers).then( () => { |
20 asyncTest.step( () => { | 25 asyncTest.step( () => { |
21 assert_unreached(); | 26 assert_unreached(); |
22 }, "Display should be presenting"); | 27 }, "Display should not be presenting"); |
23 }, (err) => { | 28 }, (err) => { |
24 asyncTest.step( () => { | 29 asyncTest.step( () => { |
25 assert_false(displays[0].isPresenting); | 30 assert_false(displays[0].isPresenting); |
26 }, "requestPresent rejected and not presenting"); | 31 }, "requestPresent rejected and not presenting"); |
27 }).then( () => { | 32 }).then( () => { |
28 asyncTest.done(); | 33 asyncTest.done(); |
29 }); | 34 }); |
30 }); | 35 }); |
31 }); | 36 }); |
32 }, [fakeDisplays['FakeMagicWindowOnly']], | 37 }, [fakeDisplays['Pixel']], |
33 'Test requestPresent rejects if display does not support it'); | 38 'Test requestPresent rejects if provided too many layers'); |
34 | 39 |
35 </script> | 40 </script> |
OLD | NEW |