diff --git a/crates/oxide/src/parser.rs b/crates/oxide/src/parser.rs index 35ea42757718..9cd702d477f3 100644 --- a/crates/oxide/src/parser.rs +++ b/crates/oxide/src/parser.rs @@ -159,7 +159,7 @@ impl<'a> Extractor<'a> { } while !candidate.is_empty() { - match Extractor::is_valid_candidate_string(candidate, self.input, self.idx_start) { + match Extractor::is_valid_candidate_string(candidate) { ValidationResult::Valid => return ParseAction::SingleCandidate(candidate), ValidationResult::Restart => return ParseAction::RestartAt(self.idx_start + 1), _ => {} @@ -240,11 +240,7 @@ impl<'a> Extractor<'a> { } #[inline(always)] - fn is_valid_candidate_string( - candidate: &'a [u8], - input: &[u8], - start_idx: usize, - ) -> ValidationResult { + fn is_valid_candidate_string(candidate: &'a [u8]) -> ValidationResult { // Reject candidates that start with a capital letter if candidate[0].is_ascii_uppercase() { return ValidationResult::Invalid; @@ -307,14 +303,6 @@ impl<'a> Extractor<'a> { } } - // CSS variables must be preceded by `var(` to be considered a valid CSS variable candidate - if candidate.starts_with(b"--") { - match input.get(start_idx - 4..start_idx) { - Some(b"var(") => return ValidationResult::Valid, - _ => return ValidationResult::Invalid, - } - } - let split_candidate = Extractor::split_candidate(candidate); let mut offset = 0; @@ -1738,44 +1726,31 @@ mod test { ); } - #[test] - fn test_css_variables_must_be_preceded_by_var_open_paren() { - let candidates = run("[--do-not-emit:true]", false); - assert_eq!( - candidates, - // Looks little funky, but `--do-not-emit` on its own is not emitted - vec!["[--do-not-emit:true]", "--do-not-emit:true"] - ); - - let candidates = run("