<!DOCTYPE html><!-- webkit-test-runner [ KeygenElementEnabled=true ] -->
<html>
    <head>
        <script src="../../resources/js-test-pre.js"></script>
        <script>
            window.jsTestIsAsync = true;

            function test()
            {
                description("Test MutationObserver not dispatched for a parentless element with no listeners");

                document.body.addEventListener('DOMSubtreeModified', function(){ }, true);
                
                // HTMLKeygenElement creates a <select> element, which sets its 'pseudo' attribute
                // in the constructor.
                var keygen = document.createElement('keygen');
                setTimeout(finish, 0);
            }

            function finish()
            {
                testPassed("Test passed, no crash.");
                finishJSTest();
            }

        </script>
    </head>
    <body onload="test()">
        <script src="../../resources/js-test-post.js"></script>
    </body>
</html>
