Bug 1353888 part 2: Assert that CSSOrderAwareFrameIterator is only used on flex/grid children. r?mats
MozReview-Commit-ID: 1uUj9XESHjB
--- a/layout/generic/CSSOrderAwareFrameIterator.h
+++ b/layout/generic/CSSOrderAwareFrameIterator.h
@@ -73,16 +73,24 @@ public:
, mArrayIndex(0)
, mItemIndex(0)
, mSkipPlaceholders(aFilter == eSkipPlaceholders)
#ifdef DEBUG
, mContainer(aContainer)
, mListID(aListID)
#endif
{
+#ifdef DEBUG
+ {
+ const nsIAtom* type = aContainer->GetType();
+ MOZ_ASSERT(type == nsGkAtoms::flexContainerFrame ||
+ type == nsGkAtoms::gridContainerFrame,
+ "Only use this iterator in a container that honors 'order'");
+ }
+#endif
size_t count = 0;
bool isOrdered = aState != eKnownUnordered;
if (aState == eUnknownOrder) {
auto maxOrder = std::numeric_limits<int32_t>::min();
for (auto child : mChildren) {
++count;
int32_t order;