| Index: chromeos/display/real_output_configurator_delegate.h
|
| diff --git a/chromeos/display/real_output_configurator_delegate.h b/chromeos/display/real_output_configurator_delegate.h
|
| index 2753ae55ffb19c778613eab77193abb8467c1699..57f194920b3e6fd81b55c267cea2d0d2c01f9824 100644
|
| --- a/chromeos/display/real_output_configurator_delegate.h
|
| +++ b/chromeos/display/real_output_configurator_delegate.h
|
| @@ -5,11 +5,13 @@
|
| #ifndef CHROMEOS_DISPLAY_REAL_OUTPUT_CONFIGURATOR_DELEGATE_H_
|
| #define CHROMEOS_DISPLAY_REAL_OUTPUT_CONFIGURATOR_DELEGATE_H_
|
|
|
| +#include <map>
|
| #include <vector>
|
|
|
| #include "base/basictypes.h"
|
| #include "base/compiler_specific.h"
|
| #include "chromeos/display/output_configurator.h"
|
| +#include "ppapi/c/private/ppb_output_protection_private.h"
|
|
|
| typedef XID Window;
|
|
|
| @@ -53,8 +55,24 @@ class RealOutputConfiguratorDelegate : public OutputConfigurator::Delegate {
|
| int touch_device_id,
|
| const OutputConfigurator::CoordinateTransformation& ctm) OVERRIDE;
|
| virtual void SendProjectingStateToPowerManager(bool projecting) OVERRIDE;
|
| + virtual bool QueryOutputProtectionStatus(
|
| + const void* client,
|
| + uint32_t* link_mask,
|
| + uint32_t* protection_mask) OVERRIDE;
|
| + virtual bool EnableOutputProtection(
|
| + const void* client,
|
| + uint32_t desired_method_mask) OVERRIDE;
|
|
|
| private:
|
| + // Mapping a client to its protection request bitmask.
|
| + typedef std::map<const void*, uint32_t> ProtectionRequests;
|
| +
|
| + enum HDCPState {
|
| + HDCP_State_Undesired,
|
| + HDCP_State_Desired,
|
| + HDCP_State_Enabled
|
| + };
|
| +
|
| // Gets details corresponding to |mode|. Parameters may be NULL. Returns
|
| // true on success.
|
| bool GetModeDetails(RRMode mode, int* width, int* height, bool* interlaced);
|
| @@ -105,6 +123,15 @@ class RealOutputConfiguratorDelegate : public OutputConfigurator::Delegate {
|
| void GetTouchscreens(
|
| std::vector<OutputConfigurator::OutputSnapshot>* outputs);
|
|
|
| + // Get HDCP state of output.
|
| + bool GetHDCPState(RROutput id, HDCPState* state);
|
| + // Set HDCP state of output.
|
| + bool SetHDCPState(RROutput id, HDCPState state);
|
| + // Query output protection link type of output.
|
| + bool QueryOutputProtectionLinkType(
|
| + RROutput id,
|
| + PP_OutputProtectionLinkType_Private *link_type);
|
| +
|
| Display* display_;
|
| Window window_;
|
|
|
| @@ -114,6 +141,9 @@ class RealOutputConfiguratorDelegate : public OutputConfigurator::Delegate {
|
| // Used to enable modes which rely on panel fitting.
|
| bool is_panel_fitting_enabled_;
|
|
|
| + // Output protection requests of each client.
|
| + ProtectionRequests client_protection_requests_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(RealOutputConfiguratorDelegate);
|
| };
|
|
|
|
|