BadString recovery issues
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 38/100
Research direction
Start in rust-cssparser's BadString recovery path and reproduce the declaration text-decoration: '\n'; color: green. Compare the tokenization and recovery with Firefox's behavior; done means the invalid declaration is rejected while the following color declaration is parsed and applied.
Written by the indexing model from the issue text.
Description
According to CSS forward-compatible parsing rules, if a CSS declaration fails to parse the parser should forward until whichever is closer of EOF and a semicolon then resume parsing.
cssparser doesn't seem to allow for this when trying to parse a "bad string" containing a newline e.g.
text-decoration: '\n'; color: green
Once the parser has triggered a BadString error, the next token is
QuotedString(
"; color: green",
),
This is not the behaviour of browsers e.g. if this is added as a style value to an element in firefox, the text-decoration is flagged as an invalid property value, and the color declaration is parsed properly and applied.
- Dominant language
- Rust
- Stars
- 869
- Forks
- 152
- Avg merge
- 15h 8m
- Merged PRs (30d)
- 12
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from servo/rust-cssparser
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
servo/rust-cssparser#440 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
servo/rust-cssparser#439 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
servo/rust-cssparser#434 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
servo/rust-cssparser#438 · 3 comments · 1 reaction ·
-
Difficulty 5/5 Over a week Newbie friendliness 28/100
servo/rust-cssparser#436 · 1 comment ·
All issues in servo/rust-cssparser
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
stratum-mining/stratum#2404 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
bug team:backend track:services-maintenance
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
cowprotocol/services#4950 ·