From f97624e47776a4ea31b565f6ba69b64c91035912 Mon Sep 17 00:00:00 2001 From: Fred Gylys-Colwell Date: Tue, 18 Sep 2018 16:44:31 -0700 Subject: [PATCH] Change keys_ to key_statuses_ Merge from Widevine repo of http://go/wvgerrit/59980 This CL addresses review comments from http://go/ag/4454369. Change-Id: I5fafafef9a2e9ccbeac3f8d18c3d6335e2de61e8 --- .../cdm/core/include/license_key_status.h | 9 ++-- .../cdm/core/src/license_key_status.cpp | 48 ++++++++++--------- 2 files changed, 31 insertions(+), 26 deletions(-) diff --git a/libwvdrmengine/cdm/core/include/license_key_status.h b/libwvdrmengine/cdm/core/include/license_key_status.h index 865fa294..a3a7ad8a 100644 --- a/libwvdrmengine/cdm/core/include/license_key_status.h +++ b/libwvdrmengine/cdm/core/include/license_key_status.h @@ -24,7 +24,7 @@ class LicenseKeys { LicenseKeys() {} virtual ~LicenseKeys() { Clear(); } - virtual bool Empty() { return keys_.empty(); } + virtual bool Empty() { return key_statuses_.empty(); } // Returns true if the key is a content key (not an operator session key) virtual bool IsContentKey(const KeyId& key_id); @@ -75,11 +75,12 @@ class LicenseKeys { void Clear(); bool is_initialized_; - // |keys_| can hold either content key statuses, or entitlement key statuses. - std::map keys_; + // |key_statuses_| can hold either content key statuses, or entitlement key + // statuses. + std::map key_statuses_; // |content_keyid_to_entitlement_key_id_| maps a content key id to an // entitlement_key_id. The resulting key id can be used to obtain the current - // key status from |keys_| when using entitlement key licensing. + // key status from |key_statuses_| when using entitlement key licensing. std::map content_keyid_to_entitlement_key_id_; CORE_DISALLOW_COPY_AND_ASSIGN(LicenseKeys); diff --git a/libwvdrmengine/cdm/core/src/license_key_status.cpp b/libwvdrmengine/cdm/core/src/license_key_status.cpp index 8f17abcc..85f75b4d 100644 --- a/libwvdrmengine/cdm/core/src/license_key_status.cpp +++ b/libwvdrmengine/cdm/core/src/license_key_status.cpp @@ -66,8 +66,8 @@ VideoResolutionConstraint* GetConstraintForRes( namespace wvcdm { bool LicenseKeys::IsContentKey(const std::string& key_id) { - if (keys_.count(key_id) > 0) { - return keys_[key_id]->IsContentKey(); + if (key_statuses_.count(key_id) > 0) { + return key_statuses_[key_id]->IsContentKey(); } else if (content_keyid_to_entitlement_key_id_.count(key_id) > 0) { return true; } else { @@ -76,11 +76,11 @@ bool LicenseKeys::IsContentKey(const std::string& key_id) { } bool LicenseKeys::CanDecryptContent(const std::string& key_id) { - if (keys_.count(key_id) > 0) { - return keys_[key_id]->CanDecryptContent(); + if (key_statuses_.count(key_id) > 0) { + return key_statuses_[key_id]->CanDecryptContent(); } else if (content_keyid_to_entitlement_key_id_.count(key_id) > 0) { - if (keys_.count(content_keyid_to_entitlement_key_id_[key_id]) > 0) { - return keys_[content_keyid_to_entitlement_key_id_[key_id]] + if (key_statuses_.count(content_keyid_to_entitlement_key_id_[key_id]) > 0) { + return key_statuses_[content_keyid_to_entitlement_key_id_[key_id]] ->CanDecryptContent(); } return false; @@ -91,11 +91,11 @@ bool LicenseKeys::CanDecryptContent(const std::string& key_id) { bool LicenseKeys::GetAllowedUsage(const KeyId& key_id, CdmKeyAllowedUsage* allowed_usage) { - if (keys_.count(key_id) > 0) { - return keys_[key_id]->GetAllowedUsage(allowed_usage); + if (key_statuses_.count(key_id) > 0) { + return key_statuses_[key_id]->GetAllowedUsage(allowed_usage); } else if (content_keyid_to_entitlement_key_id_.count(key_id) > 0) { - if (keys_.count(content_keyid_to_entitlement_key_id_[key_id]) > 0) { - return keys_[content_keyid_to_entitlement_key_id_[key_id]] + if (key_statuses_.count(content_keyid_to_entitlement_key_id_[key_id]) > 0) { + return key_statuses_[content_keyid_to_entitlement_key_id_[key_id]] ->CanDecryptContent(); } return false; @@ -109,7 +109,8 @@ bool LicenseKeys::ApplyStatusChange(CdmKeyStatus new_status, bool keys_changed = false; bool newly_usable = false; *new_usable_keys = false; - for (LicenseKeyStatusIterator it = keys_.begin(); it != keys_.end(); ++it) { + for (LicenseKeyStatusIterator it = key_statuses_.begin(); + it != key_statuses_.end(); ++it) { bool usable; if (it->second->ApplyStatusChange(new_status, &usable)) { newly_usable |= usable; @@ -121,15 +122,16 @@ bool LicenseKeys::ApplyStatusChange(CdmKeyStatus new_status, } CdmKeyStatus LicenseKeys::GetKeyStatus(const KeyId& key_id) { - if (keys_.count(key_id) == 0) { + if (key_statuses_.count(key_id) == 0) { return kKeyStatusKeyUnknown; } - return keys_[key_id]->GetKeyStatus(); + return key_statuses_[key_id]->GetKeyStatus(); } void LicenseKeys::ExtractKeyStatuses(CdmKeyStatusMap* content_keys) { content_keys->clear(); - for (LicenseKeyStatusIterator it = keys_.begin(); it != keys_.end(); ++it) { + for (LicenseKeyStatusIterator it = key_statuses_.begin(); + it != key_statuses_.end(); ++it) { if (it->second->IsContentKey()) { const KeyId key_id = it->first; CdmKeyStatus key_status = it->second->GetKeyStatus(); @@ -139,8 +141,8 @@ void LicenseKeys::ExtractKeyStatuses(CdmKeyStatusMap* content_keys) { } bool LicenseKeys::MeetsConstraints(const KeyId& key_id) { - if (keys_.count(key_id) > 0) { - return keys_[key_id]->MeetsConstraints(); + if (key_statuses_.count(key_id) > 0) { + return key_statuses_[key_id]->MeetsConstraints(); } else { // If a Key ID is unknown to us, we don't know of any constraints for it, // so never block decryption. @@ -150,7 +152,8 @@ bool LicenseKeys::MeetsConstraints(const KeyId& key_id) { void LicenseKeys::ApplyConstraints( uint32_t new_resolution, CryptoSession::HdcpCapability new_hdcp_level) { - for (LicenseKeyStatusIterator i = keys_.begin(); i != keys_.end(); ++i) { + for (LicenseKeyStatusIterator i = key_statuses_.begin(); + i != key_statuses_.end(); ++i) { i->second->ApplyConstraints(new_resolution, new_hdcp_level); } } @@ -163,7 +166,7 @@ void LicenseKeys::SetFromLicense(const video_widevine::License& license) { key.type() == KeyContainer::OPERATOR_SESSION || key.type() == KeyContainer::ENTITLEMENT)) { const KeyId& key_id = key.id(); - keys_[key_id] = new LicenseKeyStatus(key); + key_statuses_[key_id] = new LicenseKeyStatus(key); } } } @@ -175,8 +178,8 @@ void LicenseKeys::SetEntitledKeys( key != keys.end(); key++) { // Check to see if we have an entitlement key for this content key. std::map::iterator entitlement = - keys_.find(key->entitlement_key_id()); - if (entitlement == keys_.end()) { + key_statuses_.find(key->entitlement_key_id()); + if (entitlement == key_statuses_.end()) { continue; } // And set the new content key id. @@ -271,10 +274,11 @@ void LicenseKeyStatus::ParseOperatorSessionKey(const KeyContainer& key) { } void LicenseKeys::Clear() { - for (LicenseKeyStatusIterator i = keys_.begin(); i != keys_.end(); ++i) { + for (LicenseKeyStatusIterator i = key_statuses_.begin(); + i != key_statuses_.end(); ++i) { delete i->second; } - keys_.clear(); + key_statuses_.clear(); } bool LicenseKeyStatus::CanDecryptContent() {