| Index: Source/core/layout/LayoutObject.cpp
|
| diff --git a/Source/core/layout/LayoutObject.cpp b/Source/core/layout/LayoutObject.cpp
|
| index a0226eb958021a42b1e21d3aa65c83f93f9ee12c..22f34b4b5a918548b8158d669f200b8e1dcb3779 100644
|
| --- a/Source/core/layout/LayoutObject.cpp
|
| +++ b/Source/core/layout/LayoutObject.cpp
|
| @@ -669,25 +669,7 @@ LayoutFlowThread* LayoutObject::locateFlowThreadContainingBlock() const
|
| }
|
|
|
| // Not in the middle of layout so have to find the thread the slow way.
|
| - LayoutObject* curr = const_cast<LayoutObject*>(this);
|
| - while (curr) {
|
| - if (curr->isSVG() && !curr->isSVGRoot())
|
| - return nullptr;
|
| - if (curr->isLayoutFlowThread())
|
| - return toLayoutFlowThread(curr);
|
| - LayoutObject* container = curr->container();
|
| - curr = curr->parent();
|
| - while (curr != container) {
|
| - if (curr->isLayoutFlowThread()) {
|
| - // The nearest ancestor flow thread isn't in our containing block chain. Then we
|
| - // aren't really part of any flow thread, and we should stop looking. This happens
|
| - // when there are out-of-flow objects or column spanners.
|
| - return nullptr;
|
| - }
|
| - curr = curr->parent();
|
| - }
|
| - }
|
| - return nullptr;
|
| + return LayoutFlowThread::locateFlowThreadContainingBlockOf(*this);
|
| }
|
|
|
| // FIXME: This could be used when changing the size of a layoutObject without children to skip some invalidations.
|
|
|