Page MenuHomePhabricator

Bug 1833151 - [css-nesting] Update cssparser again. r=tlouw,#style
ClosedPublic

Authored by emilio on May 15 2023, 1:44 PM.
Referenced Files
Unknown Object (File)
Dec 8 2025, 1:43 AM
Unknown Object (File)
Oct 12 2025, 9:12 PM
Unknown Object (File)
Oct 11 2025, 12:25 AM
Unknown Object (File)
Jun 11 2025, 1:46 PM
Unknown Object (File)
Jun 10 2025, 5:20 PM
Unknown Object (File)
May 29 2025, 2:38 AM
Unknown Object (File)
Jan 11 2025, 12:45 AM
Unknown Object (File)
Jan 8 2025, 9:19 AM
Subscribers

Details

Summary

This changes the cssparser setup to:

  • Avoid having to do copies of the ParsingContext all over the place, which is useful because I plan to stash more nesting state in there.
  • Use the new RuleBodyParser which allows parsing qualified rules, declarations, and so on. Though we still don't use this anywhere.

The next step is to join NestedRuleParser and PropertyDeclarationParser,
so that we can parse declarations in a lot of the nested rules as well.

Event Timeline

phab-bot changed the visibility from "Custom Policy" to "Public (No Login Required)".
phab-bot changed the edit policy from "Custom Policy" to "Restricted Project (Project)".
phab-bot removed a project: secure-revision.
bholley accepted this revision as: Restricted Project.May 15 2023, 3:56 PM

Looks good, no glaring code issues. Also nice whitespace cleanup.

This revision is now accepted and ready to land.May 16 2023, 9:12 AM

This revision requires a Testing Policy Project Tag to be set before landing. Please apply one of testing-approved, testing-exception-unchanged, testing-exception-ui, testing-exception-elsewhere, testing-exception-other. Tip: this Firefox add-on makes it easy!

This revision is now accepted and ready to land.May 16 2023, 2:45 PM

Fix error recovery without nesting enabled

zrhoffman added a subscriber: zrhoffman.

Those tests pass as of servo/rust-cssparser#339/diff 717256.

  • layout/reftests/bugs/431948-1.html
  • testing/web-platform/tests/css/css-fonts/test_font_feature_values_parsing.html