Index: media/base/mock_filters.cc |
diff --git a/media/base/mock_filters.cc b/media/base/mock_filters.cc |
index 1292c8d1c24c5ea15fcff5def4341f5d873a37d2..e2cd64bc579de38bf200521707e0454b964caef5 100644 |
--- a/media/base/mock_filters.cc |
+++ b/media/base/mock_filters.cc |
@@ -180,6 +180,115 @@ MockCdmSessionPromise::~MockCdmSessionPromise() { |
MarkPromiseSettled(); |
} |
+MockCdm::MockCdm() {} |
+ |
+MockCdm::~MockCdm() {} |
+ |
+void MockCdm::SetServerCertificate(const std::vector<uint8_t>& certificate, |
+ std::unique_ptr<SimpleCdmPromise> promise) { |
+ OnSetServerCertificate(certificate, promise); |
+} |
+ |
+void MockCdm::CreateSessionAndGenerateRequest( |
+ CdmSessionType session_type, |
+ EmeInitDataType init_data_type, |
+ const std::vector<uint8_t>& init_data, |
+ std::unique_ptr<NewSessionCdmPromise> promise) { |
+ OnCreateSessionAndGenerateRequest(session_type, init_data_type, init_data, |
+ promise); |
+} |
+ |
+void MockCdm::LoadSession(CdmSessionType session_type, |
+ const std::string& session_id, |
+ std::unique_ptr<NewSessionCdmPromise> promise) { |
+ OnLoadSession(session_type, session_id, promise); |
+} |
+ |
+void MockCdm::UpdateSession(const std::string& session_id, |
+ const std::vector<uint8_t>& response, |
+ std::unique_ptr<SimpleCdmPromise> promise) { |
+ OnUpdateSession(session_id, response, promise); |
+} |
+ |
+void MockCdm::CloseSession(const std::string& session_id, |
+ std::unique_ptr<SimpleCdmPromise> promise) { |
+ OnCloseSession(session_id, promise); |
+} |
+ |
+void MockCdm::RemoveSession(const std::string& session_id, |
+ std::unique_ptr<SimpleCdmPromise> promise) { |
+ OnRemoveSession(session_id, promise); |
+} |
+ |
+void MockCdm::SetCallbacks( |
+ const SessionMessageCB& session_message_cb, |
+ const SessionClosedCB& session_closed_cb, |
+ const SessionKeysChangeCB& session_keys_change_cb, |
+ const SessionExpirationUpdateCB& session_expiration_update_cb) { |
+ session_message_cb_ = session_message_cb; |
+ session_closed_cb_ = session_closed_cb; |
+ session_keys_change_cb_ = session_keys_change_cb; |
+ session_expiration_update_cb_ = session_expiration_update_cb; |
+} |
+ |
+void MockCdm::CallSessionMessageCB( |
+ const std::string& session_id, |
+ ContentDecryptionModule::MessageType message_type, |
+ const std::vector<uint8_t>& message) { |
+ session_message_cb_.Run(session_id, message_type, message); |
+} |
+ |
+void MockCdm::CallSessionClosedCB(const std::string& session_id) { |
+ session_closed_cb_.Run(session_id); |
+} |
+ |
+void MockCdm::CallSessionKeysChangeCB(const std::string& session_id, |
+ bool has_additional_usable_key, |
+ CdmKeysInfo keys_info) { |
+ session_keys_change_cb_.Run(session_id, has_additional_usable_key, |
+ std::move(keys_info)); |
+} |
+ |
+void MockCdm::CallSessionExpirationUpdateCB(const std::string& session_id, |
+ base::Time new_expiry_time) { |
+ session_expiration_update_cb_.Run(session_id, new_expiry_time); |
+} |
+ |
+MockCdmFactory::MockCdmFactory() {} |
+ |
+MockCdmFactory::~MockCdmFactory() {} |
+ |
+void MockCdmFactory::Create( |
+ const std::string& key_system, |
+ const GURL& security_origin, |
+ const CdmConfig& cdm_config, |
+ const SessionMessageCB& session_message_cb, |
+ const SessionClosedCB& session_closed_cb, |
+ const SessionKeysChangeCB& session_keys_change_cb, |
+ const SessionExpirationUpdateCB& session_expiration_update_cb, |
+ const CdmCreatedCB& cdm_created_cb) { |
+ // If no CDM provided, notify that Create() failed. |
+ if (!cdm_) { |
+ cdm_created_cb.Run(nullptr, "CDM creation failed"); |
+ return; |
+ } |
+ |
+ // Since there is a CDM, call |before_creation_cb_| first. |
+ if (!before_creation_cb_.is_null()) |
+ before_creation_cb_.Run(); |
+ |
+ // Update the callbacks on the MockCDM, and then return it. |
+ cdm_->SetCallbacks(session_message_cb, session_closed_cb, |
+ session_keys_change_cb, session_expiration_update_cb); |
xhwang
2017/01/06 06:21:36
Can we create the CDM within this factory so that
jrummell
2017/01/06 18:59:28
Done.
|
+ cdm_created_cb.Run(std::move(cdm_), ""); |
+} |
+ |
+void MockCdmFactory::Initialize(const scoped_refptr<MockCdm>& cdm, |
+ const base::Closure& before_creation_cb) { |
+ cdm_ = cdm; |
+ before_creation_cb_ = before_creation_cb; |
xhwang
2017/01/06 06:21:36
If we create the CDM within this factory, we don't
jrummell
2017/01/06 18:59:28
Done.
|
+} |
+ |
MockStreamParser::MockStreamParser() {} |
MockStreamParser::~MockStreamParser() {} |