fune/browser/base/content/test/contextMenu/browser_contextmenu_loadblobinnewtab.html
Subhamoy Sengupta baa0b14253 Bug 1626573 - P2 - Browser Mochitests added to test if opening blob URL in a new tab by right clicking works r=baku
Two cases have been tested:

  1. Right-click opening a blob URL
  2. Right-click opening a blob URL, which points to a blob of type html, which fetches another blob URL

Depends on D69717

# Conflicts:
#	browser/base/content/test/contextMenu/browser.ini

Differential Revision: https://phabricator.services.mozilla.com/D70197
2020-04-21 12:37:09 +00:00

56 lines
No EOL
1.5 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
</head>
<body onload="add_content()">
<p>This example creates a typed array containing the ASCII codes for the space character through the letter Z, then
converts it to an object URL.A link to open that object URL is created. Click the link to see the decoded object
URL.</p>
<br />
<br />
<a id='blob-url-link'>Open the array URL</a>
<br />
<br />
<a id='blob-url-referrer-link'>Open the URL that fetches the URL above</a>
<script>
function typedArrayToURL(typedArray, mimeType) {
return URL.createObjectURL(new Blob([typedArray.buffer], { type: mimeType }))
}
function add_content() {
const bytes = new Uint8Array(59);
for (let i = 0;i < 59;i++) {
bytes[i] = 32 + i;
}
const url = typedArrayToURL(bytes, 'text/plain');
document.getElementById('blob-url-link').href = url;
const ref_url = URL.createObjectURL(new Blob([`
<body>
<script>
fetch("${url}", {headers: {'Content-Type': 'text/plain'}})
.then((response) => {
response.text().then((textData) => {
var pre = document.createElement("pre");
pre.textContent = textData.trim();
document.body.insertBefore(pre, document.body.firstChild);
});
});
<\/script>
<\/body>
`], { type: 'text/html' }));
document.getElementById('blob-url-referrer-link').href = ref_url;
};
</script>
</body>
</html>