[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 08:37:17 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 58ba74d31c1a54fd47ec3efa6771957e847d5fcd
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Apr 27 01:24:47 2004 +0000
Fix for Emerson truncation problem using apple-line-clamp. Always dirty positioned objects so that they
will move when the height changes.
Reviewed by darin
* khtml/rendering/render_block.cpp:
(khtml::RenderBlock::markPositionedObjectsForLayout):
* khtml/rendering/render_block.h:
* khtml/rendering/render_flexbox.cpp:
(khtml::RenderFlexibleBox::layoutVerticalBox):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@6492 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 425a1ab..5e19ae9 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,16 @@
+2004-04-26 David Hyatt <hyatt at apple.com>
+
+ Fix for Emerson truncation problem using apple-line-clamp. Always dirty positioned objects so that they
+ will move when the height changes.
+
+ Reviewed by darin
+
+ * khtml/rendering/render_block.cpp:
+ (khtml::RenderBlock::markPositionedObjectsForLayout):
+ * khtml/rendering/render_block.h:
+ * khtml/rendering/render_flexbox.cpp:
+ (khtml::RenderFlexibleBox::layoutVerticalBox):
+
2004-04-26 Richard Williamson <rjw at apple.com>
Added support for specifying composite operation on an
diff --git a/WebCore/khtml/rendering/render_block.cpp b/WebCore/khtml/rendering/render_block.cpp
index c0d2b22..8fe303e 100644
--- a/WebCore/khtml/rendering/render_block.cpp
+++ b/WebCore/khtml/rendering/render_block.cpp
@@ -1132,6 +1132,16 @@ void RenderBlock::layoutPositionedObjects(bool relayoutChildren)
}
}
+void RenderBlock::markPositionedObjectsForLayout()
+{
+ if (m_positionedObjects) {
+ RenderObject* r;
+ QPtrListIterator<RenderObject> it(*m_positionedObjects);
+ for (; (r = it.current()); ++it)
+ r->setChildNeedsLayout(true);
+ }
+}
+
void RenderBlock::getAbsoluteRepaintRectIncludingFloats(QRect& bounds, QRect& fullBounds)
{
bounds = fullBounds = getAbsoluteRepaintRect();
diff --git a/WebCore/khtml/rendering/render_block.h b/WebCore/khtml/rendering/render_block.h
index 6495f18..9f68842 100644
--- a/WebCore/khtml/rendering/render_block.h
+++ b/WebCore/khtml/rendering/render_block.h
@@ -140,7 +140,8 @@ public:
void clearFloats();
int getClearDelta(RenderObject *child);
virtual void markAllDescendantsWithFloatsForLayout(RenderObject* floatToRemove = 0);
-
+ void markPositionedObjectsForLayout();
+
virtual bool containsFloats() { return m_floatingObjects!=0; }
virtual bool containsFloat(RenderObject* o);
diff --git a/WebCore/khtml/rendering/render_flexbox.cpp b/WebCore/khtml/rendering/render_flexbox.cpp
index ea36c97..efc4de3 100644
--- a/WebCore/khtml/rendering/render_flexbox.cpp
+++ b/WebCore/khtml/rendering/render_flexbox.cpp
@@ -684,8 +684,12 @@ void RenderFlexibleBox::layoutVerticalBox(bool relayoutChildren)
while (child) {
if (!child->isPositioned()) {
if (relayoutChildren || (child->isReplaced() && (child->style()->width().isPercent() || child->style()->height().isPercent())) ||
- (child->style()->height().isVariable() && child->isBlockFlow() && !child->needsLayout()))
+ (child->style()->height().isVariable() && child->isBlockFlow() && !child->needsLayout())) {
child->setChildNeedsLayout(true);
+
+ // Dirty all the positioned objects.
+ static_cast<RenderBlock*>(child)->markPositionedObjectsForLayout();
+ }
child->layoutIfNeeded();
if (child->style()->height().isVariable() && child->isBlockFlow())
maxLineCount = kMax(maxLineCount, static_cast<RenderBlock*>(child)->lineCount());
@@ -708,6 +712,7 @@ void RenderFlexibleBox::layoutVerticalBox(bool relayoutChildren)
m_flexingChildren = true;
child->layoutIfNeeded();
m_flexingChildren = false;
+ child->style()->setBoxFlexedHeight(-1);
}
}
child = iterator.next();
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list