[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