<html>
<head>
    <style>
        select::selection { color: red; }
        input[type="button"]::selection { color: red; }
    </style>
    <script>
        function test() {
            if (window.layoutTestController)
                layoutTestController.dumpAsText();
            document.execCommand("SelectAll");
            if (window.layoutTestController)
                layoutTestController.display();
        }
    </script>
</head>
<body onload="test()">
    This tests that this crasher is fixed:<br>
    http://bugs.webkit.org/show_bug.cgi?id=10139<br>
    REGRESSION: Reproducible crash when selecting a popup/button with ::selection pseudostyle"<br>
    <select>
        <option>Option 1</option>
    </select>
    <input type="button" value="button"></input>
</body>
</html>
