[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:09:41 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit a70ea4e98ec5e04042aa1f68516a3ee42a1c9cb0
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Nov 27 02:06:12 2002 +0000

    	Fix a collapsing margin regression on aintitcool caused by
    	my support of blocks inside inlines.  A block could be wrapped
    	by an inline, e.g., <font><p>foo</p></font>, and in this case,
    	you do not apply the collapsing margin quirk.  The margin stays.
    
            * khtml/rendering/render_flow.cpp:
            (RenderFlow::layoutBlockChildren):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2888 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index 355a950..0070cc4 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,5 +1,15 @@
 2002-11-26  David Hyatt  <hyatt at apple.com>
 
+	Fix a collapsing margin regression on aintitcool caused by
+	my support of blocks inside inlines.  A block could be wrapped
+	by an inline, e.g., <font><p>foo</p></font>, and in this case,
+	you do not apply the collapsing margin quirk.  The margin stays.
+	
+        * khtml/rendering/render_flow.cpp:
+        (RenderFlow::layoutBlockChildren):
+
+2002-11-26  David Hyatt  <hyatt at apple.com>
+
 	Fix the font family stuff to be refcounted, so copying
 	fonts stays cheap.  Re-enabling it.
 
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 355a950..0070cc4 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,5 +1,15 @@
 2002-11-26  David Hyatt  <hyatt at apple.com>
 
+	Fix a collapsing margin regression on aintitcool caused by
+	my support of blocks inside inlines.  A block could be wrapped
+	by an inline, e.g., <font><p>foo</p></font>, and in this case,
+	you do not apply the collapsing margin quirk.  The margin stays.
+	
+        * khtml/rendering/render_flow.cpp:
+        (RenderFlow::layoutBlockChildren):
+
+2002-11-26  David Hyatt  <hyatt at apple.com>
+
 	Fix the font family stuff to be refcounted, so copying
 	fonts stays cheap.  Re-enabling it.
 
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 355a950..0070cc4 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,5 +1,15 @@
 2002-11-26  David Hyatt  <hyatt at apple.com>
 
+	Fix a collapsing margin regression on aintitcool caused by
+	my support of blocks inside inlines.  A block could be wrapped
+	by an inline, e.g., <font><p>foo</p></font>, and in this case,
+	you do not apply the collapsing margin quirk.  The margin stays.
+	
+        * khtml/rendering/render_flow.cpp:
+        (RenderFlow::layoutBlockChildren):
+
+2002-11-26  David Hyatt  <hyatt at apple.com>
+
 	Fix the font family stuff to be refcounted, so copying
 	fonts stays cheap.  Re-enabling it.
 
diff --git a/WebCore/khtml/rendering/render_flow.cpp b/WebCore/khtml/rendering/render_flow.cpp
index 2bb1dc4..3d11421 100644
--- a/WebCore/khtml/rendering/render_flow.cpp
+++ b/WebCore/khtml/rendering/render_flow.cpp
@@ -461,6 +461,7 @@ void RenderFlow::layoutBlockChildren( bool relayoutChildren )
     
     bool topChildQuirk = false;
     bool bottomChildQuirk = false;
+    bool determinedTopQuirk = false;
     
     bool strictMode = isAnonymousBox() ? true : (element()->getDocument()->parseMode() == DocumentImpl::Strict);
      
@@ -558,7 +559,9 @@ void RenderFlow::layoutBlockChildren( bool relayoutChildren )
             // See if the top margin is quirky. We only care if this child has
             // margins that will collapse with us.
             bool topQuirk = child->isTopMarginQuirk();
-            
+            if (child->continuation())
+                topQuirk = false;
+                
             if (canCollapseWithChildren && topMarginContributor && !clearOccurred) {
                 // This child is collapsing with the top of the
                 // block.  If it has larger margin values, then we need to update
@@ -575,13 +578,17 @@ void RenderFlow::layoutBlockChildren( bool relayoutChildren )
                 // collapse it away, even if the margin is smaller (www.webreference.com
                 // has an example of this, a <dt> with 0.8em author-specified inside
                 // a <dl> inside a <td>.
-                if (!topQuirk && (posTop-negTop))
+                if (!determinedTopQuirk && !topQuirk && (posTop-negTop)) {
                     m_topMarginQuirk = false;
+                    determinedTopQuirk = true;
+                }
                     
-                if (topQuirk && marginTop() == 0)
+                if (!determinedTopQuirk && topQuirk && marginTop() == 0)
                     // We have no top margin and our top child has a quirky margin.
                     // We will pick up this quirky margin and pass it through.
                     // This deals with the <td><div><p> case.
+                    // Don't do this for a block that split two inlines though.  You do
+                    // still apply margins in this case.
                     m_topMarginQuirk = true;
             }
             
@@ -626,8 +633,11 @@ void RenderFlow::layoutBlockChildren( bool relayoutChildren )
                 if (!strictMode && child->style()->display() == INLINE && child->marginBottom())
                     prevPosMargin = prevNegMargin = 0;
                 
-                if (prevPosMargin-prevNegMargin)
+                if (prevPosMargin-prevNegMargin) {
                     bottomChildQuirk = child->isBottomMarginQuirk();
+                    if (child->continuation()) // We split an inline. Don't apply the quirk in this case.
+                        bottomChildQuirk = false;
+                }
             }
             child->setPos(child->xPos(), ypos);
             if (ypos != yPosEstimate) {

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list