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   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 only. Synchronously outputs the HMONITOR corresponding to the
     38    * monitor on which the plugin instance is displayed in |hmonitor|. PP_TRUE is
     39    * returned on success.
     40    */
     41   PP_Bool GetHmonitor([in] PP_Resource drm,
     42                       [out] int64_t hmonitor);
     43 
     44   /**
     45    * Asynchronously returns a PPB_FileRef resource in |file_ref| which points to
     46    * the Voucher file for performing DRM verification. |callback| will be called
     47    * upon completion.
     48    */
     49    int32_t GetVoucherFile([in] PP_Resource drm,
     50                           [out] PP_Resource file_ref,
     51                           [in] PP_CompletionCallback callback);
     52 
     53   /**
     54    * Asynchronously returns a value indicating whether the monitor on which the
     55    * plugin instance is displayed is external. |callback| will be called upon
     56    * completion.
     57    */
     58    [version=1.1]
     59    int32_t MonitorIsExternal([in] PP_Resource drm,
     60                              [out] PP_Bool is_external,
     61                              [in] PP_CompletionCallback callback);
     62 };
     63 
     64