mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +01:00
style: Allow integer division inside calc() expressions.
Differential Revision: https://phabricator.services.mozilla.com/D5980
This commit is contained in:
parent
5cafac5d10
commit
72ce653daf
1 changed files with 3 additions and 8 deletions
|
@ -47,8 +47,6 @@ pub enum CalcNode {
|
||||||
pub enum CalcUnit {
|
pub enum CalcUnit {
|
||||||
/// `<number>`
|
/// `<number>`
|
||||||
Number,
|
Number,
|
||||||
/// `<integer>`
|
|
||||||
Integer,
|
|
||||||
/// `<length>`
|
/// `<length>`
|
||||||
Length,
|
Length,
|
||||||
/// `<percentage>`
|
/// `<percentage>`
|
||||||
|
@ -281,8 +279,7 @@ impl CalcNode {
|
||||||
let new_root = CalcNode::Mul(Box::new(root), Box::new(rhs));
|
let new_root = CalcNode::Mul(Box::new(root), Box::new(rhs));
|
||||||
root = new_root;
|
root = new_root;
|
||||||
},
|
},
|
||||||
// TODO(emilio): Figure out why the `Integer` check.
|
Ok(&Token::Delim('/')) => {
|
||||||
Ok(&Token::Delim('/')) if expected_unit != CalcUnit::Integer => {
|
|
||||||
let rhs = Self::parse_one(context, input, expected_unit)?;
|
let rhs = Self::parse_one(context, input, expected_unit)?;
|
||||||
let new_root = CalcNode::Div(Box::new(root), Box::new(rhs));
|
let new_root = CalcNode::Div(Box::new(root), Box::new(rhs));
|
||||||
root = new_root;
|
root = new_root;
|
||||||
|
@ -532,10 +529,8 @@ impl CalcNode {
|
||||||
context: &ParserContext,
|
context: &ParserContext,
|
||||||
input: &mut Parser<'i, 't>,
|
input: &mut Parser<'i, 't>,
|
||||||
) -> Result<CSSInteger, ParseError<'i>> {
|
) -> Result<CSSInteger, ParseError<'i>> {
|
||||||
Self::parse(context, input, CalcUnit::Integer)?
|
Self::parse_number(context, input)
|
||||||
.to_number()
|
.map(|n| n.round() as CSSInteger)
|
||||||
.map(|n| n as CSSInteger)
|
|
||||||
.map_err(|()| input.new_custom_error(StyleParseErrorKind::UnspecifiedError))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Convenience parsing function for `<length> | <percentage>`.
|
/// Convenience parsing function for `<length> | <percentage>`.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue