mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-22 15:17:29 +09:00
Issue #2137 - Part 4: Fix namespace regression
This commit is contained in:
parent
b257a71cce
commit
ef36c56593
1 changed files with 11 additions and 6 deletions
|
|
@ -118,7 +118,8 @@ enum class SelectorParsingFlags {
|
||||||
eIsNegated = 1 << 0,
|
eIsNegated = 1 << 0,
|
||||||
eIsForgiving = 1 << 1,
|
eIsForgiving = 1 << 1,
|
||||||
eDisallowCombinators = 1 << 2,
|
eDisallowCombinators = 1 << 2,
|
||||||
eDisallowPseudoElements = 1 << 3
|
eDisallowPseudoElements = 1 << 3,
|
||||||
|
eInheritNamespace = 1 << 4
|
||||||
};
|
};
|
||||||
MOZ_MAKE_ENUM_CLASS_BITWISE_OPERATORS(SelectorParsingFlags)
|
MOZ_MAKE_ENUM_CLASS_BITWISE_OPERATORS(SelectorParsingFlags)
|
||||||
|
|
||||||
|
|
@ -5786,8 +5787,10 @@ CSSParserImpl::ParseTypeOrUniversalSelector(int32_t& aDataMask,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
if (!(aFlags & SelectorParsingFlags::eInheritNamespace)) {
|
||||||
SetDefaultNamespaceOnSelector(aSelector);
|
SetDefaultNamespaceOnSelector(aSelector);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (aFlags & SelectorParsingFlags::eIsNegated) {
|
if (aFlags & SelectorParsingFlags::eIsNegated) {
|
||||||
// restore last token read in case of a negated type selector
|
// restore last token read in case of a negated type selector
|
||||||
|
|
@ -6622,6 +6625,8 @@ CSSParserImpl::ParsePseudoClassWithSelectorListArg(nsCSSSelector& aSelector,
|
||||||
aFlags |= SelectorParsingFlags::eIsForgiving;
|
aFlags |= SelectorParsingFlags::eIsForgiving;
|
||||||
} else if (isSingleSelector || aType == CSSPseudoClassType::mozAny) {
|
} else if (isSingleSelector || aType == CSSPseudoClassType::mozAny) {
|
||||||
aFlags |= SelectorParsingFlags::eDisallowCombinators;
|
aFlags |= SelectorParsingFlags::eDisallowCombinators;
|
||||||
|
} else if (aType == CSSPseudoClassType::negation) {
|
||||||
|
aFlags |= SelectorParsingFlags::eInheritNamespace;
|
||||||
}
|
}
|
||||||
aFlags |= SelectorParsingFlags::eDisallowPseudoElements;
|
aFlags |= SelectorParsingFlags::eDisallowPseudoElements;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue