Index: chrome/browser/media/android/cdm/media_drm_credential_manager.cc |
diff --git a/chrome/browser/media/android/cdm/media_drm_credential_manager.cc b/chrome/browser/media/android/cdm/media_drm_credential_manager.cc |
index 070fef28268629494e5881a86b3724cc093e7f22..68ed1ced46b082e6be73da25b0d57c38c011e03f 100644 |
--- a/chrome/browser/media/android/cdm/media_drm_credential_manager.cc |
+++ b/chrome/browser/media/android/cdm/media_drm_credential_manager.cc |
@@ -94,19 +94,24 @@ void MediaDrmCredentialManager::ResetCredentialsInternal( |
base::Bind(&content::CreateProvisionFetcher, |
g_browser_process->system_request_context()); |
- ResetCredentialsCB reset_credentials_cb = |
- base::Bind(&MediaDrmCredentialManager::OnResetCredentialsCompleted, |
- base::Unretained(this), security_level); |
- |
- media_drm_bridge_ = media::MediaDrmBridge::CreateWithoutSessionSupport( |
- kWidevineKeySystem, security_level, create_fetcher_cb); |
+ media::MediaDrmBridge::CreateWithoutSessionSupport( |
+ kWidevineKeySystem, security_level, create_fetcher_cb, |
+ base::BindOnce( |
+ &MediaDrmCredentialManager::OnMediaDrmCreated, base::Unretained(this), |
+ base::Bind(&MediaDrmCredentialManager::OnResetCredentialsCompleted, |
+ base::Unretained(this), security_level))); |
+} |
+void MediaDrmCredentialManager::OnMediaDrmCreated( |
+ const ResetCredentialsCB& reset_credentials_cb, |
+ scoped_refptr<media::MediaDrmBridge> cdm) { |
// No need to reset credentials for unsupported |security_level|. |
- if (!media_drm_bridge_) { |
+ if (!cdm) { |
base::ThreadTaskRunnerHandle::Get()->PostTask( |
FROM_HERE, base::Bind(reset_credentials_cb, true)); |
return; |
} |
+ media_drm_bridge_ = std::move(cdm); |
media_drm_bridge_->ResetDeviceCredentials(reset_credentials_cb); |
} |