<html>
<body>
<embed name="plg" type="application/x-webkit-test-netscape" windowedPlugin="false" 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.testRunner) {
        document.write("This test does not work in manual mode.");
    } else {
        testRunner.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>
