diff --git a/svc/src/hudctrl/api.py b/svc/src/hudctrl/api.py index c6f55c3..977d2f4 100644 --- a/svc/src/hudctrl/api.py +++ b/svc/src/hudctrl/api.py @@ -126,6 +126,14 @@ async def get_screenshot( return response +@app.post( + '/screen/{name}/navigate', + response_class=fastapi.responses.PlainTextResponse, +) +async def navigate(name: str, url: str = fastapi.Form(...)): + await svc.navigate(name, url) + + @app.on_event('shutdown') async def on_shutdown(): await svc.shutdown() diff --git a/svc/src/hudctrl/hud.py b/svc/src/hudctrl/hud.py index 4e8618c..10b415f 100644 --- a/svc/src/hudctrl/hud.py +++ b/svc/src/hudctrl/hud.py @@ -116,6 +116,12 @@ class HUDService: dict, ) + async def navigate(self, name: str, url: str) -> None: + assert self.marionette + async with self.lock: + await self.marionette.switch_to_window(self.windows[name]) + await self.marionette.navigate(url) + async def refresh_screen(self, name: str) -> None: assert self.marionette async with self.lock: