Index: third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp |
diff --git a/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp b/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp |
index 21f77974b4d1972111d3706080b499877612f2c9..d98cbd86379dc88a892b72ac056d17a23686a3f3 100644 |
--- a/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp |
+++ b/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp |
@@ -887,7 +887,10 @@ PseudoElement* StyleResolver::createPseudoElementIfNeeded(Element& parent, Pseud |
if (pseudoId == PseudoIdFirstLetter && (parent.isSVGElement() || !FirstLetterPseudoElement::firstLetterTextLayoutObject(parent))) |
return nullptr; |
- if (!canHaveGeneratedChildren(*parentLayoutObject)) |
+ // The backdrop pseudo element generates a new stacking context and its |
+ // layout object does not become a child of |parentLayoutObject|. The |
+ // exemption is needed so that replaced content also gets a backdrop. |
+ if (pseudoId != PseudoIdBackdrop && !canHaveGeneratedChildren(*parentLayoutObject)) |
return nullptr; |
ComputedStyle* parentStyle = parentLayoutObject->mutableStyle(); |