<html>
<head>
    <title></title>
</head>
<body>
    <p>
        Test for <i><a href="http://bugs.webkit.org/show_bug.cgi?id=11115">http://bugs.webkit.org/show_bug.cgi?id=11115</a>
        REGRESSION: Crash on Flickr after hitting cancel from adding a note</i>.
    </p>
    <p>
        No crash means test PASS.
    </p>
    <div id="q">
        <textarea id="t">Lorem ipsum</textarea>
    </div>
    <div id="r">
        <input id="u" value="Lorem ipsum">
    </div>
    <script>
        if (window.layoutTestController)
            layoutTestController.dumpAsText();
    
        var t = document.getElementById("t");
        var q = document.getElementById("q");
        t.focus();
        q.style.display='none';
        t.value='';

        var u = document.getElementById("u");
        var r = document.getElementById("r");
        u.focus();
        r.style.display='none';
        u.value='';
    </script>
</body>
</html>
