<html>
<body>
<embed name="plg" type="application/x-webkit-test-netscape" width=100 height=100></embed>
<p>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=11517">bug 11517</a>:
Flash clicks/interactivity not working properly.</p>
<script>

    plg.windowedPlugin = false;
    plg.eventLoggingEnabled = true;

    if (!window.layoutTestController) {
        document.write("This test does not work in manual mode.");
    } else {
        layoutTestController.dumpAsText();
        
        eventSender.mouseMoveTo(0,0);
        eventSender.mouseMoveTo(20,20);
        eventSender.mouseDown();
        eventSender.mouseUp();
        eventSender.mouseMoveTo(30,30);
        eventSender.mouseDown();
        eventSender.mouseMoveTo(40,30);
        eventSender.mouseUp();
        eventSender.mouseMoveTo(0,0);
    }

    plg.eventLoggingEnabled = false; // stop logging so our output doesn't bleed into the next test

</script>
</body>
</html>
