tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

WebSocket.webidl (2132B)


      1 /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
      2 /* This Source Code Form is subject to the terms of the Mozilla Public
      3 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
      4 * You can obtain one at http://mozilla.org/MPL/2.0/.
      5 *
      6 * The origin of this IDL file is
      7 * http://www.whatwg.org/html/#network
      8 *
      9 * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and Opera Software ASA.
     10 * You are granted a license to use, reproduce and create derivative works of this document.
     11 */
     12 
     13 enum BinaryType { "blob", "arraybuffer" };
     14 
     15 [Exposed=(Window,Worker)]
     16 interface WebSocket : EventTarget {
     17  [Throws]
     18  constructor(DOMString url, optional (DOMString or sequence<DOMString>) protocols = []);
     19 
     20  readonly attribute DOMString url;
     21 
     22  // ready state
     23  const unsigned short CONNECTING = 0;
     24  const unsigned short OPEN = 1;
     25  const unsigned short CLOSING = 2;
     26  const unsigned short CLOSED = 3;
     27 
     28  readonly attribute unsigned short readyState;
     29 
     30  readonly attribute unsigned long long bufferedAmount;
     31 
     32  // networking
     33 
     34  attribute EventHandler onopen;
     35 
     36  attribute EventHandler onerror;
     37 
     38  attribute EventHandler onclose;
     39 
     40  readonly attribute DOMString extensions;
     41 
     42  readonly attribute DOMString protocol;
     43 
     44  [Throws]
     45  undefined close(optional [Clamp] unsigned short code, optional DOMString reason);
     46 
     47  // messaging
     48 
     49  attribute EventHandler onmessage;
     50 
     51  attribute BinaryType binaryType;
     52 
     53  [Throws]
     54  undefined send(DOMString data);
     55 
     56  [Throws]
     57  undefined send(Blob data);
     58 
     59  [Throws]
     60  undefined send(ArrayBuffer data);
     61 
     62  [Throws]
     63  undefined send(ArrayBufferView data);
     64 };
     65 
     66 // Support for creating server-side chrome-only WebSocket. Used in
     67 // devtools remote debugging server.
     68 interface nsITransportProvider;
     69 
     70 partial interface WebSocket {
     71  [ChromeOnly, NewObject, Throws]
     72  static WebSocket createServerWebSocket(DOMString url,
     73                                         sequence<DOMString> protocols,
     74                                         nsITransportProvider transportProvider,
     75                                         DOMString negotiatedExtensions);
     76 };