<!DOCTYPE html>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script src="resources/fake-vr-displays.js"></script>
<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script>
<script src="file:///gen/device/vr/vr_service.mojom.js"></script>
<script src="resources/mock-vr-service.js"></script>
<canvas id="webgl-canvas"></canvas>
<script src="resources/presentation-setup.js"></script>
<script>
let fakeDisplays = fakeVRDisplays();

vr_test( (t) => {
  return navigator.getVRDisplays().then( (displays) => {
    let display = displays[0];

    runWithUserGesture( () => {
      display.requestPresent([{ source : webglCanvas }]).then( () => {
        t.step( () => {
          assert_true(display.isPresenting);
        }, "Present request succeeded");
      }, (err) => {
        t.step( () => {
          assert_unreached(err);
        }, "Present request rejected");
      }).then( () => {
        display.exitPresent().then( () => {
          t.step( () => {
            assert_false(display.isPresenting);
          }, "Display should no longer be presenting");
        }, (err) => {
          t.step( () => {
            assert_unreached(err);
          }, "Should never reach here");
        }).then( () => {
          t.done();
        });
      });
    });
  }, (err) => {
    t.step( () => {
      assert_unreached(err);
    }, "getVRDisplays rejected");
    t.done();
  });
}, [fakeDisplays["Pixel"]],
"Test exitPresent resolves");

</script>
