Implement the unitless length quirk for clip

This commit is contained in:
Anthony Ramine 2017-04-24 14:41:51 +02:00
parent 46913ffe1d
commit ba59fafb44
3 changed files with 13 additions and 21 deletions

View file

@ -618,7 +618,17 @@ impl Length {
impl Parse for Length {
fn parse(context: &ParserContext, input: &mut Parser) -> Result<Self, ()> {
Self::parse_internal(context, input, AllowedLengthType::All, AllowQuirks::No)
Self::parse_quirky(context, input, AllowQuirks::No)
}
}
impl Length {
/// Parses a length, with quirks.
pub fn parse_quirky(context: &ParserContext,
input: &mut Parser,
allow_quirks: AllowQuirks)
-> Result<Self, ()> {
Self::parse_internal(context, input, AllowedLengthType::All, allow_quirks)
}
}

View file

@ -1291,13 +1291,13 @@ impl ToComputedValue for ClipRect {
impl Parse for ClipRect {
fn parse(context: &ParserContext, input: &mut Parser) -> Result<Self, ()> {
use values::specified::Length;
use values::specified::{AllowQuirks, Length};
fn parse_argument(context: &ParserContext, input: &mut Parser) -> Result<Option<Length>, ()> {
if input.try(|input| input.expect_ident_matching("auto")).is_ok() {
Ok(None)
} else {
Length::parse(context, input).map(Some)
Length::parse_quirky(context, input, AllowQuirks::Yes).map(Some)
}
}

View file

@ -12,9 +12,6 @@
expected:
if os == "mac": FAIL
[clip: 1 (quirks)]
expected: FAIL
[font-size: 1 (quirks)]
expected: FAIL
@ -99,9 +96,6 @@
expected:
if os == "mac": FAIL
[clip: +1 (quirks)]
expected: FAIL
[font-size: +1 (quirks)]
expected: FAIL
@ -186,9 +180,6 @@
expected:
if os == "mac": FAIL
[clip: -1 (quirks)]
expected: FAIL
[letter-spacing: -1 (quirks)]
expected: FAIL
@ -240,9 +231,6 @@
expected:
if os == "mac": FAIL
[clip: 1.5 (quirks)]
expected: FAIL
[font-size: 1.5 (quirks)]
expected: FAIL
@ -327,9 +315,6 @@
expected:
if os == "mac": FAIL
[clip: +1.5 (quirks)]
expected: FAIL
[font-size: +1.5 (quirks)]
expected: FAIL
@ -414,9 +399,6 @@
expected:
if os == "mac": FAIL
[clip: -1.5 (quirks)]
expected: FAIL
[letter-spacing: -1.5 (quirks)]
expected: FAIL