diff options
Diffstat (limited to 'dom/tests/mochitest/general/test_storagePermissionsAccept.html')
-rw-r--r-- | dom/tests/mochitest/general/test_storagePermissionsAccept.html | 42 |
1 files changed, 42 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 000000000..10bd43594 --- /dev/null +++ b/dom/tests/mochitest/general/test_storagePermissionsAccept.html @@ -0,0 +1,42 @@ +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <title>Storage Permission Restrictions</title> + + <script type="text/javascript" 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(function* () { + yield setCookieBehavior(BEHAVIOR_ACCEPT); + + // We should be able to access storage + yield storageAllowed(); + + // Same origin iframes should be allowed, unless they redirect to a URI with the null principal + yield runIFrame("frameStorageAllowed.html"); + yield runIFrame("frameStorageNullprincipal.sjs"); + yield 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'); + yield runIFrame("frameStoragePrevented.html#nullprincipal"); + yield runIFrame("frameStorageNullprincipal.sjs"); + document.querySelector('iframe').removeAttribute('sandbox'); + + // Thirdparty iframes should be allowed, unless they redirect to a URI with the null principal + yield runIFrame(thirdparty + "frameStorageAllowed.html"); + yield runIFrame(thirdparty + "frameStorageNullprincipal.sjs"); + yield runIFrame(thirdparty + "frameStorageChrome.html?allowed=yes"); + + // Workers should be able to access storage + yield runWorker("workerStorageAllowed.js"); +}); + + </script> + </body> +</html> |