<html>
  <head>
    <title>VRDisplay onvrdisplaydeactivate Crosscontent test</title>
    <meta name="timeout" content="long"/>
    <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <script src="VRSimulationDriver.js"></script>
    <script src="WebVRHelpers.js"></script>
    <script src="requestPresent.js"></script>
    <script src="runVRTest.js"></script>
  </head>
  <body>
    <canvas id="vrCanvas"></canvas>
    <script>

      function startTest() {
        var canvas = document.getElementById("vrCanvas");
        var iframe1 = document.getElementById("iframe1").contentWindow;
        var t = async_test("vrdisplaydeactivate crosscontent test");

        window.addEventListener("vrdisplaydeactivate", () => {
          t.step(() => {
            assert_true(vrDisplay.isPresenting,
                        "VRDisplay should be still presenting now without being affected by the event.");
            t.done();
          });
        });

        iframe1.addEventListener("vrdisplaydeactivate", () => {
          t.unreached_func("vrdisplaydeactivate should not be received by other iframe.");
        });

        promise_test((test) => {
          return attachVRDisplay(test).then(() => {
            return promise_test((test) => {
              return setupVRDisplay(test).then(() => {
                VRSimulationDriver.SetMountState(true);
                VRSimulationDriver.UpdateVRDisplay();
                return WebVRHelpers.RequestPresentOnVRDisplay(vrDisplay, [{source: canvas}]);
              }).then(() => {
                VRSimulationDriver.SetMountState(false);
                VRSimulationDriver.UpdateVRDisplay();
              });
            });
          });
        });
      }

      runVRTest(startTest);
    </script>
    <iframe id="iframe1"></iframe>
  </body>
</html>
