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

Unified Diff: third_party/WebKit/Source/core/layout/LayoutMultiColumnSet.cpp

Issue 2400863005: Reformat comments in core/layout up until LayoutTableRow (Closed)
Patch Set: Created 4 years, 2 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
Index: third_party/WebKit/Source/core/layout/LayoutMultiColumnSet.cpp
diff --git a/third_party/WebKit/Source/core/layout/LayoutMultiColumnSet.cpp b/third_party/WebKit/Source/core/layout/LayoutMultiColumnSet.cpp
index ae91b71fe1c5340f14bba856be3975153e35ee28..11569461db423d50d34a3b094d703197d5b0fd72 100644
--- a/third_party/WebKit/Source/core/layout/LayoutMultiColumnSet.cpp
+++ b/third_party/WebKit/Source/core/layout/LayoutMultiColumnSet.cpp
@@ -89,23 +89,24 @@ LayoutUnit LayoutMultiColumnSet::pageLogicalHeightForOffset(
LayoutUnit offsetInFlowThread) const {
const MultiColumnFragmentainerGroup& lastRow = lastFragmentainerGroup();
if (!lastRow.logicalHeight()) {
- // In the first layout pass of an auto-height multicol container, height isn't set. No need
- // to perform the series of complicated dance steps below to figure out that we should
- // simply return 0. Bail now.
+ // In the first layout pass of an auto-height multicol container, height
+ // isn't set. No need to perform the series of complicated dance steps below
+ // to figure out that we should simply return 0. Bail now.
ASSERT(m_fragmentainerGroups.size() == 1);
return LayoutUnit();
}
if (offsetInFlowThread >=
lastRow.logicalTopInFlowThread() + fragmentainerGroupCapacity(lastRow)) {
- // The offset is outside the bounds of the fragmentainer groups that we have established at
- // this point. If we're nested inside another fragmentation context, we need to calculate
- // the height on our own.
+ // The offset is outside the bounds of the fragmentainer groups that we have
+ // established at this point. If we're nested inside another fragmentation
+ // context, we need to calculate the height on our own.
const LayoutMultiColumnFlowThread* flowThread = multiColumnFlowThread();
if (FragmentationContext* enclosingFragmentationContext =
flowThread->enclosingFragmentationContext()) {
- // We'd ideally like to translate |offsetInFlowThread| to an offset in the coordinate
- // space of the enclosing fragmentation context here, but that's hard, since the offset
- // is out of bounds. So just use the bottom we have found so far.
+ // We'd ideally like to translate |offsetInFlowThread| to an offset in the
+ // coordinate space of the enclosing fragmentation context here, but
+ // that's hard, since the offset is out of bounds. So just use the bottom
+ // we have found so far.
LayoutUnit enclosingContextBottom =
lastRow.blockOffsetInEnclosingFragmentationContext() +
lastRow.logicalHeight();
@@ -136,22 +137,23 @@ LayoutUnit LayoutMultiColumnSet::pageRemainingLogicalHeightForOffset(
fragmentainerGroupAtFlowThreadOffset(offsetInFlowThread,
pageBoundaryRule);
LayoutUnit pageLogicalHeight = row.logicalHeight();
- ASSERT(
- pageLogicalHeight); // It's not allowed to call this method if the height is unknown.
+ // It's not allowed to call this method if the height is unknown.
+ DCHECK(pageLogicalHeight);
LayoutUnit pageLogicalBottom =
row.columnLogicalTopForOffset(offsetInFlowThread) + pageLogicalHeight;
LayoutUnit remainingLogicalHeight = pageLogicalBottom - offsetInFlowThread;
if (pageBoundaryRule == AssociateWithFormerPage) {
- // An offset exactly at a column boundary will act as being part of the former column in
- // question (i.e. no remaining space), rather than being part of the latter (i.e. one whole
- // column length of remaining space).
+ // An offset exactly at a column boundary will act as being part of the
+ // former column in question (i.e. no remaining space), rather than being
+ // part of the latter (i.e. one whole column length of remaining space).
remainingLogicalHeight = intMod(remainingLogicalHeight, pageLogicalHeight);
} else if (!remainingLogicalHeight) {
- // When pageBoundaryRule is AssociateWithLatterPage, we should never return 0, because if
- // there's no space left, it means that we should be at a column boundary, in which case we
- // should return the amount of space remaining in the *next* column. But this is not true if
- // the offset is "infinite" (saturated), so allow this to happen in that case.
+ // When pageBoundaryRule is AssociateWithLatterPage, we should never return
+ // 0, because if there's no space left, it means that we should be at a
+ // column boundary, in which case we should return the amount of space
+ // remaining in the *next* column. But this is not true if the offset is
+ // "infinite" (saturated), so allow this to happen in that case.
ASSERT(offsetInFlowThread.mightBeSaturated());
remainingLogicalHeight = pageLogicalHeight;
}
@@ -170,18 +172,18 @@ LayoutUnit LayoutMultiColumnSet::nextLogicalTopForUnbreakableContent(
FragmentationContext* enclosingFragmentationContext =
multiColumnFlowThread()->enclosingFragmentationContext();
if (!enclosingFragmentationContext) {
- // If there's no enclosing fragmentation context, there'll ever be only one row, and all
- // columns there will have the same height.
+ // If there's no enclosing fragmentation context, there'll ever be only one
+ // row, and all columns there will have the same height.
return flowThreadOffset;
}
- // Assert the problematic situation. If we have no problem with the column height, why are we
- // even here?
+ // Assert the problematic situation. If we have no problem with the column
+ // height, why are we even here?
ASSERT(pageLogicalHeightForOffset(flowThreadOffset) < contentLogicalHeight);
// There's a likelihood for subsequent rows to be taller than the first one.
- // TODO(mstensho): if we're doubly nested (e.g. multicol in multicol in multicol), we need to
- // look beyond the first row here.
+ // TODO(mstensho): if we're doubly nested (e.g. multicol in multicol in
+ // multicol), we need to look beyond the first row here.
const MultiColumnFragmentainerGroup& firstRow = firstFragmentainerGroup();
LayoutUnit firstRowLogicalBottomInFlowThread =
firstRow.logicalTopInFlowThread() + fragmentainerGroupCapacity(firstRow);
@@ -192,8 +194,8 @@ LayoutUnit LayoutMultiColumnSet::nextLogicalTopForUnbreakableContent(
firstRow.blockOffsetInEnclosingFragmentationContext() +
firstRow.logicalHeight());
if (contentLogicalHeight > newLogicalHeight) {
- // The next outer column or page doesn't have enough space either. Give up and stay where
- // we are.
+ // The next outer column or page doesn't have enough space either. Give up
+ // and stay where we are.
return flowThreadOffset;
}
return firstRowLogicalBottomInFlowThread;
@@ -232,10 +234,12 @@ bool LayoutMultiColumnSet::hasFragmentainerGroupForColumnAt(
MultiColumnFragmentainerGroup&
LayoutMultiColumnSet::appendNewFragmentainerGroup() {
MultiColumnFragmentainerGroup newGroup(*this);
- { // Extra scope here for previousGroup; it's potentially invalid once we modify the m_fragmentainerGroups Vector.
+ { // Extra scope here for previousGroup; it's potentially invalid once we
+ // modify the m_fragmentainerGroups Vector.
MultiColumnFragmentainerGroup& previousGroup = m_fragmentainerGroups.last();
- // This is the flow thread block offset where |previousGroup| ends and |newGroup| takes over.
+ // This is the flow thread block offset where |previousGroup| ends and
+ // |newGroup| takes over.
LayoutUnit blockOffsetInFlowThread =
previousGroup.logicalTopInFlowThread() +
fragmentainerGroupCapacity(previousGroup);
@@ -250,17 +254,20 @@ LayoutMultiColumnSet::appendNewFragmentainerGroup() {
}
LayoutUnit LayoutMultiColumnSet::logicalTopFromMulticolContentEdge() const {
- // We subtract the position of the first column set or spanner placeholder, rather than the
- // "before" border+padding of the multicol container. This distinction doesn't matter after
- // layout, but during layout it does: The flow thread (i.e. the multicol contents) is laid out
- // before the column sets and spanner placeholders, which means that compesating for a top
- // border+padding that hasn't yet been baked into the offset will produce the wrong results in
- // the first layout pass, and we'd end up performing a wasted layout pass in many cases.
+ // We subtract the position of the first column set or spanner placeholder,
+ // rather than the "before" border+padding of the multicol container. This
+ // distinction doesn't matter after layout, but during layout it does:
+ // The flow thread (i.e. the multicol contents) is laid out before the column
+ // sets and spanner placeholders, which means that compesating for a top
+ // border+padding that hasn't yet been baked into the offset will produce the
+ // wrong results in the first layout pass, and we'd end up performing a wasted
+ // layout pass in many cases.
const LayoutBox& firstColumnBox =
*multiColumnFlowThread()->firstMultiColumnBox();
- // The top margin edge of the first column set or spanner placeholder is flush with the top
- // content edge of the multicol container. The margin here never collapses with other margins,
- // so we can just subtract it. Column sets never have margins, but spanner placeholders may.
+ // The top margin edge of the first column set or spanner placeholder is flush
+ // with the top content edge of the multicol container. The margin here never
+ // collapses with other margins, so we can just subtract it. Column sets never
+ // have margins, but spanner placeholders may.
LayoutUnit firstColumnBoxMarginEdge =
firstColumnBox.logicalTop() -
multiColumnBlockFlow()->marginBeforeForChild(firstColumnBox);
@@ -322,12 +329,13 @@ LayoutRect LayoutMultiColumnSet::overflowRectForFlowThreadPortion(
bool LayoutMultiColumnSet::heightIsAuto() const {
LayoutMultiColumnFlowThread* flowThread = multiColumnFlowThread();
if (!flowThread->isLayoutPagedFlowThread()) {
- // If support for the column-fill property isn't enabled, we want to behave as if
- // column-fill were auto, so that multicol containers with specified height don't get their
- // columns balanced (auto-height multicol containers will still get their columns balanced,
- // even if column-fill isn't 'balance' - in accordance with the spec). Pretending that
- // column-fill is auto also matches the old multicol implementation, which has no support
- // for this property.
+ // If support for the column-fill property isn't enabled, we want to behave
+ // as if column-fill were auto, so that multicol containers with specified
+ // height don't get their columns balanced (auto-height multicol containers
+ // will still get their columns balanced, even if column-fill isn't
+ // 'balance' - in accordance with the spec).
+ // Pretending that column-fill is auto also matches the old multicol
+ // implementation, which has no support for this property.
if (multiColumnBlockFlow()->style()->getColumnFill() == ColumnFillBalance)
return true;
if (LayoutBox* next = nextSiblingBox()) {
@@ -365,9 +373,9 @@ LayoutUnit LayoutMultiColumnSet::pageLogicalTopForOffset(
bool LayoutMultiColumnSet::recalculateColumnHeight() {
if (m_oldLogicalTop != logicalTop() &&
multiColumnFlowThread()->enclosingFragmentationContext()) {
- // Preceding spanners or column sets have been moved or resized. This means that the
- // fragmentainer groups that we have inserted need to be re-inserted. Restart column
- // balancing.
+ // Preceding spanners or column sets have been moved or resized. This means
+ // that the fragmentainer groups that we have inserted need to be
+ // re-inserted. Restart column balancing.
resetColumnHeight();
return true;
}
@@ -387,16 +395,17 @@ void LayoutMultiColumnSet::resetColumnHeight() {
}
void LayoutMultiColumnSet::beginFlow(LayoutUnit offsetInFlowThread) {
- // At this point layout is exactly at the beginning of this set. Store block offset from flow
- // thread start.
+ // At this point layout is exactly at the beginning of this set. Store block
+ // offset from flow thread start.
m_fragmentainerGroups.first().setLogicalTopInFlowThread(offsetInFlowThread);
}
void LayoutMultiColumnSet::endFlow(LayoutUnit offsetInFlowThread) {
- // At this point layout is exactly at the end of this set. Store block offset from flow thread
- // start. This set is now considered "flowed", although we may have to revisit it later (with
- // beginFlow()), e.g. if a subtree in the flow thread has to be laid out over again because the
- // initial margin collapsing estimates were wrong.
+ // At this point layout is exactly at the end of this set. Store block offset
+ // from flow thread start. This set is now considered "flowed", although we
+ // may have to revisit it later (with beginFlow()), e.g. if a subtree in the
+ // flow thread has to be laid out over again because the initial margin
+ // collapsing estimates were wrong.
m_fragmentainerGroups.last().setLogicalBottomInFlowThread(offsetInFlowThread);
}
@@ -404,13 +413,15 @@ void LayoutMultiColumnSet::styleDidChange(StyleDifference diff,
const ComputedStyle* oldStyle) {
LayoutBlockFlow::styleDidChange(diff, oldStyle);
- // column-rule is specified on the parent (the multicol container) of this object, but it's the
- // column sets that are in charge of painting them. A column rule is pretty much like any other
- // box decoration, like borders. We need to say that we have box decorations here, so that the
- // columnn set is invalidated when it gets laid out. We cannot check here whether the multicol
- // container actually has a visible column rule or not, because we may not have been inserted
- // into the tree yet. Painting a column set is cheap anyway, because the only thing it can
- // paint is the column rule, while actual multicol content is handled by the flow thread.
+ // column-rule is specified on the parent (the multicol container) of this
+ // object, but it's the column sets that are in charge of painting them.
+ // A column rule is pretty much like any other box decoration, like borders.
+ // We need to say that we have box decorations here, so that the columnn set
+ // is invalidated when it gets laid out. We cannot check here whether the
+ // multicol container actually has a visible column rule or not, because we
+ // may not have been inserted into the tree yet. Painting a column set is
+ // cheap anyway, because the only thing it can paint is the column rule, while
+ // actual multicol content is handled by the flow thread.
setHasBoxDecorationBackground(true);
}
@@ -451,17 +462,18 @@ PositionWithAffinity LayoutMultiColumnSet::positionForPoint(
LayoutUnit LayoutMultiColumnSet::columnGap() const {
LayoutBlockFlow* parentBlock = multiColumnBlockFlow();
- if (parentBlock->style()->hasNormalColumnGap())
+
+ if (parentBlock->style()->hasNormalColumnGap()) {
+ // "1em" is recommended as the normal gap setting. Matches <p> margins.
return LayoutUnit(
- parentBlock->style()
- ->getFontDescription()
- .computedPixelSize()); // "1em" is recommended as the normal gap setting. Matches <p> margins.
+ parentBlock->style()->getFontDescription().computedPixelSize());
+ }
return LayoutUnit(parentBlock->style()->columnGap());
}
unsigned LayoutMultiColumnSet::actualColumnCount() const {
- // FIXME: remove this method. It's a meaningless question to ask the set "how many columns do
- // you actually have?", since that may vary for each row.
+ // FIXME: remove this method. It's a meaningless question to ask the set "how
+ // many columns do you actually have?", since that may vary for each row.
return firstFragmentainerGroup().actualColumnCount();
}

Powered by Google App Engine
This is Rietveld 408576698