<script>
if (window.testRunner) {
	testRunner.dumpAsText();
	testRunner.waitUntilDone();
}

function loaded()
{
	document.getElementById("logger").innerHTML += "document.cookie should be empty, and its value is '" + document.cookie + "'";
	
	if (window.testRunner)
		testRunner.notifyDone();
}
</script>

This image resource sets a cookie. But based on the content rules, setting cookie should be blocked.<br>
<div id="logger"></div><br>
<img src="http://127.0.0.1:8000/cookies/resources/cookie-utility.php?queryfunction=setFooCookie" onerror="loaded()">
