diff options
Diffstat (limited to 'dom/tests/mochitest/general/test_storagePermissionsAccept.html')
-rw-r--r-- | dom/tests/mochitest/general/test_storagePermissionsAccept.html | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/dom/tests/mochitest/general/test_storagePermissionsAccept.html b/dom/tests/mochitest/general/test_storagePermissionsAccept.html new file mode 100644 index 0000000000..ddb33de9c3 --- /dev/null +++ b/dom/tests/mochitest/general/test_storagePermissionsAccept.html @@ -0,0 +1,44 @@ +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <title>Storage Permission Restrictions</title> + + <script src="/tests/SimpleTest/SimpleTest.js"></script> + <script type="text/javascript" src="storagePermissionsUtils.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> + </head> + <body> + <iframe></iframe> + + <script type="text/javascript"> + +task(async function() { + await setCookieBehavior(BEHAVIOR_ACCEPT); + + await runTestInWindow(async function() { + // We should be able to access storage + await storageAllowed(); + + // Same origin iframes should be allowed, unless they redirect to a URI with the null principal + await runIFrame("frameStorageAllowed.html"); + await runIFrame("frameStorageNullprincipal.sjs"); + await runIFrame("frameStorageChrome.html?allowed=yes"); + + // Sandboxed iframes should have the null principal, and thus can't access storage + document.querySelector('iframe').setAttribute('sandbox', 'allow-scripts'); + await runIFrame("frameStoragePrevented.html#nullprincipal"); + await runIFrame("frameStorageNullprincipal.sjs"); + document.querySelector('iframe').removeAttribute('sandbox'); + + // Thirdparty iframes should be allowed, unless they redirect to a URI with the null principal + await runIFrame(thirdparty + "frameStorageAllowed.html"); + await runIFrame(thirdparty + "frameStorageNullprincipal.sjs"); + await runIFrame(thirdparty + "frameStorageChrome.html?allowed=yes"); + + // Workers should be able to access storage + await runWorker("workerStorageAllowed.js"); + }); +}); + + </script> + </body> +</html> |