mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-08-24 05:13:07 +09:00
Issue #2835 - Part 2: Implement processing of import rules based on order of appearance
This commit is contained in:
parent
be3d8491c7
commit
37230e7b21
4 changed files with 31 additions and 4 deletions
|
|
@ -16,6 +16,7 @@
|
|||
#include "PLDHashTable.h"
|
||||
#include "nsICSSPseudoComparator.h"
|
||||
#include "mozilla/MemoryReporting.h"
|
||||
#include "mozilla/css/ImportRule.h"
|
||||
#include "mozilla/css/StyleRule.h"
|
||||
#include "mozilla/css/GroupRule.h"
|
||||
#include "nsIDocument.h"
|
||||
|
|
@ -649,6 +650,12 @@ CascadeRuleEnumFunc(css::Rule* aRule, void* aData)
|
|||
if (!layer->mData->mCounterStyleRules.AppendElement(counterStyleRule)) {
|
||||
return false;
|
||||
}
|
||||
} else if (css::Rule::IMPORT_RULE == type &&
|
||||
nsCSSRuleUtils::LoadImportedSheetsInOrderEnabled()) {
|
||||
css::ImportRule* importRule = static_cast<css::ImportRule*>(aRule);
|
||||
nsCSSRuleProcessor::CascadeSheet(
|
||||
importRule->GetStyleSheet()->AsConcrete(),
|
||||
layer);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
@ -660,10 +667,12 @@ nsCSSRuleProcessor::CascadeSheet(CSSStyleSheet* aSheet, CascadeLayer* aLayer)
|
|||
aSheet->UseForPresentation(aLayer->mPresContext,
|
||||
aLayer->mCacheKey) &&
|
||||
aSheet->mInner) {
|
||||
CSSStyleSheet* child = aSheet->mInner->mFirstChild;
|
||||
while (child) {
|
||||
CascadeSheet(child, aLayer);
|
||||
child = child->mNext;
|
||||
if (!nsCSSRuleUtils::LoadImportedSheetsInOrderEnabled()) {
|
||||
CSSStyleSheet* child = aSheet->mInner->mFirstChild;
|
||||
while (child) {
|
||||
CascadeSheet(child, aLayer);
|
||||
child = child->mNext;
|
||||
}
|
||||
}
|
||||
|
||||
if (!aSheet->mInner->mOrderedRules.EnumerateForwards(CascadeRuleEnumFunc,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue