<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type='text/javascript' charset='utf-8'>
function print(message) {
	var paragraph = document.createElement("p");
	paragraph.appendChild(document.createTextNode(message));
	document.getElementById("console").appendChild(paragraph);
}

function test() {
	if (window.layoutTestController) {
		layoutTestController.dumpAsText();
	}

	for (x = 0; x < 1000; x++) {
		var canvas = document.getElementById("canvas");
		var context = canvas.getContext("2d");
		context.save();
	}
	
	print("passed");
}
</script>
</head>
<body onload="test();">
<p>This test checks for a regression against <i>rdar://problem/4152454 crash in KJS::ExprStatementNode::execute(KJS::ExecState*) in World Clock widget with TOT</i>. The original bug occurred because some objects did not properly mark themselves, and so the garbage collector prematurely destroyed them.</p>
<p>If the test passes, you will see the word "passed" below. Otherwise, it will crash.</p>
<hr>
<canvas id='canvas' width='172' height='172'></canvas>
<div id='console'/>
</body>
</html>
