firefox-patches/allow-anonymous-user-style.patch

54 lines
2.4 KiB
Diff

https://bugzilla.mozilla.org/show_bug.cgi?id=285140
diff -r 57f68296c350 layout/style/nsStyleSet.cpp
--- a/layout/style/nsStyleSet.cpp Fri Sep 29 14:47:25 2017 -0700
+++ b/layout/style/nsStyleSet.cpp Sat Sep 30 03:33:33 2017 +0200
@@ -1124,9 +1124,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();
@@ -1144,7 +1142,7 @@
static_cast<ElementDependentRuleProcessorData*>(aData),
&cutOffInheritance);
}
- if (!skipUserStyles && !cutOffInheritance && // NOTE: different
+ if (!cutOffInheritance && // NOTE: different
mRuleProcessors[SheetType::Doc])
(*aCollectorFunc)(mRuleProcessors[SheetType::Doc], aData);
nsRuleNode* lastDocRN = aRuleWalker->CurrentNode();
@@ -1152,7 +1150,7 @@
nsTArray<nsRuleNode*> lastScopedRNs;
nsTArray<bool> haveImportantScopedRules;
bool haveAnyImportantScopedRules = false;
- if (!skipUserStyles && !cutOffInheritance &&
+ if (!cutOffInheritance &&
aElement && aElement->IsElementInStyleScope()) {
lastScopedRNs.SetLength(mScopedDocSheetRuleProcessors.Length());
haveImportantScopedRules.SetLength(mScopedDocSheetRuleProcessors.Length());
@@ -1287,8 +1285,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])
@@ -1303,7 +1300,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()) {