// Copyright 2015 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.

// TODO(mlamouri): double-check link after spec changes have landed.
// https://w3c.github.io/presentation-api/#interface-presentationrequest

[
    ActiveScriptWrappable,
    ConstructorCallWith=ExecutionContext,
    Constructor(DOMString url),
    DependentLifetime,
    MeasureAs=PresentationRequestConstructor,
    RaisesException=Constructor,
    RuntimeEnabled=Presentation,
] interface PresentationRequest : EventTarget {
    [CallWith=ScriptState, MeasureAs=PresentationRequestStart] Promise<PresentationConnection> start();
    [CallWith=ScriptState, MeasureAs=PresentationRequestReconnect] Promise<PresentationConnection> reconnect(DOMString id);
    [CallWith=ScriptState, MeasureAs=PresentationRequestGetAvailability] Promise<PresentationAvailability> getAvailability();

    attribute EventHandler onconnectionavailable;
};
