view 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
line wrap: on
line source

from browser import window

"""Q&D module to do ajax requests with data types currently unsupported by Brython"""
# FIXME: remove this module when official aio module allows to work with blobs

window.eval("""
var _tmp_ajax = function(method, url, format, data){
    return new Promise(function(resolve, reject){
        var xhr = new XMLHttpRequest()
        xhr.open(method, url, true)
        xhr.responseType = format
        xhr.onreadystatechange = function(){
            if(this.readyState == 4){
                resolve(this)
            }
        }
        if(data){
            xhr.send(data)
        }else{
            xhr.send()
        }
    })
}
""")

ajax = window._tmp_ajax