Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(468)

Unified Diff: media/base/mock_filters.cc

Issue 2592913002: [eme] Break mojo connection during call (Closed)
Patch Set: changes Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/base/mock_filters.h ('k') | media/mojo/clients/mojo_cdm.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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() {}
« no previous file with comments | « media/base/mock_filters.h ('k') | media/mojo/clients/mojo_cdm.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698