<!DOCTYPE html>
<title>same-site cross-origin prerendering not opt in</title>
<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/get-host-info.sub.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());

promise_test(async t => {
  const rcHelper = new PrerenderingRemoteContextHelper();
  const referrerRC = await rcHelper.addWindow({origin: 'HTTPS_ORIGIN'}, { features: 'noopener' });
  const prerenderedRC = await referrerRC.addPrerender({origin: 'HTTPS_REMOTE_ORIGIN'});

  // Because the prerender doesn't use opt-in header, it is expected to be canceled.
  // And the navigation is expected to create another page instead of activation.
  await referrerRC.navigateExpectingNoPrerenderingActivation(prerenderedRC);
});
</script>
