<html>
<head>
<style>
  #plugin {
    width: 150px;
    height: 150px;
  }
</style>
</head>

<body>
<embed id="plugin" type="application/x-webkit-test-webplugin" primitive="triangle" background-color="green" primitive-color="blue"></embed>
<script>

    if (!window.testRunner) {
        document.write("This test does not work in manual mode.");
    } else {
        testRunner.dumpAsText();

        // Send some gesture events to the plugin.
        var positionX = plugin.offsetLeft + 10;
        var positionY = plugin.offsetTop + 10;
        eventSender.gestureTap(positionX, positionY);
        eventSender.gestureShowPress(positionX, positionY);
        eventSender.gestureScrollBegin(positionX, positionY);
        eventSender.gestureScrollUpdate(30, 0);
        eventSender.gestureScrollUpdate(30, 0);
        eventSender.gestureScrollEnd(0, 0);
    }

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