test_vrDisplay_canvas2d.html (1846B)
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>VRDisplay Canvas2D</title> 5 <meta name="timeout" content="long"/> 6 <meta http-equiv="Content-type" content="text/html;charset=UTF-8"> 7 <script src="/resources/testharness.js"></script> 8 <script src="/resources/testharnessreport.js"></script> 9 <script src="VRSimulationDriver.js"></script> 10 <script src="runVRTest.js"></script> 11 </head> 12 <body> 13 <script> 14 "use strict"; 15 var vrDisplay; 16 17 function requestPresentTest() { 18 async_test(function (test) { 19 vrDisplay.requestAnimationFrame(callback); 20 21 function callback() { 22 vrDisplay.resetPose(); 23 vrDisplay.getLayers(); 24 vrDisplay.submitFrame(); 25 vrDisplay.getEyeParameters("right"); 26 test.done(); 27 } 28 }, "Finish WebVR Canvas2D requestPresentTest."); 29 } 30 31 function startTest() { 32 promise_test((test) => { 33 var canvas = document.createElement('canvas'); 34 (document.body || document.documentElement).appendChild(canvas); 35 var context = canvas.getContext('2d'); 36 var img = document.createElement('img'); 37 img.src = "data:image/gif;base64,R0lGODlhAQABAAAAACw="; 38 39 return VRSimulationDriver.AttachWebVRDisplay().then(() => { 40 return navigator.getVRDisplays().then((displays) => { 41 assert_equals(displays.length, 1, "displays.length must be one after attach."); 42 vrDisplay = displays[0]; 43 var frameData = new VRFrameData(); 44 return vrDisplay.requestPresent([{source: canvas}]).then(() => { 45 requestPresentTest(); 46 }); 47 }); 48 }); 49 }, "Finish running WebVR Canvas2D test."); 50 } 51 52 runVRTest(startTest); 53 </script> 54 </body> 55 </html>