diff options
author | Steve Block <steveblock@google.com> | 2012-04-12 15:40:10 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2012-04-12 18:44:42 +0100 |
commit | 18b8d441a9374dd8d867c63f12c330b20ae9b5d0 (patch) | |
tree | f2cd90f08dec57e5ef19e015a936d134b11a34ad /Source/WebCore/rendering | |
parent | f4a8a732d1891dd9477ae706bb4320d5ff3075b7 (diff) | |
download | external_webkit-18b8d441a9374dd8d867c63f12c330b20ae9b5d0.zip external_webkit-18b8d441a9374dd8d867c63f12c330b20ae9b5d0.tar.gz external_webkit-18b8d441a9374dd8d867c63f12c330b20ae9b5d0.tar.bz2 |
Cherry-pick WebKit change r94541 as a prerequisite for r107627
See http://trac.webkit.org/changeset/94541
Bug: 6328992
Change-Id: Ib21562da28126db4d1c2898af818f8f5569236e0
Diffstat (limited to 'Source/WebCore/rendering')
-rw-r--r-- | Source/WebCore/rendering/RenderBlock.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/Source/WebCore/rendering/RenderBlock.cpp b/Source/WebCore/rendering/RenderBlock.cpp index 15e9fd9..d01ced8 100644 --- a/Source/WebCore/rendering/RenderBlock.cpp +++ b/Source/WebCore/rendering/RenderBlock.cpp @@ -663,8 +663,22 @@ RenderBlock* RenderBlock::columnsBlockForSpanningElement(RenderObject* newChild) && !newChild->isFloatingOrPositioned() && !newChild->isInline() && !isAnonymousColumnSpanBlock()) { if (style()->specifiesColumns()) columnsBlockAncestor = this; - else if (!isInline() && parent() && parent()->isRenderBlock()) + else if (!isInline() && parent() && parent()->isRenderBlock()) { columnsBlockAncestor = toRenderBlock(parent())->containingColumnsBlock(false); + + if (columnsBlockAncestor) { + // Make sure that none of the parent ancestors have a continuation. + // If yes, we do not want split the block into continuations. + RenderObject* curr = this; + while (curr && curr != columnsBlockAncestor) { + if (curr->isRenderBlock() && toRenderBlock(curr)->continuation()) { + columnsBlockAncestor = 0; + break; + } + curr = curr->parent(); + } + } + } } return columnsBlockAncestor; } |