<!DOCTYPE html>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}
window.onload = function() {
    var el = document.getElementsByTagName("iframe")[0];
    window.frames[0].requestAnimationFrame(function() {
        el.parentNode.removeChild(el);
    });

    if (window.testRunner) {
        window.setTimeout(function() {
            testRunner.displayAndTrackRepaints();
            testRunner.notifyDone();
        }, 50);
    }
}
</script>
Test passes is there is no crash.
<iframe></iframe>
<iframe></iframe>
