pub struct BrowserHooks {
pub pre_launch: Vec<PreLaunchHook>,
pub pre_page_create: Vec<PagePrepHook>,
pub post_page_create: Vec<PageHook>,
pub pre_page_close: Vec<PageHook>,
pub post_page_close: Vec<PageClosedHook>,
}Expand description
Provider-erased browser lifecycle hooks.
This deliberately simplifies the generic BrowserHooks<P> sketch in INTERFACE §12.1.
Provider generics stay out of hook plumbing because dyn BrowserPage is the hook surface,
mirroring PageHandle erasure. post_launch and browser-parameterized pre_page_create slots
are deferred. Phase 7 fingerprint installation uses Self::post_page_create, as directed by
INTERFACE §12 and ADR-0006.
Fields§
§pre_launch: Vec<PreLaunchHook>Hooks that mutate launch context before provider launch.
pre_page_create: Vec<PagePrepHook>Hooks that mutate page context before provider page creation.
post_page_create: Vec<PageHook>Hooks run after the provider creates a page.
pre_page_close: Vec<PageHook>Hooks run before the provider closes a page.
post_page_close: Vec<PageClosedHook>Hooks notified after a page closes.
Implementations§
Source§impl BrowserHooks
impl BrowserHooks
Sourcepub fn defaults() -> Self
pub fn defaults() -> Self
Creates the standard browser hooks, including bidirectional session cookie synchronization.
Sourcepub fn push_pre_launch(
self,
hook: impl Fn(&mut LaunchContext) + Send + Sync + 'static,
) -> Self
pub fn push_pre_launch( self, hook: impl Fn(&mut LaunchContext) + Send + Sync + 'static, ) -> Self
Appends a pre-launch hook.
Sourcepub fn push_pre_page_create(
self,
hook: impl Fn(&mut PageOptions) + Send + Sync + 'static,
) -> Self
pub fn push_pre_page_create( self, hook: impl Fn(&mut PageOptions) + Send + Sync + 'static, ) -> Self
Appends a page-context preparation hook.
Sourcepub fn push_post_page_create<F>(self, hook: F) -> Selfwhere
F: for<'a> Fn(&'a dyn BrowserPage, &'a PageOptions) -> BoxFuture<'a, Result<(), BrowserError>> + Send + Sync + 'static,
pub fn push_post_page_create<F>(self, hook: F) -> Selfwhere
F: for<'a> Fn(&'a dyn BrowserPage, &'a PageOptions) -> BoxFuture<'a, Result<(), BrowserError>> + Send + Sync + 'static,
Appends a post-page-creation hook.
Sourcepub fn push_pre_page_close<F>(self, hook: F) -> Selfwhere
F: for<'a> Fn(&'a dyn BrowserPage, &'a PageOptions) -> BoxFuture<'a, Result<(), BrowserError>> + Send + Sync + 'static,
pub fn push_pre_page_close<F>(self, hook: F) -> Selfwhere
F: for<'a> Fn(&'a dyn BrowserPage, &'a PageOptions) -> BoxFuture<'a, Result<(), BrowserError>> + Send + Sync + 'static,
Appends a pre-page-close hook.
Sourcepub fn push_post_page_close(
self,
hook: impl Fn(PageId) + Send + Sync + 'static,
) -> Self
pub fn push_post_page_close( self, hook: impl Fn(PageId) + Send + Sync + 'static, ) -> Self
Appends a post-page-close hook.
Sourcepub fn with_launch_args(self, args: Vec<String>) -> Self
pub fn with_launch_args(self, args: Vec<String>) -> Self
Adds a launch hook that appends command-line arguments in registration order.
Adds page hooks that synchronize session cookies and page headers.
Hook failures are returned unchanged to the caller.
Sourcepub fn with_fingerprint(
self,
generator: Arc<BrowserFingerprintGenerator>,
) -> Self
pub fn with_fingerprint( self, generator: Arc<BrowserFingerprintGenerator>, ) -> Self
Adds v0.1 browser fingerprint header/context consistency.
This does not patch navigator, canvas, or WebGL properties. See
docs/guide/fingerprinting.md for the documented limits.
Trait Implementations§
Source§impl Clone for BrowserHooks
impl Clone for BrowserHooks
Source§fn clone(&self) -> BrowserHooks
fn clone(&self) -> BrowserHooks
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more