<html>
<head>
<script>
function testShouldNotCrash()
{
    if (!window.testRunner)
        return;
    testRunner.dumpAsText();
    var root = document.createElement("div");
    var shadow = root.attachShadow({mode: 'open'});
    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>
