<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>