Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1739)

Unified Diff: content/renderer/media/android/renderer_media_session_manager.cc

Issue 1515623002: Media Session: passing metadata from renderer/ to browser/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@media_session_ipc
Patch Set: semicolon Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 =

Powered by Google App Engine
This is Rietveld 408576698