Chromium Code Reviews| 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 1961ee2b71074feb66eb0e58fcbea1b8ba00d91b..89a5abb6336cc1a2bce2221d6794c02983864d61 100644 |
| --- a/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp |
| +++ b/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp |
| @@ -267,8 +267,14 @@ static void MatchHostRules(const Element& element, |
| static void MatchSlottedRules(const Element& element, |
| ElementRuleCollector& collector) { |
| HTMLSlotElement* slot = element.AssignedSlot(); |
| - if (!slot) |
| - return; |
| + if (!slot) { |
| + // Check if |element| is a fallback content. |
| + Element* parent = element.parentElement(); |
| + if (!parent || !isHTMLSlotElement(parent) || |
| + !toHTMLSlotElement(parent)->AssignedNodes().IsEmpty()) |
| + return; |
| + slot = toHTMLSlotElement(parent); |
| + } |
|
hayato
2017/04/13 05:50:40
I don't think this is correct. Can this handle nes
kochi
2017/04/14 02:15:13
Good catch, let me work on it.
|
| HeapVector<Member<ScopedStyleResolver>> resolvers; |
| for (; slot; slot = slot->AssignedSlot()) { |