summaryrefslogtreecommitdiffstats
path: root/chrome/common/extensions/api/webrtc_desktop_capture_private.idl
blob: d71f518b164782831054d21473360a2075403a04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// 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.

// Use the <code>chrome.webrtcDesktopCapturePrivate</code> API to capture
// desktop media requested from a WebView.
namespace webrtcDesktopCapturePrivate {
  dictionary RequestInfo {
    // The guest process id for the requester.
    long guestProcessId;

    // The webview render frame id for the requester.
    long guestRenderFrameId;
  };

  enum DesktopCaptureSourceType {
    screen,
    window,
    tab
  };

  callback chooseDesktopMediaCallback = void (DOMString streamId);

  interface Functions {
    // Shows desktop media picker UI with the specified set of sources.
    static long chooseDesktopMedia(DesktopCaptureSourceType[] sources,
                                   RequestInfo request,
                                   chooseDesktopMediaCallback callback);

    // Hides desktop media picker dialog shown by chooseDesktopMedia().
    static void cancelChooseDesktopMedia(long desktopMediaRequestId);
  };
};