1
0
Fork 0

svc: Add navigate operation

The *POST /screen/{name}/navigate* path operation allows the client to
request the screen navigate to a different URL, specified by the `url`
form field.
master
Dustin 2022-04-30 21:48:12 -05:00
parent 0536574072
commit e452393b9f
2 changed files with 14 additions and 0 deletions

View File

@ -126,6 +126,14 @@ async def get_screenshot(
return response 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') @app.on_event('shutdown')
async def on_shutdown(): async def on_shutdown():
await svc.shutdown() await svc.shutdown()

View File

@ -116,6 +116,12 @@ class HUDService:
dict, 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: async def refresh_screen(self, name: str) -> None:
assert self.marionette assert self.marionette
async with self.lock: async with self.lock: