Skip to main content

browser_commander/browser/
mod.rs

1//! Browser management for browser automation.
2//!
3//! This module provides utilities for:
4//! - Launching browser instances
5//! - Navigation operations
6
7mod browser_cookie_cache;
8mod browser_cookie_credentials;
9mod browser_cookie_crypto;
10mod browser_cookie_sources;
11mod browser_cookies;
12pub mod browser_process;
13mod browser_profiles;
14mod browser_sources;
15pub mod cdp_endpoint;
16mod cdp_trace_events;
17pub mod chromiumoxide_adapter;
18mod chromiumoxide_trace;
19pub mod connector;
20pub mod debugging_port;
21mod default_browser;
22mod engine_launch;
23pub mod extension_relay;
24mod launch_executable;
25pub mod launcher;
26pub mod media;
27pub mod migration;
28pub mod navigation_ops;
29pub mod node_bridge;
30pub mod open_in_user_browser;
31pub mod parity;
32pub mod playwright_driver_page;
33pub mod profile_directory;
34pub mod raw_cdp;
35pub mod real_browser;
36pub mod restrictions;
37mod safari_cookies;
38pub mod snapshot;
39pub mod storage_state;
40pub mod system_browser;
41pub mod webdriver;
42
43pub use browser_cookie_cache::clear_browser_cookie_memory_cache;
44pub use browser_cookie_sources::{
45    list_cookie_sources, resolve_import_source, CookieSourceListing, ImportSource,
46};
47pub use browser_cookies::{read_browser_cookies, BrowserCookie, BrowserCookieReadOptions};
48pub use browser_process::BrowserProcess;
49pub use browser_profiles::{
50    is_default_browser_keyword, list_browser_profiles, resolve_source_browser, BrowserProfile,
51    BrowserProfileOptions, SUPPORTED_COOKIE_BROWSERS,
52};
53pub use browser_sources::{
54    browser_family, browser_ids, browser_sources, default_browser_identifiers, find_browser_source,
55    is_single_profile_browser, normalize_browser_id, resolve_browser_roots, safe_storage_identity,
56    BrowserSource, Environment, SafeStorageIdentity,
57};
58pub use cdp_endpoint::{
59    fetch_cdp_version, read_dev_tools_active_port, wait_for_cdp_endpoint, CdpEndpointRequest,
60};
61pub use chromiumoxide_adapter::ChromiumoxidePage;
62pub use connector::{connect_browser, ConnectOptions};
63pub use debugging_port::{assert_fixed_debugging_port, reserve_loopback_port, PortRaceError};
64pub use default_browser::{
65    browser_for_identifier, default_run_command, parse_mac_launch_services_handler,
66    parse_windows_prog_id, resolve_default_browser, RunCommand,
67};
68pub use launcher::{
69    launch_browser, Browser, LaunchMode, LaunchOptions, LaunchResult, LAUNCH_MODES,
70};
71pub use media::{emulate_media, ColorScheme, EmulateMediaOptions};
72pub use navigation_ops::{
73    goto, verify_navigation, wait_for_navigation, wait_for_url_stabilization, NavigationOptions,
74    NavigationResult, NavigationVerificationResult, WaitUntil,
75};
76pub use node_bridge::NodeBridgePage;
77pub use open_in_user_browser::{
78    build_open_command, open_in_user_browser, validate_open_url, OpenInUserBrowserResult,
79};
80pub use playwright_driver_page::{PlaywrightConnect, PlaywrightDriverPage, PlaywrightLaunch};
81pub use profile_directory::{
82    create_temporary_user_data_dir, prepare_user_data_dir, remove_user_data_dir,
83};
84pub use raw_cdp::RawCdpCommand;
85pub use real_browser::{
86    build_real_browser_args, launch_and_connect_real_browser, launch_real_browser,
87    resolve_system_browser_executable, RealBrowserLaunchResult, RealBrowserOptions,
88    DEFAULT_CLOSE_TIMEOUT, DEFAULT_PORT_ATTEMPTS,
89};
90pub use restrictions::{
91    launch_restriction_preset, launch_restriction_presets, launch_restrictions,
92    merge_feature_switches, resolve_restrictions, LaunchRestriction, ResolvedRestrictions,
93    LAUNCH_RESTRICTIONS_SOURCE,
94};
95pub use snapshot::{
96    launch_snapshot, snapshot_user_data_dir, SnapshotLaunchResult, SnapshotOptions, SnapshotReport,
97};
98pub use storage_state::{
99    save_storage_state, StorageEntry, StorageOrigin, StorageState, StorageStateInput,
100};
101pub use system_browser::{
102    assert_dedicated_user_data_dir, default_real_browser_user_data_dir,
103    known_default_user_data_dirs, resolve_browser_executable,
104};