<!doctype html>
<title>window.open: subresource loading</title>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script>
promise_test(() => {
const readAndReportBlobContents = () => {
const xhr = new XMLHttpRequest;
xhr.open('GET', self.blobUrl, true);
xhr.responseType = 'blob';
xhr.onload = e => {
const reader = new FileReader;
reader.onloadend = e => { self.reportBlobContents(reader.result); };
reader.readAsText(xhr.response);
};
xhr.send();
};
const kBlobText = 'hello i am blob';
const target = self.open();
const blob = new Blob([kBlobText], {type: 'text/plain'});
const blobUrl = URL.createObjectURL(blob);
return new Promise((resolve, reject) => {
target.blobUrl = blobUrl;
target.reportBlobContents = resolve;
target.document.write('<script>(' + readAndReportBlobContents + ')();</' +
'script>\n');
}).then(readBlobText => {
assert_equals(readBlobText, kBlobText);
});
}, 'Check that new blank windows can load subresources.');
</script>