browser_oxide 0.1.3

Stealth headless browser engine in Rust: real HTML/CSS/DOM/JS, V8 via deno_core, own BoringSSL TLS/JA4 fingerprint, no Chromium, no CDP — for anti-bot web scraping, archival, and AI agents
Documentation
use crate::css_parser::source::SourceLocation;

/// A CSS parse error. CSS parsing is error-tolerant: these are collected
/// but do not stop parsing.
#[derive(Debug, Clone, thiserror::Error)]
pub enum ParseError {
    #[error("unexpected token at {loc:?}: expected {expected}, found {found}")]
    UnexpectedToken {
        loc: SourceLocation,
        expected: String,
        found: String,
    },

    #[error("unexpected end of input at {loc:?}")]
    UnexpectedEof { loc: SourceLocation },

    #[error("invalid CSS at {loc:?}: {message}")]
    Invalid {
        loc: SourceLocation,
        message: String,
    },
}