From e99f8f5dc6d09553ccb863c4069e480de71c4a22 Mon Sep 17 00:00:00 2001 From: "dalecurtis@chromium.org" Date: Sat, 12 Oct 2013 01:55:55 +0000 Subject: Check for WebContents capturers when reporting output link types. Adds a PP_OutputProtectionLinkType_Private flag which is set on the link mask returned by PPB_OutputProtection_Private::QueryStatus(). PPB_OutputProtection_Private clients can now check if a capturer is attached to the given WebContents. BUG=272269 TEST=none Review URL: https://codereview.chromium.org/26255006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228306 0039d316-1c4b-4281-b951-d872f2087c98 --- chromeos/display/output_configurator.cc | 18 ++++++++++-------- chromeos/display/output_configurator.h | 1 + 2 files changed, 11 insertions(+), 8 deletions(-) (limited to 'chromeos') diff --git a/chromeos/display/output_configurator.cc b/chromeos/display/output_configurator.cc index 44cf4d9..c4d0242 100644 --- a/chromeos/display/output_configurator.cc +++ b/chromeos/display/output_configurator.cc @@ -305,9 +305,10 @@ bool OutputConfigurator::QueryOutputProtectionStatus( switch (it->type) { case OUTPUT_TYPE_UNKNOWN: return false; - // HDMI and DisplayPort both support HDCP. - case OUTPUT_TYPE_HDMI: - case OUTPUT_TYPE_DISPLAYPORT: { + // DisplayPort, DVI, and HDMI all support HDCP. + case OUTPUT_TYPE_DISPLAYPORT: + case OUTPUT_TYPE_DVI: + case OUTPUT_TYPE_HDMI: { HDCPState state; if (!delegate_->GetHDCPState(this_id, &state)) return false; @@ -319,7 +320,7 @@ bool OutputConfigurator::QueryOutputProtectionStatus( } case OUTPUT_TYPE_INTERNAL: case OUTPUT_TYPE_VGA: - case OUTPUT_TYPE_DVI: + case OUTPUT_TYPE_NETWORK: // No protections for these types. Do nothing. break; case OUTPUT_TYPE_NONE: @@ -360,9 +361,10 @@ bool OutputConfigurator::EnableOutputProtection( switch (it->type) { case OUTPUT_TYPE_UNKNOWN: return false; - // HDMI and DisplayPort both support HDCP. - case OUTPUT_TYPE_HDMI: - case OUTPUT_TYPE_DISPLAYPORT: { + // DisplayPort, DVI, and HDMI all support HDCP. + case OUTPUT_TYPE_DISPLAYPORT: + case OUTPUT_TYPE_DVI: + case OUTPUT_TYPE_HDMI: { HDCPState new_desired_state = (all_desired & OUTPUT_PROTECTION_METHOD_HDCP) ? HDCP_STATE_DESIRED : HDCP_STATE_UNDESIRED; @@ -372,7 +374,7 @@ bool OutputConfigurator::EnableOutputProtection( } case OUTPUT_TYPE_INTERNAL: case OUTPUT_TYPE_VGA: - case OUTPUT_TYPE_DVI: + case OUTPUT_TYPE_NETWORK: // No protections for these types. Do nothing. break; case OUTPUT_TYPE_NONE: diff --git a/chromeos/display/output_configurator.h b/chromeos/display/output_configurator.h index 87071c1..3491344 100644 --- a/chromeos/display/output_configurator.h +++ b/chromeos/display/output_configurator.h @@ -45,6 +45,7 @@ enum OutputType { OUTPUT_TYPE_HDMI = 1 << 3, OUTPUT_TYPE_DVI = 1 << 4, OUTPUT_TYPE_DISPLAYPORT = 1 << 5, + OUTPUT_TYPE_NETWORK = 1 << 6, }; // Content protection methods applied on video output. -- cgit v1.1