Source code

Revision control

Copy as Markdown

Other Tools

<!doctype html>
<body>
<script src=/resources/testharness.js></script>
<script src=/shared-storage/resources/util.js></script>
<script>
async function init() {
// Create image that sets (expectedKey, expectedValue) to shared storage
// via response header.
let {expectedKey, expectedValue} = parseExpectedKeyAndValueData();
const imgSrc =
`/shared-storage/resources/shared-storage-writable-pixel.png`
+ `?key=${expectedKey}&value=${expectedValue}`;
let image = document.createElement('img');
image.src = imgSrc;
image.sharedStorageWritable = true;
let parentOrOpener = window.opener || window.parent;
const promise = new Promise((resolve, reject) => {
image.addEventListener('load', () => {
parentOrOpener.postMessage({sharedStorageImageLoadStatus: "success"}, "*");
resolve();
});
image.addEventListener('error', () => {
parentOrOpener.postMessage({sharedStorageImageLoadStatus: error}, "*");
reject(error);
});
});
// Navigate and wait for image load.
document.body.appendChild(image);
await promise;
}
init();
</script>
</body>