[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:16:06 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 762cbd6143ff2b815197f4dee5aeb0f9648fa940
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Dec 18 00:53:02 2002 +0000
Make sure that anonymous block construction works properly
when you try to insert a block in between two inlines that
have already been wrapped in an anonymous block.
Reviewed by mjs
* khtml/rendering/render_flow.cpp:
(RenderFlow::addChildToFlow):
(RenderFlow::makeChildrenNonInline):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3109 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 1cc2cd9..f7b78bc 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,15 @@
+2002-12-17 David Hyatt <hyatt at apple.com>
+
+ Make sure that anonymous block construction works properly
+ when you try to insert a block in between two inlines that
+ have already been wrapped in an anonymous block.
+
+ Reviewed by mjs
+
+ * khtml/rendering/render_flow.cpp:
+ (RenderFlow::addChildToFlow):
+ (RenderFlow::makeChildrenNonInline):
+
=== Alexander-38 ===
2002-12-16 Darin Adler <darin at apple.com>
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 1cc2cd9..f7b78bc 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,15 @@
+2002-12-17 David Hyatt <hyatt at apple.com>
+
+ Make sure that anonymous block construction works properly
+ when you try to insert a block in between two inlines that
+ have already been wrapped in an anonymous block.
+
+ Reviewed by mjs
+
+ * khtml/rendering/render_flow.cpp:
+ (RenderFlow::addChildToFlow):
+ (RenderFlow::makeChildrenNonInline):
+
=== Alexander-38 ===
2002-12-16 Darin Adler <darin at apple.com>
diff --git a/WebCore/khtml/rendering/render_flow.cpp b/WebCore/khtml/rendering/render_flow.cpp
index e70bef3..07a83d7 100644
--- a/WebCore/khtml/rendering/render_flow.cpp
+++ b/WebCore/khtml/rendering/render_flow.cpp
@@ -2018,14 +2018,15 @@ void RenderFlow::addChildToFlow(RenderObject* newChild, RenderObject* beforeChil
KHTMLAssert(beforeChild->parent());
KHTMLAssert(beforeChild->parent()->isAnonymousBox());
- KHTMLAssert(beforeChild->parent()->parent() == this);
-
+
if (newChild->isInline()) {
beforeChild->parent()->addChild(newChild,beforeChild);
newChild->setLayouted( false );
newChild->setMinMaxKnown( false );
return;
}
+ else if (beforeChild->parent()->firstChild() != beforeChild)
+ return beforeChild->parent()->addChild(newChild, beforeChild);
else
return addChildToFlow(newChild, beforeChild->parent());
}
@@ -2141,6 +2142,7 @@ void RenderFlow::addChildToFlow(RenderObject* newChild, RenderObject* beforeChil
void RenderFlow::makeChildrenNonInline(RenderObject *box2Start)
{
+ KHTMLAssert(!isInline());
KHTMLAssert(!box2Start || box2Start->parent() == this);
m_childrenInline = false;
@@ -2161,7 +2163,7 @@ void RenderFlow::makeChildrenNonInline(RenderObject *box2Start)
if (boxFirst &&
(!child->isInline() || !next || child == box2Start)) {
// Create a new anonymous box containing all children starting from boxFirst
- // and up to (but not including) boxLast, and put it in place of the children
+ // and up to boxLast, and put it in place of the children
RenderStyle *newStyle = new RenderStyle();
newStyle->inheritFrom(style());
newStyle->setDisplay(BLOCK);
@@ -2181,13 +2183,14 @@ void RenderFlow::makeChildrenNonInline(RenderObject *box2Start)
o = no->nextSibling();
box->appendChildNode(removeChildNode(no));
}
- if (child && child == box2Start && boxLast == child) {
- boxFirst = boxLast = child;
+ if (child && box2Start == child) {
+ boxFirst = boxLast = (child->isInline() ? box2Start : 0);
box2Start = 0;
+ continue;
}
else {
box->appendChildNode(removeChildNode(boxLast));
- boxFirst = boxLast = next;
+ boxFirst = boxLast = 0;
}
box->close();
box->setPos(box->xPos(), -500000);
@@ -2197,14 +2200,6 @@ void RenderFlow::makeChildrenNonInline(RenderObject *box2Start)
child = next;
}
- if (isInline()) {
- setInline(false);
- if (parent()->isFlow()) {
- KHTMLAssert(parent()->childrenInline());
- static_cast<RenderFlow *>(parent())->makeChildrenNonInline();
- }
- }
-
setLayouted(false);
}
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list