[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:52:24 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit a64de09cc2629b44c9b8d1c74a6b4be5d89efc33
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Aug 20 00:26:19 2003 +0000

    	Fixes for 3380766 and 3381867.  One is a table bug with amazon.com where colspans
    	were losing percentage width values.  The other is a bug where floats aren't dirtying
    	objects into which they intrude when doing layout.
    
            Reviewed by darin
    
            * khtml/rendering/render_block.cpp:
            * khtml/rendering/table_layout.cpp:
            (AutoTableLayout::calcEffectiveWidth):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@4846 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 906f0df..a5bb3ae 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,15 @@
+2003-08-19  David Hyatt  <hyatt at apple.com>
+
+	Fixes for 3380766 and 3381867.  One is a table bug with amazon.com where colspans
+	were losing percentage width values.  The other is a bug where floats aren't dirtying
+	objects into which they intrude when doing layout.
+	
+        Reviewed by darin
+
+        * khtml/rendering/render_block.cpp:
+        * khtml/rendering/table_layout.cpp:
+        (AutoTableLayout::calcEffectiveWidth):
+
 2003-08-19  Chris Blumenberg  <cblu at apple.com>
 
 	Fixed: <rdar://problem/3379336>: flash on front page of http://www.westportmotorsports.com is broken
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 906f0df..a5bb3ae 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,15 @@
+2003-08-19  David Hyatt  <hyatt at apple.com>
+
+	Fixes for 3380766 and 3381867.  One is a table bug with amazon.com where colspans
+	were losing percentage width values.  The other is a bug where floats aren't dirtying
+	objects into which they intrude when doing layout.
+	
+        Reviewed by darin
+
+        * khtml/rendering/render_block.cpp:
+        * khtml/rendering/table_layout.cpp:
+        (AutoTableLayout::calcEffectiveWidth):
+
 2003-08-19  Chris Blumenberg  <cblu at apple.com>
 
 	Fixed: <rdar://problem/3379336>: flash on front page of http://www.westportmotorsports.com is broken
diff --git a/WebCore/khtml/rendering/render_block.cpp b/WebCore/khtml/rendering/render_block.cpp
index 6f2a819..29f9776 100644
--- a/WebCore/khtml/rendering/render_block.cpp
+++ b/WebCore/khtml/rendering/render_block.cpp
@@ -586,10 +586,6 @@ void RenderBlock::layoutBlockChildren( bool relayoutChildren )
 
     //kdDebug() << "RenderBlock::layoutBlockChildren " << prevMargin << endl;
 
-    // take care in case we inherited floats
-    if (child && floatBottom() > m_height)
-        child->setNeedsLayout(true);
-
     //     QTime t;
     //     t.start();
 
@@ -738,6 +734,10 @@ void RenderBlock::layoutBlockChildren( bool relayoutChildren )
             clearOccurred = true;
         }
 
+        // take care in case we inherited floats
+        if (child && floatBottom() > m_height)
+            child->setNeedsLayout(true);
+        
         child->calcVerticalMargins();
 
         //kdDebug(0) << "margin = " << margin << " yPos = " << m_height << endl;
diff --git a/WebCore/khtml/rendering/table_layout.cpp b/WebCore/khtml/rendering/table_layout.cpp
index 016b584..427c4e3 100644
--- a/WebCore/khtml/rendering/table_layout.cpp
+++ b/WebCore/khtml/rendering/table_layout.cpp
@@ -684,8 +684,19 @@ int AutoTableLayout::calcEffectiveWidth()
 		haveVariable = true;
 		// fall through
 	    default:
-		layoutStruct[lastCol].effWidth = Length();
-		allColsArePercent = false;
+                // If the column is a percentage width, do not let the spanning cell overwrite the
+                // width value.  This caused a mis-rendering on amazon.com.
+                // Sample snippet:
+                // <table border=2 width=100%><
+                //   <tr><td>1</td><td colspan=2>2-3</tr>
+                //   <tr><td>1</td><td colspan=2 width=100%>2-3</td></tr>
+                // </table>
+                if (layoutStruct[lastCol].effWidth.type != Percent) {
+                    layoutStruct[lastCol].effWidth = Length();
+                    allColsArePercent = false;
+                }
+                else
+                    totalPercent += layoutStruct[lastCol].effWidth.value;
 		allColsAreFixed = false;
 	    }
 	    span -= table->spanOfEffCol( lastCol );
@@ -728,7 +739,7 @@ int AutoTableLayout::calcEffectiveWidth()
 			totalWidth -= layoutStruct[pos].effMaxWidth;
 			percentMissing -= percent;
 			if ( percent > 0 )
-			    layoutStruct[pos].effWidth = Length( percent, Percent );
+		            layoutStruct[pos].effWidth = Length( percent, Percent );
 			else
 			    layoutStruct[pos].effWidth = Length();
 		    }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list