| Index: media/blink/new_session_cdm_result_promise.cc
|
| diff --git a/media/blink/new_session_cdm_result_promise.cc b/media/blink/new_session_cdm_result_promise.cc
|
| index 2f37a3e3da840c0ad9c2b6f6c75618210943dc81..fd95c889dd7b6a0c40c3214af4d4318f0530a86c 100644
|
| --- a/media/blink/new_session_cdm_result_promise.cc
|
| +++ b/media/blink/new_session_cdm_result_promise.cc
|
| @@ -10,6 +10,8 @@
|
|
|
| namespace media {
|
|
|
| +const char kTimeUMAPrefix[] = "TimeTo.";
|
| +
|
| static blink::WebContentDecryptionModuleResult::SessionStatus ConvertStatus(
|
| SessionInitStatus status) {
|
| switch (status) {
|
| @@ -28,12 +30,14 @@ static blink::WebContentDecryptionModuleResult::SessionStatus ConvertStatus(
|
|
|
| NewSessionCdmResultPromise::NewSessionCdmResultPromise(
|
| const blink::WebContentDecryptionModuleResult& result,
|
| + const std::string& key_system_uma_prefix,
|
| const std::string& uma_name,
|
| const SessionInitializedCB& new_session_created_cb)
|
| : web_cdm_result_(result),
|
| + key_system_uma_prefix_(key_system_uma_prefix),
|
| uma_name_(uma_name),
|
| - new_session_created_cb_(new_session_created_cb) {
|
| -}
|
| + new_session_created_cb_(new_session_created_cb),
|
| + creation_time_(base::TimeTicks::Now()) {}
|
|
|
| NewSessionCdmResultPromise::~NewSessionCdmResultPromise() {
|
| if (!IsPromiseSettled())
|
| @@ -52,7 +56,9 @@ void NewSessionCdmResultPromise::resolve(const std::string& session_id) {
|
| }
|
|
|
| MarkPromiseSettled();
|
| - ReportCdmResultUMA(uma_name_, SUCCESS);
|
| + ReportCdmResultUMA(key_system_uma_prefix_ + uma_name_, SUCCESS);
|
| + ReportTimeUMA(key_system_uma_prefix_ + kTimeUMAPrefix + uma_name_,
|
| + base::TimeTicks::Now() - creation_time_);
|
| web_cdm_result_.completeWithSession(ConvertStatus(status));
|
| }
|
|
|
|
|