Bug 1388626. Restyle ::-moz-xul-anonymous-block as needed with stylo. r=heycam

MozReview-Commit-ID: KZ0s1x60VBx

--HG--
extra : rebase_source : d7103464e7563ae7105417f254609cb22481e0e3
This commit is contained in:
Boris Zbarsky 2017-08-09 16:43:47 -04:00
Родитель d2109610fb
Коммит 60cd46bdce
3 изменённых файлов: 16 добавлений и 0 удалений

Просмотреть файл

@ -11385,6 +11385,9 @@ nsCSSFrameConstructor::ProcessChildren(nsFrameConstructorState& aState,
aFrameItems.AddChild(blockFrame);
aFrame->AddStateBits(NS_STATE_BOX_WRAPS_KIDS_IN_BLOCK);
MOZ_ASSERT(!aFrame->IsLeaf(),
"Why do we have an nsLeafBoxFrame here?");
aFrame->AddStateBits(NS_FRAME_OWNS_ANON_BOXES);
}
}

Просмотреть файл

@ -1908,6 +1908,14 @@ nsBoxFrame::SupportsOrdinalsInChildren()
return true;
}
void
nsBoxFrame::AppendDirectlyOwnedAnonBoxes(nsTArray<OwnedAnonBox>& aResult)
{
if (GetStateBits() & NS_STATE_BOX_WRAPS_KIDS_IN_BLOCK) {
aResult.AppendElement(OwnedAnonBox(PrincipalChildList().FirstChild()));
}
}
// Helper less-than-or-equal function, used in CheckBoxOrder() as a
// template-parameter for the sorting functions.
bool

Просмотреть файл

@ -171,6 +171,11 @@ public:
*/
virtual bool SupportsOrdinalsInChildren();
/**
* Return our wrapper block, if any.
*/
void AppendDirectlyOwnedAnonBoxes(nsTArray<OwnedAnonBox>& aResult) override;
private:
explicit nsBoxFrame(nsStyleContext* aContext)
: nsBoxFrame(aContext, kClassID, false, nullptr) {}