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 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