Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

<!DOCTYPE html>
<meta charset=utf-8>
<meta name="timeout" content="long">
<title>Clear-Site-Data: cache for bfcache</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script src="support/clear-cache-helper.sub.js"></script>
<script src="/common/dispatcher/dispatcher.js"></script>
<script src="/common/utils.js"></script>
<script src="/html/browsers/browsing-the-web/back-forward-cache/resources/helper.sub.js"></script>
<script type="module">
// cross-site: example.com (iframe: example.net) -> example.net (iframe example.net clear) -> in bfcache
runBfCacheClearTest(
{
getUrlParams: {
clear: "cache",
crossSite: true,
},
targetOrigin: crossSiteOrigin,
mode: "iframe",
shouldBeCached: true,
funcBeforeNavigation: async (url) => {
await new Promise(resolve => {
const iframe = document.createElement("iframe");
iframe.src = url;
document.body.appendChild(iframe);
iframe.onload = resolve;
});
},
argsBeforeNavigation: [crossSiteOrigin],
},
"BfCached document not be dropped when containing cross-site iframe and that cross-site received clear-cache header"
);
// same-site: www.example.com (iframe: www2.example.com) -> www2.example.com (iframe www2.example.com clear) -> bfcache entry gets cleared
runBfCacheClearTest(
{
getUrlParams: {
clear: "cache",
subdomain: true,
},
targetOrigin: subdomainOrigin,
mode: "iframe",
shouldBeCached: false,
funcBeforeNavigation: async (url) => {
await new Promise(resolve => {
const iframe = document.createElement("iframe");
iframe.src = url;
document.body.appendChild(iframe);
iframe.onload = resolve;
});
},
argsBeforeNavigation: [subdomainOrigin],
},
"BfCached document should be dropped when containing same-site iframe and that same-site received clear-cache header"
);
</script>