Index: content/renderer/media/android/renderer_media_session_manager.cc |
diff --git a/content/renderer/media/android/renderer_media_session_manager.cc b/content/renderer/media/android/renderer_media_session_manager.cc |
index 58b0888f568ab6c26eeec973081f924758c3c264..2670a4a38632f20064629bf6789643f527f3c3b9 100644 |
--- a/content/renderer/media/android/renderer_media_session_manager.cc |
+++ b/content/renderer/media/android/renderer_media_session_manager.cc |
@@ -6,6 +6,7 @@ |
#include "base/logging.h" |
#include "content/common/media/media_session_messages_android.h" |
+#include "content/public/common/media_metadata.h" |
#include "content/public/renderer/render_thread.h" |
#include "content/renderer/media/android/webmediasession_android.h" |
@@ -59,6 +60,23 @@ void RendererMediaSessionManager::Deactivate( |
new MediaSessionHostMsg_Deactivate(routing_id(), session_id, request_id)); |
} |
+void RendererMediaSessionManager::SetMetadata( |
+ int session_id, |
+ const MediaMetadata& metadata) { |
+ // Apply some sanity checks on the MediaMetadata before sending over IPC. |
+ MediaMetadata ipc_metadata; |
+ ipc_metadata.title = |
+ metadata.title.substr(0, MediaMetadata::kMaxIPCStringLength); |
+ ipc_metadata.artist = |
+ metadata.artist.substr(0, MediaMetadata::kMaxIPCStringLength); |
+ ipc_metadata.album = |
+ metadata.album.substr(0, MediaMetadata::kMaxIPCStringLength); |
+ |
+ Send(new MediaSessionHostMsg_SetMetadata(routing_id(), |
+ session_id, |
+ ipc_metadata)); |
+} |
+ |
void RendererMediaSessionManager::OnDidActivate(int request_id, bool success) { |
DCHECK(pending_activation_requests_.Lookup(request_id)) << request_id; |
blink::WebMediaSessionActivateCallback* callback = |