2006-03-25  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by darin.  Landed by eseidel.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7916
          Box repaint rect does not include the left overflow

        * manual-tests/left-overflow-repaint.html: Added.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::overflowRect): Changed m_overflowWidth and m_overflowHeight
        to overflowWidth() and overflowHeight() since RenderTable overrides the latter.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::getAbsoluteRepaintRect): Include top and left overflows.
        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::getAbsoluteRepaintRect): Removed redundant code.
        * rendering/RenderTableCell.cpp: Removed subclass implementation of
        getAbsoluteRepaintRect().
        * rendering/RenderTableCell.h:
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::layoutInlineChildren): Include left overflow in repaint rect.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13483 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/rendering/bidi.cpp b/WebCore/rendering/bidi.cpp
index a0ba4fa..4a2c805 100644
--- a/WebCore/rendering/bidi.cpp
+++ b/WebCore/rendering/bidi.cpp
@@ -1713,7 +1713,8 @@
     checkLinesForOverflow();
 
     if (useRepaintRect) {
-        repaintRect.setWidth(kMax((int)m_width, m_overflowWidth));
+        repaintRect.setX(m_overflowLeft);
+        repaintRect.setWidth(kMax((int)m_width, m_overflowWidth) - m_overflowLeft);
         if (repaintRect.height() == 0)
             repaintRect.setHeight(kMax(oldLineBottom, m_overflowHeight) - repaintRect.y());
     }