<html>
<head>
    <title>Transformed resize corner tracking</title>
    <script type="text/javascript">
        function resize()
        {
            eventSender.mouseMoveTo(185, 233);
            eventSender.mouseDown();
            eventSender.mouseMoveTo(185, 260);
            eventSender.mouseUp();
        }
        function test()
        {
            if (!window.testRunner)
                return;
            
            resize();
        }
    </script>
    <style>
      div {
        -webkit-transform: rotate(20deg);
        margin: 50px;
      }
    </style>
</head>
<body onload="test()">
    <hr>
    <p>
        Test for
        <i><a href="https://bugs.webkit.org/show_bug.cgi?id=22118">https://bugs.webkit.org/show_bug.cgi?id=22118</a>
        Resize corner does not track in transformed elements</i>.
    </p>
    <hr>
    <div id="div" style="overflow: auto; resize: both; width: 150px; height: 100px; border: blue 2px solid;"></div>
</body>
