<!DOCTYPE html>
<meta name="timeout" content="long">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/utils.js"></script>
<script src="/common/dispatcher/dispatcher.js"></script>
<script src="/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js"></script>
<script src="../resources/utils.js"></script>
<script src="resources/utils.js"></script>

<body>
<script>
setup(() => assertSpeculationRulesIsSupported());

// We attempted to write this test using `RemoteContextHelper`. See
// https://github.com/web-platform-tests/wpt/blob/23ed0c7015082f21dd29dd09a545e2979dc3e08c/speculation-rules/prerender/prerender-while-prerender.html.
//
// However, that ended up being flaky in Chromium. See
// https://bugs.chromium.org/p/chromium/issues/detail?id=1517319.
//
// We're unsure yet if that flakiness was due to a test bug or an implementation
// bug. In case it is due to a test bug, we are currently trying the following
// uglier `PrerenderChannel` version. If it is still flaky, then probably it is
// an implementation bug, and we can revert to the prettier
// `RemoteContextHelper` version.

promise_test(async t => {
  const uid = token();
  const channel = new PrerenderChannel("result", uid);
  const result = new Promise(r => channel.addEventListener("message", e => r(e.data)));

  window.open(
    `resources/prerender-while-prerender-initiator.html?uid=${uid}`,
    "_blank",
    "noopener"
  );

  assert_equals(
    await result,
    false,
    "document.prerendering in the inner page must be false"
  );

  channel.close();
}, "Prerendering inside a prerender doesn't work, and navigating inside prerenderingchange is fine");
</script>
