<html id="webtest0">
<head></head>
<body>
This test passes if it doesn't crash/assert.
<script>
if (window.testRunner)
    testRunner.dumpAsText();

for (wf_i=0;wf_i<30;wf_i++) {
var scroll_35 = document.createElement("iframe");
document.getElementById("webtest0").appendChild(document.createElement("slot")).appendChild(scroll_35);
}

document.body.offsetLeft;

head = document.getElementsByTagName("head")[0];
style = document.createElement("style");
style.type = "text/css";
style.innerHTML="* { position: absolute; }";
head.appendChild(style);
</script>
</body>
</html>
