diff options
author | Matt A. Tobin <email@mattatobin.com> | 2020-04-17 06:38:06 -0400 |
---|---|---|
committer | Matt A. Tobin <email@mattatobin.com> | 2020-04-17 06:38:06 -0400 |
commit | 55d83ea6f9aa9d99963a4d1fb1f96a3b633ede49 (patch) | |
tree | 3c17687760f5519341c84fb4436720d5f4bf0f98 /layout/base | |
parent | 48f602e65b0bcb10e3a8367dbbb70185e2e33125 (diff) | |
download | UXP-55d83ea6f9aa9d99963a4d1fb1f96a3b633ede49.tar UXP-55d83ea6f9aa9d99963a4d1fb1f96a3b633ede49.tar.gz UXP-55d83ea6f9aa9d99963a4d1fb1f96a3b633ede49.tar.lz UXP-55d83ea6f9aa9d99963a4d1fb1f96a3b633ede49.tar.xz UXP-55d83ea6f9aa9d99963a4d1fb1f96a3b633ede49.zip |
Bug 1381134 - Ensure we're using the correct frame for the :after/:before references
Tag #1375
Diffstat (limited to 'layout/base')
-rw-r--r-- | layout/base/nsCSSFrameConstructor.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/layout/base/nsCSSFrameConstructor.cpp b/layout/base/nsCSSFrameConstructor.cpp index 1341f9633..85f53a820 100644 --- a/layout/base/nsCSSFrameConstructor.cpp +++ b/layout/base/nsCSSFrameConstructor.cpp @@ -6076,12 +6076,10 @@ nsCSSFrameConstructor::AddFrameConstructionItemsInternal(nsFrameConstructorState static void AddGenConPseudoToFrame(nsIFrame* aOwnerFrame, nsIContent* aContent) { - NS_ASSERTION(nsLayoutUtils::IsFirstContinuationOrIBSplitSibling(aOwnerFrame), - "property should only be set on first continuation/ib-sibling"); - // FIXME(emilio): Remove this property, and use the frame of the generated // content itself to tear the content down? It should be quite simpler. + aOwnerFrame = nsLayoutUtils::FirstContinuationOrIBSplitSibling(aOwnerFrame); nsIFrame::ContentArray* value = aOwnerFrame->GetProperty(nsIFrame::GenConProperty()); if (!value) { @@ -6343,7 +6341,9 @@ AdjustAppendParentForAfterContent(nsFrameManager* aFrameManager, // frames to find the first one that is either a ::after frame for an // ancestor of aChild or a frame that is for a node later in the // document than aChild and return that in aAfterFrame. - if (aParentFrame->GetProperty(nsIFrame::GenConProperty()) || + nsIFrame* afterBeforeOwnerFrame = + nsLayoutUtils::FirstContinuationOrIBSplitSibling(aParentFrame); + if (afterBeforeOwnerFrame->GetProperty(nsIFrame::GenConProperty()) || nsLayoutUtils::HasPseudoStyle(aContainer, aParentFrame->StyleContext(), CSSPseudoElementType::after, aParentFrame->PresContext()) || |