rightkit_browser/lib.rs
1//! Shared Chrome DevTools Protocol browser runtime for Right Suite products.
2//!
3//! * [`BrowserSession`] owns one Chrome process and any number of pages.
4//! * [`ProfileSpec`] selects a temporary or named persistent profile.
5//! * Pointer and keyboard actions use real `Input.dispatch*Event` commands, so
6//! `event.isTrusted`, `:hover`, focus, and default actions behave as for a user.
7//! * [`AdmissionHook`] gates every effect and [`NetworkPolicy`] blocks private/loopback/file
8//! targets (redirects and subresources included) before they reach the network.
9//! * [`BrowserPage::observe`] returns refs that are checked for staleness before use.
10mod config;
11mod error;
12mod keys;
13mod page;
14mod policy;
15mod proc;
16mod proxy;
17mod session;
18
19pub use config::{find_chrome, LaunchOptions, ProfileSpec};
20pub use error::{BrowserError, Result};
21pub use page::{BrowserPage, ConsoleLine, Observation, ObservedNode, Rect, Target};
22pub use policy::{
23 classify_ip, ActionKind, AddressClass, AdmissionHook, AdmissionRequest, AllowCallback,
24 BlockedRequest, BrowserEvent, Decision, EventSink, NetworkPolicy, NetworkRequest, Resolver,
25};
26pub use proxy::PinnedConnection;
27pub use session::BrowserSession;