testing/web-platform/tests/cors/script-304.html
author Lando <lando@lando.test>
Fri, 11 Jul 2025 04:32:24 +0000 (48 minutes ago)
changeset 796014 f14d1c1492bc6791542a001365abbca4bd9b28db
parent 426049 ab9f0c134461bb394e5c502fe709bf852388078e
permissions -rw-r--r--
Merge autoland to mozilla-central
<!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>