https://bugzilla.mozilla.org/show_bug.cgi?id=285140 --- a/layout/style/nsStyleSet.cpp +++ b/layout/style/nsStyleSet.cpp @@ -1125,9 +1125,7 @@ bool haveImportantUARules = !aRuleWalker->GetCheckForImportantRules(); aRuleWalker->SetLevel(SheetType::User, false, true); - bool skipUserStyles = - aElement && aElement->IsInNativeAnonymousSubtree(); - if (!skipUserStyles && mRuleProcessors[SheetType::User]) // NOTE: different + if (mRuleProcessors[SheetType::User]) // NOTE: different (*aCollectorFunc)(mRuleProcessors[SheetType::User], aData); nsRuleNode* lastUserRN = aRuleWalker->CurrentNode(); bool haveImportantUserRules = !aRuleWalker->GetCheckForImportantRules(); @@ -1145,7 +1143,7 @@ static_cast(aData), &cutOffInheritance); } - if (!skipUserStyles && !cutOffInheritance && // NOTE: different + if (!cutOffInheritance && // NOTE: different mRuleProcessors[SheetType::Doc]) (*aCollectorFunc)(mRuleProcessors[SheetType::Doc], aData); nsRuleNode* lastDocRN = aRuleWalker->CurrentNode(); @@ -1153,7 +1151,7 @@ nsTArray lastScopedRNs; nsTArray haveImportantScopedRules; bool haveAnyImportantScopedRules = false; - if (!skipUserStyles && !cutOffInheritance && + if (!cutOffInheritance && aElement && aElement->IsElementInStyleScope()) { lastScopedRNs.SetLength(mScopedDocSheetRuleProcessors.Length()); haveImportantScopedRules.SetLength(mScopedDocSheetRuleProcessors.Length()); @@ -1288,8 +1286,7 @@ if (mRuleProcessors[SheetType::Agent]) (*aFunc)(mRuleProcessors[SheetType::Agent], aData); - bool skipUserStyles = aData->mElement->IsInNativeAnonymousSubtree(); - if (!skipUserStyles && mRuleProcessors[SheetType::User]) // NOTE: different + if (mRuleProcessors[SheetType::User]) // NOTE: different (*aFunc)(mRuleProcessors[SheetType::User], aData); if (mRuleProcessors[SheetType::PresHint]) @@ -1304,7 +1301,7 @@ mBindingManager->WalkRules(aFunc, aData, &cutOffInheritance); } } - if (!skipUserStyles && !cutOffInheritance) { + if (!cutOffInheritance) { if (mRuleProcessors[SheetType::Doc]) // NOTE: different (*aFunc)(mRuleProcessors[SheetType::Doc], aData); if (aData->mElement->IsElementInStyleScope()) { f (aData->mElement->IsElementInStyleScope()) {