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

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: cleanup Created 5 years 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..c5b9fc43cfb77130063e702e26c32db31e76fe09 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,27 @@ void RendererMediaSessionManager::Deactivate(
new MediaSessionHostMsg_Deactivate(routing_id(), session_id, request_id));
}
+void RendererMediaSessionManager::SetMetadata(
+ int session_id,
+ const content::MediaMetadata& metadata) {
+ // Apply some security rules on the MediaMetadata before sending over IPC.
philipj_slow 2015/12/14 14:09:24 Does it help to apply this on the renderer side as
mlamouri (slow - plz ping) 2016/01/05 16:01:17 This is mostly sanity check: a string more than 40
philipj_slow 2016/01/18 12:31:43 If it's only a sanity check, maybe s/security rule
mlamouri (slow - plz ping) 2016/01/19 14:20:09 Updated the comment. I was asked to do that a whil
+ MediaMetadata ipc_metadata = metadata;
+ ipc_metadata.title = base::NullableString16(
jochen (gone - plz use gerrit) 2015/12/14 12:38:30 i'm surprised this has to be done manually, and yo
mlamouri (slow - plz ping) 2016/01/05 16:01:17 AFAICT, it isn't done very often.
+ ipc_metadata.title.string().substr(0, MediaMetadata::kMaxIPCStringLength),
+ ipc_metadata.title.is_null());
+ ipc_metadata.artist = base::NullableString16(
+ ipc_metadata.artist.string().substr(0,
+ MediaMetadata::kMaxIPCStringLength),
+ ipc_metadata.artist.is_null());
+ ipc_metadata.album = base::NullableString16(
+ ipc_metadata.album.string().substr(0, MediaMetadata::kMaxIPCStringLength),
+ ipc_metadata.album.is_null());
+
+ 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