• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/* Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 * Use of this source code is governed by a BSD-style license that can be
3 * found in the LICENSE file.
4 */
5
6/**
7 * This file contains the <code>PPB_Flash_DRM</code> interface.
8 */
9
10[generate_thunk]
11
12label Chrome {
13  M29 = 1.0,
14  M33 = 1.1
15};
16
17/**
18 * A resource for performing Flash DRM-related operations.
19 */
20interface PPB_Flash_DRM {
21  /**
22   * Creates a PPB_Flash_DRM resource for performing DRM-related operations in
23   * Flash.
24   */
25  PP_Resource Create([in] PP_Instance instance);
26
27  /**
28   * Asynchronously computes the device ID. When available, it will place the
29   * string in |*id| and will call the completion callback. On failure the
30   * given var will be PP_VARTYPE_UNDEFINED.
31   */
32  int32_t GetDeviceID([in] PP_Resource drm,
33                      [out] PP_Var id,
34                      [in] PP_CompletionCallback callback);
35
36  /**
37   * Windows and Mac only. Synchronously outputs the HMONITOR or
38   * CGDirectDisplayID corresponding to the monitor on which the plugin instance
39   * is displayed in |hmonitor|. This value is queried asynchronously and this
40   * will return PP_FALSE if the value is not yet available or an error
41   * occurred. PP_TRUE is returned on success.
42   */
43  PP_Bool GetHmonitor([in] PP_Resource drm,
44                      [out] int64_t hmonitor);
45
46  /**
47   * Asynchronously returns a PPB_FileRef resource in |file_ref| which points to
48   * the Voucher file for performing DRM verification. |callback| will be called
49   * upon completion.
50   */
51   int32_t GetVoucherFile([in] PP_Resource drm,
52                          [out] PP_Resource file_ref,
53                          [in] PP_CompletionCallback callback);
54
55  /**
56   * Asynchronously returns a value indicating whether the monitor on which the
57   * plugin instance is displayed is external. |callback| will be called upon
58   * completion.
59   */
60   [version=1.1]
61   int32_t MonitorIsExternal([in] PP_Resource drm,
62                             [out] PP_Bool is_external,
63                             [in] PP_CompletionCallback callback);
64};
65
66