blob: a8ec87590240da2a240ea1283d693fc71129f6cb [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<title>Cache Storage: third party iframes</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<script>
if (window.testRunner) {
// Log user interaction for this domain to avoid deleting its
// website data (including caches) when a frame navigation occurs.
testRunner.setStatisticsHasHadUserInteraction("https://127.0.0.1:9443", true);
}
function load_iframe(url) {
return new Promise(function(resolve) {
var frame = document.createElement('iframe');
frame.src = url;
window.onmessage = (event) => resolve(event.data);
document.body.appendChild(frame);
});
}
promise_test(async () => {
assert_equals(await load_iframe("resources/quota-third-party-iframe.html"), "PASS");
}, "same origin iframe has regular quota");
promise_test(async () => {
assert_equals(await load_iframe("https://127.0.0.1:9443/WebKit/cache-storage/resources/quota-third-party-iframe.html"), "FAIL");
}, "cross origin iframe has reduced quota");
promise_test(async () => {
// Clear DOMCaches to reset quotas.
if (window.testRunner)
testRunner.clearDOMCaches();
assert_equals(await load_iframe("https://127.0.0.1:9443/WebKit/cache-storage/resources/quota-third-party-iframe.html"), "FAIL");
}, "cross origin iframe has reduced quota after resetting quota");
</script>
</body>
</html>