firefox-patches/allow-anonymous-user-style.patch
2017-11-24 23:18:39 +01:00

54 lines
2.3 KiB
Diff

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<ElementDependentRuleProcessorData*>(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<nsRuleNode*> lastScopedRNs;
nsTArray<bool> 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()) {