| 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();
|
| }
|
|
|