<html>
<head>
<script src="../resources/plugin.js"></script>
<script>
startAfterLoadAndFinish(function() {
    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>
<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>
