<body id="body">
This is a test for https://bugs.webkit.org/show_bug.cgi?id=64295. Chromium sometimes crashes in a mouse event on an HTMLSelectElement if the event handler removes the element from the DOM.
This test is manual because it requires a real select popup menu, which DRT doesn't provide.<br>
To run, click on the select below, then select "Click me!" on the dropdown menu. We pass if the HTMLSelectElement disappears and we don't crash.
<script>
function handleClick(e) {
    if (e.target.selectedIndex != 1)
        return;

    document.getElementById("body").removeChild(document.getElementById("formDiv"));
    var xhr = new XMLHttpRequest();
    xhr.open('GET', '', true);
    xhr.send(null);
}
</script>
<div id="formDiv">
<form>
<select onmouseup="handleClick(event);">
<option></option>
<option>Click me!</option>
</select>
</form>
</div>
</body>
