am cbcd885e: am 30469021: Merge "Search for keys in shared sessions only when content is encrypted" into klp-dev
* commit 'cbcd885e7cd0d7a34bd2128bdf8033b0751b3e97': Search for keys in shared sessions only when content is encrypted
This commit is contained in:
@@ -119,11 +119,12 @@ CdmResponseType WvContentDecryptionModule::Decrypt(
|
|||||||
const CdmSessionId& session_id,
|
const CdmSessionId& session_id,
|
||||||
const CdmDecryptionParameters& parameters) {
|
const CdmDecryptionParameters& parameters) {
|
||||||
CdmSessionId id = session_id;
|
CdmSessionId id = session_id;
|
||||||
if (Properties::GetSessionSharingId(session_id) != 0) {
|
if (parameters.is_encrypted &&
|
||||||
|
Properties::GetSessionSharingId(session_id) != 0) {
|
||||||
bool status = cdm_engine_->FindSessionForKey(*parameters.key_id, &id);
|
bool status = cdm_engine_->FindSessionForKey(*parameters.key_id, &id);
|
||||||
if (!status) {
|
if (!status) {
|
||||||
LOGE("WvContentDecryptionModule::Decrypt: unable to find session");
|
LOGE("WvContentDecryptionModule::Decrypt: unable to find session");
|
||||||
return KEY_ERROR;
|
return NEED_KEY;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return cdm_engine_->Decrypt(id, parameters);
|
return cdm_engine_->Decrypt(id, parameters);
|
||||||
|
|||||||
@@ -575,12 +575,16 @@ TEST_P(WvCdmSessionSharingTest, SessionSharingTest) {
|
|||||||
&decrypt_buffer[0]);
|
&decrypt_buffer[0]);
|
||||||
decryption_parameters.is_encrypted = data->is_encrypted;
|
decryption_parameters.is_encrypted = data->is_encrypted;
|
||||||
decryption_parameters.is_secure = data->is_secure;
|
decryption_parameters.is_secure = data->is_secure;
|
||||||
EXPECT_EQ(
|
|
||||||
NO_ERROR == decryptor_.Decrypt(gp_session_id_2, decryption_parameters),
|
if (enable_session_sharing) {
|
||||||
enable_session_sharing);
|
EXPECT_EQ(NO_ERROR, decryptor_.Decrypt(gp_session_id_2,
|
||||||
EXPECT_EQ(std::equal(data->decrypt_data.begin(), data->decrypt_data.end(),
|
decryption_parameters));
|
||||||
decrypt_buffer.begin()),
|
EXPECT_TRUE(std::equal(data->decrypt_data.begin(), data->decrypt_data.end(),
|
||||||
enable_session_sharing);
|
decrypt_buffer.begin()));
|
||||||
|
} else {
|
||||||
|
EXPECT_EQ(NEED_KEY, decryptor_.Decrypt(gp_session_id_2,
|
||||||
|
decryption_parameters));
|
||||||
|
}
|
||||||
|
|
||||||
decryptor_.CloseSession(gp_session_id_1);
|
decryptor_.CloseSession(gp_session_id_1);
|
||||||
decryptor_.CloseSession(gp_session_id_2);
|
decryptor_.CloseSession(gp_session_id_2);
|
||||||
|
|||||||
Reference in New Issue
Block a user