| Index: content/browser/media/session/media_session_android.cc
|
| diff --git a/content/browser/media/session/media_session_android.cc b/content/browser/media/session/media_session_android.cc
|
| index 9d74ab4ac2ed880a7f5555ffd117032fbbfd16c8..b4528529130a51740e75fc0d02eccaa1b6b7da80 100644
|
| --- a/content/browser/media/session/media_session_android.cc
|
| +++ b/content/browser/media/session/media_session_android.cc
|
| @@ -63,8 +63,12 @@ ScopedJavaLocalRef<jobject> GetMediaSessionFromWebContents(
|
|
|
| void MediaSessionAndroid::MediaSessionDestroyed() {
|
| ScopedJavaLocalRef<jobject> j_local_session = GetJavaObject();
|
| - if (j_local_session.is_null())
|
| + if (j_local_session.is_null()) {
|
| + // If the Java MediaSession is already garbage collected, unset the weak
|
| + // Java reference.
|
| + j_media_session_.reset();
|
| return;
|
| + }
|
|
|
| JNIEnv* env = base::android::AttachCurrentThread();
|
| // The Java object will tear down after this call.
|
|
|