<p>
    Test for <i><a href="https://bugs.webkit.org/show_bug.cgi?id=26671">https://bugs.webkit.org/show_bug.cgi?id=26671</a>
    Safari 4.0 crashes in WebCore::DOMTimer::fired()</i>.
</p>
<p>
    This tests that removing a possibly style sheet-carrying element from an
    unrendered document does not leave behind a reference to a stale object and
    lead to a crash.
</p>
<script>
    if (window.layoutTestController)
        layoutTestController.dumpAsText();

    var otherDocument = document.implementation.createHTMLDocument();
    otherDocument.documentElement.innerHTML = "<link>";
    otherDocument.documentElement.innerHTML = "";
    otherDocument.documentElement.appendChild(otherDocument.createElement("head")).appendChild(otherDocument.createElement("style"));
</script>
