summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/cors/script-304.html
blob: e164ca6f41b761c93884854298742ddf50c79a97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<!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>