Skip to content

Commit

Permalink
don't close browser on drop if connect was used (#478)
Browse files Browse the repository at this point in the history
  • Loading branch information
conectado committed May 9, 2024
1 parent 24e8169 commit 2fdba7f
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions src/browser/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ pub struct BrowserInner {
transport: Arc<Transport>,
tabs: Arc<Mutex<Vec<Arc<Tab>>>>,
loop_shutdown_tx: mpsc::SyncSender<()>,
close_on_drop: bool,
}

impl Browser {
Expand All @@ -103,7 +104,7 @@ impl Browser {
idle_browser_timeout,
)?);

Self::create_browser(Some(process), transport, idle_browser_timeout)
Self::create_browser(Some(process), transport, idle_browser_timeout, true)
}

/// Calls [`Browser::new`] with options to launch a headless browser using whatever Chrome / Chromium
Expand Down Expand Up @@ -132,13 +133,14 @@ impl Browser {
let transport = Arc::new(Transport::new(url, None, idle_browser_timeout)?);
trace!("created transport");

Self::create_browser(None, transport, idle_browser_timeout)
Self::create_browser(None, transport, idle_browser_timeout, false)
}

fn create_browser(
process: Option<Process>,
transport: Arc<Transport>,
idle_browser_timeout: Duration,
close_on_drop: bool,
) -> Result<Self> {
let tabs = Arc::new(Mutex::new(Vec::with_capacity(1)));

Expand All @@ -150,6 +152,7 @@ impl Browser {
tabs,
transport,
loop_shutdown_tx: shutdown_tx,
close_on_drop,
}),
};

Expand Down Expand Up @@ -450,9 +453,11 @@ impl Browser {
impl Drop for BrowserInner {
fn drop(&mut self) {
info!("Dropping browser");
self.transport
.call_method_on_browser(cdp::Browser::Close(None))
.ok();
if self.close_on_drop {
self.transport
.call_method_on_browser(cdp::Browser::Close(None))
.ok();
}
self.loop_shutdown_tx.send(()).ok();
self.transport.shutdown();
}
Expand Down

0 comments on commit 2fdba7f

Please sign in to comment.