| Index: content/browser/media/android/media_drm_credential_manager.cc
|
| diff --git a/content/browser/media/android/media_drm_credential_manager.cc b/content/browser/media/android/media_drm_credential_manager.cc
|
| index 6545a70814c28bb825a3c9c71951aff03db7e20b..8151256dad61f4cd76f45f0855f42dbe9eda9ba4 100644
|
| --- a/content/browser/media/android/media_drm_credential_manager.cc
|
| +++ b/content/browser/media/android/media_drm_credential_manager.cc
|
| @@ -4,11 +4,28 @@
|
|
|
| #include "content/browser/media/android/media_drm_credential_manager.h"
|
|
|
| +#include "base/android/jni_android.h"
|
| +#include "base/android/scoped_java_ref.h"
|
| #include "base/bind.h"
|
| #include "base/callback_helpers.h"
|
| +#include "jni/MediaDrmCredentialManager_jni.h"
|
| #include "media/base/android/media_drm_bridge.h"
|
| #include "url/gurl.h"
|
|
|
| +using base::android::ScopedJavaGlobalRef;
|
| +
|
| +namespace {
|
| +
|
| +void MediaDrmCredentialManagerCallback(
|
| + const ScopedJavaGlobalRef<jobject>& j_media_drm_credential_manager_callback,
|
| + bool succeeded) {
|
| + JNIEnv* env = base::android::AttachCurrentThread();
|
| + content::Java_MediaDrmCredentialManagerCallback_onCredentialResetFinished(
|
| + env, j_media_drm_credential_manager_callback.obj(), succeeded);
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| namespace content {
|
|
|
| // TODO(qinmin): Move the UUID definition to some common places.
|
| @@ -16,9 +33,14 @@ static const uint8 kWidevineUuid[16] = {
|
| 0xED, 0xEF, 0x8B, 0xA9, 0x79, 0xD6, 0x4A, 0xCE,
|
| 0xA3, 0xC8, 0x27, 0xDC, 0xD5, 0x1D, 0x21, 0xED };
|
|
|
| -MediaDrmCredentialManager::MediaDrmCredentialManager() {}
|
| +MediaDrmCredentialManager::MediaDrmCredentialManager() {};
|
| +
|
| +MediaDrmCredentialManager::~MediaDrmCredentialManager() {};
|
|
|
| -MediaDrmCredentialManager::~MediaDrmCredentialManager() {}
|
| +// static
|
| +MediaDrmCredentialManager* MediaDrmCredentialManager::GetInstance() {
|
| + return Singleton<MediaDrmCredentialManager>::get();
|
| +}
|
|
|
| void MediaDrmCredentialManager::ResetCredentials(
|
| const ResetCredentialsCB& callback) {
|
| @@ -35,6 +57,25 @@ void MediaDrmCredentialManager::ResetCredentials(
|
| }
|
| }
|
|
|
| +// static
|
| +void ResetCredentials(
|
| + JNIEnv* env,
|
| + jclass clazz,
|
| + jobject j_media_drm_credential_manager_callback) {
|
| + MediaDrmCredentialManager* media_drm_credential_manager =
|
| + MediaDrmCredentialManager::GetInstance();
|
| +
|
| + ScopedJavaGlobalRef<jobject> j_scoped_media_drm_credential_manager_callback;
|
| + j_scoped_media_drm_credential_manager_callback.Reset(
|
| + env, j_media_drm_credential_manager_callback);
|
| +
|
| + MediaDrmCredentialManager::ResetCredentialsCB callback_runner =
|
| + base::Bind(&MediaDrmCredentialManagerCallback,
|
| + j_scoped_media_drm_credential_manager_callback);
|
| +
|
| + media_drm_credential_manager->ResetCredentials(callback_runner);
|
| +}
|
| +
|
| void MediaDrmCredentialManager::OnResetCredentialsCompleted(
|
| const std::string& security_level, bool success) {
|
| if (security_level == "L3" && success) {
|
| @@ -60,4 +101,9 @@ bool MediaDrmCredentialManager::ResetCredentialsInternal(
|
| return true;
|
| }
|
|
|
| +// static
|
| +bool MediaDrmCredentialManager::RegisterMediaDrmCredentialManager(JNIEnv* env) {
|
| + return RegisterNativesImpl(env);
|
| +}
|
| +
|
| } // namespace content
|
|
|