Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(460)

Side by Side Diff: third_party/WebKit/LayoutTests/vr/requestAnimationFrame_handoff.html

Issue 2888313002: WebVR: Defer GetVSync calls until the current frame is submitted. (Closed)
Patch Set: Refactor RequestVSync, add comments and test Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <script src="../resources/testharness.js"></script>
3 <script src="../resources/testharnessreport.js"></script>
4 <script src="../resources/mojo-helpers.js"></script>
5 <script src="resources/fake-vr-displays.js"></script>
6 <script src="resources/mock-vr-service.js"></script>
7 <canvas id="webgl-canvas"></canvas>
8 <script src="resources/presentation-setup.js"></script>
9 <script>
10 let fakeDisplays = fakeVRDisplays();
11
12 vr_test( (t) => {
13 return navigator.getVRDisplays().then( (displays) => {
14 let display = displays[0];
15
16 let usingDisplayRAF = false;
17
18 function onAnimationFrame() {
19 //console.log("Animating, isPresenting=" + display.isPresenting);
20 if (display.isPresenting) {
21 if (usingDisplayRAF) {
22 t.done();
23 }
24
25 usingDisplayRAF = true;
26 display.requestAnimationFrame(onAnimationFrame);
27 } else {
28 window.requestAnimationFrame(onAnimationFrame);
29 }
30 }
31
32 runWithUserGesture( () => {
33 //document.write("requestPresent");
34 display.requestPresent([{ source : webglCanvas }]).then( () => {
35 t.step( () => {
36 assert_true(display.isPresenting);
37 }, "Display should be presenting");
38 }, (err) => {
39 t.step( () => {
40 assert_unreached(err);
41 }, "requestPresent rejected");
42 });
43 });
44
45 window.requestAnimationFrame(onAnimationFrame);
46 }, (err) => {
47 t.step( () => {
48 assert_unreached("getVRDisplays rejected");
49 });
50 t.done();
51 });
52 }, [fakeDisplays["Pixel"]],
53 "requestAnimationFrame properly switches from window to vrDisplay");
54
55 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698