// This helper function adds a region to a list preserving the order property of the list. static void addFragmentToList(RenderRegionList& regionList, RenderNamedFlowFragment* renderNamedFlowFragment) { if (regionList.isEmpty()) regionList.add(renderNamedFlowFragment); else { // Find the first region "greater" than renderNamedFlowFragment. auto it = regionList.begin(); while (it != regionList.end() && !compareRenderNamedFlowFragments(renderNamedFlowFragment, toRenderNamedFlowFragment(*it))) ++it; regionList.insertBefore(it, renderNamedFlowFragment); } }
// This helper function adds a region to a list preserving the order property of the list. static void addRegionToList(RenderRegionList& regionList, RenderRegion* renderRegion) { if (regionList.isEmpty()) regionList.add(renderRegion); else { // Find the first region "greater" than renderRegion. RenderRegionList::iterator it = regionList.begin(); while (it != regionList.end() && !compareRenderRegions(renderRegion, *it)) ++it; regionList.insertBefore(it, renderRegion); } }
static void writeRenderRegionList(const RenderRegionList& flowThreadRegionList, TextStream& ts, int indent) { for (RenderRegionList::const_iterator itRR = flowThreadRegionList.begin(); itRR != flowThreadRegionList.end(); ++itRR) { RenderRegion* renderRegion = *itRR; writeIndent(ts, indent + 2); ts << "RenderRegion"; if (renderRegion->generatingNode()) { String tagName = getTagName(renderRegion->generatingNode()); if (!tagName.isEmpty()) ts << " {" << tagName << "}"; if (renderRegion->generatingNode()->isElementNode() && renderRegion->generatingNode()->hasID()) { Element* element = static_cast<Element*>(renderRegion->generatingNode()); ts << " #" << element->idForStyleResolution(); } if (renderRegion->hasCustomRegionStyle()) ts << " region style: 1"; if (renderRegion->hasAutoLogicalHeight()) ts << " hasAutoLogicalHeight"; } if (!renderRegion->isValid()) ts << " invalid"; ts << "\n"; } }