diff options
author | Steve Block <steveblock@google.com> | 2012-04-12 15:14:27 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2012-04-12 18:44:16 +0100 |
commit | b52229f8ad5e8b3632305005e437104c11eba942 (patch) | |
tree | c802da04412c75683ea39ff02d24a8ef3a4e78b9 | |
parent | c58b6b265aa9aca56296a4c1199521fe4ab3cb70 (diff) | |
download | external_webkit-b52229f8ad5e8b3632305005e437104c11eba942.zip external_webkit-b52229f8ad5e8b3632305005e437104c11eba942.tar.gz external_webkit-b52229f8ad5e8b3632305005e437104c11eba942.tar.bz2 |
Cherry-pick WebKit change r105769 to fix a LayoutTest crash
fast/multicol/clone-block-children-inline-mismatch-crash.html
See http://trac.webkit.org/changeset/105769
Bug: 6329129
Change-Id: Ia48c7e50adb7de3fc1e897a0de90b62a1ca63786
-rw-r--r-- | Source/WebCore/rendering/RenderBlock.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Source/WebCore/rendering/RenderBlock.cpp b/Source/WebCore/rendering/RenderBlock.cpp index 42d68a0..5cef4cf 100644 --- a/Source/WebCore/rendering/RenderBlock.cpp +++ b/Source/WebCore/rendering/RenderBlock.cpp @@ -443,6 +443,8 @@ RenderBlock* RenderBlock::clone() const else { cloneBlock = new (renderArena()) RenderBlock(node()); cloneBlock->setStyle(style()); + if (!childrenInline() && cloneBlock->firstChild() && cloneBlock->firstChild()->isInline()) + cloneBlock->makeChildrenNonInline(); } cloneBlock->setChildrenInline(childrenInline()); return cloneBlock; @@ -657,8 +659,8 @@ RenderBlock* RenderBlock::columnsBlockForSpanningElement(RenderObject* newChild) // cross the streams and have to cope with both types of continuations mixed together). // This function currently supports (1) and (2). RenderBlock* columnsBlockAncestor = 0; - if (!newChild->isText() && newChild->style()->columnSpan() && !newChild->isFloatingOrPositioned() - && !newChild->isInline() && !isAnonymousColumnSpanBlock()) { + if (!newChild->isText() && newChild->style()->columnSpan() && !newChild->isBeforeOrAfterContent() + && !newChild->isFloatingOrPositioned() && !newChild->isInline() && !isAnonymousColumnSpanBlock()) { if (style()->specifiesColumns()) columnsBlockAncestor = this; else if (parent() && parent()->isRenderBlock()) |