mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-11 05:39:41 +02:00
Backed out changeset b417c2d937e8 (bug 1485040) Backed out changeset c567c4c7438f (bug 1485040) Backed out changeset 806c36cb2c4c (bug 1485040) Backed out changeset 0fbb490ffc7f (bug 1485040) Backed out changeset a9622e7761eb (bug 1485040)
77 lines
2.1 KiB
Text
77 lines
2.1 KiB
Text
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
* The origin of this IDL file is
|
|
* http://www.whatwg.org/html/#network
|
|
*
|
|
* © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and Opera Software ASA.
|
|
* You are granted a license to use, reproduce and create derivative works of this document.
|
|
*/
|
|
|
|
enum BinaryType { "blob", "arraybuffer" };
|
|
|
|
[Exposed=(Window,Worker),
|
|
Constructor(DOMString url),
|
|
Constructor(DOMString url, DOMString protocols),
|
|
Constructor(DOMString url, sequence<DOMString> protocols)]
|
|
interface WebSocket : EventTarget {
|
|
|
|
readonly attribute DOMString url;
|
|
|
|
// ready state
|
|
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 bufferedAmount;
|
|
|
|
// networking
|
|
|
|
attribute EventHandler onopen;
|
|
|
|
attribute EventHandler onerror;
|
|
|
|
attribute EventHandler onclose;
|
|
|
|
readonly attribute DOMString extensions;
|
|
|
|
readonly attribute DOMString protocol;
|
|
|
|
[Throws]
|
|
void close([Clamp] optional unsigned short code, optional DOMString reason);
|
|
|
|
// messaging
|
|
|
|
attribute EventHandler onmessage;
|
|
|
|
attribute BinaryType binaryType;
|
|
|
|
[Throws]
|
|
void send(DOMString data);
|
|
|
|
[Throws]
|
|
void send(Blob data);
|
|
|
|
[Throws]
|
|
void send(ArrayBuffer data);
|
|
|
|
[Throws]
|
|
void send(ArrayBufferView data);
|
|
};
|
|
|
|
// Support for creating server-side chrome-only WebSocket. Used in
|
|
// devtools remote debugging server.
|
|
interface nsITransportProvider;
|
|
|
|
partial interface WebSocket {
|
|
[ChromeOnly, NewObject, Throws]
|
|
static WebSocket createServerWebSocket(DOMString url,
|
|
sequence<DOMString> protocols,
|
|
nsITransportProvider transportProvider,
|
|
DOMString negotiatedExtensions);
|
|
};
|