ladybird/Userland/Libraries/LibWeb/WebSockets/WebSocket.idl
Guilherme Gonçalves 230c0b34d4 LibWeb+LibWebSocket: DOM WebSocket subprotocol support
This adds support for WebSocket subprotocols to WebSocket DOM
objects, with some necessary plumbing to LibWebSocket and its
clients.

See the associated pull request for how this was tested.
2023-02-02 14:41:34 +01:00

33 lines
1.1 KiB
Text

#import <DOM/EventTarget.idl>
#import <DOM/EventHandler.idl>
// https://websockets.spec.whatwg.org/#websocket
[Exposed=(Window,Worker)]
interface WebSocket : EventTarget {
constructor(USVString url, optional (DOMString or sequence<DOMString>) protocols);
readonly attribute USVString url;
const unsigned short CONNECTING = 0;
const unsigned short OPEN = 1;
const unsigned short CLOSING = 2;
const unsigned short CLOSED = 3;
readonly attribute unsigned short readyState;
// readonly attribute unsigned long long bufferedAmount;
attribute EventHandler onopen;
attribute EventHandler onerror;
attribute EventHandler onclose;
readonly attribute DOMString extensions;
readonly attribute DOMString protocol;
undefined close(optional unsigned short code, optional USVString reason);
attribute EventHandler onmessage;
attribute DOMString binaryType;
undefined send(USVString data);
// FIXME: Support other kinds of send() calls
// undefined send(Blob data);
// undefined send(ArrayBuffer data);
// undefined send(ArrayBufferView data);
};