<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>
      iframe {
        -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=9221">https://bugs.webkit.org/show_bug.cgi?id=9221</a>
        resize property doesn't work on iframes</i>.
    </p>
    <hr>
    <iframe id="iframe" style="resize: both; width: 150px; height: 100px; border: blue 2px solid;"></iframe>

</body>
