<html>
<head>
<script src="../resources/text-based-repaint.js"></script>
<script>
if (window.testRunner) {
    // By definition, when caret browsing is enabled we always paint the caret.
    // So, this test is only applicable when caret browsing is disabled because
    // non-content-editable elements won't cause the caret to be drawn since they
    // are not editable.
    testRunner.overridePreference("WebKitEnableCaretBrowsing", false);
}
function repaintTest()
{
    if (!window.eventSender)
        return;

    var target = document.getElementById("target");
    eventSender.mouseMoveTo(target.offsetLeft, target.offsetTop);
    eventSender.mouseDown();
    eventSender.mouseUp();
}
window.onload = runRepaintAndPixelTest;
</script>
</head>
<body>
    <p>This tests that clicking on a non-content editable element does not cause a repaint of it in whole or in part.</p>
    <p id="target">This element is not content editable.</p>
</body>
</html>
