diff options
Diffstat (limited to 'testing/web-platform/tests/storage/resources/partitioned-estimate-usage-details-service-workers-helper-frame.html')
-rw-r--r-- | testing/web-platform/tests/storage/resources/partitioned-estimate-usage-details-service-workers-helper-frame.html | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/testing/web-platform/tests/storage/resources/partitioned-estimate-usage-details-service-workers-helper-frame.html b/testing/web-platform/tests/storage/resources/partitioned-estimate-usage-details-service-workers-helper-frame.html new file mode 100644 index 0000000000..25d7554868 --- /dev/null +++ b/testing/web-platform/tests/storage/resources/partitioned-estimate-usage-details-service-workers-helper-frame.html @@ -0,0 +1,30 @@ +<!DOCTYPE html> +<meta name=help href="https://privacycg.github.io/storage-partitioning/"> +<title>Helper frame</title> + +<script> + const usageDetails = async () => { + return (await navigator.storage.estimate()) + .usageDetails.serviceWorkerRegistrations || 0 + } + + let details = {}; + + window.addEventListener("message", async event => { + if (event.data === "get-details") { + details.source = "same-site"; + details.init = await usageDetails(); + event.source.postMessage(details, event.source.origin); + } + }); + + window.addEventListener("load", async () => { + if (parent.opener) { + details.source = "cross-site"; + details.init = await usageDetails(); + parent.opener.postMessage(details, parent.opener.origin); + } + }); + + window.parent.postMessage("iframe-is-ready", window.parent.origin); +</script> |