<html>
<head>
<script>
var frames = 2;
if (window.testRunner) {
	testRunner.dumpAsText();
	testRunner.dumpChildFramesAsText();
	internals.settings.setStorageBlockingPolicy('BlockThirdParty');
}

function decrement() {
	--frames;
	if (!frames && window.testRunner)
		internals.settings.setStorageBlockingPolicy('AllowAll');
}
</script>
</head>
<body>
<p>This iframe should not return any errors:</p>
<iframe src="http://127.0.0.1:8000/security/resources/cross-origin-iframe-for-local-storage.html" onload="decrement()"></iframe>
<p>This iframe should not return any errors:</p>
<iframe src="http://127.0.0.1:8000/security/resources/document-domain-iframe-for-local-storage.html" onload="decrement()"></iframe>
</body>
</html>
