blob: 9b6138f04d04680966defe8aac4ec92591292090 [file] [log] [blame]
// 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"
};
[
RuntimeEnabled=Presentation
] interface PresentationConnection : EventTarget {
readonly attribute USVString id;
readonly attribute USVString url;
readonly attribute PresentationConnectionState state;
[MeasureAs=PresentationConnectionClose] void close();
[MeasureAs=PresentationConnectionTerminate] void terminate();
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);
};