pub struct LaunchOptions {
pub width: u32,
pub height: u32,
pub headless: bool,
pub extra_args: Vec<String>,
pub profile_dir: Option<PathBuf>,
}Expand description
Options for launching a ChromiumBackend.
headless = false shows a real visible Chromium window — intended for
interactive flows like first-time authentication (LinkedIn, OAuth, SSO)
where a human needs to complete sign-in / 2FA / captcha before the rest
of the script runs headless against the persisted cookies.
Fields§
§width: u32§height: u32§headless: bool§extra_args: Vec<String>Extra command-line flags appended to Chromium’s argv at
launch. Use cases include the Google Meet bot (#112) which
needs --use-fake-ui-for-media-stream,
--autoplay-policy=no-user-gesture-required, and the
container-friendly trio (--no-sandbox,
--disable-dev-shm-usage, --disable-setuid-sandbox).
Flags are passed verbatim — callers responsible for the
correctness of what they append.
profile_dir: Option<PathBuf>Persistent Chromium profile to launch against, or None for the
per-instance ephemeral tempdir that is this crate’s default.
This is how CAR code asks for persistence. It is an OPTION rather
than an environment variable because the env var is process-global:
one component setting it silently changed every other browser in the
process, including browser.run’s per-connection browsers, which is
how a drawer launch used to make every later browser.run die on
SingletonLock. CAR_BROWSER_PROFILE_DIR remains the user-facing
knob, read below when no explicit directory is given — but CAR code
never writes it.
A directory already held by a live backend in this process is not an
error: the launch falls back to the ephemeral default and logs, which
starts a working (signed-out) browser instead of none at all. See
crate::profile.
Trait Implementations§
Source§impl Clone for LaunchOptions
impl Clone for LaunchOptions
Source§impl Debug for LaunchOptions
impl Debug for LaunchOptions
Auto Trait Implementations§
impl Freeze for LaunchOptions
impl RefUnwindSafe for LaunchOptions
impl Send for LaunchOptions
impl Sync for LaunchOptions
impl Unpin for LaunchOptions
impl UnsafeUnpin for LaunchOptions
impl UnwindSafe for LaunchOptions
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more