Mercurial > libervia-web
annotate libervia/web/pages/_browser/tmp_aio.py @ 1553:83c2a6faa2ae
browser (calls): screen sharing implementation:
- the new screen sharing button toggle screen sharing state
- the button reflect the screen sharing state (green crossed when not sharing, red
uncrossed otherwise)
- the screen sharing stream replaces the camera one, and vice versa. No re-negociation is
needed.
- stopping the sharing through browser's dialog is supported
- the screen sharing button is only visibile if supported by the platform
rel 432
author | Goffi <goffi@goffi.org> |
---|---|
date | Mon, 14 Aug 2023 16:49:02 +0200 |
parents | eb00d593801d |
children |
rev | line source |
---|---|
1347 | 1 from browser import window |
2 | |
3 """Q&D module to do ajax requests with data types currently unsupported by Brython""" | |
4 # FIXME: remove this module when official aio module allows to work with blobs | |
5 | |
6 window.eval(""" | |
7 var _tmp_ajax = function(method, url, format, data){ | |
8 return new Promise(function(resolve, reject){ | |
9 var xhr = new XMLHttpRequest() | |
10 xhr.open(method, url, true) | |
11 xhr.responseType = format | |
12 xhr.onreadystatechange = function(){ | |
13 if(this.readyState == 4){ | |
14 resolve(this) | |
15 } | |
16 } | |
17 if(data){ | |
18 xhr.send(data) | |
19 }else{ | |
20 xhr.send() | |
21 } | |
22 }) | |
23 } | |
24 """) | |
25 | |
26 ajax = window._tmp_ajax |