@@ -189,16 +189,16 @@ def _deferred_from_coro(self, coro: Awaitable) -> Deferred:
189189 return _ThreadedLoopAdapter ._deferred_from_coro (coro )
190190 return deferred_from_coro (coro )
191191
192- def _future_from_coro (self , coro : Awaitable ) -> asyncio .Future :
192+ def _maybe_future_from_coro (self , coro : Awaitable ) -> Awaitable | asyncio .Future :
193193 if self .config .use_threaded_loop :
194194 return _ThreadedLoopAdapter ._future_from_coro (coro )
195- return asyncio . ensure_future ( coro )
195+ return coro
196196
197197 def _engine_started (self ) -> Deferred :
198198 return self ._deferred_from_coro (self ._launch ())
199199
200200 async def _maybe_launch_in_thread (self ) -> None :
201- await self ._future_from_coro (self ._launch ())
201+ await self ._maybe_future_from_coro (self ._launch ())
202202
203203 async def _launch (self ) -> None :
204204 """Launch Playwright manager and configured startup context(s)."""
@@ -372,7 +372,7 @@ def _set_max_concurrent_context_count(self):
372372 async def close (self ) -> None :
373373 logger .info ("Closing download handler" )
374374 await super ().close ()
375- await self ._future_from_coro (self ._close ())
375+ await self ._maybe_future_from_coro (self ._close ())
376376 if self .config .use_threaded_loop :
377377 _ThreadedLoopAdapter .stop (id (self ))
378378
@@ -403,7 +403,7 @@ async def _close(self) -> None:
403403 async def download_request (self , request : Request ) -> Response :
404404 if request .meta .get ("playwright" ):
405405 coro = self ._download_request (request )
406- return await self ._future_from_coro (coro )
406+ return await self ._maybe_future_from_coro (coro )
407407 return await super ().download_request ( # pylint: disable=no-value-for-parameter
408408 request
409409 )
0 commit comments