1use thiserror::Error;
6
7#[derive(Debug, Error)]
8pub enum BrowserInfoError {
9 #[error("No active window found")]
11 WindowNotFound,
12
13 #[error("Active window is not a browser")]
15 NotABrowser,
16
17 #[error("Failed to extract URL from browser: {0}")]
19 UrlExtractionFailed(String),
20
21 #[error("Browser detection failed: {0}")]
23 BrowserDetectionFailed(String),
24
25 #[error("Platform-specific error: {0}")]
27 PlatformError(String),
28
29 #[error("Invalid URL format: {0}")]
31 InvalidUrl(String),
32
33 #[error("Timeout during operation")]
35 Timeout,
36
37 #[error("Permission denied")]
39 PermissionDenied,
40
41 #[error("Network error: {0}")]
42 NetworkError(String),
43
44 #[error("JSON parse error: {0}")]
45 ParseError(String),
46
47 #[error("No active tabs found")]
48 NoActiveTabs,
49
50 #[error("Chrome DevTools not available")]
51 ChromeDevToolsNotAvailable,
52
53 #[error("Other error: {0}")]
55 Other(String),
56}
57
58pub type BrowserError = BrowserInfoError;