<!DOCTYPE html>
<html>
<body>
    <script id='targetHTML' type='text/html'>
        <div id="target" contentEditable style='width:100px; height:100px;'></div>
    </script>

    <script id='targetJS' type='text/html'>
        var target = document.getElementById('target');
        var x = target.offsetParent.offsetLeft + target.offsetLeft + 5;
        var y = target.offsetParent.offsetTop + target.offsetTop + target.offsetHeight / 2;
        eventSender.mouseMoveTo(x, y);
        eventSender.contextClick();
    </script>

    <script src="../resources/js-test.js"></script>
    <script src="../resources/leak-check.js"></script>
    <script>
        var target = grabScriptText('targetHTML')+
                     '<script>'+grabScriptText('targetJS')+'<'+'/script>';
        var tolerance = {'numberOfLiveDocuments': 0};

        doLeakTest(htmlToUrl(target), tolerance);
    </script>
</body>
</html>
