<!DOCTYPE html>
<html>
<body>
WebKit Bug 89386 - Crash in LayoutInline::willBeDestroyed.<br />
Test passes if it does not crash.
<summary>
<i>
<span id="test">
<div></div>
</span>
</i>
</summary>
<script>
    if (window.testRunner)
        testRunner.dumpAsText();

    var span = document.getElementById('test');
    var fullscreenChangeEvent = function(event) {
        if (document.webkitIsFullScreen)
            document.webkitCancelFullScreen();
    };

    document.addEventListener('webkitfullscreenchange', fullscreenChangeEvent);
    document.addEventListener('keydown', function () {
        span.webkitRequestFullScreen();
    });

    eventSender.keyDown('a');
</script>
</body>
</html>
