<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.gestureTapDown(positionX, positionY);
        eventSender.gestureScrollBegin(positionX, positionY);
        eventSender.gestureScrollUpdate(30, 0);
        eventSender.gestureScrollUpdateWithoutPropagation(30, 0);
        eventSender.gestureScrollEnd(0, 0);
    }

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