void RenderFlowThread::collectLayerFragments(LayerFragments& layerFragments, const LayoutRect& layerBoundingBox, const LayoutRect& dirtyRect) { ASSERT(!m_regionsInvalidated); for (RenderMultiColumnSetList::const_iterator iter = m_multiColumnSetList.begin(); iter != m_multiColumnSetList.end(); ++iter) { RenderMultiColumnSet* columnSet = *iter; columnSet->collectLayerFragments(layerFragments, layerBoundingBox, dirtyRect); } }
LayoutRect RenderFlowThread::fragmentsBoundingBox(const LayoutRect& layerBoundingBox) { ASSERT(!m_regionsInvalidated); LayoutRect result; for (RenderMultiColumnSetList::const_iterator iter = m_multiColumnSetList.begin(); iter != m_multiColumnSetList.end(); ++iter) { RenderMultiColumnSet* columnSet = *iter; LayerFragments fragments; columnSet->collectLayerFragments(fragments, layerBoundingBox, PaintInfo::infiniteRect()); for (size_t i = 0; i < fragments.size(); ++i) { const LayerFragment& fragment = fragments.at(i); LayoutRect fragmentRect(layerBoundingBox); fragmentRect.intersect(fragment.paginationClip); fragmentRect.moveBy(fragment.paginationOffset); result.unite(fragmentRect); } } return result; }