Revert "Issue #3024 - First pass support for :host and :host-context"

This reverts commit 4cc56c2cb6.
This commit is contained in:
roytam1 2022-04-21 21:51:52 +08:00
commit ecdf4bfb29
12 changed files with 34 additions and 358 deletions

View file

@ -148,8 +148,7 @@ nsPseudoClassList::nsPseudoClassList(CSSPseudoClassType aType,
: mType(aType),
mNext(nullptr)
{
NS_ASSERTION(nsCSSPseudoClasses::HasSelectorListArg(aType) ||
nsCSSPseudoClasses::HasOptionalSelectorListArg(aType),
NS_ASSERTION(nsCSSPseudoClasses::HasSelectorListArg(aType),
"unexpected pseudo-class");
NS_ASSERTION(aSelectorList, "selector list expected");
MOZ_COUNT_CTOR(nsPseudoClassList);
@ -314,7 +313,6 @@ nsCSSSelector::nsCSSSelector(void)
mPseudoClassList(nullptr),
mAttrList(nullptr),
mNegations(nullptr),
mExplicitUniversal(false),
mNext(nullptr),
mNameSpace(kNameSpaceID_Unknown),
mOperator(0),
@ -384,17 +382,6 @@ void nsCSSSelector::Reset(void)
mOperator = char16_t(0);
}
bool nsCSSSelector::HasFeatureSelectors()
{
return mExplicitUniversal || mLowercaseTag || mCasedTag ||
mIDList || mClassList || mAttrList;
}
void nsCSSSelector::SetHasExplicitUniversal()
{
mExplicitUniversal = true;
}
void nsCSSSelector::SetNameSpace(int32_t aNameSpace)
{
mNameSpace = aNameSpace;
@ -763,9 +750,9 @@ nsCSSSelector::AppendToStringWithoutCombinatorsOrNegations
// Universal selector: avoid writing the universal selector when we
// can avoid it, especially since we're required to avoid it for the
// inside of :not()
if (wroteNamespace || mExplicitUniversal ||
if (wroteNamespace ||
(!mIDList && !mClassList && !mPseudoClassList && !mAttrList &&
aIsNegated)) {
(aIsNegated || !mNegations))) {
aString.Append(char16_t('*'));
}
} else {
@ -773,7 +760,9 @@ nsCSSSelector::AppendToStringWithoutCombinatorsOrNegations
nsAutoString tag;
(isPseudoElement ? mLowercaseTag : mCasedTag)->ToString(tag);
if (isPseudoElement) {
if (mExplicitUniversal) {
if (!mNext) {
// Lone pseudo-element selector -- toss in a wildcard type selector
// XXXldb Why?
aString.Append(char16_t('*'));
}
// While our atoms use one colon, most pseudo-elements require two