Bug 1244049 - Part 1: Define scoped enum for CSSPseudoElement type. r=dbaron
This commit is contained in:
@@ -911,7 +911,7 @@ struct RuleCascadeData {
|
||||
|
||||
RuleHash mRuleHash;
|
||||
RuleHash*
|
||||
mPseudoElementRuleHashes[nsCSSPseudoElements::ePseudo_PseudoElementCount];
|
||||
mPseudoElementRuleHashes[static_cast<uint8_t>(CSSPseudoElementType::Count)];
|
||||
nsTArray<nsCSSRuleProcessor::StateSelector> mStateSelectors;
|
||||
EventStates mSelectorDocumentStates;
|
||||
PLDHashTable mClassSelectors;
|
||||
@@ -2644,7 +2644,9 @@ nsCSSRuleProcessor::RulesMatching(PseudoElementRuleProcessorData* aData)
|
||||
RuleCascadeData* cascade = GetRuleCascade(aData->mPresContext);
|
||||
|
||||
if (cascade) {
|
||||
RuleHash* ruleHash = cascade->mPseudoElementRuleHashes[aData->mPseudoType];
|
||||
RuleHash* ruleHash =
|
||||
cascade->mPseudoElementRuleHashes[static_cast<uint8_t>(
|
||||
aData->mPseudoType)];
|
||||
if (ruleHash) {
|
||||
NodeMatchContext nodeContext(EventStates(),
|
||||
nsCSSRuleProcessor::IsLink(aData->mElement));
|
||||
@@ -2722,7 +2724,7 @@ nsCSSRuleProcessor::HasStateDependentStyle(ElementDependentRuleProcessorData* aD
|
||||
"SelectorMatchesTree call");
|
||||
|
||||
bool isPseudoElement =
|
||||
aPseudoType != nsCSSPseudoElements::ePseudo_NotPseudoElement;
|
||||
aPseudoType != CSSPseudoElementType::NotPseudo;
|
||||
|
||||
RuleCascadeData* cascade = GetRuleCascade(aData->mPresContext);
|
||||
|
||||
@@ -2806,7 +2808,7 @@ nsCSSRuleProcessor::HasStateDependentStyle(StateRuleProcessorData* aData)
|
||||
{
|
||||
return HasStateDependentStyle(aData,
|
||||
aData->mElement,
|
||||
nsCSSPseudoElements::ePseudo_NotPseudoElement,
|
||||
CSSPseudoElementType::NotPseudo,
|
||||
aData->mStateMask);
|
||||
}
|
||||
|
||||
@@ -2888,7 +2890,7 @@ RestyleHintForSelectorWithAttributeChange(nsRestyleHint aCurrentHint,
|
||||
sel != aSelector;
|
||||
sel = sel->mNext) {
|
||||
MOZ_ASSERT(sel, "aSelector must be reachable from aRightmostSelector");
|
||||
if (sel->PseudoType() != nsCSSPseudoElements::ePseudo_NotPseudoElement) {
|
||||
if (sel->PseudoType() != CSSPseudoElementType::NotPseudo) {
|
||||
return eRestyle_Subtree;
|
||||
}
|
||||
}
|
||||
@@ -3410,10 +3412,11 @@ AddRule(RuleSelectorPair* aRuleInfo, RuleCascadeData* aCascade)
|
||||
|
||||
// Build the rule hash.
|
||||
nsCSSPseudoElements::Type pseudoType = aRuleInfo->mSelector->PseudoType();
|
||||
if (MOZ_LIKELY(pseudoType == nsCSSPseudoElements::ePseudo_NotPseudoElement)) {
|
||||
if (MOZ_LIKELY(pseudoType == CSSPseudoElementType::NotPseudo)) {
|
||||
cascade->mRuleHash.AppendRule(*aRuleInfo);
|
||||
} else if (pseudoType < nsCSSPseudoElements::ePseudo_PseudoElementCount) {
|
||||
RuleHash*& ruleHash = cascade->mPseudoElementRuleHashes[pseudoType];
|
||||
} else if (pseudoType < CSSPseudoElementType::Count) {
|
||||
RuleHash*& ruleHash =
|
||||
cascade->mPseudoElementRuleHashes[static_cast<uint8_t>(pseudoType)];
|
||||
if (!ruleHash) {
|
||||
ruleHash = new RuleHash(cascade->mQuirksMode);
|
||||
if (!ruleHash) {
|
||||
@@ -3426,7 +3429,7 @@ AddRule(RuleSelectorPair* aRuleInfo, RuleCascadeData* aCascade)
|
||||
NS_ASSERTION(aRuleInfo->mSelector->mNext->mOperator == ':',
|
||||
"Unexpected mNext combinator");
|
||||
ruleHash->AppendRule(*aRuleInfo);
|
||||
} else if (pseudoType == nsCSSPseudoElements::ePseudo_AnonBox) {
|
||||
} else if (pseudoType == CSSPseudoElementType::AnonBox) {
|
||||
NS_ASSERTION(!aRuleInfo->mSelector->mCasedTag &&
|
||||
!aRuleInfo->mSelector->mIDList &&
|
||||
!aRuleInfo->mSelector->mClassList &&
|
||||
@@ -3444,7 +3447,7 @@ AddRule(RuleSelectorPair* aRuleInfo, RuleCascadeData* aCascade)
|
||||
RuleValue(*aRuleInfo, 0, aCascade->mQuirksMode));
|
||||
} else {
|
||||
#ifdef MOZ_XUL
|
||||
NS_ASSERTION(pseudoType == nsCSSPseudoElements::ePseudo_XULTree,
|
||||
NS_ASSERTION(pseudoType == CSSPseudoElementType::XULTree,
|
||||
"Unexpected pseudo type");
|
||||
// Index doesn't matter here, since we'll just be walking these
|
||||
// rules in order; just pass 0.
|
||||
@@ -3460,7 +3463,7 @@ AddRule(RuleSelectorPair* aRuleInfo, RuleCascadeData* aCascade)
|
||||
selector; selector = selector->mNext) {
|
||||
if (selector->IsPseudoElement()) {
|
||||
nsCSSPseudoElements::Type pseudo = selector->PseudoType();
|
||||
if (pseudo >= nsCSSPseudoElements::ePseudo_PseudoElementCount ||
|
||||
if (pseudo >= CSSPseudoElementType::Count ||
|
||||
!nsCSSPseudoElements::PseudoElementSupportsUserActionState(pseudo)) {
|
||||
NS_ASSERTION(!selector->mNegations, "Shouldn't have negations");
|
||||
// We do store selectors ending with pseudo-elements that allow :hover
|
||||
|
||||
Reference in New Issue
Block a user