michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: enum RTCDataChannelState { michael@0: "connecting", michael@0: "open", michael@0: "closing", michael@0: "closed" michael@0: }; michael@0: michael@0: enum RTCDataChannelType { michael@0: "arraybuffer", michael@0: "blob" michael@0: }; michael@0: michael@0: // XXX This interface is called RTCDataChannel in the spec. michael@0: interface DataChannel : EventTarget michael@0: { michael@0: readonly attribute DOMString label; michael@0: readonly attribute boolean reliable; michael@0: readonly attribute RTCDataChannelState readyState; michael@0: readonly attribute unsigned long bufferedAmount; michael@0: attribute EventHandler onopen; michael@0: attribute EventHandler onerror; michael@0: attribute EventHandler onclose; michael@0: void close(); michael@0: attribute EventHandler onmessage; michael@0: attribute RTCDataChannelType binaryType; michael@0: [Throws] michael@0: void send(DOMString data); michael@0: [Throws] michael@0: void send(Blob data); michael@0: [Throws] michael@0: void send(ArrayBuffer data); michael@0: [Throws] michael@0: void send(ArrayBufferView data); michael@0: }; michael@0: michael@0: // Mozilla extensions. michael@0: partial interface DataChannel michael@0: { michael@0: readonly attribute DOMString protocol; michael@0: readonly attribute boolean ordered; michael@0: readonly attribute unsigned short id; michael@0: // this is deprecated due to renaming in the spec, but still supported for Fx22 michael@0: readonly attribute unsigned short stream; // now id michael@0: };