| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <string> | 5 #include <string> |
| 6 #include <vector> | 6 #include <vector> |
| 7 | 7 |
| 8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/json/json_reader.h" | 10 #include "base/json/json_reader.h" |
| 11 #include "base/values.h" | 11 #include "base/values.h" |
| 12 #include "media/base/cdm_promise.h" | 12 #include "media/base/cdm_callback_promise.h" |
| 13 #include "media/base/decoder_buffer.h" | 13 #include "media/base/decoder_buffer.h" |
| 14 #include "media/base/decrypt_config.h" | 14 #include "media/base/decrypt_config.h" |
| 15 #include "media/base/mock_filters.h" | 15 #include "media/base/mock_filters.h" |
| 16 #include "media/cdm/aes_decryptor.h" | 16 #include "media/cdm/aes_decryptor.h" |
| 17 #include "testing/gmock/include/gmock/gmock.h" | 17 #include "testing/gmock/include/gmock/gmock.h" |
| 18 #include "testing/gtest/include/gtest/gtest.h" | 18 #include "testing/gtest/include/gtest/gtest.h" |
| 19 | 19 |
| 20 using ::testing::_; | 20 using ::testing::_; |
| 21 using ::testing::Gt; | 21 using ::testing::Gt; |
| 22 using ::testing::IsNull; | 22 using ::testing::IsNull; |
| (...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 251 | 251 |
| 252 void OnReject(PromiseResult expected_result, | 252 void OnReject(PromiseResult expected_result, |
| 253 MediaKeys::Exception exception_code, | 253 MediaKeys::Exception exception_code, |
| 254 uint32 system_code, | 254 uint32 system_code, |
| 255 const std::string& error_message) { | 255 const std::string& error_message) { |
| 256 EXPECT_EQ(expected_result, REJECTED) << "Unexpectedly rejected."; | 256 EXPECT_EQ(expected_result, REJECTED) << "Unexpectedly rejected."; |
| 257 } | 257 } |
| 258 | 258 |
| 259 scoped_ptr<SimpleCdmPromise> CreatePromise(PromiseResult expected_result) { | 259 scoped_ptr<SimpleCdmPromise> CreatePromise(PromiseResult expected_result) { |
| 260 scoped_ptr<SimpleCdmPromise> promise( | 260 scoped_ptr<SimpleCdmPromise> promise( |
| 261 new SimpleCdmPromise(base::Bind(&AesDecryptorTest::OnResolve, | 261 new CdmCallbackPromise<>(base::Bind(&AesDecryptorTest::OnResolve, |
| 262 base::Unretained(this), | 262 base::Unretained(this), |
| 263 expected_result), | 263 expected_result), |
| 264 base::Bind(&AesDecryptorTest::OnReject, | 264 base::Bind(&AesDecryptorTest::OnReject, |
| 265 base::Unretained(this), | 265 base::Unretained(this), |
| 266 expected_result))); | 266 expected_result))); |
| 267 return promise.Pass(); | 267 return promise.Pass(); |
| 268 } | 268 } |
| 269 | 269 |
| 270 scoped_ptr<NewSessionCdmPromise> CreateSessionPromise( | 270 scoped_ptr<NewSessionCdmPromise> CreateSessionPromise( |
| 271 PromiseResult expected_result) { | 271 PromiseResult expected_result) { |
| 272 scoped_ptr<NewSessionCdmPromise> promise(new NewSessionCdmPromise( | 272 scoped_ptr<NewSessionCdmPromise> promise( |
| 273 base::Bind(&AesDecryptorTest::OnResolveWithSession, | 273 new CdmCallbackPromise<std::string>( |
| 274 base::Unretained(this), | 274 base::Bind(&AesDecryptorTest::OnResolveWithSession, |
| 275 expected_result), | 275 base::Unretained(this), |
| 276 base::Bind(&AesDecryptorTest::OnReject, | 276 expected_result), |
| 277 base::Unretained(this), | 277 base::Bind(&AesDecryptorTest::OnReject, |
| 278 expected_result))); | 278 base::Unretained(this), |
| 279 expected_result))); |
| 279 return promise.Pass(); | 280 return promise.Pass(); |
| 280 } | 281 } |
| 281 | 282 |
| 282 scoped_ptr<KeyIdsPromise> CreateUsableKeyIdsPromise( | 283 scoped_ptr<KeyIdsPromise> CreateUsableKeyIdsPromise( |
| 283 PromiseResult expected_result, | 284 PromiseResult expected_result, |
| 284 uint32 expected_count) { | 285 uint32 expected_count) { |
| 285 scoped_ptr<KeyIdsPromise> promise(new KeyIdsPromise( | 286 scoped_ptr<KeyIdsPromise> promise(new CdmCallbackPromise<KeyIdsVector>( |
| 286 base::Bind(&AesDecryptorTest::OnResolveWithUsableKeyIds, | 287 base::Bind(&AesDecryptorTest::OnResolveWithUsableKeyIds, |
| 287 base::Unretained(this), | 288 base::Unretained(this), |
| 288 expected_result, | 289 expected_result, |
| 289 expected_count), | 290 expected_count), |
| 290 base::Bind(&AesDecryptorTest::OnReject, | 291 base::Bind(&AesDecryptorTest::OnReject, |
| 291 base::Unretained(this), | 292 base::Unretained(this), |
| 292 expected_result))); | 293 expected_result))); |
| 293 return promise.Pass(); | 294 return promise.Pass(); |
| 294 } | 295 } |
| 295 | 296 |
| (...skipping 598 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 894 EXPECT_FALSE(UsableKeyIdsContains(key_id2)); | 895 EXPECT_FALSE(UsableKeyIdsContains(key_id2)); |
| 895 | 896 |
| 896 // Add second key, verify both IDs returned. | 897 // Add second key, verify both IDs returned. |
| 897 UpdateSessionAndExpect(session_id, kKey2AsJWK, RESOLVED); | 898 UpdateSessionAndExpect(session_id, kKey2AsJWK, RESOLVED); |
| 898 GetUsableKeyIdsAndExpect(session_id, RESOLVED, 2); | 899 GetUsableKeyIdsAndExpect(session_id, RESOLVED, 2); |
| 899 EXPECT_TRUE(UsableKeyIdsContains(key_id1)); | 900 EXPECT_TRUE(UsableKeyIdsContains(key_id1)); |
| 900 EXPECT_TRUE(UsableKeyIdsContains(key_id2)); | 901 EXPECT_TRUE(UsableKeyIdsContains(key_id2)); |
| 901 } | 902 } |
| 902 | 903 |
| 903 } // namespace media | 904 } // namespace media |
| OLD | NEW |