1
0
mirror of https://github.com/roytam1/UXP.git synced 2026-05-26 22:58:36 +00:00

Bug 1343879 - Be consistent about the parent style context the document-level anonymous content container should get: it should get no parent style context.

Tag #1375
This commit is contained in:
Matt A. Tobin
2020-04-16 17:54:38 -04:00
committed by Roy Tam
parent 484b481031
commit 87bc2cab4e
+14 -8
View File
@@ -10751,16 +10751,22 @@ nsCSSFrameConstructor::AddFCItemsForAnonymousContent(
}
}
if (inheritFrame->GetType() == nsGkAtoms::canvasFrame) {
// CorrectStyleParentFrame returns nullptr if the prospective parent is
// the canvas frame, so avoid calling it in that situation.
} else {
inheritFrame = nsFrame::CorrectStyleParentFrame(inheritFrame, pseudo);
}
Element* originating = pseudo ? inheritFrame->GetContent()->AsElement() : nullptr;
nsIFrame* styleParentFrame =
nsFrame::CorrectStyleParentFrame(inheritFrame, pseudo);
// The only way we can not have a style parent now is if inheritFrame is the
// canvas frame and we're the NAC parent for all the things added via
// nsIDocument::InsertAnonymousContent.
MOZ_ASSERT_IF(!styleParentFrame,
inheritFrame->GetType() == nsGkAtoms::canvasFrame);
// And that anonymous div has no pseudo.
MOZ_ASSERT_IF(!styleParentFrame, !pseudo);
Element* originating =
pseudo ? styleParentFrame->GetContent()->AsElement() : nullptr;
nsStyleContext* parentStyle =
styleParentFrame ? styleParentFrame->StyleContext() : nullptr;
styleContext =
ResolveStyleContext(inheritFrame->StyleContext(), content, &aState, originating);
ResolveStyleContext(parentStyle, content, &aState, originating);
nsTArray<nsIAnonymousContentCreator::ContentInfo>* anonChildren = nullptr;
if (!aAnonymousItems[i].mChildren.IsEmpty()) {