<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <script src="/common/get-host-info.sub.js"></script>
    <script src="/common/utils.js"></script>
  </head>
  <body>
    <div id="testDiv"></div>
    <script>

const scriptURL = get_host_info().HTTP_REMOTE_ORIGIN + "/cors/resources/cache-304.py?" + token();

function loadScript(test)
{
    const script = document.createElement("script");
    script.crossOrigin = "anonymous";
    script.src = scriptURL;
    return new Promise((resolve, reject) => {
        // Let's add a small timeout so that the script is fully loaded in memory cache before reloading it.
        script.onload = test.step_timeout(resolve, 50);
        script.onerror = reject;
        testDiv.appendChild(script);
    });
}

promise_test((test) => {
    return loadScript(test);
}, "Load a fresh cross-origin script");

promise_test((test) => {
    return loadScript(test);
}, "Reload same cross-origin script from the memory cache after revalidation");

</script>
  </body>
</html>

