Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "media/base/mock_filters.h" | 5 #include "media/base/mock_filters.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 | 8 |
| 9 using ::testing::_; | 9 using ::testing::_; |
| 10 using ::testing::Return; | 10 using ::testing::Return; |
| (...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 173 EXPECT_CALL(*this, resolve(_)).Times(0); | 173 EXPECT_CALL(*this, resolve(_)).Times(0); |
| 174 EXPECT_CALL(*this, reject(_, _, NotEmpty())); | 174 EXPECT_CALL(*this, reject(_, _, NotEmpty())); |
| 175 } | 175 } |
| 176 } | 176 } |
| 177 | 177 |
| 178 MockCdmSessionPromise::~MockCdmSessionPromise() { | 178 MockCdmSessionPromise::~MockCdmSessionPromise() { |
| 179 // The EXPECT calls will verify that the promise is in fact fulfilled. | 179 // The EXPECT calls will verify that the promise is in fact fulfilled. |
| 180 MarkPromiseSettled(); | 180 MarkPromiseSettled(); |
| 181 } | 181 } |
| 182 | 182 |
| 183 MockCdm::MockCdm() {} | |
| 184 | |
| 185 MockCdm::~MockCdm() {} | |
| 186 | |
| 187 void MockCdm::SetServerCertificate(const std::vector<uint8_t>& certificate, | |
| 188 std::unique_ptr<SimpleCdmPromise> promise) { | |
| 189 OnSetServerCertificate(certificate, promise); | |
| 190 } | |
| 191 | |
| 192 void MockCdm::CreateSessionAndGenerateRequest( | |
| 193 CdmSessionType session_type, | |
| 194 EmeInitDataType init_data_type, | |
| 195 const std::vector<uint8_t>& init_data, | |
| 196 std::unique_ptr<NewSessionCdmPromise> promise) { | |
| 197 OnCreateSessionAndGenerateRequest(session_type, init_data_type, init_data, | |
| 198 promise); | |
| 199 } | |
| 200 | |
| 201 void MockCdm::LoadSession(CdmSessionType session_type, | |
| 202 const std::string& session_id, | |
| 203 std::unique_ptr<NewSessionCdmPromise> promise) { | |
| 204 OnLoadSession(session_type, session_id, promise); | |
| 205 } | |
| 206 | |
| 207 void MockCdm::UpdateSession(const std::string& session_id, | |
| 208 const std::vector<uint8_t>& response, | |
| 209 std::unique_ptr<SimpleCdmPromise> promise) { | |
| 210 OnUpdateSession(session_id, response, promise); | |
| 211 } | |
| 212 | |
| 213 void MockCdm::CloseSession(const std::string& session_id, | |
| 214 std::unique_ptr<SimpleCdmPromise> promise) { | |
| 215 OnCloseSession(session_id, promise); | |
| 216 } | |
| 217 | |
| 218 void MockCdm::RemoveSession(const std::string& session_id, | |
| 219 std::unique_ptr<SimpleCdmPromise> promise) { | |
| 220 OnRemoveSession(session_id, promise); | |
| 221 } | |
| 222 | |
| 223 void MockCdm::SetCallbacks( | |
| 224 const SessionMessageCB& session_message_cb, | |
| 225 const SessionClosedCB& session_closed_cb, | |
| 226 const SessionKeysChangeCB& session_keys_change_cb, | |
| 227 const SessionExpirationUpdateCB& session_expiration_update_cb) { | |
| 228 session_message_cb_ = session_message_cb; | |
| 229 session_closed_cb_ = session_closed_cb; | |
| 230 session_keys_change_cb_ = session_keys_change_cb; | |
| 231 session_expiration_update_cb_ = session_expiration_update_cb; | |
| 232 } | |
| 233 | |
| 234 void MockCdm::CallSessionMessageCB( | |
| 235 const std::string& session_id, | |
| 236 ContentDecryptionModule::MessageType message_type, | |
| 237 const std::vector<uint8_t>& message) { | |
| 238 session_message_cb_.Run(session_id, message_type, message); | |
| 239 } | |
| 240 | |
| 241 void MockCdm::CallSessionClosedCB(const std::string& session_id) { | |
| 242 session_closed_cb_.Run(session_id); | |
| 243 } | |
| 244 | |
| 245 void MockCdm::CallSessionKeysChangeCB(const std::string& session_id, | |
| 246 bool has_additional_usable_key, | |
| 247 CdmKeysInfo keys_info) { | |
| 248 session_keys_change_cb_.Run(session_id, has_additional_usable_key, | |
| 249 std::move(keys_info)); | |
| 250 } | |
| 251 | |
| 252 void MockCdm::CallSessionExpirationUpdateCB(const std::string& session_id, | |
| 253 base::Time new_expiry_time) { | |
| 254 session_expiration_update_cb_.Run(session_id, new_expiry_time); | |
| 255 } | |
| 256 | |
| 257 MockCdmFactory::MockCdmFactory() {} | |
| 258 | |
| 259 MockCdmFactory::~MockCdmFactory() {} | |
| 260 | |
| 261 void MockCdmFactory::Create( | |
| 262 const std::string& key_system, | |
| 263 const GURL& security_origin, | |
| 264 const CdmConfig& cdm_config, | |
| 265 const SessionMessageCB& session_message_cb, | |
| 266 const SessionClosedCB& session_closed_cb, | |
| 267 const SessionKeysChangeCB& session_keys_change_cb, | |
| 268 const SessionExpirationUpdateCB& session_expiration_update_cb, | |
| 269 const CdmCreatedCB& cdm_created_cb) { | |
| 270 // If no CDM provided, notify that Create() failed. | |
| 271 if (!cdm_) { | |
| 272 cdm_created_cb.Run(nullptr, "CDM creation failed"); | |
| 273 return; | |
| 274 } | |
| 275 | |
| 276 // Since there is a CDM, call |before_creation_cb_| first. | |
| 277 if (!before_creation_cb_.is_null()) | |
| 278 before_creation_cb_.Run(); | |
| 279 | |
| 280 // Update the callbacks on the MockCDM, and then return it. | |
| 281 cdm_->SetCallbacks(session_message_cb, session_closed_cb, | |
| 282 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.
| |
| 283 cdm_created_cb.Run(std::move(cdm_), ""); | |
| 284 } | |
| 285 | |
| 286 void MockCdmFactory::Initialize(const scoped_refptr<MockCdm>& cdm, | |
| 287 const base::Closure& before_creation_cb) { | |
| 288 cdm_ = cdm; | |
| 289 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.
| |
| 290 } | |
| 291 | |
| 183 MockStreamParser::MockStreamParser() {} | 292 MockStreamParser::MockStreamParser() {} |
| 184 | 293 |
| 185 MockStreamParser::~MockStreamParser() {} | 294 MockStreamParser::~MockStreamParser() {} |
| 186 | 295 |
| 187 } // namespace media | 296 } // namespace media |
| OLD | NEW |