Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
youennf committed Jun 25, 2018
1 parent 69a3483 commit f6846cf
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 0 deletions.
10 changes: 10 additions & 0 deletions cors/resources/cache-304.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
def main(request, response):
match = request.headers.get("If-None-Match", None)
if match is not None and match == "mybestscript-v1":
response.status = (304, "YEP")
return ""
response.headers.set("Access-Control-Allow-Origin", "*")
response.headers.set("Cache-Control", "must-revalidate")
response.headers.set("ETag", "mybestscript-v1")
response.headers.set("Content-Type", "text/javascript")
return "function hep() { }"
40 changes: 40 additions & 0 deletions cors/script-304.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,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>

0 comments on commit f6846cf

Please sign in to comment.