[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

hyatt hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 08:16:05 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit f91339c1724cd1f8ff49b075b40ae4af51a218b2
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Dec 3 22:46:42 2003 +0000

    	Fix for 3493356, table cells didn't repaint properly.
    
            Reviewed by kocienda
    
            * khtml/rendering/render_object.cpp:
            (RenderObject::repaintObjectsBeforeLayout):
            * khtml/rendering/render_table.cpp:
            (RenderTableCell::getAbsoluteRepaintRect):
            * khtml/rendering/render_table.h:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@5681 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index bbc2d8b..0963c68 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,5 +1,17 @@
 2003-12-03  David Hyatt  <hyatt at apple.com>
 
+	Fix for 3493356, table cells didn't repaint properly.
+	
+        Reviewed by kocienda
+
+        * khtml/rendering/render_object.cpp:
+        (RenderObject::repaintObjectsBeforeLayout):
+        * khtml/rendering/render_table.cpp:
+        (RenderTableCell::getAbsoluteRepaintRect):
+        * khtml/rendering/render_table.h:
+
+2003-12-03  David Hyatt  <hyatt at apple.com>
+
 	Fix for 3495748, hang in parser at ocelot.ca.  <nobr> needs to have very high priority (equal to the
 	priority of blocks like h1-6, p, and div), so that unclosed <nobr>s will close divs and ps.
 	
diff --git a/WebCore/khtml/rendering/render_object.cpp b/WebCore/khtml/rendering/render_object.cpp
index 32f784a..dc5faea 100644
--- a/WebCore/khtml/rendering/render_object.cpp
+++ b/WebCore/khtml/rendering/render_object.cpp
@@ -1042,8 +1042,12 @@ void RenderObject::repaintObjectsBeforeLayout()
     
     // FIXME: For now we just always repaint blocks with inline children, regardless of whether
     // they're really dirty or not.
-    if (selfNeedsLayout() || (isRenderBlock() && !isTable() && normalChildNeedsLayout() && childrenInline()))
+    bool blockWithInlineChildren = (isRenderBlock() && !isTable() && normalChildNeedsLayout() && childrenInline());
+    if (selfNeedsLayout() || blockWithInlineChildren) {
         repaint();
+        if (blockWithInlineChildren)
+            return;
+    }
 
     for (RenderObject* current = firstChild(); current; current = current->nextSibling()) {
         if (!current->isPositioned()) // RenderBlock subclass method handles walking the positioned objects.
diff --git a/WebCore/khtml/rendering/render_table.cpp b/WebCore/khtml/rendering/render_table.cpp
index 9d3850e..0ca81f7 100644
--- a/WebCore/khtml/rendering/render_table.cpp
+++ b/WebCore/khtml/rendering/render_table.cpp
@@ -2219,6 +2219,15 @@ void RenderTableCell::paintCollapsedBorder(QPainter* p, int _tx, int _ty, int w,
     }
 }
 
+QRect RenderTableCell::getAbsoluteRepaintRect()
+{
+    int ow = style() ? style()->outlineSize() : 0;
+    QRect r(-ow, -ow - borderTopExtra(), 
+            overflowWidth(false)+ow*2, overflowHeight(false)+borderTopExtra()+borderBottomExtra()+ow*2);
+    computeAbsoluteRepaintRect(r);
+    return r;
+}
+
 void RenderTableCell::paintObject(QPainter* p, int _x, int _y, int _w, int _h,
                                   int _tx, int _ty, PaintAction paintAction)
 {
diff --git a/WebCore/khtml/rendering/render_table.h b/WebCore/khtml/rendering/render_table.h
index f210620..b4703e6 100644
--- a/WebCore/khtml/rendering/render_table.h
+++ b/WebCore/khtml/rendering/render_table.h
@@ -393,6 +393,8 @@ public:
     virtual void paintObject(QPainter *, int x, int y, int w, int h,
                              int tx, int ty, PaintAction paintAction);
     
+    virtual QRect getAbsoluteRepaintRect();
+    
 protected:
     virtual void paintBoxDecorations(QPainter *p,int _x, int _y,
                                      int _w, int _h, int _tx, int _ty);

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list