| Index: third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp b/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp
|
| index cb2ddbe16713106f5bbe855a283726a29aa28536..ece931003e5925c639f174f182d944a96faddf10 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp
|
| @@ -1163,12 +1163,19 @@ void LayoutBlockFlow::layoutBlockChildren(bool relayoutChildren, SubtreeLayoutSc
|
|
|
| LayoutObject* childToExclude = layoutSpecialExcludedChild(relayoutChildren, layoutScope);
|
|
|
| - LayoutBox* next = firstChildBox();
|
| + // TODO(foolip): Speculative CHECKs to crash if any non-LayoutBox
|
| + // children ever appear, the childrenInline() check at the call site
|
| + // should make this impossible. crbug.com/632848
|
| + LayoutObject* firstChild = this->firstChild();
|
| + CHECK(!firstChild || firstChild->isBox());
|
| + LayoutBox* next = toLayoutBox(firstChild);
|
| LayoutBox* lastNormalFlowChild = nullptr;
|
|
|
| while (next) {
|
| LayoutBox* child = next;
|
| - next = child->nextSiblingBox();
|
| + LayoutObject* nextSibling = child->nextSibling();
|
| + CHECK(!nextSibling || nextSibling->isBox());
|
| + next = toLayoutBox(nextSibling);
|
|
|
| child->setMayNeedPaintInvalidation();
|
|
|
|
|