<!DOCTYPE html>

<head>
  <title>Cobalt preload state visibility test</title>
  <script src='black_box_js_test_utils.js'></script>
</head>

<body>
  <h1>
    <span>ID element</span>
  </h1>
  <script>
    // In preload mode, visibility should be "hidden" and window/document
    // should not have focus.
    assertEqual("hidden", document.visibilityState);
    assertFalse(document.hasFocus());

    var visibilityStateVisible = false;
    // Wait for visibility change to verify visibilityState and having focus.
    function handleVisibilityChange() {
      assertFalse(document.hasFocus());
      if (visibilityStateVisible) {
        assertEqual("hidden", document.visibilityState);
        // Allow the app to become visible and then hidden at most once.
      } else {
        assertEqual("visible", document.visibilityState);
        visibilityStateVisible = true;
        onEndTest();
      }
    }
    document.addEventListener("visibilitychange", handleVisibilityChange);
    setupFinished();
  </script>
</body>
