[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:15:02 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 4518f7830e268f39dcc9a050a015648c71011cdc
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Dec 1 19:22:06 2003 +0000

    	Fix for 3490959, collapsed border tables don't paint backgrounds.
    
            Reviewed by darin
    
            * khtml/rendering/render_table.cpp:
            (RenderTable::setStyle):
            (RenderTable::paint):
            (RenderTable::paintBoxDecorations):
            * khtml/rendering/render_table.h:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@5635 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 73b41f7..428ee99 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,15 @@
+2003-12-01  David Hyatt  <hyatt at apple.com>
+
+	Fix for 3490959, collapsed border tables don't paint backgrounds.
+	
+        Reviewed by darin
+
+        * khtml/rendering/render_table.cpp:
+        (RenderTable::setStyle):
+        (RenderTable::paint):
+        (RenderTable::paintBoxDecorations):
+        * khtml/rendering/render_table.h:
+
 2003-12-01  Darin Adler  <darin at apple.com>
 
         Reviewed by Dave.
diff --git a/WebCore/khtml/rendering/render_table.cpp b/WebCore/khtml/rendering/render_table.cpp
index 88cc25f..9d3850e 100644
--- a/WebCore/khtml/rendering/render_table.cpp
+++ b/WebCore/khtml/rendering/render_table.cpp
@@ -108,10 +108,6 @@ void RenderTable::setStyle(RenderStyle *_style)
 	} else
 	    tableLayout = new AutoTableLayout(this);
     }
-    
-    // The table never paints its border if it collapses.  It lets the cells do the painting.
-    if (collapseBorders())
-        setShouldPaintBackgroundOrBorder(false);
 }
 
 void RenderTable::addChild(RenderObject *child, RenderObject *beforeChild)
@@ -473,6 +469,26 @@ void RenderTable::paint( QPainter *p, int _x, int _y,
 #endif
 }
 
+void RenderTable::paintBoxDecorations(QPainter *p,int _x, int _y,
+                                      int _w, int _h, int _tx, int _ty)
+{
+    int w = width();
+    int h = height() + borderTopExtra() + borderBottomExtra();
+    _ty -= borderTopExtra();
+    
+    int my = kMax(_ty,_y);
+    int mh;
+    if (_ty<_y)
+        mh= kMax(0,h-(_y-_ty));
+    else
+        mh = kMin(_h,h);
+    
+    paintBackground(p, style()->backgroundColor(), style()->backgroundImage(), my, mh, _tx, _ty, w, h);
+    
+    if (style()->hasBorder() && !collapseBorders())
+        paintBorder(p, _tx, _ty, w, h, style());
+}
+
 void RenderTable::calcMinMaxWidth()
 {
     KHTMLAssert( !minMaxKnown() );
diff --git a/WebCore/khtml/rendering/render_table.h b/WebCore/khtml/rendering/render_table.h
index 2cc7162..f210620 100644
--- a/WebCore/khtml/rendering/render_table.h
+++ b/WebCore/khtml/rendering/render_table.h
@@ -106,6 +106,8 @@ public:
     virtual void addChild(RenderObject *child, RenderObject *beforeChild = 0);
     virtual void paint( QPainter *, int x, int y, int w, int h,
                         int tx, int ty, PaintAction paintAction);
+    virtual void paintBoxDecorations(QPainter *p,int _x, int _y,
+                                     int _w, int _h, int _tx, int _ty);
     virtual void layout();
     virtual void calcMinMaxWidth();
     virtual void close();

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list