Home | History | Annotate | Download | only in private
      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 };
     15 
     16 /**
     17  * A resource for performing Flash DRM-related operations.
     18  */
     19 interface PPB_Flash_DRM {
     20   /**
     21    * Creates a PPB_Flash_DRM resource for performing DRM-related operations in
     22    * Flash.
     23    */
     24   PP_Resource Create([in] PP_Instance instance);
     25 
     26   /**
     27    * Asynchronously computes the device ID. When available, it will place the
     28    * string in |*id| and will call the completion callback. On failure the
     29    * given var will be PP_VARTYPE_UNDEFINED.
     30    */
     31   int32_t GetDeviceID([in] PP_Resource drm,
     32                       [out] PP_Var id,
     33                       [in] PP_CompletionCallback callback);
     34 
     35   /**
     36    * Windows only. Synchronously outputs the HMONITOR corresponding to the
     37    * monitor on which the plugin instance is displayed in |hmonitor|. PP_TRUE is
     38    * returned on success.
     39    */
     40   PP_Bool GetHmonitor([in] PP_Resource drm,
     41                       [out] int64_t hmonitor);
     42 
     43   /**
     44    * Asynchronously returns a PPB_FileRef resource in |file_ref| which points to
     45    * the Voucher file for performing DRM verification. |callback| will be called
     46    * upon completion.
     47    */
     48    int32_t GetVoucherFile([in] PP_Resource drm,
     49                           [out] PP_Resource file_ref,
     50                           [in] PP_CompletionCallback callback);
     51 };
     52 
     53