<!DOCTYPE html>
<html>
<head>
<title>FormatBlock crash</title>
<script src="../../resources/js-test.js"></script>
</head>
<body>
<script>
description('Should not crash if we load a test case from crbug.com/345005.');

window.jsTestIsAsync = true;

window.addEventListener('message', didReceiveMessage, false);

var iframe = document.createElement('iframe');
iframe.src = 'resources/format-block-crash-iframe.html';
document.body.appendChild(iframe);

function didReceiveMessage(event)
{
    shouldBeEqualToString('event.data', 'FINISH');
    document.body.removeChild(iframe);
    testPassed('Did not crash.');
    window.finishJSTest();
}
</script>
</body>
</html>
