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

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

Issue 2398623003: Re-land Reformat comments in core/layout up until LayoutBox (Closed)
Patch Set: Rebase w/HEAD 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/ColumnBalancer.cpp
diff --git a/third_party/WebKit/Source/core/layout/ColumnBalancer.cpp b/third_party/WebKit/Source/core/layout/ColumnBalancer.cpp
index cf0ed98f1c676f5d240305917a64a8b2d2d20fc7..324a81dd84ded1e1cfad0d009ea27efb2d15e2ba 100644
--- a/third_party/WebKit/Source/core/layout/ColumnBalancer.cpp
+++ b/third_party/WebKit/Source/core/layout/ColumnBalancer.cpp
@@ -40,12 +40,13 @@ void ColumnBalancer::traverseSubtree(const LayoutBox& box) {
const LayoutFlowThread* flowThread = columnSet().flowThread();
bool isHorizontalWritingMode = flowThread->isHorizontalWritingMode();
- // The break-after value from the previous in-flow block-level object to be joined with the
- // break-before value of the next in-flow block-level sibling.
+ // The break-after value from the previous in-flow block-level object to be
+ // joined with the break-before value of the next in-flow block-level sibling.
EBreak previousBreakAfterValue = BreakAuto;
- // Look for breaks between and inside block-level children. Even if this is a block flow with
- // inline children, there may be interesting floats to examine here.
+ // Look for breaks between and inside block-level children. Even if this is a
+ // block flow with inline children, there may be interesting floats to examine
+ // here.
for (const LayoutObject* child = box.slowFirstChild(); child;
child = child->nextSibling()) {
if (!child->isBox() || child->isInline())
@@ -65,21 +66,23 @@ void ColumnBalancer::traverseSubtree(const LayoutBox& box) {
(isHorizontalWritingMode ? overflowRect.y() : overflowRect.x());
if (m_flowThreadOffset + childLogicalTopWithOverflow >=
logicalBottomInFlowThread()) {
- // This child is fully below the flow thread portion we're examining. We cannot just
- // stop here, though, thanks to negative margins. So keep looking.
+ // This child is fully below the flow thread portion we're examining. We
+ // cannot just stop here, though, thanks to negative margins.
+ // So keep looking.
continue;
}
if (childBox.isOutOfFlowPositioned() || childBox.isColumnSpanAll())
continue;
- // Tables are wicked. Both table rows and table cells are relative to their table section.
+ // Tables are wicked. Both table rows and table cells are relative to their
+ // table section.
LayoutUnit offsetForThisChild =
childBox.isTableRow() ? LayoutUnit() : childBox.logicalTop();
m_flowThreadOffset += offsetForThisChild;
examineBoxAfterEntering(childBox, previousBreakAfterValue);
- // Unless the child is unsplittable, or if the child establishes an inner multicol
- // container, we descend into its subtree for further examination.
+ // Unless the child is unsplittable, or if the child establishes an inner
+ // multicol container, we descend into its subtree for further examination.
if (childBox.getPaginationBreakability() != LayoutBox::ForbidBreaks &&
(!childBox.isLayoutBlockFlow() ||
!toLayoutBlockFlow(childBox).multiColumnFlowThread()))
@@ -102,8 +105,9 @@ InitialColumnHeightFinder::InitialColumnHeightFinder(
for (auto& strut : m_shortestStruts)
strut = LayoutUnit::max();
traverse();
- // We have now found each explicit / forced break, and their location. Now we need to figure out
- // how many additional implicit / soft breaks we need and guess where they will occur, in order
+ // We have now found each explicit / forced break, and their location. Now we
+ // need to figure out how many additional implicit / soft breaks we need and
+ // guess where they will occur, in order
// to provide an initial column height.
distributeImplicitBreaks();
}
@@ -138,7 +142,8 @@ void InitialColumnHeightFinder::examineBoxAfterEntering(
std::max(m_tallestUnbreakableLogicalHeight, unsplittableLogicalHeight);
return;
}
- // Need to examine inner multicol containers to find their tallest unbreakable piece of content.
+ // Need to examine inner multicol containers to find their tallest unbreakable
+ // piece of content.
if (!box.isLayoutBlockFlow())
return;
LayoutMultiColumnFlowThread* innerFlowThread =
@@ -159,8 +164,8 @@ void InitialColumnHeightFinder::examineBoxBeforeLeaving(const LayoutBox& box) {}
static inline LayoutUnit columnLogicalHeightRequirementForLine(
const ComputedStyle& style,
const RootInlineBox& lastLine) {
- // We may require a certain minimum number of lines per page in order to satisfy
- // orphans and widows, and that may affect the minimum page height.
+ // We may require a certain minimum number of lines per page in order to
+ // satisfy orphans and widows, and that may affect the minimum page height.
unsigned minimumLineCount =
std::max<unsigned>(style.orphans(), style.widows());
const RootInlineBox* firstLine = &lastLine;
@@ -220,8 +225,8 @@ void InitialColumnHeightFinder::addContentRun(
if (!m_contentRuns.isEmpty() &&
endOffsetInFlowThread <= m_contentRuns.last().breakOffset())
return;
- // Append another item as long as we haven't exceeded used column count. What ends up in the
- // overflow area shouldn't affect column balancing.
+ // Append another item as long as we haven't exceeded used column count. What
+ // ends up in the overflow area shouldn't affect column balancing.
if (m_contentRuns.size() < columnSet().usedColumnCount())
m_contentRuns.append(ContentRun(endOffsetInFlowThread));
}
@@ -245,17 +250,18 @@ unsigned InitialColumnHeightFinder::contentRunIndexWithTallestColumns() const {
}
void InitialColumnHeightFinder::distributeImplicitBreaks() {
- // Insert a final content run to encompass all content. This will include overflow if we're at
- // the end of the multicol container.
+ // Insert a final content run to encompass all content. This will include
+ // overflow if we're at the end of the multicol container.
addContentRun(logicalBottomInFlowThread());
unsigned columnCount = m_contentRuns.size();
- // If there is room for more breaks (to reach the used value of column-count), imagine that we
- // insert implicit breaks at suitable locations. At any given time, the content run with the
- // currently tallest columns will get another implicit break "inserted", which will increase its
- // column count by one and shrink its columns' height. Repeat until we have the desired total
- // number of breaks. The largest column height among the runs will then be the initial column
- // height for the balancer to use.
+ // If there is room for more breaks (to reach the used value of column-count),
+ // imagine that we insert implicit breaks at suitable locations. At any given
+ // time, the content run with the currently tallest columns will get another
+ // implicit break "inserted", which will increase its column count by one and
+ // shrink its columns' height. Repeat until we have the desired total number
+ // of breaks. The largest column height among the runs will then be the
+ // initial column height for the balancer to use.
while (columnCount < columnSet().usedColumnCount()) {
unsigned index = contentRunIndexWithTallestColumns();
m_contentRuns[index].assumeAnotherImplicitBreak();
@@ -291,15 +297,17 @@ void MinimumSpaceShortageFinder::examineBoxAfterEntering(
if (isFirstAfterBreak(flowThreadOffset())) {
// This box is first after a soft break.
LayoutUnit strut = box.paginationStrut();
- // Figure out how much more space we would need to prevent it from being pushed to the next column.
+ // Figure out how much more space we would need to prevent it from being
+ // pushed to the next column.
recordSpaceShortage(box.logicalHeight() - strut);
if (breakability != LayoutBox::ForbidBreaks &&
m_pendingStrut == LayoutUnit::min()) {
- // We now want to look for the first piece of unbreakable content (e.g. a line or a
- // block-displayed image) inside this block. That ought to be a good candidate for
- // minimum space shortage; a much better one than reporting space shortage for the
- // entire block (which we'll also do (further down), in case we couldn't find anything
- // more suitable).
+ // We now want to look for the first piece of unbreakable content
+ // (e.g. a line or a block-displayed image) inside this block. That
+ // ought to be a good candidate for minimum space shortage; a much
+ // better one than reporting space shortage for the entire block
+ // (which we'll also do (further down), in case we couldn't find
+ // anything more suitable).
m_pendingStrut = strut;
}
}
@@ -314,11 +322,12 @@ void MinimumSpaceShortageFinder::examineBoxAfterEntering(
if (isFirstAfterBreak(flowThreadOffset()) ||
group.columnLogicalTopForOffset(flowThreadOffset()) !=
group.columnLogicalTopForOffset(bottomInFlowThread)) {
- // If the child crosses a column boundary, record space shortage, in case nothing
- // inside it has already done so. The column balancer needs to know by how much it
- // has to stretch the columns to make more content fit. If no breaks are reported
- // (but do occur), the balancer will have no clue. Only measure the space after the
- // last column boundary, in case it crosses more than one.
+ // If the child crosses a column boundary, record space shortage, in case
+ // nothing inside it has already done so. The column balancer needs to
+ // know by how much it has to stretch the columns to make more content
+ // fit. If no breaks are reported (but do occur), the balancer will have
+ // no clue. Only measure the space after the last column boundary, in case
+ // it crosses more than one.
LayoutUnit spaceUsedInLastColumn =
bottomInFlowThread -
group.columnLogicalTopForOffset(bottomInFlowThread);
@@ -336,10 +345,10 @@ void MinimumSpaceShortageFinder::examineBoxAfterEntering(
for (const LayoutMultiColumnSet* columnSet =
flowThread->firstMultiColumnSet();
columnSet; columnSet = columnSet->nextSiblingMultiColumnSet()) {
- // Establish an inner shortage finder for this column set in the inner multicol
- // container. We need to let it walk through all fragmentainer groups in one go, or we'd
- // miss the column boundaries between each fragmentainer group. We need to record space
- // shortage there too.
+ // Establish an inner shortage finder for this column set in the inner
+ // multicol container. We need to let it walk through all fragmentainer
+ // groups in one go, or we'd miss the column boundaries between each
+ // fragmentainer group. We need to record space shortage there too.
MinimumSpaceShortageFinder innerFinder(
*columnSet, columnSet->logicalTopInFlowThread(),
columnSet->logicalBottomInFlowThread());
@@ -352,9 +361,10 @@ void MinimumSpaceShortageFinder::examineBoxBeforeLeaving(const LayoutBox& box) {
box.getPaginationBreakability() != LayoutBox::ForbidBreaks)
return;
- // The previous break was before a breakable block. Here's the first piece of unbreakable
- // content after / inside that block. We want to record the distance from the top of the column
- // to the bottom of this box as space shortage.
+ // The previous break was before a breakable block. Here's the first piece of
+ // unbreakable content after / inside that block. We want to record the
+ // distance from the top of the column to the bottom of this box as space
+ // shortage.
LayoutUnit logicalOffsetFromCurrentColumn =
offsetFromColumnLogicalTop(flowThreadOffset());
recordSpaceShortage(logicalOffsetFromCurrentColumn + box.logicalHeight() -
@@ -367,9 +377,9 @@ void MinimumSpaceShortageFinder::examineLine(const RootInlineBox& line) {
LayoutUnit lineTopInFlowThread = flowThreadOffset() + lineTop;
LayoutUnit lineHeight = line.lineBottomWithLeading() - lineTop;
if (m_pendingStrut != LayoutUnit::min()) {
- // The previous break was before a breakable block. Here's the first line after / inside
- // that block. We want to record the distance from the top of the column to the bottom of
- // this box as space shortage.
+ // The previous break was before a breakable block. Here's the first line
+ // after / inside that block. We want to record the distance from the top of
+ // the column to the bottom of this box as space shortage.
LayoutUnit logicalOffsetFromCurrentColumn =
offsetFromColumnLogicalTop(lineTopInFlowThread);
recordSpaceShortage(logicalOffsetFromCurrentColumn + lineHeight -
@@ -383,9 +393,10 @@ void MinimumSpaceShortageFinder::examineLine(const RootInlineBox& line) {
if (isFirstAfterBreak(lineTopInFlowThread))
recordSpaceShortage(lineHeight - line.paginationStrut());
- // Even if the line box itself fits fine inside a column, some content may overflow the line
- // box bottom (due to restrictive line-height, for instance). We should check if some portion
- // of said overflow ends up in the next column. That counts as space shortage.
+ // Even if the line box itself fits fine inside a column, some content may
+ // overflow the line box bottom (due to restrictive line-height, for
+ // instance). We should check if some portion of said overflow ends up in the
+ // next column. That counts as space shortage.
const MultiColumnFragmentainerGroup& group =
groupAtOffset(lineTopInFlowThread);
LayoutUnit lineBottomWithOverflow =
« no previous file with comments | « third_party/WebKit/Source/core/layout/ColumnBalancer.h ('k') | third_party/WebKit/Source/core/layout/CounterNode.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698