// Collect the fixed positioned layers that have the named flows as containing block
// These layers are painted and hit-tested starting from RenderView not from regions.
void FlowThreadController::collectFixedPositionedLayers(Vector<RenderLayer*>& fixedPosLayers) const
{
    for (auto iter = m_renderNamedFlowThreadList->begin(), end = m_renderNamedFlowThreadList->end(); iter != end; ++iter) {
        RenderNamedFlowThread* flowRenderer = *iter;

        // If the named flow does not have any regions attached, a fixed element should not be
        // displayed even if the fixed element is positioned/sized by the viewport.
        if (!flowRenderer->hasRegions())
            continue;

        // Iterate over the fixed positioned elements in the flow thread
        TrackedRendererListHashSet* positionedDescendants = flowRenderer->positionedObjects();
        if (positionedDescendants) {
            for (auto it = positionedDescendants->begin(), end = positionedDescendants->end(); it != end; ++it) {
                RenderBox* box = *it;
                if (!box->fixedPositionedWithNamedFlowContainingBlock())
                    continue;
                fixedPosLayers.append(box->layer());
            }
        }
    }
}