<!DOCTYPE html>
<body>
crbug.com/459533: Don't crash when changing an element to one that interacts with other floats to one that can't.
</body>
<script>
    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
    }
    var iframe = document.createElement('iframe');
    document.body.appendChild(iframe);
    iframe.style.cssFloat='right';
    document.documentElement.style.padding='913917816% 300vmin 0vmax';
    var div = document.createElement('div');
    div.style.webkitWritingMode='horizontal-tb';
    document.documentElement.appendChild(div);
    window.setTimeout("updateStyle()",0);

    function updateStyle() {
        document.body.style.webkitWritingMode='vertical-rl';
        iframe.style.all='unset';
        document.documentElement.clientWidth;
        iframe.style.webkitMarginAfter='22vmin';
        if (window.testRunner)
            testRunner.notifyDone();
    }
</script>
