Issue #1593 - Follow-up: :host() should not automatically match if we have a non-empty selector list

This commit is contained in:
FranklinDM 2023-02-19 23:38:20 +08:00 committed by roytam1
commit 9bebb3a61a

View file

@ -1960,15 +1960,15 @@ static bool SelectorMatches(Element* aElement,
// selector.
// We match automatically if GetParent() and GetShadowRoot() have
// the same result. Without special casing this ahead of all other
// selector matching, it fails. Have not determined the cause.
if (aElement->GetParent() == aElement->GetShadowRoot()) {
// the same result iff our selector list is empty. Without special
// casing this ahead of all other selector matching, it fails.
// Have not determined the cause.
if (!pseudoClass->u.mSelectorList &&
aElement->GetParent() == aElement->GetShadowRoot()) {
break;
}
// Match if any selector in the argument list matches.
NodeMatchContext nodeContext(EventStates(),
nsCSSRuleProcessor::IsLink(aElement));
if (SelectorListMatches(aElement,