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

Unified Diff: Source/core/layout/LayoutBlock.cpp

Issue 1062283002: Use C++11 range-based loop for core/layout (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fix it naming Created 5 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/layout/ImageQualityController.cpp ('k') | Source/core/layout/LayoutBlockFlowLine.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/layout/LayoutBlock.cpp
diff --git a/Source/core/layout/LayoutBlock.cpp b/Source/core/layout/LayoutBlock.cpp
index 9486811773f21504ffaaa0fe8229eec62e0be7a7..537e928a68bb7a3b14a98b1b91aef76aed51f478 100644
--- a/Source/core/layout/LayoutBlock.cpp
+++ b/Source/core/layout/LayoutBlock.cpp
@@ -162,9 +162,8 @@ LayoutBlock::LayoutBlock(ContainerNode* node)
static void removeBlockFromDescendantAndContainerMaps(LayoutBlock* block, TrackedDescendantsMap*& descendantMap, TrackedContainerMap*& containerMap)
{
if (OwnPtr<TrackedRendererListHashSet> descendantSet = descendantMap->take(block)) {
- TrackedRendererListHashSet::iterator end = descendantSet->end();
- for (TrackedRendererListHashSet::iterator descendant = descendantSet->begin(); descendant != end; ++descendant) {
- TrackedContainerMap::iterator it = containerMap->find(*descendant);
+ for (auto& descendant : *descendantSet) {
+ TrackedContainerMap::iterator it = containerMap->find(descendant);
ASSERT(it != containerMap->end());
if (it == containerMap->end())
continue;
@@ -369,9 +368,7 @@ void LayoutBlock::invalidatePaintOfSubtreesIfNeeded(PaintInvalidationState& chil
// Take care of positioned objects. This is required as PaintInvalidationState keeps a single clip rect.
if (TrackedRendererListHashSet* positionedObjects = this->positionedObjects()) {
- TrackedRendererListHashSet::iterator end = positionedObjects->end();
- for (TrackedRendererListHashSet::iterator it = positionedObjects->begin(); it != end; ++it) {
- LayoutBox* box = *it;
+ for (auto* box : *positionedObjects) {
// One of the renderers we're skipping over here may be the child's paint invalidation container,
// so we can't pass our own paint invalidation container along.
@@ -1339,8 +1336,7 @@ void LayoutBlock::finishDelayUpdateScrollInfo()
OwnPtr<DelayedUpdateScrollInfoSet> infoSet(adoptPtr(gDelayedUpdateScrollInfoSet));
gDelayedUpdateScrollInfoSet = 0;
- for (DelayedUpdateScrollInfoSet::iterator it = infoSet->begin(); it != infoSet->end(); ++it) {
- LayoutBlock* block = *it;
+ for (auto* block : *infoSet) {
if (block->hasOverflowClip()) {
block->layer()->scrollableArea()->updateAfterLayout();
}
@@ -1411,8 +1407,8 @@ bool LayoutBlock::updateImageLoadingPriorities()
screenArea.intersect(objectBounds);
}
- for (Vector<ImageResource*>::iterator it = images.begin(), end = images.end(); it != end; ++it)
- ResourceLoadPriorityOptimizer::resourceLoadPriorityOptimizer()->notifyImageResourceVisibility(*it, status, screenArea);
+ for (auto* imageResource : images)
+ ResourceLoadPriorityOptimizer::resourceLoadPriorityOptimizer()->notifyImageResourceVisibility(imageResource, status, screenArea);
return true;
}
@@ -1507,11 +1503,7 @@ void LayoutBlock::addOverflowFromPositionedObjects()
if (!positionedDescendants)
return;
- LayoutBox* positionedObject;
- TrackedRendererListHashSet::iterator end = positionedDescendants->end();
- for (TrackedRendererListHashSet::iterator it = positionedDescendants->begin(); it != end; ++it) {
- positionedObject = *it;
-
+ for (auto* positionedObject : *positionedDescendants) {
// Fixed positioned elements don't contribute to layout overflow, since they don't scroll with the content.
if (positionedObject->style()->position() != FixedPosition)
addOverflowFromChild(positionedObject, toLayoutSize(positionedObject->location()));
@@ -1691,20 +1683,16 @@ void LayoutBlock::layoutPositionedObjects(bool relayoutChildren, PositionedLayou
if (hasColumns())
view()->layoutState()->clearPaginationInformation(); // Positioned objects are not part of the column flow, so they don't paginate with the columns.
- LayoutBox* r;
- TrackedRendererListHashSet::iterator end = positionedDescendants->end();
- for (TrackedRendererListHashSet::iterator it = positionedDescendants->begin(); it != end; ++it) {
- r = *it;
-
- r->setMayNeedPaintInvalidation();
+ for (auto* positionedObject : *positionedDescendants) {
+ positionedObject->setMayNeedPaintInvalidation();
- SubtreeLayoutScope layoutScope(*r);
+ SubtreeLayoutScope layoutScope(*positionedObject);
// A fixed position element with an absolute positioned ancestor has no way of knowing if the latter has changed position. So
// if this is a fixed position element, mark it for layout if it has an abspos ancestor and needs to move with that ancestor, i.e.
// it has static position.
- markFixedPositionObjectForLayoutIfNeeded(r, layoutScope);
+ markFixedPositionObjectForLayoutIfNeeded(positionedObject, layoutScope);
if (info == LayoutOnlyFixedPositionedObjects) {
- r->layoutIfNeeded();
+ positionedObject->layoutIfNeeded();
continue;
}
@@ -1712,38 +1700,38 @@ void LayoutBlock::layoutPositionedObjects(bool relayoutChildren, PositionedLayou
// non-positioned block. Rather than trying to detect all of these movement cases, we just always lay out positioned
// objects that are positioned implicitly like this. Such objects are rare, and so in typical DHTML menu usage (where everything is
// positioned explicitly) this should not incur a performance penalty.
- if (relayoutChildren || (r->style()->hasStaticBlockPosition(isHorizontalWritingMode()) && r->parent() != this))
- layoutScope.setChildNeedsLayout(r);
+ if (relayoutChildren || (positionedObject->style()->hasStaticBlockPosition(isHorizontalWritingMode()) && positionedObject->parent() != this))
+ layoutScope.setChildNeedsLayout(positionedObject);
// If relayoutChildren is set and the child has percentage padding or an embedded content box, we also need to invalidate the childs pref widths.
- if (relayoutChildren && r->needsPreferredWidthsRecalculation())
- r->setPreferredLogicalWidthsDirty(MarkOnlyThis);
+ if (relayoutChildren && positionedObject->needsPreferredWidthsRecalculation())
+ positionedObject->setPreferredLogicalWidthsDirty(MarkOnlyThis);
- if (!r->needsLayout())
- r->markForPaginationRelayoutIfNeeded(layoutScope);
+ if (!positionedObject->needsLayout())
+ positionedObject->markForPaginationRelayoutIfNeeded(layoutScope);
// If we are paginated or in a line grid, go ahead and compute a vertical position for our object now.
// If it's wrong we'll lay out again.
LayoutUnit oldLogicalTop = 0;
- bool needsBlockDirectionLocationSetBeforeLayout = r->needsLayout() && view()->layoutState()->needsBlockDirectionLocationSetBeforeLayout();
+ bool needsBlockDirectionLocationSetBeforeLayout = positionedObject->needsLayout() && view()->layoutState()->needsBlockDirectionLocationSetBeforeLayout();
if (needsBlockDirectionLocationSetBeforeLayout) {
- if (isHorizontalWritingMode() == r->isHorizontalWritingMode())
- r->updateLogicalHeight();
+ if (isHorizontalWritingMode() == positionedObject->isHorizontalWritingMode())
+ positionedObject->updateLogicalHeight();
else
- r->updateLogicalWidth();
- oldLogicalTop = logicalTopForChild(*r);
+ positionedObject->updateLogicalWidth();
+ oldLogicalTop = logicalTopForChild(*positionedObject);
}
// FIXME: We should be able to do a r->setNeedsPositionedMovementLayout() here instead of a full layout. Need
// to investigate why it does not trigger the correct invalidations in that case. crbug.com/350756
if (info == ForcedLayoutAfterContainingBlockMoved)
- r->setNeedsLayout(LayoutInvalidationReason::AncestorMoved, MarkOnlyThis);
+ positionedObject->setNeedsLayout(LayoutInvalidationReason::AncestorMoved, MarkOnlyThis);
- r->layoutIfNeeded();
+ positionedObject->layoutIfNeeded();
// Lay out again if our estimate was wrong.
- if (needsBlockDirectionLocationSetBeforeLayout && logicalTopForChild(*r) != oldLogicalTop)
- r->forceChildLayout();
+ if (needsBlockDirectionLocationSetBeforeLayout && logicalTopForChild(*positionedObject) != oldLogicalTop)
+ positionedObject->forceChildLayout();
}
if (hasColumns())
@@ -1753,9 +1741,8 @@ void LayoutBlock::layoutPositionedObjects(bool relayoutChildren, PositionedLayou
void LayoutBlock::markPositionedObjectsForLayout()
{
if (TrackedRendererListHashSet* positionedDescendants = positionedObjects()) {
- TrackedRendererListHashSet::iterator end = positionedDescendants->end();
- for (TrackedRendererListHashSet::iterator it = positionedDescendants->begin(); it != end; ++it)
- (*it)->setChildNeedsLayout();
+ for (auto* descendant : *positionedDescendants)
+ descendant->setChildNeedsLayout();
}
}
@@ -1964,10 +1951,7 @@ void LayoutBlock::removeFromTrackedRendererMaps(LayoutBox* descendant, TrackedDe
if (!containerSet)
return;
- HashSet<LayoutBlock*>::iterator end = containerSet->end();
- for (HashSet<LayoutBlock*>::iterator it = containerSet->begin(); it != end; ++it) {
- LayoutBlock* container = *it;
-
+ for (auto* container : *containerSet) {
// FIXME: Disabling this assert temporarily until we fix the layout
// bugs associated with positioned objects not properly cleared from
// their ancestor chain before being moved. See webkit bug 93766.
@@ -2009,30 +1993,24 @@ void LayoutBlock::removePositionedObjects(LayoutBlock* o, ContainingBlockState c
if (!positionedDescendants)
return;
- LayoutBox* r;
-
- TrackedRendererListHashSet::iterator end = positionedDescendants->end();
-
Vector<LayoutBox*, 16> deadObjects;
-
- for (TrackedRendererListHashSet::iterator it = positionedDescendants->begin(); it != end; ++it) {
- r = *it;
- if (!o || r->isDescendantOf(o)) {
+ for (auto* positionedObject : *positionedDescendants) {
+ if (!o || positionedObject->isDescendantOf(o)) {
if (containingBlockState == NewContainingBlock) {
- r->setChildNeedsLayout(MarkOnlyThis);
- if (r->needsPreferredWidthsRecalculation())
- r->setPreferredLogicalWidthsDirty(MarkOnlyThis);
+ positionedObject->setChildNeedsLayout(MarkOnlyThis);
+ if (positionedObject->needsPreferredWidthsRecalculation())
+ positionedObject->setPreferredLogicalWidthsDirty(MarkOnlyThis);
}
// It is parent blocks job to add positioned child to positioned objects list of its containing block
// Parent layout needs to be invalidated to ensure this happens.
- LayoutObject* p = r->parent();
+ LayoutObject* p = positionedObject->parent();
while (p && !p->isLayoutBlock())
p = p->parent();
if (p)
p->setChildNeedsLayout();
- deadObjects.append(r);
+ deadObjects.append(positionedObject);
}
}
@@ -2078,9 +2056,7 @@ void LayoutBlock::dirtyForLayoutFromPercentageHeightDescendants(SubtreeLayoutSco
if (!descendants)
return;
- TrackedRendererListHashSet::iterator end = descendants->end();
- for (TrackedRendererListHashSet::iterator it = descendants->begin(); it != end; ++it) {
- LayoutBox* box = *it;
+ for (auto* box : *descendants) {
while (box != this) {
if (box->normalChildNeedsLayout())
break;
@@ -3833,10 +3809,7 @@ bool LayoutBlock::recalcChildOverflowAfterStyleChange()
if (!positionedDescendants)
return childrenOverflowChanged;
- TrackedRendererListHashSet::iterator end = positionedDescendants->end();
- for (TrackedRendererListHashSet::iterator it = positionedDescendants->begin(); it != end; ++it) {
- LayoutBox* box = *it;
-
+ for (auto* box : *positionedDescendants) {
if (!box->needsOverflowRecalcAfterStyleChange())
continue;
LayoutBlock* block = toLayoutBlock(box);
« no previous file with comments | « Source/core/layout/ImageQualityController.cpp ('k') | Source/core/layout/LayoutBlockFlowLine.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698