Changeset 112425 in webkit
- Timestamp:
- Mar 28, 2012 12:25:02 PM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 22 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r112424 r112425 1 2012-03-28 Eric Seidel <eric@webkit.org> 2 3 setNeedsLayout(true, false) is super confusing to read and should use an enum instead 4 https://bugs.webkit.org/show_bug.cgi?id=82369 5 6 Reviewed by Julien Chaffraix. 7 8 I replaced all uses of the markParents bool with a MarkingBehavior 9 enum (which has two values: MarkContainingBlockChain and MarkOnlyThis). 10 I'm not sure the naming is perfect (as it's not clear to me if markParents is 11 used to mean the same thing in these 3 functions), but hopefully this code is more 12 clear. I welcome further suggested adjustment from layout experts. 13 14 * page/FrameView.cpp: 15 (WebCore::FrameView::scheduleRelayout): 16 * rendering/RenderBlock.cpp: 17 (WebCore::RenderBlock::layoutBlock): 18 (WebCore::RenderBlock::adjustPositionedBlock): 19 (WebCore::RenderBlock::layoutBlockChildren): 20 (WebCore::RenderBlock::layoutBlockChild): 21 (WebCore::RenderBlock::layoutPositionedObjects): 22 (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded): 23 (WebCore::RenderBlock::removePositionedObjects): 24 (WebCore::RenderBlock::insertFloatingObject): 25 (WebCore::RenderBlock::positionNewFloats): 26 (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout): 27 (WebCore::RenderBlock::adjustBlockChildForPagination): 28 * rendering/RenderBlockLineLayout.cpp: 29 (WebCore::RenderBlock::layoutRunsAndFloats): 30 (WebCore::RenderBlock::layoutInlineChildren): 31 (WebCore::RenderBlock::positionNewFloatOnLine): 32 * rendering/RenderBox.cpp: 33 (WebCore::RenderBox::positionLineBox): 34 * rendering/RenderDeprecatedFlexibleBox.cpp: 35 (WebCore::RenderDeprecatedFlexibleBox::layoutBlock): 36 (WebCore::gatherFlexChildrenInfo): 37 (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox): 38 (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox): 39 (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp): 40 * rendering/RenderFlexibleBox.cpp: 41 (WebCore::RenderFlexibleBox::prepareChildForPositionedLayout): 42 * rendering/RenderLayer.cpp: 43 (WebCore::RenderLayer::updateScrollInfoAfterLayout): 44 * rendering/RenderMedia.cpp: 45 (WebCore::RenderMedia::layout): 46 * rendering/RenderObject.cpp: 47 (WebCore::RenderObject::setPreferredLogicalWidthsDirty): 48 * rendering/RenderObject.h: 49 (RenderObject): 50 (WebCore::RenderObject::setNeedsLayout): 51 (WebCore::RenderObject::setChildNeedsLayout): 52 * rendering/RenderRubyRun.cpp: 53 (WebCore::RenderRubyRun::layoutSpecialExcludedChild): 54 * rendering/RenderTable.cpp: 55 (WebCore::RenderTable::layout): 56 * rendering/RenderTableRow.cpp: 57 (WebCore::RenderTableRow::layout): 58 * rendering/RenderTableSection.cpp: 59 (WebCore::RenderTableSection::calcRowLogicalHeight): 60 (WebCore::RenderTableSection::layoutRows): 61 * rendering/RenderTextControl.cpp: 62 (WebCore::RenderTextControl::layoutSpecialExcludedChild): 63 * rendering/RenderTextControlSingleLine.cpp: 64 (WebCore::RenderTextControlSingleLine::layout): 65 * rendering/RenderView.cpp: 66 (WebCore::RenderView::RenderView): 67 (WebCore::RenderView::layout): 68 * rendering/mathml/RenderMathMLRoot.cpp: 69 (WebCore::RenderMathMLRoot::layout): 70 * rendering/mathml/RenderMathMLRow.cpp: 71 (WebCore::RenderMathMLRow::layout): 72 * rendering/mathml/RenderMathMLSubSup.cpp: 73 (WebCore::RenderMathMLSubSup::layout): 74 * rendering/svg/SVGRenderSupport.cpp: 75 (WebCore::SVGRenderSupport::layoutChildren): 76 1 77 2012-03-28 Joseph Pecoraro <pecoraro@apple.com> 2 78 -
trunk/Source/WebCore/page/FrameView.cpp
r112325 r112425 2029 2029 // Also invalidate parent frame starting from the owner element of this frame. 2030 2030 if (isInChildFrameWithFrameFlattening() && m_frame->ownerRenderer()) 2031 m_frame->ownerRenderer()->setNeedsLayout(true, true);2031 m_frame->ownerRenderer()->setNeedsLayout(true, MarkContainingBlockChain); 2032 2032 2033 2033 int delay = m_frame->document()->minimumLayoutDelay(); -
trunk/Source/WebCore/rendering/RenderBlock.cpp
r112301 r112425 1647 1647 1648 1648 if (needAnotherLayoutPass && layoutPass == NormalLayoutPass) { 1649 setChildNeedsLayout(true, false);1649 setChildNeedsLayout(true, MarkOnlyThis); 1650 1650 layoutBlock(false, pageLogicalHeight, PositionedFloatLayoutPass); 1651 1651 } else … … 1791 1791 childLayer->setStaticBlockPosition(logicalTop); 1792 1792 if (hasStaticBlockPosition) 1793 child->setChildNeedsLayout(true, false);1793 child->setChildNeedsLayout(true, MarkOnlyThis); 1794 1794 } 1795 1795 } … … 2230 2230 if (box->normalChildNeedsLayout()) 2231 2231 break; 2232 box->setChildNeedsLayout(true, false);2232 box->setChildNeedsLayout(true, MarkOnlyThis); 2233 2233 box = box->containingBlock(); 2234 2234 ASSERT(box); … … 2273 2273 // an auto value. Add a method to determine this, so that we can avoid the relayout. 2274 2274 if (relayoutChildren || (child->hasRelativeLogicalHeight() && !isRenderView())) 2275 child->setChildNeedsLayout(true, false);2275 child->setChildNeedsLayout(true, MarkOnlyThis); 2276 2276 2277 2277 // If relayoutChildren is set and the child has percentage padding or an embedded content box, we also need to invalidate the childs pref widths. 2278 2278 if (relayoutChildren && child->needsPreferredWidthsRecalculation()) 2279 child->setPreferredLogicalWidthsDirty(true, false);2279 child->setPreferredLogicalWidthsDirty(true, MarkOnlyThis); 2280 2280 2281 2281 // Handle the four types of special elements first. These include positioned content, floating content, compacts and … … 2375 2375 // change (because it has more available line width). 2376 2376 // So go ahead and mark the item as dirty. 2377 child->setChildNeedsLayout(true, false);2377 child->setChildNeedsLayout(true, MarkOnlyThis); 2378 2378 } 2379 2379 … … 2544 2544 // positioned explicitly) this should not incur a performance penalty. 2545 2545 if (relayoutChildren || (r->style()->hasStaticBlockPosition(isHorizontalWritingMode()) && r->parent() != this)) 2546 r->setChildNeedsLayout(true, false);2546 r->setChildNeedsLayout(true, MarkOnlyThis); 2547 2547 2548 2548 // If relayoutChildren is set and the child has percentage padding or an embedded content box, we also need to invalidate the childs pref widths. 2549 2549 if (relayoutChildren && r->needsPreferredWidthsRecalculation()) 2550 r->setPreferredLogicalWidthsDirty(true, false);2550 r->setPreferredLogicalWidthsDirty(true, MarkOnlyThis); 2551 2551 2552 2552 if (!r->needsLayout()) … … 2579 2579 // Lay out again if our estimate was wrong. 2580 2580 if (needsBlockDirectionLocationSetBeforeLayout && logicalTopForChild(r) != oldLogicalTop) { 2581 r->setChildNeedsLayout(true, false);2581 r->setChildNeedsLayout(true, MarkOnlyThis); 2582 2582 r->layoutIfNeeded(); 2583 2583 } … … 2609 2609 2610 2610 if (view()->layoutState()->pageLogicalHeightChanged() || (view()->layoutState()->pageLogicalHeight() && view()->layoutState()->pageLogicalOffset(logicalTop()) != pageLogicalOffset())) 2611 setChildNeedsLayout(true, false);2611 setChildNeedsLayout(true, MarkOnlyThis); 2612 2612 } 2613 2613 … … 3528 3528 if (!o || r->isDescendantOf(o)) { 3529 3529 if (o) 3530 r->setChildNeedsLayout(true, false);3530 r->setChildNeedsLayout(true, MarkOnlyThis); 3531 3531 3532 3532 // It is parent blocks job to add positioned child to positioned objects list of its containing block … … 3570 3570 bool isChildRenderBlock = o->isRenderBlock(); 3571 3571 if (isChildRenderBlock && !o->needsLayout() && view()->layoutState()->pageLogicalHeightChanged()) 3572 o->setChildNeedsLayout(true, false);3572 o->setChildNeedsLayout(true, MarkOnlyThis); 3573 3573 3574 3574 bool needsBlockDirectionLocationSetBeforeLayout = isChildRenderBlock && view()->layoutState()->needsBlockDirectionLocationSetBeforeLayout(); … … 3783 3783 3784 3784 if (childBlock) 3785 childBlock->setChildNeedsLayout(true, false);3785 childBlock->setChildNeedsLayout(true, MarkOnlyThis); 3786 3786 childBox->layoutIfNeeded(); 3787 3787 } … … 4386 4386 return; 4387 4387 4388 setChildNeedsLayout(true, !inLayout); 4388 MarkingBehavior markParents = inLayout ? MarkOnlyThis : MarkContainingBlockChain; 4389 setChildNeedsLayout(true, markParents); 4389 4390 4390 4391 if (floatToRemove) … … 6904 6905 // change (because it has more available line width). 6905 6906 // So go ahead and mark the item as dirty. 6906 child->setChildNeedsLayout(true, false);6907 child->setChildNeedsLayout(true, MarkOnlyThis); 6907 6908 } 6908 6909 -
trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp
r110983 r112425 1172 1172 // determineStartPosition first will break fast/repaint/line-flow-with-floats-9.html. 1173 1173 if (layoutState.isFullLayout() && hasInlineChild && !selfNeedsLayout()) { 1174 setNeedsLayout(true, false); // Mark ourselves as needing a full layout. This way we'll repaint like 1175 // we're supposed to. 1174 setNeedsLayout(true, MarkOnlyThis); // Mark as needing a full layout to force us to repaint. 1176 1175 RenderView* v = view(); 1177 1176 if (v && !v->doingFullRepaint() && hasLayer()) { … … 1488 1487 1489 1488 if (relayoutChildren || box->hasRelativeDimensions()) 1490 o->setChildNeedsLayout(true, false);1489 o->setChildNeedsLayout(true, MarkOnlyThis); 1491 1490 1492 1491 // If relayoutChildren is set and the child has percentage padding or an embedded content box, we also need to invalidate the childs pref widths. 1493 1492 if (relayoutChildren && box->needsPreferredWidthsRecalculation()) 1494 o->setPreferredLogicalWidthsDirty(true, false);1493 o->setPreferredLogicalWidthsDirty(true, MarkOnlyThis); 1495 1494 1496 1495 if (o->isPositioned()) … … 2751 2750 setLogicalTopForChild(o, logicalTopForChild(o) + marginBeforeForChild(o) + paginationStrut); 2752 2751 if (o->isRenderBlock()) 2753 toRenderBlock(o)->setChildNeedsLayout(true, false);2752 toRenderBlock(o)->setChildNeedsLayout(true, MarkOnlyThis); 2754 2753 o->layoutIfNeeded(); 2755 2754 // Save the old logical top before calling removePlacedObject which will set -
trunk/Source/WebCore/rendering/RenderBox.cpp
r112336 r112425 1536 1536 root->block()->setStaticInlinePositionForChild(this, root->lineTopWithLeading(), roundedLayoutUnit(box->logicalLeft())); 1537 1537 if (style()->hasStaticInlinePosition(box->isHorizontal())) 1538 setChildNeedsLayout(true, false); // Just go ahead and mark the positioned object as needing layout, so it will update its position properly.1538 setChildNeedsLayout(true, MarkOnlyThis); // Just go ahead and mark the positioned object as needing layout, so it will update its position properly. 1539 1539 } else { 1540 1540 // Our object was a block originally, so we make our normal flow position be … … 1544 1544 layer()->setStaticBlockPosition(box->logicalTop()); 1545 1545 if (style()->hasStaticBlockPosition(box->isHorizontal())) 1546 setChildNeedsLayout(true, false); // Just go ahead and mark the positioned object as needing layout, so it will update its position properly.1546 setChildNeedsLayout(true, MarkOnlyThis); // Just go ahead and mark the positioned object as needing layout, so it will update its position properly. 1547 1547 } 1548 1548 -
trunk/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp
r110135 r112425 312 312 313 313 if (needAnotherLayoutPass && layoutPass == NormalLayoutPass) { 314 setChildNeedsLayout(true, false);314 setChildNeedsLayout(true, MarkOnlyThis); 315 315 layoutBlock(false, pageLogicalHeight); 316 316 } else … … 328 328 child->clearOverrideSize(); 329 329 if (!relayoutChildren) 330 child->setChildNeedsLayout(true, false);330 child->setChildNeedsLayout(true, MarkOnlyThis); 331 331 haveFlex = true; 332 332 unsigned int flexGroup = child->style()->boxFlexGroup(); … … 375 375 // make sure we relayout children if we need it. 376 376 if (relayoutChildren || (child->isReplaced() && (child->style()->width().isPercent() || child->style()->height().isPercent()))) 377 child->setChildNeedsLayout(true, false);377 child->setChildNeedsLayout(true, MarkOnlyThis); 378 378 379 379 if (child->isPositioned()) … … 432 432 childLayer->setStaticBlockPosition(yPos); 433 433 if (child->style()->hasStaticBlockPosition(style()->isHorizontalWritingMode())) 434 child->setChildNeedsLayout(true, false);434 child->setChildNeedsLayout(true, MarkOnlyThis); 435 435 } 436 436 continue; … … 449 449 child->computeLogicalHeight(); 450 450 if (oldChildHeight != child->height()) 451 child->setChildNeedsLayout(true, false);451 child->setChildNeedsLayout(true, MarkOnlyThis); 452 452 453 453 if (!child->needsLayout()) … … 664 664 // Make sure we relayout children if we need it. 665 665 if (!haveLineClamp && (relayoutChildren || (child->isReplaced() && (child->style()->width().isPercent() || child->style()->height().isPercent())))) 666 child->setChildNeedsLayout(true, false);666 child->setChildNeedsLayout(true, MarkOnlyThis); 667 667 668 668 if (child->isPositioned()) { … … 673 673 childLayer->setStaticBlockPosition(height()); 674 674 if (child->style()->hasStaticBlockPosition(style()->isHorizontalWritingMode())) 675 child->setChildNeedsLayout(true, false);675 child->setChildNeedsLayout(true, MarkOnlyThis); 676 676 } 677 677 continue; … … 886 886 if (relayoutChildren || (child->isReplaced() && (child->style()->width().isPercent() || child->style()->height().isPercent())) 887 887 || (child->style()->height().isAuto() && child->isBlockFlow())) { 888 child->setChildNeedsLayout(true, false);888 child->setChildNeedsLayout(true, MarkOnlyThis); 889 889 890 890 // Dirty all the positioned objects. … … 919 919 continue; 920 920 921 child->setChildNeedsLayout(true, false);921 child->setChildNeedsLayout(true, MarkOnlyThis); 922 922 child->setOverrideHeight(newHeight); 923 923 m_flexingChildren = true; -
trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp
r112333 r112425 860 860 childLayer->setStaticBlockPosition(staticBlockPosition); 861 861 if (child->style()->hasStaticBlockPosition(style()->isHorizontalWritingMode())) 862 child->setChildNeedsLayout(true, false);862 child->setChildNeedsLayout(true, MarkOnlyThis); 863 863 } 864 864 } -
trunk/Source/WebCore/rendering/RenderLayer.cpp
r112237 r112425 2377 2377 // Our proprietary overflow: overlay value doesn't trigger a layout. 2378 2378 m_inOverflowRelayout = true; 2379 renderer()->setNeedsLayout(true, false);2379 renderer()->setNeedsLayout(true, MarkOnlyThis); 2380 2380 if (renderer()->isRenderBlock()) { 2381 2381 RenderBlock* block = toRenderBlock(renderer()); -
trunk/Source/WebCore/rendering/RenderMedia.cpp
r90302 r112425 78 78 controlsRenderer->style()->setHeight(Length(newSize.height(), Fixed)); 79 79 controlsRenderer->style()->setWidth(Length(newSize.width(), Fixed)); 80 controlsRenderer->setNeedsLayout(true, false);80 controlsRenderer->setNeedsLayout(true, MarkOnlyThis); 81 81 controlsRenderer->layout(); 82 82 setChildNeedsLayout(false); -
trunk/Source/WebCore/rendering/RenderObject.cpp
r112301 r112425 681 681 } 682 682 683 void RenderObject::setPreferredLogicalWidthsDirty(bool b, boolmarkParents)683 void RenderObject::setPreferredLogicalWidthsDirty(bool shouldBeDirty, MarkingBehavior markParents) 684 684 { 685 685 bool alreadyDirty = preferredLogicalWidthsDirty(); 686 m_bitfields.setPreferredLogicalWidthsDirty( b);687 if ( b && !alreadyDirty && markParents&& (isText() || !style()->isPositioned()))686 m_bitfields.setPreferredLogicalWidthsDirty(shouldBeDirty); 687 if (shouldBeDirty && !alreadyDirty && markParents == MarkContainingBlockChain && (isText() || !style()->isPositioned())) 688 688 invalidateContainerPreferredLogicalWidths(); 689 689 } -
trunk/Source/WebCore/rendering/RenderObject.h
r111082 r112425 98 98 }; 99 99 100 enum MarkingBehavior { 101 MarkOnlyThis, 102 MarkContainingBlockChain, 103 }; 104 100 105 const int caretWidth = 1; 101 106 … … 559 564 560 565 void markContainingBlocksForLayout(bool scheduleRelayout = true, RenderObject* newRoot = 0); 561 void setNeedsLayout(bool b, bool markParents = true);562 void setChildNeedsLayout(bool b, bool markParents = true);566 void setNeedsLayout(bool needsLayout, MarkingBehavior = MarkContainingBlockChain); 567 void setChildNeedsLayout(bool childNeedsLayout, MarkingBehavior = MarkContainingBlockChain); 563 568 void setNeedsPositionedMovementLayout(); 564 569 void setNeedsSimplifiedNormalFlowLayout(); 565 void setPreferredLogicalWidthsDirty(bool, bool markParents = true);570 void setPreferredLogicalWidthsDirty(bool, MarkingBehavior = MarkContainingBlockChain); 566 571 void invalidateContainerPreferredLogicalWidths(); 567 572 … … 1035 1040 } 1036 1041 1037 inline void RenderObject::setNeedsLayout(bool b, boolmarkParents)1042 inline void RenderObject::setNeedsLayout(bool needsLayout, MarkingBehavior markParents) 1038 1043 { 1039 1044 bool alreadyNeededLayout = m_bitfields.needsLayout(); 1040 m_bitfields.setNeedsLayout( b);1041 if ( b) {1045 m_bitfields.setNeedsLayout(needsLayout); 1046 if (needsLayout) { 1042 1047 ASSERT(!isSetNeedsLayoutForbidden()); 1043 1048 if (!alreadyNeededLayout) { 1044 if (markParents )1049 if (markParents == MarkContainingBlockChain) 1045 1050 markContainingBlocksForLayout(); 1046 1051 if (hasLayer()) … … 1056 1061 } 1057 1062 1058 inline void RenderObject::setChildNeedsLayout(bool b, boolmarkParents)1063 inline void RenderObject::setChildNeedsLayout(bool childNeedsLayout, MarkingBehavior markParents) 1059 1064 { 1060 1065 bool alreadyNeededLayout = normalChildNeedsLayout(); 1061 setNormalChildNeedsLayout( b);1062 if ( b) {1066 setNormalChildNeedsLayout(childNeedsLayout); 1067 if (childNeedsLayout) { 1063 1068 ASSERT(!isSetNeedsLayoutForbidden()); 1064 if (!alreadyNeededLayout && markParents )1069 if (!alreadyNeededLayout && markParents == MarkContainingBlockChain) 1065 1070 markContainingBlocksForLayout(); 1066 1071 } else { -
trunk/Source/WebCore/rendering/RenderRubyRun.cpp
r95901 r112425 221 221 return 0; 222 222 if (relayoutChildren) 223 rt->setChildNeedsLayout(true, false);223 rt->setChildNeedsLayout(true, MarkOnlyThis); 224 224 rt->layoutIfNeeded(); 225 225 return rt; -
trunk/Source/WebCore/rendering/RenderTable.cpp
r112301 r112425 337 337 if (logicalWidth() != oldLogicalWidth) { 338 338 for (unsigned i = 0; i < m_captions.size(); i++) 339 m_captions[i]->setNeedsLayout(true, false);339 m_captions[i]->setNeedsLayout(true, MarkOnlyThis); 340 340 } 341 341 // FIXME: The optimisation below doesn't work since the internal table -
trunk/Source/WebCore/rendering/RenderTableRow.cpp
r105021 r112425 154 154 RenderTableCell* cell = toRenderTableCell(child); 155 155 if (!cell->needsLayout() && paginated && view()->layoutState()->pageLogicalHeight() && view()->layoutState()->pageLogicalOffset(cell->logicalTop()) != cell->pageLogicalOffset()) 156 cell->setChildNeedsLayout(true, false);156 cell->setChildNeedsLayout(true, MarkOnlyThis); 157 157 158 158 if (child->needsLayout()) { -
trunk/Source/WebCore/rendering/RenderTableSection.cpp
r112301 r112425 368 368 cell->clearIntrinsicPadding(); 369 369 cell->clearOverrideSize(); 370 cell->setChildNeedsLayout(true, false);370 cell->setChildNeedsLayout(true, MarkOnlyThis); 371 371 cell->layoutIfNeeded(); 372 372 } … … 584 584 // Tables with no sections do not flex. 585 585 if (!o->isTable() || toRenderTable(o)->hasSections()) { 586 o->setNeedsLayout(true, false);586 o->setNeedsLayout(true, MarkOnlyThis); 587 587 cellChildrenFlex = true; 588 588 } … … 600 600 if (box->normalChildNeedsLayout()) 601 601 break; 602 box->setChildNeedsLayout(true, false);602 box->setChildNeedsLayout(true, MarkOnlyThis); 603 603 box = box->containingBlock(); 604 604 ASSERT(box); … … 611 611 612 612 if (cellChildrenFlex) { 613 cell->setChildNeedsLayout(true, false);613 cell->setChildNeedsLayout(true, MarkOnlyThis); 614 614 // Alignment within a cell is based off the calculated 615 615 // height, which becomes irrelevant once the cell has … … 670 670 671 671 if (intrinsicPaddingBefore != oldIntrinsicPaddingBefore || intrinsicPaddingAfter != oldIntrinsicPaddingAfter) 672 cell->setNeedsLayout(true, false);672 cell->setNeedsLayout(true, MarkOnlyThis); 673 673 674 674 if (!cell->needsLayout() && view()->layoutState()->pageLogicalHeight() && view()->layoutState()->pageLogicalOffset(cell->logicalTop()) != cell->pageLogicalOffset()) 675 cell->setChildNeedsLayout(true, false);675 cell->setChildNeedsLayout(true, MarkOnlyThis); 676 676 677 677 cell->layoutIfNeeded(); -
trunk/Source/WebCore/rendering/RenderTextControl.cpp
r110224 r112425 292 292 // called from layout() of the parent and the placeholder layout doesn't 293 293 // affect the parent layout. 294 placeholderRenderer->setChildNeedsLayout(true, false);294 placeholderRenderer->setChildNeedsLayout(true, MarkOnlyThis); 295 295 } 296 296 return placeholderRenderer; -
trunk/Source/WebCore/rendering/RenderTextControlSingleLine.cpp
r112114 r112425 229 229 if (currentHeight > heightLimit) { 230 230 if (desiredHeight != currentHeight) 231 setNeedsLayout(true, false);231 setNeedsLayout(true, MarkOnlyThis); 232 232 233 233 innerTextRenderer->style()->setHeight(Length(desiredHeight, Fixed)); … … 242 242 if (containerHeight > heightLimit) { 243 243 containerRenderer->style()->setHeight(Length(heightLimit, Fixed)); 244 setNeedsLayout(true, false);244 setNeedsLayout(true, MarkOnlyThis); 245 245 } else if (containerRenderer->height() < contentHeight()) { 246 246 containerRenderer->style()->setHeight(Length(contentHeight(), Fixed)); 247 setNeedsLayout(true, false);247 setNeedsLayout(true, MarkOnlyThis); 248 248 } else 249 249 containerRenderer->style()->setHeight(Length(containerHeight, Fixed)); -
trunk/Source/WebCore/rendering/RenderView.cpp
r111480 r112425 70 70 m_maxPreferredLogicalWidth = 0; 71 71 72 setPreferredLogicalWidthsDirty(true, false);72 setPreferredLogicalWidthsDirty(true, MarkOnlyThis); 73 73 74 74 setPositioned(true); // to 0,0 :) … … 116 116 bool relayoutChildren = !printing() && (!m_frameView || width() != viewWidth() || height() != viewHeight()); 117 117 if (relayoutChildren) { 118 setChildNeedsLayout(true, false);118 setChildNeedsLayout(true, MarkOnlyThis); 119 119 for (RenderObject* child = firstChild(); child; child = child->nextSibling()) { 120 120 if ((child->isBox() && toRenderBox(child)->hasRelativeLogicalHeight()) … … 122 122 || child->style()->logicalMinHeight().isPercent() 123 123 || child->style()->logicalMaxHeight().isPercent()) 124 child->setChildNeedsLayout(true, false);124 child->setChildNeedsLayout(true, MarkOnlyThis); 125 125 } 126 126 } -
trunk/Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp
r111636 r112425 235 235 236 236 setNeedsLayout(true); 237 setPreferredLogicalWidthsDirty(true, false); // FIXME: Can this really be right?237 setPreferredLogicalWidthsDirty(true, MarkOnlyThis); // FIXME: Can this really be right? 238 238 RenderBlock::layout(); 239 239 -
trunk/Source/WebCore/rendering/mathml/RenderMathMLRow.cpp
r110496 r112425 77 77 if (didStretch) { 78 78 setNeedsLayout(true); 79 setPreferredLogicalWidthsDirty(true, false);79 setPreferredLogicalWidthsDirty(true, MarkOnlyThis); 80 80 RenderBlock::layout(); 81 81 } -
trunk/Source/WebCore/rendering/mathml/RenderMathMLSubSup.cpp
r111083 r112425 170 170 } 171 171 172 setChildNeedsLayout(true, false);172 setChildNeedsLayout(true, MarkOnlyThis); 173 173 174 174 RenderObject* baseWrapper = firstChild(); 175 175 baseWrapper->style()->setPaddingTop(Length(basePaddingTop, Fixed)); 176 baseWrapper->setNeedsLayout(true, false);176 baseWrapper->setNeedsLayout(true, MarkOnlyThis); 177 177 178 178 superscriptWrapper->style()->setPaddingBottom(Length(superPaddingBottom, Fixed)); 179 superscriptWrapper->setNeedsLayout(true, false);180 m_scripts->setNeedsLayout(true, false);179 superscriptWrapper->setNeedsLayout(true, MarkOnlyThis); 180 m_scripts->setNeedsLayout(true, MarkOnlyThis); 181 181 182 182 RenderBlock::layout(); -
trunk/Source/WebCore/rendering/svg/SVGRenderSupport.cpp
r112091 r112425 207 207 208 208 if (needsLayout) { 209 child->setNeedsLayout(true, false);209 child->setNeedsLayout(true, MarkOnlyThis); 210 210 child->layout(); 211 211 } else {
Note: See TracChangeset
for help on using the changeset viewer.