diff options
author | Federico Mena Quintero <federico@gnome.org> | 2023-02-20 11:42:16 -0600 |
---|---|---|
committer | Federico Mena Quintero <federico@gnome.org> | 2023-02-20 12:15:49 -0600 |
commit | 0e53abea159f46a90a7174590e622fd3ccc9828f (patch) | |
tree | 605271df566c6caa611d8c3ceb05ca59a74e4dc6 | |
parent | 3092a35d877062dd9f051fb00aade3531c710949 (diff) | |
download | librsvg-0e53abea159f46a90a7174590e622fd3ccc9828f.tar.gz |
(#925): Cargo.toml: Update to selectors-0.24.0 and cssparser-0.29.0 together
css.rs: Update for changes in the AtRuleParser trait's API
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/799>
-rw-r--r-- | Cargo.lock | 82 | ||||
-rw-r--r-- | Cargo.toml | 4 | ||||
-rw-r--r-- | src/css.rs | 32 |
3 files changed, 56 insertions, 62 deletions
@@ -113,9 +113,9 @@ checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" [[package]] name = "bstr" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7f0778972c64420fdedc63f09919c8a88bda7b25135357fd25a5d9f3257e832" +checksum = "5ffdb39cb703212f3c11973452c2861b972f757b021158f3516ba10f2fa8b2c1" dependencies = [ "memchr", "once_cell", @@ -249,9 +249,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.1.4" +version = "4.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f13b9c79b5d1dd500d20ef541215a6423c75829ef43117e1b4d17fd8af0b5d76" +checksum = "ec0b0588d44d4d63a87dbd75c136c166bbfd9a86a31cb89e09906521c7d3f5e3" dependencies = [ "bitflags", "clap_derive", @@ -264,11 +264,11 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.1.1" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6540eedc41f8a5a76cf3d8d458057dcdf817be4158a55b5f861f7a5483de75" +checksum = "bd125be87bf4c255ebc50de0b7f4d2a6201e8ac3dc86e39c0ad081dc5e7236fe" dependencies = [ - "clap 4.1.4", + "clap 4.1.6", ] [[package]] @@ -426,15 +426,15 @@ dependencies = [ [[package]] name = "cssparser" -version = "0.28.1" +version = "0.29.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1db8599a9761b371751fbf13e076fa03c6e1a78f8c5288e6ab9467f10a2322c1" +checksum = "f93d03419cb5950ccfd3daf3ff1c7a36ace64609a1a8746d493df1ca0afde0fa" dependencies = [ "cssparser-macros", "dtoa-short", - "itoa 0.4.8", + "itoa", "matches", - "phf 0.8.0", + "phf 0.10.1", "proc-macro2", "quote", "smallvec", @@ -453,9 +453,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.90" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90d59d9acd2a682b4e40605a242f6670eaa58c5957471cbf85e8aa6a0b97a5e8" +checksum = "86d3488e7665a7a483b57e25bdd90d0aeb2bc7608c8d0346acf2ad3f1caf1d62" dependencies = [ "cc", "cxxbridge-flags", @@ -465,9 +465,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.90" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebfa40bda659dd5c864e65f4c9a2b0aff19bea56b017b9b77c73d3766a453a38" +checksum = "48fcaf066a053a41a81dfb14d57d99738b767febb8b735c3016e469fac5da690" dependencies = [ "cc", "codespan-reporting", @@ -480,15 +480,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.90" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "457ce6757c5c70dc6ecdbda6925b958aae7f959bda7d8fb9bde889e34a09dc03" +checksum = "a2ef98b8b717a829ca5603af80e1f9e2e48013ab227b68ef37872ef84ee479bf" [[package]] name = "cxxbridge-macro" -version = "1.0.90" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebf883b7aacd7b2aeb2a7b338648ee19f57c140d4ee8e52c68979c6b2f7f2263" +checksum = "086c685979a698443656e5cf7856c95c642295a38599f12fb1ff76fb28d19892" dependencies = [ "proc-macro2", "quote", @@ -649,9 +649,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" dependencies = [ "instant", ] @@ -1041,12 +1041,6 @@ dependencies = [ [[package]] name = "itoa" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" - -[[package]] -name = "itoa" version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" @@ -1104,7 +1098,7 @@ dependencies = [ "cairo-rs", "cast", "chrono", - "clap 4.1.4", + "clap 4.1.6", "clap_complete", "criterion", "cssparser", @@ -1208,7 +1202,7 @@ dependencies = [ "chrono", "encoding", "flate2", - "itoa 1.0.5", + "itoa", "linked-hash-map", "log", "pom", @@ -1419,9 +1413,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.17.0" +version = "1.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" +checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" [[package]] name = "oorandom" @@ -1529,9 +1523,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" dependencies = [ - "phf_macros", "phf_shared 0.8.0", - "proc-macro-hack", ] [[package]] @@ -1540,7 +1532,9 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" dependencies = [ + "phf_macros", "phf_shared 0.10.0", + "proc-macro-hack", ] [[package]] @@ -1585,12 +1579,12 @@ dependencies = [ [[package]] name = "phf_macros" -version = "0.8.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c" +checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0" dependencies = [ - "phf_generator 0.8.0", - "phf_shared 0.8.0", + "phf_generator 0.10.0", + "phf_shared 0.10.0", "proc-macro-hack", "proc-macro2", "quote", @@ -2068,9 +2062,9 @@ checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" [[package]] name = "selectors" -version = "0.23.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdea87c686be721aab36607728047801ee21561bfdbd6bf0da7ace2536d5879f" +checksum = "0c37578180969d00692904465fb7f6b3d50b9a2b952b87c23d0e2e5cb5013416" dependencies = [ "bitflags", "cssparser", @@ -2131,16 +2125,16 @@ version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76" dependencies = [ - "itoa 1.0.5", + "itoa", "ryu", "serde", ] [[package]] name = "servo_arc" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432" +checksum = "d52aa42f8fdf0fed91e5ce7f23d8138441002fa31dca008acf47e6fd4721f741" dependencies = [ "nodrop", "stable_deref_trait", @@ -2182,9 +2176,9 @@ checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" [[package]] name = "slab" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" dependencies = [ "autocfg", ] @@ -58,7 +58,7 @@ cast = "0.3.0" chrono = "0.4.0" # rsvg-convert clap = { version = "4.0.17", features = ["cargo", "derive"] } # rsvg-convert clap_complete = "4.0.5" # rsvg-convert -cssparser = "0.28.0" +cssparser = "0.29.0" data-url = "0.2.0" encoding = "0.2.33" float-cmp = "0.9.0" @@ -79,7 +79,7 @@ rayon = "1" rctree = "0.5.0" regex = "1.7.1" rgb = { version="0.8", features=["argb"] } -selectors = "0.23.0" +selectors = "0.24.0" string_cache = "0.8.0" thiserror = "1.0" tinyvec = { version = "1.2.0", features = ["alloc"] } @@ -74,8 +74,8 @@ //! matches by specificity and apply the result to each element. use cssparser::{ - self, match_ignore_ascii_case, parse_important, AtRuleParser, AtRuleType, BasicParseErrorKind, - CowRcStr, DeclarationListParser, DeclarationParser, Parser, ParserInput, ParserState, + self, match_ignore_ascii_case, parse_important, AtRuleParser, BasicParseErrorKind, CowRcStr, + DeclarationListParser, DeclarationParser, Parser, ParserInput, ParserState, QualifiedRuleParser, RuleListParser, SourceLocation, ToCss, _cssparser_internal_to_lowercase, }; use data_url::mime::Mime; @@ -142,8 +142,7 @@ impl<'i> DeclarationParser<'i> for DeclParser { // implementation in the future, although this may require keeping track of the // CSS parsing state like Servo does. impl<'i> AtRuleParser<'i> for DeclParser { - type PreludeBlock = (); - type PreludeNoBlock = (); + type Prelude = (); type AtRule = Declaration; type Error = ValueErrorKind; } @@ -302,8 +301,7 @@ impl<'i> QualifiedRuleParser<'i> for RuleParser { // // This only handles the `@import` at-rule. impl<'i> AtRuleParser<'i> for RuleParser { - type PreludeBlock = (); - type PreludeNoBlock = AtRulePrelude; + type Prelude = AtRulePrelude; type AtRule = Rule; type Error = ParseErrorKind<'i>; @@ -312,15 +310,15 @@ impl<'i> AtRuleParser<'i> for RuleParser { &mut self, name: CowRcStr<'i>, input: &mut Parser<'i, 't>, - ) -> Result< - AtRuleType<Self::PreludeNoBlock, Self::PreludeBlock>, - cssparser::ParseError<'i, Self::Error>, - > { - match_ignore_ascii_case! { &name, + ) -> Result<Self::Prelude, cssparser::ParseError<'i, Self::Error>> { + match_ignore_ascii_case! { + &name, + + // FIXME: at the moment we ignore media queries + "import" => { - // FIXME: at the moment we ignore media queries let url = input.expect_url_or_string()?.as_ref().to_owned(); - Ok(AtRuleType::WithoutBlock(AtRulePrelude::Import(url))) + Ok(AtRulePrelude::Import(url)) }, _ => Err(input.new_error(BasicParseErrorKind::AtRuleInvalid(name))), @@ -329,12 +327,14 @@ impl<'i> AtRuleParser<'i> for RuleParser { fn rule_without_block( &mut self, - prelude: Self::PreludeNoBlock, + prelude: Self::Prelude, _start: &ParserState, - ) -> Self::AtRule { + ) -> Result<Self::AtRule, ()> { let AtRulePrelude::Import(url) = prelude; - Rule::AtRule(AtRule::Import(url)) + Ok(Rule::AtRule(AtRule::Import(url))) } + + // When we implement at-rules with blocks, implement the trait's parse_block() method here. } /// Dummy type required by the SelectorImpl trait. |