Index: third_party/WebKit/LayoutTests/vr/requestPresent_resolve_webgl2.html |
diff --git a/third_party/WebKit/LayoutTests/vr/requestPresent_resolve_webgl2.html b/third_party/WebKit/LayoutTests/vr/requestPresent_resolve_webgl2.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d45e05b8784337ff79af7d33d4eb8495063259d7 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/vr/requestPresent_resolve_webgl2.html |
@@ -0,0 +1,41 @@ |
+<!DOCTYPE html> |
+<script src="../resources/testharness.js"></script> |
+<script src="../resources/testharnessreport.js"></script> |
+<script src="../resources/mojo-helpers.js"></script> |
+<script src="resources/fake-vr-displays.js"></script> |
+<script src="resources/mock-vr-service.js"></script> |
+<canvas id="webgl2-canvas"></canvas> |
+<script src="resources/presentation-setup.js"></script> |
+<script> |
+let fakeDisplays = fakeVRDisplays(); |
+ |
+vr_test((service) => { |
+ if (!gl) { |
+ // WebGL 2 is not supported. This is legal. |
+ return Promise.resolve(); |
+ } else { |
+ return navigator.getVRDisplays().then(displays => { |
+ assert_true(displays != null); |
+ assert_equals(1, displays.length); |
+ |
+ var asyncTest = async_test( |
+ "requestPresent resolves and actually presents"); |
+ runWithUserGesture( () => { |
+ displays[0].requestPresent([{ source : webglCanvas }]).then( () => { |
+ asyncTest.step( () => { |
+ assert_true(displays[0].isPresenting); |
+ }, "Display should be presenting"); |
+ }, (err) => { |
+ asyncTest.step( () => { |
+ assert_unreached(err); |
+ }, "Should never reach here"); |
+ }).then( () => { |
+ asyncTest.done(); |
+ }); |
+ }); |
+ }); |
+ } |
+}, [fakeDisplays['Pixel']], |
+'Test requestPresent resolves when provided a WebGL2 canvas'); |
+ |
+</script> |