chromium_crypto/
lib.rs

1cfg_if::cfg_if! {
2    if #[cfg(target_os = "linux")] {
3        pub mod linux;
4        pub use linux::Decrypter;
5    } else if #[cfg(target_os = "macos")] {
6        pub mod mac;
7        pub use mac::Decrypter;
8    } else if #[cfg(target_os = "windows")] {
9        pub mod win;
10        pub use win::Decrypter;
11    }
12}
13
14pub mod error;
15
16#[derive(Clone, Copy)]
17#[derive(Debug)]
18#[derive(PartialEq, Eq, PartialOrd, Ord)]
19pub enum Which {
20    Cookie,
21    Login,
22}
23
24#[cfg(not(target_os = "windows"))]
25/// Maybe use [`std::hint::unlikely`]
26#[cold]
27#[inline(never)]
28fn from_utf8_cold(arg: &[u8]) -> std::result::Result<String, std::string::FromUtf8Error> {
29    String::from_utf8(arg.to_vec())
30}
31
32#[cfg(target_os = "windows")]
33/// Maybe use [`std::hint::unlikely`]
34#[cold]
35#[inline(never)]
36fn from_utf8_cold(arg: Vec<u8>) -> std::result::Result<String, std::string::FromUtf8Error> {
37    String::from_utf8(arg)
38}