Changeset 109395 in webkit
- Timestamp:
- Mar 1, 2012, 12:36:09 PM (15 years ago)
- Location:
- branches/chromium/963
- Files:
-
- 1 edited
- 2 copied
-
LayoutTests/fast/multicol/span/split-flow-anonymous-wrapper-crash-expected.txt (copied) (copied from trunk/LayoutTests/fast/multicol/span/split-flow-anonymous-wrapper-crash-expected.txt )
-
LayoutTests/fast/multicol/span/split-flow-anonymous-wrapper-crash.html (copied) (copied from trunk/LayoutTests/fast/multicol/span/split-flow-anonymous-wrapper-crash.html )
-
Source/WebCore/rendering/RenderBlock.cpp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/chromium/963/Source/WebCore/rendering/RenderBlock.cpp
r109380 r109395 424 424 RenderBlock* RenderBlock::containingColumnsBlock(bool allowAnonymousColumnBlock) 425 425 { 426 RenderBlock* firstChildIgnoringAnonymousWrappers = 0; 426 427 for (RenderObject* curr = this; curr; curr = curr->parent()) { 427 428 if (!curr->isRenderBlock() || curr->isFloatingOrPositioned() || curr->isTableCell() || curr->isRoot() || curr->isRenderView() || curr->hasOverflowClip() … … 430 431 431 432 RenderBlock* currBlock = toRenderBlock(curr); 433 if (!currBlock->createsAnonymousWrapper()) 434 firstChildIgnoringAnonymousWrappers = currBlock; 435 432 436 if (currBlock->style()->specifiesColumns() && (allowAnonymousColumnBlock || !currBlock->isAnonymousColumnsBlock())) 433 return currBlock;437 return firstChildIgnoringAnonymousWrappers; 434 438 435 439 if (currBlock->isAnonymousColumnSpanBlock()) … … 668 672 if (!newChild->isText() && newChild->style()->columnSpan() && !newChild->isBeforeOrAfterContent() 669 673 && !newChild->isFloatingOrPositioned() && !newChild->isInline() && !isAnonymousColumnSpanBlock()) { 670 if (style()->specifiesColumns()) 671 columnsBlockAncestor = this; 672 else if (!isInline() && parent() && parent()->isRenderBlock()) { 673 columnsBlockAncestor = toRenderBlock(parent())->containingColumnsBlock(false); 674 675 if (columnsBlockAncestor) { 676 // Make sure that none of the parent ancestors have a continuation. 677 // If yes, we do not want split the block into continuations. 678 RenderObject* curr = this; 679 while (curr && curr != columnsBlockAncestor) { 680 if (curr->isRenderBlock() && toRenderBlock(curr)->continuation()) { 681 columnsBlockAncestor = 0; 682 break; 683 } 684 curr = curr->parent(); 674 columnsBlockAncestor = containingColumnsBlock(false); 675 if (columnsBlockAncestor) { 676 // Make sure that none of the parent ancestors have a continuation. 677 // If yes, we do not want split the block into continuations. 678 RenderObject* curr = this; 679 while (curr && curr != columnsBlockAncestor) { 680 if (curr->isRenderBlock() && toRenderBlock(curr)->continuation()) { 681 columnsBlockAncestor = 0; 682 break; 685 683 } 684 curr = curr->parent(); 686 685 } 687 686 }
Note:
See TracChangeset
for help on using the changeset viewer.