<!DOCTYPE html>
<meta name="variant" content="?target_hint=_self">
<meta name="variant" content="?target_hint=_blank">
<meta name="timeout" content="long">
<script src="/common/utils.js"></script>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/utils.js"></script>
<script src="resources/utils.js"></script>

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

promise_test(async t => {
  // The key used for storing a test result in the server.
  const key = token();

  // Open the test runner in a popup - it will prerender itself, record the
  // test results, and send them back to this harness.
  const url =
    `resources/csp-script-src-elem-inline-speculation-rules.html?key=${key}&target_hint=${getTargetHint()}`;
  window.open(url, '_blank', 'noopener');

  // Wait until the test sends us the results.
  const result = await nextValueFromServer(key);

  assert_equals(result, "true", "initial document.prerendering");
}, 'Test if CSP script-src-elem inline-speculation-rules permits inline speculationrules.');
</script>
