blob: 3621bbef7d83d99937b774d7f5dbb2c167c9143d [file] [log] [blame]
<!DOCTYPE html>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<title>Test that blob: URLs fail registerProtocolHandler checks</title>
<body>
<script>
setup({single_test: true});
const winSrc =
`<html>
<head>
<script>
try {
navigator.registerProtocolHandler('web+test',
location.href + '?%s',
'Test handler');
window.opener.postMessage('rph succeeded', '*');
} catch (e) {
window.opener.postMessage('rph failed: ' + e.message, '*');
}
<\/script>
<\/head>
<body>
Test page
<\/body>
<\/html>
`
window.addEventListener('message', (msg) => {
assert_equals(msg.data,
'rph failed: Failed to execute \'registerProtocolHandler\' on \'Navigator\': The scheme of the url provided must be \'https\'.',
'registerProtocolHandler should have failed');
done();
});
const data = new Blob([winSrc], {type: 'text/html'});
const objectURL = window.URL.createObjectURL(data);
window.open(objectURL, '_blank');
</script>
</body>