diff --git a/components/style/properties/longhand/text.mako.rs b/components/style/properties/longhand/text.mako.rs index cd8606ab2ad..26a29a49f39 100644 --- a/components/style/properties/longhand/text.mako.rs +++ b/components/style/properties/longhand/text.mako.rs @@ -75,19 +75,27 @@ ${helpers.single_keyword("unicode-bidi", "normal embed isolate bidi-override iso } let mut blink = false; let mut empty = true; - while let Ok(ident) = input.expect_ident() { - match_ignore_ascii_case! { ident, - "underline" => if result.underline { return Err(()) } - else { empty = false; result.underline = true }, - "overline" => if result.overline { return Err(()) } - else { empty = false; result.overline = true }, - "line-through" => if result.line_through { return Err(()) } - else { empty = false; result.line_through = true }, - "blink" => if blink { return Err(()) } - else { empty = false; blink = true }, - _ => break - } + + while input.try(|input| { + if let Ok(ident) = input.expect_ident() { + match_ignore_ascii_case! { ident, + "underline" => if result.underline { return Err(()) } + else { empty = false; result.underline = true }, + "overline" => if result.overline { return Err(()) } + else { empty = false; result.overline = true }, + "line-through" => if result.line_through { return Err(()) } + else { empty = false; result.line_through = true }, + "blink" => if blink { return Err(()) } + else { empty = false; blink = true }, + _ => return Err(()) + } + } else { + return Err(()); + } + Ok(()) + }).is_ok() { } + if !empty { Ok(result) } else { Err(()) } } diff --git a/tests/wpt/metadata-css/css21_dev/html4/c71-fwd-parsing-003.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/c71-fwd-parsing-003.htm.ini deleted file mode 100644 index f8f06a021a1..00000000000 --- a/tests/wpt/metadata-css/css21_dev/html4/c71-fwd-parsing-003.htm.ini +++ /dev/null @@ -1,3 +0,0 @@ -[c71-fwd-parsing-003.htm] - type: reftest - expected: FAIL