summaryrefslogtreecommitdiffstats
path: root/chromeos
diff options
context:
space:
mode:
authordalecurtis@chromium.org <dalecurtis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-12 01:55:55 +0000
committerdalecurtis@chromium.org <dalecurtis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-12 01:55:55 +0000
commite99f8f5dc6d09553ccb863c4069e480de71c4a22 (patch)
tree703209d31f087ec8b4a1eff4443d90fcef3244d0 /chromeos
parenta156f01def62cabbf42f4cd7304359a46770c31a (diff)
downloadchromium_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.cc18
-rw-r--r--chromeos/display/output_configurator.h1
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.