| Index: media/base/android/media_drm_bridge.cc
|
| diff --git a/media/base/android/media_drm_bridge.cc b/media/base/android/media_drm_bridge.cc
|
| index fcb446b28b21255ee0bea4dbccd99b5deb7ce6a4..5666b43d88192e40aca16d75d5570483fa219b71 100644
|
| --- a/media/base/android/media_drm_bridge.cc
|
| +++ b/media/base/android/media_drm_bridge.cc
|
| @@ -293,8 +293,16 @@ bool MediaDrmBridge::SetSecurityLevel(SecurityLevel security_level) {
|
| void MediaDrmBridge::SetServerCertificate(
|
| const std::vector<uint8_t>& certificate,
|
| scoped_ptr<media::SimpleCdmPromise> promise) {
|
| - promise->reject(NOT_SUPPORTED_ERROR, 0,
|
| - "SetServerCertificate() is not supported.");
|
| + DCHECK(!certificate.empty());
|
| +
|
| + JNIEnv* env = AttachCurrentThread();
|
| + ScopedJavaLocalRef<jbyteArray> j_certificate;
|
| + if (Java_MediaDrmBridge_setServerCertificate(env, j_media_drm_.obj(),
|
| + j_certificate.obj())) {
|
| + promise->resolve();
|
| + } else {
|
| + promise->reject(INVALID_ACCESS_ERROR, 0, "Set server certificate failed.");
|
| + }
|
| }
|
|
|
| void MediaDrmBridge::CreateSessionAndGenerateRequest(
|
|
|