Bug 1175138 P6 Add a simple test to verify CacheStorage rejects in http origin. r=ehsan

This commit is contained in:
Ben Kelly 2015-06-27 23:19:24 -04:00
Родитель 2de3ef558a
Коммит ccc0bf0860
2 изменённых файлов: 41 добавлений и 0 удалений

1
dom/cache/test/mochitest/mochitest.ini поставляемый
Просмотреть файл

@ -42,3 +42,4 @@ support-files =
[test_cache_shrink.html]
[test_cache_orphaned_cache.html]
[test_cache_orphaned_body.html]
[test_cache_untrusted.html]

40
dom/cache/test/mochitest/test_cache_untrusted.html поставляемый Normal file
Просмотреть файл

@ -0,0 +1,40 @@
<!-- Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/ -->
<!DOCTYPE HTML>
<html>
<head>
<title>Test Cache with QuotaManager Restart</title>
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="text/javascript" src="large_url_list.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head>
<body>
<script class="testbody" type="text/javascript">
function setupTestIframe() {
return new Promise(function(resolve) {
var iframe = document.createElement("iframe");
iframe.src = "empty.html";
iframe.onload = function() {
window.caches = iframe.contentWindow.caches;
resolve();
};
document.body.appendChild(iframe);
});
}
SimpleTest.waitForExplicitFinish();
SpecialPowers.pushPrefEnv({
"set": [["dom.caches.enabled", true]],
}, function() {
setupTestIframe().then(function() {
return caches.open('foo');
}).then(function(usage) {
ok(false, 'caches should not be usable in untrusted http origin');
}).catch(function(err) {
is(err.name, 'SecurityError', 'caches should reject with SecurityError');
SimpleTest.finish();
});
});
</script>
</body>
</html>