Index: webkit/media/crypto/proxy_decryptor_unittest.cc |
diff --git a/webkit/media/crypto/proxy_decryptor_unittest.cc b/webkit/media/crypto/proxy_decryptor_unittest.cc |
index 30ef962c8f3c81b4f282276e631c527654d58ad7..759e68cd948b34311c1ec91b0ad07b0101fcadd8 100644 |
--- a/webkit/media/crypto/proxy_decryptor_unittest.cc |
+++ b/webkit/media/crypto/proxy_decryptor_unittest.cc |
@@ -53,7 +53,7 @@ static scoped_refptr<DecoderBuffer> CreateFakeEncryptedBuffer() { |
} |
ACTION_P2(RunDecryptCB, status, buffer) { |
- arg1.Run(status, buffer); |
+ arg2.Run(status, buffer); |
} |
ACTION_P3(ResetAndRunDecryptCB, decrypt_cb, status, buffer) { |
@@ -74,6 +74,7 @@ class ProxyDecryptorTest : public testing::Test { |
&client_, NULL, NULL), |
real_decryptor_(new media::MockDecryptor()), |
scoped_real_decryptor_(real_decryptor_), |
+ stream_type_(media::Decryptor::kVideo), |
decrypt_cb_(base::Bind(&ProxyDecryptorTest::DeliverBuffer, |
base::Unretained(this))), |
encrypted_buffer_(CreateFakeEncryptedBuffer()), |
@@ -122,6 +123,8 @@ class ProxyDecryptorTest : public testing::Test { |
// GenerateKeyRequest(). |
scoped_ptr<Decryptor> scoped_real_decryptor_; |
+ media::Decryptor::StreamType stream_type_; |
+ |
Decryptor::DecryptCB decrypt_cb_; |
scoped_refptr<DecoderBuffer> encrypted_buffer_; |
@@ -137,10 +140,10 @@ TEST_F(ProxyDecryptorTest, NormalDecryption_Success) { |
GenerateKeyRequest(); |
AddKey(); |
- EXPECT_CALL(*real_decryptor_, Decrypt(encrypted_buffer_, _)) |
+ EXPECT_CALL(*real_decryptor_, Decrypt(stream_type_, encrypted_buffer_, _)) |
.WillOnce(RunDecryptCB(Decryptor::kSuccess, decrypted_buffer_)); |
EXPECT_CALL(*this, DeliverBuffer(Decryptor::kSuccess, decrypted_buffer_)); |
- proxy_decryptor_.Decrypt(encrypted_buffer_, decrypt_cb_); |
+ proxy_decryptor_.Decrypt(stream_type_, encrypted_buffer_, decrypt_cb_); |
} |
// Tests the case where Decrypt() fails. |
@@ -148,34 +151,34 @@ TEST_F(ProxyDecryptorTest, NormalDecryption_Error) { |
GenerateKeyRequest(); |
AddKey(); |
- EXPECT_CALL(*real_decryptor_, Decrypt(encrypted_buffer_, _)) |
+ EXPECT_CALL(*real_decryptor_, Decrypt(stream_type_, encrypted_buffer_, _)) |
.WillOnce(RunDecryptCB(Decryptor::kError, null_buffer_)); |
EXPECT_CALL(*this, DeliverBuffer(Decryptor::kError, IsNull())); |
- proxy_decryptor_.Decrypt(encrypted_buffer_, decrypt_cb_); |
+ proxy_decryptor_.Decrypt(stream_type_, encrypted_buffer_, decrypt_cb_); |
} |
// Tests the case where no key is available for decryption. |
TEST_F(ProxyDecryptorTest, NormalDecryption_NoKey) { |
GenerateKeyRequest(); |
- EXPECT_CALL(*real_decryptor_, Decrypt(encrypted_buffer_, _)) |
+ EXPECT_CALL(*real_decryptor_, Decrypt(stream_type_, encrypted_buffer_, _)) |
.WillOnce(RunDecryptCB(Decryptor::kNoKey, null_buffer_)); |
EXPECT_CALL(client_, NeedKeyMock("", "", NotNull(), arraysize(kFakeKeyId))); |
- proxy_decryptor_.Decrypt(encrypted_buffer_, decrypt_cb_); |
+ proxy_decryptor_.Decrypt(stream_type_, encrypted_buffer_, decrypt_cb_); |
EXPECT_CALL(*this, DeliverBuffer(Decryptor::kSuccess, null_buffer_)); |
- proxy_decryptor_.CancelDecrypt(); |
+ proxy_decryptor_.CancelDecrypt(stream_type_); |
} |
// Tests the case where Decrypt() is called after the right key is added. |
TEST_F(ProxyDecryptorTest, DecryptBeforeAddKey) { |
EXPECT_CALL(client_, NeedKeyMock("", "", NotNull(), arraysize(kFakeKeyId))); |
GenerateKeyRequest(); |
- EXPECT_CALL(*real_decryptor_, Decrypt(encrypted_buffer_, _)) |
+ EXPECT_CALL(*real_decryptor_, Decrypt(stream_type_, encrypted_buffer_, _)) |
.WillOnce(RunDecryptCB(Decryptor::kNoKey, null_buffer_)); |
- proxy_decryptor_.Decrypt(encrypted_buffer_, decrypt_cb_); |
+ proxy_decryptor_.Decrypt(stream_type_, encrypted_buffer_, decrypt_cb_); |
- EXPECT_CALL(*real_decryptor_, Decrypt(encrypted_buffer_, _)) |
+ EXPECT_CALL(*real_decryptor_, Decrypt(stream_type_, encrypted_buffer_, _)) |
.WillOnce(RunDecryptCB(Decryptor::kSuccess, decrypted_buffer_)); |
EXPECT_CALL(*this, DeliverBuffer(Decryptor::kSuccess, decrypted_buffer_)) |
.WillOnce(ScheduleMessageLoopToStop(&message_loop_)); |
@@ -188,9 +191,9 @@ TEST_F(ProxyDecryptorTest, DecryptBeforeAddKey) { |
// added. |
TEST_F(ProxyDecryptorTest, DecryptBeforeGenerateKeyRequest) { |
EXPECT_CALL(client_, NeedKeyMock("", "", NotNull(), arraysize(kFakeKeyId))); |
- proxy_decryptor_.Decrypt(encrypted_buffer_, decrypt_cb_); |
+ proxy_decryptor_.Decrypt(stream_type_, encrypted_buffer_, decrypt_cb_); |
- EXPECT_CALL(*real_decryptor_, Decrypt(encrypted_buffer_, _)) |
+ EXPECT_CALL(*real_decryptor_, Decrypt(stream_type_, encrypted_buffer_, _)) |
.WillOnce(RunDecryptCB(Decryptor::kSuccess, decrypted_buffer_)); |
EXPECT_CALL(*this, DeliverBuffer(Decryptor::kSuccess, decrypted_buffer_)) |
.WillOnce(ScheduleMessageLoopToStop(&message_loop_)); |
@@ -205,16 +208,16 @@ TEST_F(ProxyDecryptorTest, DecryptBeforeGenerateKeyRequest) { |
TEST_F(ProxyDecryptorTest, MultipleAddKeys) { |
EXPECT_CALL(client_, NeedKeyMock("", "", NotNull(), arraysize(kFakeKeyId))) |
.Times(AtLeast(1)); |
- proxy_decryptor_.Decrypt(encrypted_buffer_, decrypt_cb_); |
+ proxy_decryptor_.Decrypt(stream_type_, encrypted_buffer_, decrypt_cb_); |
- EXPECT_CALL(*real_decryptor_, Decrypt(encrypted_buffer_, _)) |
+ EXPECT_CALL(*real_decryptor_, Decrypt(stream_type_, encrypted_buffer_, _)) |
.WillRepeatedly(RunDecryptCB(Decryptor::kNoKey, null_buffer_)); |
GenerateKeyRequest(); |
const int number_of_irrelevant_addkey = 5; |
for (int i = 0; i < number_of_irrelevant_addkey; ++i) |
AddKey(); // Some irrelevant keys are added. |
- EXPECT_CALL(*real_decryptor_, Decrypt(encrypted_buffer_, _)) |
+ EXPECT_CALL(*real_decryptor_, Decrypt(stream_type_, encrypted_buffer_, _)) |
.WillOnce(RunDecryptCB(Decryptor::kSuccess, decrypted_buffer_)); |
EXPECT_CALL(*this, DeliverBuffer(Decryptor::kSuccess, decrypted_buffer_)) |
.WillOnce(ScheduleMessageLoopToStop(&message_loop_)); |
@@ -232,16 +235,16 @@ TEST_F(ProxyDecryptorTest, MultipleAddKeys) { |
// and get the buffer decrypted! |
TEST_F(ProxyDecryptorTest, AddKeyAfterDecryptButBeforeNoKeyReturned) { |
Decryptor::DecryptCB decrypt_cb; |
- EXPECT_CALL(*real_decryptor_, Decrypt(encrypted_buffer_, _)) |
- .WillOnce(SaveArg<1>(&decrypt_cb)); |
+ EXPECT_CALL(*real_decryptor_, Decrypt(stream_type_, encrypted_buffer_, _)) |
+ .WillOnce(SaveArg<2>(&decrypt_cb)); |
GenerateKeyRequest(); |
- proxy_decryptor_.Decrypt(encrypted_buffer_, decrypt_cb_); |
+ proxy_decryptor_.Decrypt(stream_type_, encrypted_buffer_, decrypt_cb_); |
EXPECT_FALSE(decrypt_cb.is_null()); |
AddKey(); |
- EXPECT_CALL(*real_decryptor_, Decrypt(encrypted_buffer_, _)) |
+ EXPECT_CALL(*real_decryptor_, Decrypt(stream_type_, encrypted_buffer_, _)) |
.WillOnce(RunDecryptCB(Decryptor::kSuccess, decrypted_buffer_)); |
EXPECT_CALL(*this, DeliverBuffer(Decryptor::kSuccess, decrypted_buffer_)) |
.WillOnce(ScheduleMessageLoopToStop(&message_loop_)); |
@@ -256,11 +259,11 @@ TEST_F(ProxyDecryptorTest, AddKeyAfterDecryptButBeforeNoKeyReturned) { |
TEST_F(ProxyDecryptorTest, CancelDecryptWithoutGenerateKeyRequestCalled) { |
EXPECT_CALL(client_, NeedKeyMock("", "", NotNull(), arraysize(kFakeKeyId))) |
.Times(AtLeast(1)); |
- proxy_decryptor_.Decrypt(encrypted_buffer_, decrypt_cb_); |
+ proxy_decryptor_.Decrypt(stream_type_, encrypted_buffer_, decrypt_cb_); |
EXPECT_CALL(*this, DeliverBuffer(Decryptor::kSuccess, null_buffer_)) |
.WillOnce(ScheduleMessageLoopToStop(&message_loop_)); |
- proxy_decryptor_.CancelDecrypt(); |
+ proxy_decryptor_.CancelDecrypt(stream_type_); |
message_loop_.Run(); |
} |
@@ -270,14 +273,14 @@ TEST_F(ProxyDecryptorTest, CancelDecryptWithoutGenerateKeyRequestCalled) { |
TEST_F(ProxyDecryptorTest, CancelDecryptWhenDecryptPendingInProxyDecryptor) { |
EXPECT_CALL(client_, NeedKeyMock("", "", NotNull(), arraysize(kFakeKeyId))) |
.Times(AtLeast(1)); |
- EXPECT_CALL(*real_decryptor_, Decrypt(encrypted_buffer_, _)) |
+ EXPECT_CALL(*real_decryptor_, Decrypt(stream_type_, encrypted_buffer_, _)) |
.WillRepeatedly(RunDecryptCB(Decryptor::kNoKey, null_buffer_)); |
GenerateKeyRequest(); |
- proxy_decryptor_.Decrypt(encrypted_buffer_, decrypt_cb_); |
+ proxy_decryptor_.Decrypt(stream_type_, encrypted_buffer_, decrypt_cb_); |
EXPECT_CALL(*this, DeliverBuffer(Decryptor::kSuccess, null_buffer_)) |
.WillOnce(ScheduleMessageLoopToStop(&message_loop_)); |
- proxy_decryptor_.CancelDecrypt(); |
+ proxy_decryptor_.CancelDecrypt(stream_type_); |
message_loop_.Run(); |
} |
@@ -286,21 +289,21 @@ TEST_F(ProxyDecryptorTest, CancelDecryptWhenDecryptPendingInProxyDecryptor) { |
// pending at the |real_decryptor_|. |
TEST_F(ProxyDecryptorTest, CancelDecryptWhenDecryptPendingInRealDecryptor) { |
Decryptor::DecryptCB decrypt_cb; |
- EXPECT_CALL(*real_decryptor_, Decrypt(encrypted_buffer_, _)) |
- .WillOnce(SaveArg<1>(&decrypt_cb)); |
+ EXPECT_CALL(*real_decryptor_, Decrypt(stream_type_, encrypted_buffer_, _)) |
+ .WillOnce(SaveArg<2>(&decrypt_cb)); |
GenerateKeyRequest(); |
- proxy_decryptor_.Decrypt(encrypted_buffer_, decrypt_cb_); |
+ proxy_decryptor_.Decrypt(stream_type_, encrypted_buffer_, decrypt_cb_); |
EXPECT_FALSE(decrypt_cb.is_null()); |
// Even though the real decryptor returns kError, DeliverBuffer() should |
// still be called with kSuccess and NULL because we are canceling the |
// decryption. |
- EXPECT_CALL(*real_decryptor_, CancelDecrypt()) |
+ EXPECT_CALL(*real_decryptor_, CancelDecrypt(stream_type_)) |
.WillOnce(ResetAndRunDecryptCB(&decrypt_cb, |
Decryptor::kError, null_buffer_)); |
EXPECT_CALL(*this, DeliverBuffer(Decryptor::kSuccess, null_buffer_)) |
.WillOnce(ScheduleMessageLoopToStop(&message_loop_)); |
- proxy_decryptor_.CancelDecrypt(); |
+ proxy_decryptor_.CancelDecrypt(stream_type_); |
message_loop_.Run(); |
} |
@@ -310,21 +313,21 @@ TEST_F(ProxyDecryptorTest, CancelDecryptWhenDecryptPendingInRealDecryptor) { |
TEST_F(ProxyDecryptorTest, DecryptAfterCancelDecrypt) { |
EXPECT_CALL(client_, NeedKeyMock("", "", NotNull(), arraysize(kFakeKeyId))) |
.Times(AtLeast(1)); |
- EXPECT_CALL(*real_decryptor_, Decrypt(encrypted_buffer_, _)) |
+ EXPECT_CALL(*real_decryptor_, Decrypt(stream_type_, encrypted_buffer_, _)) |
.WillRepeatedly(RunDecryptCB(Decryptor::kNoKey, null_buffer_)); |
- proxy_decryptor_.Decrypt(encrypted_buffer_, decrypt_cb_); |
+ proxy_decryptor_.Decrypt(stream_type_, encrypted_buffer_, decrypt_cb_); |
GenerateKeyRequest(); |
EXPECT_CALL(*this, DeliverBuffer(Decryptor::kSuccess, null_buffer_)); |
- proxy_decryptor_.CancelDecrypt(); |
+ proxy_decryptor_.CancelDecrypt(stream_type_); |
AddKey(); |
- EXPECT_CALL(*real_decryptor_, Decrypt(encrypted_buffer_, _)) |
+ EXPECT_CALL(*real_decryptor_, Decrypt(stream_type_, encrypted_buffer_, _)) |
.WillOnce(RunDecryptCB(Decryptor::kSuccess, decrypted_buffer_)); |
EXPECT_CALL(*this, DeliverBuffer(Decryptor::kSuccess, decrypted_buffer_)) |
.WillOnce(ScheduleMessageLoopToStop(&message_loop_)); |
- proxy_decryptor_.Decrypt(encrypted_buffer_, decrypt_cb_); |
+ proxy_decryptor_.Decrypt(stream_type_, encrypted_buffer_, decrypt_cb_); |
message_loop_.Run(); |
} |