style: Simplify a bit media query construction.

MozReview-Commit-ID: 3eqezFFWgNZ
This commit is contained in:
Emilio Cobos Álvarez 2017-11-06 12:53:09 +01:00
parent 88505dc2ff
commit 001c50bcca
No known key found for this signature in database
GPG key ID: 056B727BB9C1027C

View file

@ -77,17 +77,10 @@ impl MediaQuery {
/// Return a media query that never matches, used for when we fail to parse
/// a given media query.
fn never_matching() -> Self {
Self::new(Some(Qualifier::Not), MediaQueryType::All, vec![])
}
/// Trivially constructs a new media query.
pub fn new(qualifier: Option<Qualifier>,
media_type: MediaQueryType,
expressions: Vec<Expression>) -> MediaQuery {
MediaQuery {
qualifier: qualifier,
media_type: media_type,
expressions: expressions,
Self {
qualifier: Some(Qualifier::Not),
media_type: MediaQueryType::All,
expressions: vec![],
}
}
}
@ -209,9 +202,12 @@ impl MediaQuery {
let media_type = match input.try(|i| i.expect_ident_cloned()) {
Ok(ident) => {
let result: Result<_, ParseError> = MediaQueryType::parse(&*ident)
.map_err(|()| input.new_custom_error(SelectorParseErrorKind::UnexpectedIdent(ident.clone())));
result?
MediaQueryType::parse(&*ident)
.map_err(|()| {
input.new_custom_error(
SelectorParseErrorKind::UnexpectedIdent(ident.clone())
)
})?
}
Err(_) => {
// Media type is only optional if qualifier is not specified.
@ -229,7 +225,7 @@ impl MediaQuery {
// Parse any subsequent expressions
loop {
if input.try(|input| input.expect_ident_matching("and")).is_err() {
return Ok(MediaQuery::new(qualifier, media_type, expressions))
return Ok(MediaQuery { qualifier, media_type, expressions })
}
expressions.push(Expression::parse(context, input)?)
}