mirror of
https://github.com/CloakHQ/CloakBrowser.git
synced 2026-06-23 11:41:46 +02:00
fix: ensure pw.stop() runs even if browser.close() raises or is cancelled (#60)
This commit is contained in:
@@ -120,7 +120,9 @@ def launch(
|
|||||||
_original_close = browser.close
|
_original_close = browser.close
|
||||||
|
|
||||||
def _close_with_cleanup() -> None:
|
def _close_with_cleanup() -> None:
|
||||||
|
try:
|
||||||
_original_close()
|
_original_close()
|
||||||
|
finally:
|
||||||
pw.stop()
|
pw.stop()
|
||||||
|
|
||||||
browser.close = _close_with_cleanup
|
browser.close = _close_with_cleanup
|
||||||
@@ -203,7 +205,9 @@ async def launch_async( # noqa: C901
|
|||||||
_original_close = browser.close
|
_original_close = browser.close
|
||||||
|
|
||||||
async def _close_with_cleanup() -> None:
|
async def _close_with_cleanup() -> None:
|
||||||
|
try:
|
||||||
await _original_close()
|
await _original_close()
|
||||||
|
finally:
|
||||||
await pw.stop()
|
await pw.stop()
|
||||||
|
|
||||||
browser.close = _close_with_cleanup
|
browser.close = _close_with_cleanup
|
||||||
@@ -314,7 +318,9 @@ def launch_persistent_context(
|
|||||||
_original_close = context.close
|
_original_close = context.close
|
||||||
|
|
||||||
def _close_with_cleanup() -> None:
|
def _close_with_cleanup() -> None:
|
||||||
|
try:
|
||||||
_original_close()
|
_original_close()
|
||||||
|
finally:
|
||||||
pw.stop()
|
pw.stop()
|
||||||
|
|
||||||
context.close = _close_with_cleanup
|
context.close = _close_with_cleanup
|
||||||
@@ -427,7 +433,9 @@ async def launch_persistent_context_async(
|
|||||||
_original_close = context.close
|
_original_close = context.close
|
||||||
|
|
||||||
async def _close_with_cleanup() -> None:
|
async def _close_with_cleanup() -> None:
|
||||||
|
try:
|
||||||
await _original_close()
|
await _original_close()
|
||||||
|
finally:
|
||||||
await pw.stop()
|
await pw.stop()
|
||||||
|
|
||||||
context.close = _close_with_cleanup
|
context.close = _close_with_cleanup
|
||||||
@@ -514,7 +522,9 @@ def launch_context(
|
|||||||
_original_ctx_close = context.close
|
_original_ctx_close = context.close
|
||||||
|
|
||||||
def _close_context_with_cleanup() -> None:
|
def _close_context_with_cleanup() -> None:
|
||||||
|
try:
|
||||||
_original_ctx_close()
|
_original_ctx_close()
|
||||||
|
finally:
|
||||||
browser.close()
|
browser.close()
|
||||||
|
|
||||||
context.close = _close_context_with_cleanup
|
context.close = _close_context_with_cleanup
|
||||||
|
|||||||
Reference in New Issue
Block a user