aboutsummaryrefslogtreecommitdiffstats
path: root/components/style/values/specified
diff options
context:
space:
mode:
Diffstat (limited to 'components/style/values/specified')
-rw-r--r--components/style/values/specified/calc.rs4
-rw-r--r--components/style/values/specified/grid.rs4
-rw-r--r--components/style/values/specified/length.rs21
-rw-r--r--components/style/values/specified/position.rs3
4 files changed, 19 insertions, 13 deletions
diff --git a/components/style/values/specified/calc.rs b/components/style/values/specified/calc.rs
index 4db36e998c2..dc6f5cf2f81 100644
--- a/components/style/values/specified/calc.rs
+++ b/components/style/values/specified/calc.rs
@@ -11,9 +11,9 @@ use cssparser::{Parser, Token};
use parser::ParserContext;
use std::ascii::AsciiExt;
use std::fmt;
-use style_traits::ToCss;
+use style_traits::{HasViewportPercentage, ToCss};
use style_traits::values::specified::AllowedLengthType;
-use values::{CSSInteger, CSSFloat, HasViewportPercentage};
+use values::{CSSInteger, CSSFloat};
use values::specified::{Angle, Time};
use values::specified::length::{FontRelativeLength, NoCalcLength, ViewportPercentageLength};
diff --git a/components/style/values/specified/grid.rs b/components/style/values/specified/grid.rs
index a4a8b930ef8..0633a0b0e80 100644
--- a/components/style/values/specified/grid.rs
+++ b/components/style/values/specified/grid.rs
@@ -8,8 +8,8 @@ use cssparser::{Parser, Token, serialize_identifier};
use parser::{Parse, ParserContext};
use std::{fmt, mem, usize};
use std::ascii::AsciiExt;
-use style_traits::ToCss;
-use values::{CSSFloat, CustomIdent, Either, HasViewportPercentage};
+use style_traits::{HasViewportPercentage, ToCss};
+use values::{CSSFloat, CustomIdent, Either};
use values::computed::{self, ComputedValueAsSpecified, Context, ToComputedValue};
use values::specified::{Integer, LengthOrPercentage};
diff --git a/components/style/values/specified/length.rs b/components/style/values/specified/length.rs
index 27f6f5d6f1f..e37aad81f0e 100644
--- a/components/style/values/specified/length.rs
+++ b/components/style/values/specified/length.rs
@@ -14,11 +14,11 @@ use parser::{Parse, ParserContext};
use std::{cmp, fmt, mem};
use std::ascii::AsciiExt;
use std::ops::Mul;
-use style_traits::ToCss;
+use style_traits::{HasViewportPercentage, ToCss};
use style_traits::values::specified::{AllowedLengthType, AllowedNumericType};
use stylesheets::CssRuleType;
use super::{AllowQuirks, Number, ToComputedValue};
-use values::{Auto, CSSFloat, Either, FONT_MEDIUM_PX, HasViewportPercentage, None_, Normal};
+use values::{Auto, CSSFloat, Either, FONT_MEDIUM_PX, None_, Normal};
use values::ExtremumLength;
use values::computed::{ComputedValueAsSpecified, Context};
use values::specified::calc::CalcNode;
@@ -620,7 +620,8 @@ impl Length {
Token::Dimension(ref value, ref unit) if num_context.is_ok(value.value) =>
Length::parse_dimension(context, value.value, unit),
Token::Number(ref value) if num_context.is_ok(value.value) => {
- if value.value != 0. && !context.parsing_mode.allows_unitless_lengths() &&
+ if value.value != 0. &&
+ !context.parsing_mode.allows_unitless_lengths() &&
!allow_quirks.allowed(context.quirks_mode) {
return Err(())
}
@@ -805,9 +806,14 @@ impl LengthOrPercentage {
NoCalcLength::parse_dimension(context, value.value, unit).map(LengthOrPercentage::Length),
Token::Percentage(ref value) if num_context.is_ok(value.unit_value) =>
Ok(LengthOrPercentage::Percentage(Percentage(value.unit_value))),
- Token::Number(value) if value.value == 0. ||
- (num_context.is_ok(value.value) && allow_quirks.allowed(context.quirks_mode)) =>
- Ok(LengthOrPercentage::Length(NoCalcLength::from_px(value.value))),
+ Token::Number(value) if num_context.is_ok(value.value) => {
+ if value.value != 0. &&
+ !context.parsing_mode.allows_unitless_lengths() &&
+ !allow_quirks.allowed(context.quirks_mode) {
+ return Err(())
+ }
+ Ok(LengthOrPercentage::Length(NoCalcLength::from_px(value.value)))
+ }
Token::Function(ref name) if name.eq_ignore_ascii_case("calc") => {
let calc = try!(input.parse_nested_block(|i| {
CalcNode::parse_length_or_percentage(context, i, num_context)
@@ -942,7 +948,8 @@ impl LengthOrPercentageOrAuto {
Token::Percentage(ref value) if num_context.is_ok(value.unit_value) =>
Ok(LengthOrPercentageOrAuto::Percentage(Percentage(value.unit_value))),
Token::Number(ref value) if num_context.is_ok(value.value) => {
- if value.value != 0. && !context.parsing_mode.allows_unitless_lengths() &&
+ if value.value != 0. &&
+ !context.parsing_mode.allows_unitless_lengths() &&
!allow_quirks.allowed(context.quirks_mode) {
return Err(())
}
diff --git a/components/style/values/specified/position.rs b/components/style/values/specified/position.rs
index a4b4953c372..085fea59300 100644
--- a/components/style/values/specified/position.rs
+++ b/components/style/values/specified/position.rs
@@ -10,8 +10,7 @@
use cssparser::Parser;
use parser::{Parse, ParserContext};
use std::fmt;
-use style_traits::ToCss;
-use values::HasViewportPercentage;
+use style_traits::{HasViewportPercentage, ToCss};
use values::computed::{CalcLengthOrPercentage, LengthOrPercentage as ComputedLengthOrPercentage};
use values::computed::{Context, ToComputedValue};
use values::generics::position::Position as GenericPosition;