<html>
<head>
<script>
function testShouldNotCrash()
{
    if (!window.testRunner)
        return;
    window.testRunner.dumpAsText();
    var root = document.createElement("div");
    var shadow = internals.ensureShadowRoot(root);
    var shadowBuilder = document.createElement("div");
    shadowBuilder.innerHTML = "<div></div>x";
    while (shadowBuilder.firstChild)
        shadow.appendChild(shadowBuilder.firstChild);
    document.body.appendChild(root);
    document.body.offsetLeft;
    document.body.innerHTML = "PASS unless crash";
}
</script>
</head>
<body onload="testShouldNotCrash()">
</body>
</html>
