Commit 26e4871d authored by Xiaohan Wang's avatar Xiaohan Wang Committed by Commit Bot

media: Update getStatusForPolicy() minHdcpVersion string format

The explainer has been updated to formalize the minHdcpVersion string
format to be "1.0", "1.1" etc.

This CL updates Chromium's implementation to use the new string format
instead of the old format, e.g. "hdcp-1.0", "hdcp-1.1", etc.

Bug: 709348
Test: Existing tests updated.
Change-Id: I4fe1061077228564fd6931d9900cfd19553dcf09
Reviewed-on: https://chromium-review.googlesource.com/c/1338576Reviewed-by: default avatarJohn Rummell <jrummell@chromium.org>
Commit-Queue: Xiaohan Wang <xhwang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#608979}
parent 5b219afc
...@@ -34,27 +34,27 @@ bool ConvertHdcpVersion(const blink::WebString& hdcp_version_string, ...@@ -34,27 +34,27 @@ bool ConvertHdcpVersion(const blink::WebString& hdcp_version_string,
std::string hdcp_version_ascii = hdcp_version_string.Ascii(); std::string hdcp_version_ascii = hdcp_version_string.Ascii();
// TODO(xhwang): This implementation assumes exact string match. Update this // The strings are specified in the explainer doc:
// when we have the string format speced in the spec/registry. // https://github.com/WICG/hdcp-detection/blob/master/explainer.md
if (hdcp_version_ascii.empty()) if (hdcp_version_ascii.empty())
*hdcp_version = HdcpVersion::kHdcpVersionNone; *hdcp_version = HdcpVersion::kHdcpVersionNone;
else if (hdcp_version_ascii == "hdcp-1.0") else if (hdcp_version_ascii == "1.0")
*hdcp_version = HdcpVersion::kHdcpVersion1_0; *hdcp_version = HdcpVersion::kHdcpVersion1_0;
else if (hdcp_version_ascii == "hdcp-1.1") else if (hdcp_version_ascii == "1.1")
*hdcp_version = HdcpVersion::kHdcpVersion1_1; *hdcp_version = HdcpVersion::kHdcpVersion1_1;
else if (hdcp_version_ascii == "hdcp-1.2") else if (hdcp_version_ascii == "1.2")
*hdcp_version = HdcpVersion::kHdcpVersion1_2; *hdcp_version = HdcpVersion::kHdcpVersion1_2;
else if (hdcp_version_ascii == "hdcp-1.3") else if (hdcp_version_ascii == "1.3")
*hdcp_version = HdcpVersion::kHdcpVersion1_3; *hdcp_version = HdcpVersion::kHdcpVersion1_3;
else if (hdcp_version_ascii == "hdcp-1.4") else if (hdcp_version_ascii == "1.4")
*hdcp_version = HdcpVersion::kHdcpVersion1_4; *hdcp_version = HdcpVersion::kHdcpVersion1_4;
else if (hdcp_version_ascii == "hdcp-2.0") else if (hdcp_version_ascii == "2.0")
*hdcp_version = HdcpVersion::kHdcpVersion2_0; *hdcp_version = HdcpVersion::kHdcpVersion2_0;
else if (hdcp_version_ascii == "hdcp-2.1") else if (hdcp_version_ascii == "2.1")
*hdcp_version = HdcpVersion::kHdcpVersion2_1; *hdcp_version = HdcpVersion::kHdcpVersion2_1;
else if (hdcp_version_ascii == "hdcp-2.2") else if (hdcp_version_ascii == "2.2")
*hdcp_version = HdcpVersion::kHdcpVersion2_2; *hdcp_version = HdcpVersion::kHdcpVersion2_2;
else if (hdcp_version_ascii == "hdcp-2.3") else if (hdcp_version_ascii == "2.3")
*hdcp_version = HdcpVersion::kHdcpVersion2_3; *hdcp_version = HdcpVersion::kHdcpVersion2_3;
else else
return false; return false;
......
...@@ -103,8 +103,8 @@ PlayerUtils.registerEMEEventListeners = function(player) { ...@@ -103,8 +103,8 @@ PlayerUtils.registerEMEEventListeners = function(player) {
// ClearKeyCdm::GetStatusForPolicy() for details. // ClearKeyCdm::GetStatusForPolicy() for details.
return Promise.all([ return Promise.all([
getStatusForHdcpPolicy(mediaKeys, '', 'usable'), getStatusForHdcpPolicy(mediaKeys, '', 'usable'),
getStatusForHdcpPolicy(mediaKeys, 'hdcp-1.0', 'usable'), getStatusForHdcpPolicy(mediaKeys, '1.0', 'usable'),
getStatusForHdcpPolicy(mediaKeys, 'hdcp-2.3', 'output-restricted'), getStatusForHdcpPolicy(mediaKeys, '2.3', 'output-restricted'),
]); ]);
} }
...@@ -113,7 +113,7 @@ PlayerUtils.registerEMEEventListeners = function(player) { ...@@ -113,7 +113,7 @@ PlayerUtils.registerEMEEventListeners = function(player) {
// is always rejected. // is always rejected.
return Promise.all([ return Promise.all([
getStatusForHdcpPolicy(mediaKeys, '', 'rejected'), getStatusForHdcpPolicy(mediaKeys, '', 'rejected'),
getStatusForHdcpPolicy(mediaKeys, 'hdcp-1.0', 'rejected'), getStatusForHdcpPolicy(mediaKeys, '1.0', 'rejected'),
]); ]);
} }
...@@ -123,7 +123,7 @@ PlayerUtils.registerEMEEventListeners = function(player) { ...@@ -123,7 +123,7 @@ PlayerUtils.registerEMEEventListeners = function(player) {
// so we cannot enforce it. // so we cannot enforce it.
return Promise.all([ return Promise.all([
getStatusForHdcpPolicy(mediaKeys, '', 'usable'), getStatusForHdcpPolicy(mediaKeys, '', 'usable'),
getStatusForHdcpPolicy(mediaKeys, 'hdcp-1.0', 'resolved'), getStatusForHdcpPolicy(mediaKeys, '1.0', 'resolved'),
]); ]);
} }
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
promise_test(function(test) promise_test(function(test)
{ {
var hdcpVersionNone = ''; var hdcpVersionNone = '';
var hdcpVersion2_0 = 'hdcp-2.0'; var hdcpVersion2_0 = '2.0';
var mediaKeys; var mediaKeys;
// Calls getStatusForPolicy() with |hdcpVersion| and expects it // Calls getStatusForPolicy() with |hdcpVersion| and expects it
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment