diff options
author | dalecurtis@chromium.org <dalecurtis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-12 01:55:55 +0000 |
---|---|---|
committer | dalecurtis@chromium.org <dalecurtis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-12 01:55:55 +0000 |
commit | e99f8f5dc6d09553ccb863c4069e480de71c4a22 (patch) | |
tree | 703209d31f087ec8b4a1eff4443d90fcef3244d0 /chromeos | |
parent | a156f01def62cabbf42f4cd7304359a46770c31a (diff) | |
download | chromium_src-e99f8f5dc6d09553ccb863c4069e480de71c4a22.zip chromium_src-e99f8f5dc6d09553ccb863c4069e480de71c4a22.tar.gz chromium_src-e99f8f5dc6d09553ccb863c4069e480de71c4a22.tar.bz2 |
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
Diffstat (limited to 'chromeos')
-rw-r--r-- | chromeos/display/output_configurator.cc | 18 | ||||
-rw-r--r-- | chromeos/display/output_configurator.h | 1 |
2 files changed, 11 insertions, 8 deletions
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. |