<!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-unsafe-inline.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 unsafe-inline permits inline speculationrules.');
</script>
