| // Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // https://w3c.github.io/presentation-api/#interface-presentationconnection |
| |
| enum PresentationConnectionState { |
| "connected", |
| "closed", |
| "terminated" |
| }; |
| |
| [ |
| GarbageCollected, |
| RuntimeEnabled=Presentation |
| ] interface PresentationConnection : EventTarget { |
| readonly attribute DOMString? id; |
| readonly attribute PresentationConnectionState state; |
| [MeasureAs=PresentationConnectionClose] void close(); |
| [MeasureAs=PresentationConnectionTerminate] void terminate(); |
| [DeprecateAs=PresentationConnectionStateChangeEventListener] attribute EventHandler onstatechange; |
| attribute EventHandler onconnect; |
| attribute EventHandler onclose; |
| attribute EventHandler onterminate; |
| |
| // Communication |
| attribute BinaryType binaryType; |
| attribute EventHandler onmessage; |
| [RaisesException, MeasureAs=PresentationConnectionSend] void send(DOMString message); |
| [RaisesException, MeasureAs=PresentationConnectionSend] void send(Blob data); |
| [RaisesException, MeasureAs=PresentationConnectionSend] void send(ArrayBuffer data); |
| [RaisesException, MeasureAs=PresentationConnectionSend] void send(ArrayBufferView data); |
| }; |