Stylo: Bug 1355408 - add support for @-moz-document

This commit is contained in:
Fernando Jiménez Moreno 2017-05-09 10:41:03 +02:00
parent 9c9bd17871
commit b22e0e9494
12 changed files with 338 additions and 24 deletions

View file

@ -13,7 +13,7 @@ use style::media_queries::*;
use style::servo::media_queries::*;
use style::shared_lock::{SharedRwLock, SharedRwLockReadGuard};
use style::stylearc::Arc;
use style::stylesheets::{Stylesheet, Origin, CssRule};
use style::stylesheets::{Stylesheet, Origin, CssRule, NestedRulesResult};
use style::values::specified;
use style_traits::ToCss;
@ -52,11 +52,16 @@ fn media_queries<F>(guard: &SharedRwLockReadGuard, rules: &[CssRule], f: &mut F)
where F: FnMut(&MediaList),
{
for rule in rules {
rule.with_nested_rules_and_mq(guard, |rules, mq| {
if let Some(mq) = mq {
f(mq)
rule.with_nested_rules_mq_and_doc_rule(guard, |result| {
match result {
NestedRulesResult::Rules(rules) |
NestedRulesResult::RulesWithDocument(rules, _) => {
media_queries(guard, rules, f)
},
NestedRulesResult::RulesWithMediaQueries(_, mq) => {
f(mq)
}
}
media_queries(guard, rules, f)
})
}
}