summaryrefslogtreecommitdiffstats
path: root/layout/base
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2020-04-17 06:38:06 -0400
committerMatt A. Tobin <email@mattatobin.com>2020-04-17 06:38:06 -0400
commit55d83ea6f9aa9d99963a4d1fb1f96a3b633ede49 (patch)
tree3c17687760f5519341c84fb4436720d5f4bf0f98 /layout/base
parent48f602e65b0bcb10e3a8367dbbb70185e2e33125 (diff)
downloadUXP-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.cpp8
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()) ||