<html>
<head>
<script>

function runTest() {
    inputElement = document.getElementById('frame');
    inputElement.focus();
    inputElement.select();

    if (!window.testRunner) {
        output.textContent = "Test that clicking on a plugin clears the selection on the currently focused element. Click on the plugin; the text in the input control should no longer be highlighted. The rendertree for this test should not contain any selection information. See https://bugs.webkit.org/show_bug.cgi?id=30355";
    } else {
        eventSender.mouseMoveTo(60, 60);
        eventSender.mouseDown();
        eventSender.mouseUp();
    }
}
</script>
</head>
<body onload="runTest();">
<embed id="plg" type="application/x-webkit-test-netscape" width="100" height="100" windowedplugin="false"></embed><br>
<input id="frame" value="hello"/>
<div id="output"></div>
</body>
</html>
