chromium/third_party/blink/renderer/modules/presentation/presentation_request.idl

// Copyright 2015 The Chromium Authors
// 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-presentationrequest

[
    ActiveScriptWrappable,
    RuntimeEnabled=Presentation,
    SecureContext,
    Exposed=Window
] interface PresentationRequest : EventTarget {
    [CallWith=ExecutionContext, RaisesException, MeasureAs=PresentationRequestConstructor] constructor(USVString url);
    [CallWith=ExecutionContext, RaisesException, MeasureAs=PresentationRequestConstructor] constructor(sequence<(USVString or PresentationSource)> urls);
    [CallWith=ScriptState, RaisesException, MeasureAs=PresentationRequestStart] Promise<PresentationConnection> start();
    [CallWith=ScriptState, RaisesException, MeasureAs=PresentationRequestReconnect] Promise<PresentationConnection> reconnect(DOMString id);
    [CallWith=ScriptState, RaisesException, MeasureAs=PresentationRequestGetAvailability] Promise<PresentationAvailability> getAvailability();

    attribute EventHandler onconnectionavailable;
};