| 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 3de1e264d6c82d0d4b2cccf9a02f19e79ed3eb83..ffabb59fe7cd7ae8e63a0171016ee8bd4d6701a0 100644
|
| --- a/third_party/WebKit/Source/core/layout/ColumnBalancer.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/ColumnBalancer.cpp
|
| @@ -6,6 +6,7 @@
|
|
|
| #include "core/layout/ColumnBalancer.h"
|
|
|
| +#include "core/layout/LayoutMultiColumnFlowThread.h"
|
| #include "core/layout/LayoutMultiColumnSet.h"
|
|
|
| namespace blink {
|
| @@ -273,6 +274,19 @@ void MinimumSpaceShortageFinder::examineBoxAfterEntering(const LayoutBox& box)
|
| recordSpaceShortage(spaceUsedInLastColumn);
|
| }
|
| }
|
| +
|
| + // If this is an inner multicol container, look for space shortage inside it.
|
| + if (!box.isLayoutBlockFlow())
|
| + return;
|
| + LayoutMultiColumnFlowThread* flowThread = toLayoutBlockFlow(box).multiColumnFlowThread();
|
| + if (!flowThread)
|
| + return;
|
| + for (const LayoutMultiColumnSet* columnSet = flowThread->firstMultiColumnSet(); columnSet; columnSet = columnSet->nextSiblingMultiColumnSet()) {
|
| + for (const MultiColumnFragmentainerGroup& row : columnSet->fragmentainerGroups()) {
|
| + MinimumSpaceShortageFinder innerFinder(row);
|
| + recordSpaceShortage(innerFinder.minimumSpaceShortage());
|
| + }
|
| + }
|
| }
|
|
|
| void MinimumSpaceShortageFinder::examineBoxBeforeLeaving(const LayoutBox& box)
|
|
|