blob: 2677bb7f6dc2dbd1ddf578f12f7f55636a66f07f [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
<script>
description('This tests that the XMLHttpRequest responseType attribute is not modifiable for synchronous HTTP(S) requests.');
var xhr;
// HTTP
xhr = new XMLHttpRequest();
xhr.open('GET', 'http://mydomain/', false);
shouldThrow("xhr.responseType = 'document';");
// HTTPS
xhr = new XMLHttpRequest();
xhr.open('GET', 'https://mysecuredomain/', false);
shouldThrow("xhr.responseType = 'document';");
// FILE
shouldBeEqualToString('window.location.protocol', 'file:');
xhr = new XMLHttpRequest();
xhr.open('GET', window.location.href, false);
evalAndLog("xhr.responseType = 'document';");
shouldBeEqualToString('xhr.responseType', 'document');
// DATA
var dataUrl = 'data:text/html;charset=utf-8,%3C%21DOCTYPE%20' +
'html%3E%0D%0A%3Chtml%20lang%3D%22en%22%3E%0D%0A%3Chead%' +
'3E%3Ctitle%3EEmbedded%20Window%3C%2Ftitle%3E%3C%2Fhead%' +
'3E%0D%0A%3Cbody%3E%3Ch1%3E42%3C%2Fh1%3E%3C%2Fbody%3E%0A' +
'%3C%2Fhtml%3E%0A%0D%0A';
xhr = new XMLHttpRequest();
xhr.open('GET', dataUrl, false);
evalAndLog("xhr.responseType = 'document';");
shouldBeEqualToString('xhr.responseType', 'document');
</script>
<script src="../../resources/js-test-post.js"></script>
</head>
<body>
<div id="description"></div>
<div id="console"></div>
</body>
</html>