[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

hyatt at apple.com hyatt at apple.com
Wed Dec 22 13:49:14 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 3796edf733e9ee6f837fa03e6f7c6a29b34bb258
Author: hyatt at apple.com <hyatt at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Sep 27 22:32:34 2010 +0000

    https://bugs.webkit.org/show_bug.cgi?id=46659
    
    Reviewed by Sam Weinig.
    
    Patch the width/height/x/y calls in layoutBlock() to be their logical equivalents instead.
    
    * rendering/RenderBlock.cpp:
    (WebCore::RenderBlock::layoutBlock):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68430 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 555750a..569cff9 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -2,6 +2,17 @@
 
         Reviewed by Sam Weinig.
 
+        https://bugs.webkit.org/show_bug.cgi?id=46659
+
+        Patch the width/height/x/y calls in layoutBlock() to be their logical equivalents instead.
+
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::layoutBlock):
+
+2010-09-27  David Hyatt  <hyatt at apple.com>
+
+        Reviewed by Sam Weinig.
+
         https://bugs.webkit.org/show_bug.cgi?id=46649, fix failing layout tests.
 
         The implementation of setting the before/after margins was wrong and poking the wrong margin values.
diff --git a/WebCore/rendering/RenderBlock.cpp b/WebCore/rendering/RenderBlock.cpp
index 299ab2d..c1ee2ea 100644
--- a/WebCore/rendering/RenderBlock.cpp
+++ b/WebCore/rendering/RenderBlock.cpp
@@ -1129,12 +1129,12 @@ void RenderBlock::layoutBlock(bool relayoutChildren, int pageHeight)
 
     m_overflow.clear();
 
-    if (oldWidth != width() || oldColumnWidth != desiredColumnWidth())
+    if (oldWidth != logicalWidth() || oldColumnWidth != desiredColumnWidth())
         relayoutChildren = true;
 
     clearFloats();
 
-    int previousHeight = height();
+    int previousHeight = logicalHeight();
     setLogicalHeight(0);
     bool hasSpecifiedPageHeight = false;
     ColumnInfo* colInfo = columnInfo();
@@ -1143,7 +1143,7 @@ void RenderBlock::layoutBlock(bool relayoutChildren, int pageHeight)
             // We need to go ahead and set our explicit page height if one exists, so that we can
             // avoid doing two layout passes.
             computeLogicalHeight();
-            int columnHeight = contentHeight();
+            int columnHeight = contentLogicalHeight();
             if (columnHeight > 0) {
                 pageHeight = columnHeight;
                 hasSpecifiedPageHeight = true;
@@ -1207,30 +1207,31 @@ void RenderBlock::layoutBlock(bool relayoutChildren, int pageHeight)
         layoutBlockChildren(relayoutChildren, maxFloatBottom);
 
     // Expand our intrinsic height to encompass floats.
-    int toAdd = borderBottom() + paddingBottom() + horizontalScrollbarHeight();
-    if (floatBottom() > (height() - toAdd) && expandsToEncloseOverhangingFloats())
+    int toAdd = borderAfter() + paddingAfter() + horizontalScrollbarHeight(); // FIXME: https://bugs.webkit.org/show_bug.cgi?id=46645, overflow and block-flow.
+    if (floatBottom() > (logicalHeight() - toAdd) && expandsToEncloseOverhangingFloats())
         setLogicalHeight(floatBottom() + toAdd);
     
     if (layoutColumns(hasSpecifiedPageHeight, pageHeight, statePusher))
         return;
  
     // Calculate our new height.
-    int oldHeight = height();
+    int oldHeight = logicalHeight();
     computeLogicalHeight();
-    if (oldHeight != height()) {
-        if (oldHeight > height() && maxFloatBottom > height() && !childrenInline()) {
+    int newHeight = logicalHeight();
+    if (oldHeight != newHeight) {
+        if (oldHeight > newHeight && maxFloatBottom > newHeight && !childrenInline()) {
             // One of our children's floats may have become an overhanging float for us. We need to look for it.
             for (RenderObject* child = firstChild(); child; child = child->nextSibling()) {
                 if (child->isBlockFlow() && !child->isFloatingOrPositioned()) {
                     RenderBlock* block = toRenderBlock(child);
-                    if (block->floatBottom() + block->y() > height())
+                    if (block->floatBottom() + block->logicalTop() > newHeight)
                         addOverhangingFloats(block, -block->x(), -block->y(), false);
                 }
             }
         }
     }
 
-    if (previousHeight != height())
+    if (previousHeight != newHeight)
         relayoutChildren = true;
 
     // Add overflow from children (unless we're multi-column, since in that case all our child overflow is clipped anyway).

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list