// 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/#presentationsession

enum PresentationSessionState {
    "connected",
    "disconnected"
};

[
    GarbageCollected,
    RuntimeEnabled=Presentation
] interface PresentationSession : EventTarget {
    readonly attribute DOMString? id;
    readonly attribute PresentationSessionState state;

    [RaisesException] void send(DOMString message);
    [RaisesException] void send(ArrayBuffer data);
    [RaisesException] void send(ArrayBufferView data);
    // TODO(s.singapati): Implement Blob support, crbug.com/459008.
    void close();

    attribute EventHandler onmessage;
    attribute EventHandler onstatechange;
};
