[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 07:12:47 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 93a3ef6aed0dbfc091442fc161577aadc2093c2d
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Dec 9 05:48:57 2002 +0000

    	Fix for 3121814.  Forms inside table elements (tbody and table
    	etc.) can be inline.  Just remove the assert and replace it
    	with a bailout.
    
    	Fix for 3036479.  Tables with specified heights but cells
    	with no height (or no cells at all) were not honoring
    	the specified height.
    
            Reviewed by: gramps
    
            * khtml/rendering/render_table.cpp:
            (RenderTable::RenderTable):
            (RenderTable::startRow):
            (RenderTable::layoutRows):
            (RenderTable::paint):
            (RenderTable::recalcCells):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2972 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 35b39b2..f3a87dc 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,22 @@
+2002-12-08  David Hyatt  <hyatt at apple.com>
+
+	Fix for 3121814.  Forms inside table elements (tbody and table
+	etc.) can be inline.  Just remove the assert and replace it
+	with a bailout.
+	
+	Fix for 3036479.  Tables with specified heights but cells
+	with no height (or no cells at all) were not honoring
+	the specified height.
+	
+        Reviewed by: gramps
+
+        * khtml/rendering/render_table.cpp:
+        (RenderTable::RenderTable):
+        (RenderTable::startRow):
+        (RenderTable::layoutRows):
+        (RenderTable::paint):
+        (RenderTable::recalcCells):
+
 2002-12-08  Maciej Stachowiak  <mjs at apple.com>
 
         Reviewed by Dave.
@@ -59,6 +78,7 @@
 
         * WebCore.pbproj/project.pbxproj: Electron is doing his thing.
 
+>>>>>>> 1.1071
 2002-12-08  David Hyatt  <hyatt at apple.com>
 
 	Fix for image bullets.  They were neglecting to offset
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 35b39b2..f3a87dc 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,22 @@
+2002-12-08  David Hyatt  <hyatt at apple.com>
+
+	Fix for 3121814.  Forms inside table elements (tbody and table
+	etc.) can be inline.  Just remove the assert and replace it
+	with a bailout.
+	
+	Fix for 3036479.  Tables with specified heights but cells
+	with no height (or no cells at all) were not honoring
+	the specified height.
+	
+        Reviewed by: gramps
+
+        * khtml/rendering/render_table.cpp:
+        (RenderTable::RenderTable):
+        (RenderTable::startRow):
+        (RenderTable::layoutRows):
+        (RenderTable::paint):
+        (RenderTable::recalcCells):
+
 2002-12-08  Maciej Stachowiak  <mjs at apple.com>
 
         Reviewed by Dave.
@@ -59,6 +78,7 @@
 
         * WebCore.pbproj/project.pbxproj: Electron is doing his thing.
 
+>>>>>>> 1.1071
 2002-12-08  David Hyatt  <hyatt at apple.com>
 
 	Fix for image bullets.  They were neglecting to offset
diff --git a/WebCore/khtml/rendering/render_flow.cpp b/WebCore/khtml/rendering/render_flow.cpp
index 5d2e4d7..74bc4da 100644
--- a/WebCore/khtml/rendering/render_flow.cpp
+++ b/WebCore/khtml/rendering/render_flow.cpp
@@ -226,8 +226,9 @@ void RenderFlow::layout()
 
     KHTMLAssert( !layouted() );
     KHTMLAssert( minMaxKnown() );
-    KHTMLAssert(!isInline());
-        
+    if (isInline()) // Inline <form>s inside various table elements can cause us to
+        return;		// come in here.  Just bail. -dwh
+    
     int oldWidth = m_width;
 
     calcWidth();
diff --git a/WebCore/khtml/rendering/render_table.cpp b/WebCore/khtml/rendering/render_table.cpp
index 6aca780..37d7e03 100644
--- a/WebCore/khtml/rendering/render_table.cpp
+++ b/WebCore/khtml/rendering/render_table.cpp
@@ -108,7 +108,7 @@ RenderTable::RenderTable(DOM::NodeImpl* node)
 
     totalCols = 0;   // this should be expanded to the maximum number of cols
                      // by the first row parsed
-    totalRows = 1;
+    totalRows = 0;
     allocRows = 5;   // allocate five rows initially
     rowInfo.resize( totalRows+1 );
     memset( rowInfo.data(), 0, (totalRows+1)*sizeof(RowInfo)); // Init to 0.
@@ -245,6 +245,8 @@ void RenderTable::startRow()
         row++;
     col = 0;
     if(row > totalRows) totalRows = row;
+    if (totalRows == 0)
+        totalRows = 1; // Go ahead and acknowledge that we have one row. -dwh.
 }
 
 void RenderTable::closeRow()
@@ -1459,7 +1461,7 @@ void RenderTable::layoutRows(int yoff)
     }
     
     bool tableGrew = false;
-    if (th && totalRows && rowInfo[totalRows].height)
+    if (th && totalRows)
     {
         th-=(totalRows+1)*spacing;
         int dh = th-rowInfo[totalRows].height;
@@ -1486,11 +1488,17 @@ void RenderTable::layoutRows(int yoff)
                     if (rowInfo[r+1].percentage)
                         add += (rowInfo[r+1].percentage/totalPercentage)*dh;
                 }
-                else
+                else if (tot)
                     add+=dh*(rowInfo[r+1].height-prev)/tot;
                 prev=rowInfo[r+1].height;
                 rowInfo[r+1].height+=add;
             }
+            
+            int remaining = th - (rowInfo[totalRows].height + add);
+            if (remaining > 0 && totalRows > 0)
+                // Just give the space to the last row.
+                rowInfo[totalRows-1].height += remaining;
+            
             rowInfo[totalRows].height=th;
         }
     }
@@ -1642,7 +1650,7 @@ void RenderTable::paint(QPainter *p, int _x, int _y,
     // the case below happens during parsing
     // when we have a new table that never got layouted. Don't paint it.
     if ( totalRows == 1 && rowInfo[1].height == 0 )
-	return;
+        return;
 
     if (paintPhase == BACKGROUND_PHASE && style()->visibility() == VISIBLE)
          paintBoxDecorations(p, _x, _y, _w, _h, _tx, _ty);
@@ -1801,7 +1809,7 @@ void RenderTable::recalcCells()
 
     totalCols = 0;   // this should be expanded to the maximum number of cols
                      // by the first row parsed
-    totalRows = 1;
+    totalRows = 0;
     allocRows = 5;   // allocate five rows initially
 
     cells = new RenderTableCell ** [allocRows];

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list