Index: content/browser/android/web_contents_observer_proxy.cc |
diff --git a/content/browser/android/web_contents_observer_proxy.cc b/content/browser/android/web_contents_observer_proxy.cc |
index d0ed7b6815165407aa78c3ecb5ee9c25b97b91d7..6f01240f79448f2d1f7c80eb6fee4b4779023214 100644 |
--- a/content/browser/android/web_contents_observer_proxy.cc |
+++ b/content/browser/android/web_contents_observer_proxy.cc |
@@ -307,12 +307,14 @@ void WebContentsObserverProxy::DidStartNavigationToPendingEntry( |
void WebContentsObserverProxy::MediaSessionStateChanged( |
bool is_controllable, |
bool is_suspended, |
- const MediaMetadata& metadata) { |
+ const base::Optional<MediaMetadata>& metadata) { |
JNIEnv* env = AttachCurrentThread(); |
ScopedJavaLocalRef<jobject> obj(java_observer_); |
- ScopedJavaLocalRef<jobject> j_metadata = |
- MediaMetadataAndroid::CreateJavaObject(env, metadata); |
+ ScopedJavaLocalRef<jobject> j_metadata; |
+ |
+ if (metadata) |
+ j_metadata = MediaMetadataAndroid::CreateJavaObject(env, metadata.value()); |
Java_WebContentsObserverProxy_mediaSessionStateChanged( |
env, obj, is_controllable, is_suspended, j_metadata); |