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 12 label Chrome { 13 M29 = 1.0, 14 M33 = 1.1 15 }; 16 17 /** 18 * A resource for performing Flash DRM-related operations. 19 */ 20 interface 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