Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(91)

Side by Side Diff: Source/core/rendering/RenderBlock.cpp

Issue 332543002: Rename Repaint to Paint Invalidation Part 4 (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/rendering/RenderBlock.h ('k') | Source/core/rendering/RenderBlockFlow.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2007 David Smith (catfish.man@gmail.com) 4 * (C) 2007 David Smith (catfish.man@gmail.com)
5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved. 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.
6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 378
379 // Take care of positioned objects. This is required as LayoutState keeps a single clip rect. 379 // Take care of positioned objects. This is required as LayoutState keeps a single clip rect.
380 if (TrackedRendererListHashSet* positionedObjects = this->positionedObjects( )) { 380 if (TrackedRendererListHashSet* positionedObjects = this->positionedObjects( )) {
381 TrackedRendererListHashSet::iterator end = positionedObjects->end(); 381 TrackedRendererListHashSet::iterator end = positionedObjects->end();
382 LayoutStateMaintainer statePusher(*this, isTableRow() ? LayoutSize() : l ocationOffset()); 382 LayoutStateMaintainer statePusher(*this, isTableRow() ? LayoutSize() : l ocationOffset());
383 for (TrackedRendererListHashSet::iterator it = positionedObjects->begin( ); it != end; ++it) { 383 for (TrackedRendererListHashSet::iterator it = positionedObjects->begin( ); it != end; ++it) {
384 RenderBox* box = *it; 384 RenderBox* box = *it;
385 385
386 // One of the renderers we're skipping over here may be the child's repaint container, 386 // One of the renderers we're skipping over here may be the child's repaint container,
387 // so we can't pass our own repaint container along. 387 // so we can't pass our own repaint container along.
388 const RenderLayerModelObject& repaintContainerForChild = *box->conta inerForRepaint(); 388 const RenderLayerModelObject& repaintContainerForChild = *box->conta inerForPaintInvalidation();
389 389
390 // If the positioned renderer is absolutely positioned and it is ins ide 390 // If the positioned renderer is absolutely positioned and it is ins ide
391 // a relatively positioend inline element, we need to account for 391 // a relatively positioend inline element, we need to account for
392 // the inline elements position in LayoutState. 392 // the inline elements position in LayoutState.
393 if (box->style()->position() == AbsolutePosition) { 393 if (box->style()->position() == AbsolutePosition) {
394 RenderObject* container = box->container(&repaintContainerForChi ld, 0); 394 RenderObject* container = box->container(&repaintContainerForChi ld, 0);
395 if (container->isInFlowPositioned() && container->isRenderInline ()) { 395 if (container->isInFlowPositioned() && container->isRenderInline ()) {
396 // FIXME: We should be able to use layout-state for this. 396 // FIXME: We should be able to use layout-state for this.
397 // Currently, we will place absolutly positioned elements in side 397 // Currently, we will place absolutly positioned elements in side
398 // relatively positioned inline blocks in the wrong location . crbug.com/371485 398 // relatively positioned inline blocks in the wrong location . crbug.com/371485
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after
700 700
701 // We already know the newBlockBox isn't going to contain inline kids, so av oid wasting 701 // We already know the newBlockBox isn't going to contain inline kids, so av oid wasting
702 // time in makeChildrenNonInline by just setting this explicitly up front. 702 // time in makeChildrenNonInline by just setting this explicitly up front.
703 newBlockBox->setChildrenInline(false); 703 newBlockBox->setChildrenInline(false);
704 704
705 newBlockBox->addChild(newChild); 705 newBlockBox->addChild(newChild);
706 706
707 // Always just do a full layout in order to ensure that line boxes (especial ly wrappers for images) 707 // Always just do a full layout in order to ensure that line boxes (especial ly wrappers for images)
708 // get deleted properly. Because objects moves from the pre block into the post block, we want to 708 // get deleted properly. Because objects moves from the pre block into the post block, we want to
709 // make new line boxes instead of leaving the old line boxes around. 709 // make new line boxes instead of leaving the old line boxes around.
710 pre->setNeedsLayoutAndPrefWidthsRecalcAndFullRepaint(); 710 pre->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation();
711 block->setNeedsLayoutAndPrefWidthsRecalcAndFullRepaint(); 711 block->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation();
712 post->setNeedsLayoutAndPrefWidthsRecalcAndFullRepaint(); 712 post->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation();
713 } 713 }
714 714
715 void RenderBlock::makeChildrenAnonymousColumnBlocks(RenderObject* beforeChild, R enderBlockFlow* newBlockBox, RenderObject* newChild) 715 void RenderBlock::makeChildrenAnonymousColumnBlocks(RenderObject* beforeChild, R enderBlockFlow* newBlockBox, RenderObject* newChild)
716 { 716 {
717 RenderBlockFlow* pre = 0; 717 RenderBlockFlow* pre = 0;
718 RenderBlockFlow* post = 0; 718 RenderBlockFlow* post = 0;
719 RenderBlock* block = this; // Eventually block will not just be |this|, but will also be a block nested inside |this|. Assign to a variable 719 RenderBlock* block = this; // Eventually block will not just be |this|, but will also be a block nested inside |this|. Assign to a variable
720 // so that we don't have to patch all of the rest of the code later on. 720 // so that we don't have to patch all of the rest of the code later on.
721 721
722 // Delete the block's line boxes before we do the split. 722 // Delete the block's line boxes before we do the split.
(...skipping 27 matching lines...) Expand all
750 // We already know the newBlockBox isn't going to contain inline kids, so av oid wasting 750 // We already know the newBlockBox isn't going to contain inline kids, so av oid wasting
751 // time in makeChildrenNonInline by just setting this explicitly up front. 751 // time in makeChildrenNonInline by just setting this explicitly up front.
752 newBlockBox->setChildrenInline(false); 752 newBlockBox->setChildrenInline(false);
753 753
754 newBlockBox->addChild(newChild); 754 newBlockBox->addChild(newChild);
755 755
756 // Always just do a full layout in order to ensure that line boxes (especial ly wrappers for images) 756 // Always just do a full layout in order to ensure that line boxes (especial ly wrappers for images)
757 // get deleted properly. Because objects moved from the pre block into the post block, we want to 757 // get deleted properly. Because objects moved from the pre block into the post block, we want to
758 // make new line boxes instead of leaving the old line boxes around. 758 // make new line boxes instead of leaving the old line boxes around.
759 if (pre) 759 if (pre)
760 pre->setNeedsLayoutAndPrefWidthsRecalcAndFullRepaint(); 760 pre->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation();
761 block->setNeedsLayoutAndPrefWidthsRecalcAndFullRepaint(); 761 block->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation();
762 if (post) 762 if (post)
763 post->setNeedsLayoutAndPrefWidthsRecalcAndFullRepaint(); 763 post->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation();
764 } 764 }
765 765
766 RenderBlockFlow* RenderBlock::columnsBlockForSpanningElement(RenderObject* newCh ild) 766 RenderBlockFlow* RenderBlock::columnsBlockForSpanningElement(RenderObject* newCh ild)
767 { 767 {
768 // FIXME: This function is the gateway for the addition of column-span suppo rt. It will 768 // FIXME: This function is the gateway for the addition of column-span suppo rt. It will
769 // be added to in three stages: 769 // be added to in three stages:
770 // (1) Immediate children of a multi-column block can span. 770 // (1) Immediate children of a multi-column block can span.
771 // (2) Nested block-level children with only block-level ancestors between t hem and the multi-column block can span. 771 // (2) Nested block-level children with only block-level ancestors between t hem and the multi-column block can span.
772 // (3) Nested children with block or inline ancestors between them and the m ulti-column block can span (this is when we 772 // (3) Nested children with block or inline ancestors between them and the m ulti-column block can span (this is when we
773 // cross the streams and have to cope with both types of continuations mixed together). 773 // cross the streams and have to cope with both types of continuations mixed together).
(...skipping 335 matching lines...) Expand 10 before | Expand all | Expand 10 after
1109 collapseAnonymousBlockChild(this, toRenderBlock(blocksToRemove[i])); 1109 collapseAnonymousBlockChild(this, toRenderBlock(blocksToRemove[i]));
1110 } 1110 }
1111 1111
1112 void RenderBlock::collapseAnonymousBlockChild(RenderBlock* parent, RenderBlock* child) 1112 void RenderBlock::collapseAnonymousBlockChild(RenderBlock* parent, RenderBlock* child)
1113 { 1113 {
1114 // It's possible that this block's destruction may have been triggered by th e 1114 // It's possible that this block's destruction may have been triggered by th e
1115 // child's removal. Just bail if the anonymous child block is already being 1115 // child's removal. Just bail if the anonymous child block is already being
1116 // destroyed. See crbug.com/282088 1116 // destroyed. See crbug.com/282088
1117 if (child->beingDestroyed()) 1117 if (child->beingDestroyed())
1118 return; 1118 return;
1119 parent->setNeedsLayoutAndPrefWidthsRecalcAndFullRepaint(); 1119 parent->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation();
1120 parent->setChildrenInline(child->childrenInline()); 1120 parent->setChildrenInline(child->childrenInline());
1121 RenderObject* nextSibling = child->nextSibling(); 1121 RenderObject* nextSibling = child->nextSibling();
1122 1122
1123 RenderFlowThread* childFlowThread = child->flowThreadContainingBlock(); 1123 RenderFlowThread* childFlowThread = child->flowThreadContainingBlock();
1124 CurrentRenderFlowThreadMaintainer flowThreadMaintainer(childFlowThread); 1124 CurrentRenderFlowThreadMaintainer flowThreadMaintainer(childFlowThread);
1125 1125
1126 parent->children()->removeChildNode(parent, child, child->hasLayer()); 1126 parent->children()->removeChildNode(parent, child, child->hasLayer());
1127 child->moveAllChildrenTo(parent, nextSibling, child->hasLayer()); 1127 child->moveAllChildrenTo(parent, nextSibling, child->hasLayer());
1128 // Explicitly delete the child's line box tree, or the special anonymous 1128 // Explicitly delete the child's line box tree, or the special anonymous
1129 // block handling in willBeDestroyed will cause problems. 1129 // block handling in willBeDestroyed will cause problems.
(...skipping 13 matching lines...) Expand all
1143 // This protects against column split flows when anonymous blocks are gettin g merged. 1143 // This protects against column split flows when anonymous blocks are gettin g merged.
1144 TemporaryChange<bool> columnFlowSplitEnabled(gColumnFlowSplitEnabled, false) ; 1144 TemporaryChange<bool> columnFlowSplitEnabled(gColumnFlowSplitEnabled, false) ;
1145 1145
1146 // If this child is a block, and if our previous and next siblings are 1146 // If this child is a block, and if our previous and next siblings are
1147 // both anonymous blocks with inline content, then we can go ahead and 1147 // both anonymous blocks with inline content, then we can go ahead and
1148 // fold the inline content back together. 1148 // fold the inline content back together.
1149 RenderObject* prev = oldChild->previousSibling(); 1149 RenderObject* prev = oldChild->previousSibling();
1150 RenderObject* next = oldChild->nextSibling(); 1150 RenderObject* next = oldChild->nextSibling();
1151 bool canMergeAnonymousBlocks = canMergeContiguousAnonymousBlocks(oldChild, p rev, next); 1151 bool canMergeAnonymousBlocks = canMergeContiguousAnonymousBlocks(oldChild, p rev, next);
1152 if (canMergeAnonymousBlocks && prev && next) { 1152 if (canMergeAnonymousBlocks && prev && next) {
1153 prev->setNeedsLayoutAndPrefWidthsRecalcAndFullRepaint(); 1153 prev->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation();
1154 RenderBlockFlow* nextBlock = toRenderBlockFlow(next); 1154 RenderBlockFlow* nextBlock = toRenderBlockFlow(next);
1155 RenderBlockFlow* prevBlock = toRenderBlockFlow(prev); 1155 RenderBlockFlow* prevBlock = toRenderBlockFlow(prev);
1156 1156
1157 if (prev->childrenInline() != next->childrenInline()) { 1157 if (prev->childrenInline() != next->childrenInline()) {
1158 RenderBlock* inlineChildrenBlock = prev->childrenInline() ? prevBloc k : nextBlock; 1158 RenderBlock* inlineChildrenBlock = prev->childrenInline() ? prevBloc k : nextBlock;
1159 RenderBlock* blockChildrenBlock = prev->childrenInline() ? nextBlock : prevBlock; 1159 RenderBlock* blockChildrenBlock = prev->childrenInline() ? nextBlock : prevBlock;
1160 1160
1161 // Place the inline children block inside of the block children bloc k instead of deleting it. 1161 // Place the inline children block inside of the block children bloc k instead of deleting it.
1162 // In order to reuse it, we have to reset it to just be a generic an onymous block. Make sure 1162 // In order to reuse it, we have to reset it to just be a generic an onymous block. Make sure
1163 // to clear out inherited column properties by just making a new sty le, and to also clear the 1163 // to clear out inherited column properties by just making a new sty le, and to also clear the
1164 // column span flag if it is set. 1164 // column span flag if it is set.
1165 ASSERT(!inlineChildrenBlock->continuation()); 1165 ASSERT(!inlineChildrenBlock->continuation());
1166 RefPtr<RenderStyle> newStyle = RenderStyle::createAnonymousStyleWith Display(style(), BLOCK); 1166 RefPtr<RenderStyle> newStyle = RenderStyle::createAnonymousStyleWith Display(style(), BLOCK);
1167 // Cache this value as it might get changed in setStyle() call. 1167 // Cache this value as it might get changed in setStyle() call.
1168 bool inlineChildrenBlockHasLayer = inlineChildrenBlock->hasLayer(); 1168 bool inlineChildrenBlockHasLayer = inlineChildrenBlock->hasLayer();
1169 inlineChildrenBlock->setStyle(newStyle); 1169 inlineChildrenBlock->setStyle(newStyle);
1170 children()->removeChildNode(this, inlineChildrenBlock, inlineChildre nBlockHasLayer); 1170 children()->removeChildNode(this, inlineChildrenBlock, inlineChildre nBlockHasLayer);
1171 1171
1172 // Now just put the inlineChildrenBlock inside the blockChildrenBloc k. 1172 // Now just put the inlineChildrenBlock inside the blockChildrenBloc k.
1173 blockChildrenBlock->children()->insertChildNode(blockChildrenBlock, inlineChildrenBlock, prev == inlineChildrenBlock ? blockChildrenBlock->firstChil d() : 0, 1173 blockChildrenBlock->children()->insertChildNode(blockChildrenBlock, inlineChildrenBlock, prev == inlineChildrenBlock ? blockChildrenBlock->firstChil d() : 0,
1174 inlineChildrenBlockH asLayer || blockChildrenBlock->hasLayer()); 1174 inlineChildrenBlockH asLayer || blockChildrenBlock->hasLayer());
1175 next->setNeedsLayoutAndPrefWidthsRecalcAndFullRepaint(); 1175 next->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation();
1176 1176
1177 // inlineChildrenBlock got reparented to blockChildrenBlock, so it i s no longer a child 1177 // inlineChildrenBlock got reparented to blockChildrenBlock, so it i s no longer a child
1178 // of "this". we null out prev or next so that is not used later in the function. 1178 // of "this". we null out prev or next so that is not used later in the function.
1179 if (inlineChildrenBlock == prevBlock) 1179 if (inlineChildrenBlock == prevBlock)
1180 prev = 0; 1180 prev = 0;
1181 else 1181 else
1182 next = 0; 1182 next = 0;
1183 } else { 1183 } else {
1184 // Take all the children out of the |next| block and put them in 1184 // Take all the children out of the |next| block and put them in
1185 // the |prev| block. 1185 // the |prev| block.
(...skipping 524 matching lines...) Expand 10 before | Expand all | Expand 10 after
1710 if (isHorizontalWritingMode() == r->isHorizontalWritingMode()) 1710 if (isHorizontalWritingMode() == r->isHorizontalWritingMode())
1711 r->updateLogicalHeight(); 1711 r->updateLogicalHeight();
1712 else 1712 else
1713 r->updateLogicalWidth(); 1713 r->updateLogicalWidth();
1714 oldLogicalTop = logicalTopForChild(r); 1714 oldLogicalTop = logicalTopForChild(r);
1715 } 1715 }
1716 1716
1717 // FIXME: We should be able to do a r->setNeedsPositionedMovementLayout( ) here instead of a full layout. Need 1717 // FIXME: We should be able to do a r->setNeedsPositionedMovementLayout( ) here instead of a full layout. Need
1718 // to investigate why it does not trigger the correct invalidations in t hat case. crbug.com/350756 1718 // to investigate why it does not trigger the correct invalidations in t hat case. crbug.com/350756
1719 if (info == ForcedLayoutAfterContainingBlockMoved) 1719 if (info == ForcedLayoutAfterContainingBlockMoved)
1720 r->setNeedsLayoutAndFullRepaint(); 1720 r->setNeedsLayoutAndFullPaintInvalidation();
1721 1721
1722 r->layoutIfNeeded(); 1722 r->layoutIfNeeded();
1723 1723
1724 // Lay out again if our estimate was wrong. 1724 // Lay out again if our estimate was wrong.
1725 if (needsBlockDirectionLocationSetBeforeLayout && logicalTopForChild(r) != oldLogicalTop) 1725 if (needsBlockDirectionLocationSetBeforeLayout && logicalTopForChild(r) != oldLogicalTop)
1726 r->forceChildLayout(); 1726 r->forceChildLayout();
1727 } 1727 }
1728 1728
1729 if (hasColumns()) 1729 if (hasColumns())
1730 view()->layoutState()->setColumnInfo(columnInfo()); // FIXME: Kind of gr oss. We just put this back into the layout state so that pop() will work. 1730 view()->layoutState()->setColumnInfo(columnInfo()); // FIXME: Kind of gr oss. We just put this back into the layout state so that pop() will work.
(...skipping 2732 matching lines...) Expand 10 before | Expand all | Expand 10 after
4463 // https://bugs.webkit.org/show_bug.cgi?id=46781 4463 // https://bugs.webkit.org/show_bug.cgi?id=46781
4464 FloatRect localRect(0, -collapsedMarginBefore().toFloat(), 4464 FloatRect localRect(0, -collapsedMarginBefore().toFloat(),
4465 width().toFloat(), (height() + collapsedMarginBefore() + collapsedMa rginAfter()).toFloat()); 4465 width().toFloat(), (height() + collapsedMarginBefore() + collapsedMa rginAfter()).toFloat());
4466 quads.append(localToAbsoluteQuad(localRect, 0 /* mode */, wasFixed)); 4466 quads.append(localToAbsoluteQuad(localRect, 0 /* mode */, wasFixed));
4467 continuation()->absoluteQuads(quads, wasFixed); 4467 continuation()->absoluteQuads(quads, wasFixed);
4468 } else { 4468 } else {
4469 quads.append(RenderBox::localToAbsoluteQuad(FloatRect(0, 0, width().toFl oat(), height().toFloat()), 0 /* mode */, wasFixed)); 4469 quads.append(RenderBox::localToAbsoluteQuad(FloatRect(0, 0, width().toFl oat(), height().toFloat()), 0 /* mode */, wasFixed));
4470 } 4470 }
4471 } 4471 }
4472 4472
4473 LayoutRect RenderBlock::rectWithOutlineForRepaint(const RenderLayerModelObject* repaintContainer, LayoutUnit outlineWidth) const 4473 LayoutRect RenderBlock::rectWithOutlineForPaintInvalidation(const RenderLayerMod elObject* paintInvalidationContainer, LayoutUnit outlineWidth) const
4474 { 4474 {
4475 LayoutRect r(RenderBox::rectWithOutlineForRepaint(repaintContainer, outlineW idth)); 4475 LayoutRect r(RenderBox::rectWithOutlineForPaintInvalidation(paintInvalidatio nContainer, outlineWidth));
4476 if (isAnonymousBlockContinuation()) 4476 if (isAnonymousBlockContinuation())
4477 r.inflateY(collapsedMarginBefore()); // FIXME: This is wrong for block-f lows that are horizontal. 4477 r.inflateY(collapsedMarginBefore()); // FIXME: This is wrong for block-f lows that are horizontal.
4478 return r; 4478 return r;
4479 } 4479 }
4480 4480
4481 RenderObject* RenderBlock::hoverAncestor() const 4481 RenderObject* RenderBlock::hoverAncestor() const
4482 { 4482 {
4483 return isAnonymousBlockContinuation() ? continuation() : RenderBox::hoverAnc estor(); 4483 return isAnonymousBlockContinuation() ? continuation() : RenderBox::hoverAnc estor();
4484 } 4484 }
4485 4485
4486 void RenderBlock::updateDragState(bool dragOn) 4486 void RenderBlock::updateDragState(bool dragOn)
4487 { 4487 {
4488 RenderBox::updateDragState(dragOn); 4488 RenderBox::updateDragState(dragOn);
4489 if (continuation()) 4489 if (continuation())
4490 continuation()->updateDragState(dragOn); 4490 continuation()->updateDragState(dragOn);
4491 } 4491 }
4492 4492
4493 RenderStyle* RenderBlock::outlineStyleForRepaint() const 4493 RenderStyle* RenderBlock::outlineStyleForPaintInvalidation() const
4494 { 4494 {
4495 return isAnonymousBlockContinuation() ? continuation()->style() : style(); 4495 return isAnonymousBlockContinuation() ? continuation()->style() : style();
4496 } 4496 }
4497 4497
4498 void RenderBlock::childBecameNonInline(RenderObject*) 4498 void RenderBlock::childBecameNonInline(RenderObject*)
4499 { 4499 {
4500 makeChildrenNonInline(); 4500 makeChildrenNonInline();
4501 if (isAnonymousBlock() && parent() && parent()->isRenderBlock()) 4501 if (isAnonymousBlock() && parent() && parent()->isRenderBlock())
4502 toRenderBlock(parent())->removeLeftoverAnonymousBlock(this); 4502 toRenderBlock(parent())->removeLeftoverAnonymousBlock(this);
4503 // |this| may be dead here 4503 // |this| may be dead here
(...skipping 543 matching lines...) Expand 10 before | Expand all | Expand 10 after
5047 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render Object* obj) const 5047 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render Object* obj) const
5048 { 5048 {
5049 showRenderObject(); 5049 showRenderObject();
5050 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot Box()) 5050 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot Box())
5051 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa bel2, obj, 1); 5051 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa bel2, obj, 1);
5052 } 5052 }
5053 5053
5054 #endif 5054 #endif
5055 5055
5056 } // namespace WebCore 5056 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/rendering/RenderBlock.h ('k') | Source/core/rendering/RenderBlockFlow.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698