Rewild Your Web
web
browser
dweb
1--- original
2+++ modified
3@@ -0,0 +1,41 @@
4+/* SPDX Id: AGPL-3.0-or-later */
5+
6+[Exposed=Window,
7+Func="Embedder::is_allowed_to_embed"]
8+interface Peer : EventTarget {
9+ attribute DOMString displayName;
10+ readonly attribute DOMString id;
11+
12+ // This peer left.
13+ attribute EventHandler onpeerleft;
14+};
15+
16+[Exposed=Window,
17+Func="Embedder::is_allowed_to_embed"]
18+interface Pairing : EventTarget {
19+ // Our own endpoint.
20+ Promise<Peer> local();
21+
22+ // The list of paired peers.
23+ Promise<sequence<Peer>> peers();
24+
25+ // Start a pairing handshake with a discovered peer.
26+ Promise<boolean> requestPairing(Peer peer);
27+
28+ // A new unpaired peer was discovered.
29+ attribute EventHandler onpeerdiscovered;
30+
31+ // A paired peer joined.
32+ attribute EventHandler onpeerjoined;
33+
34+ // A paired peer left.
35+ attribute EventHandler onpeerleft;
36+
37+ // An unpaired peer is requesting pairing.
38+ attribute EventHandler onpairingrequest;
39+};
40+
41+partial interface Embedder {
42+ [Func="Embedder::is_allowed_to_embed"]
43+ readonly attribute Pairing pairing;
44+};