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

Unified Diff: content/renderer/render_frame_impl.cc

Issue 1259633002: NOT FOR LANDING Implement WebMediaSession (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: hack until something works Created 5 years, 4 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/render_frame_impl.cc
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index c56c958e5218569e5c0efe62616cab93b254f0b6..631051072df4475b6f1722f9884c48cb5e35a626 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -169,8 +169,10 @@
#include "content/renderer/android/synchronous_compositor_factory.h"
#include "content/renderer/java/gin_java_bridge_dispatcher.h"
#include "content/renderer/media/android/renderer_media_player_manager.h"
+#include "content/renderer/media/android/renderer_media_session_manager.h"
#include "content/renderer/media/android/stream_texture_factory_impl.h"
#include "content/renderer/media/android/webmediaplayer_android.h"
+#include "content/renderer/media/android/webmediasession_android.h"
#else
#include "cc/blink/context_provider_web_context.h"
#endif
@@ -212,6 +214,7 @@ using blink::WebLocalFrame;
using blink::WebMediaPlayer;
using blink::WebMediaPlayerClient;
using blink::WebMediaPlayerEncryptedMediaClient;
+using blink::WebMediaSession;
using blink::WebNavigationPolicy;
using blink::WebNavigationType;
using blink::WebNode;
@@ -668,6 +671,7 @@ RenderFrameImpl::RenderFrameImpl(const CreateParams& params)
midi_dispatcher_(NULL),
#if defined(OS_ANDROID)
media_player_manager_(NULL),
+ media_session_manager_(NULL),
#endif
#if defined(ENABLE_BROWSER_CDMS)
cdm_manager_(NULL),
@@ -2068,6 +2072,16 @@ blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer(
#endif // defined(OS_ANDROID) && !defined(ENABLE_MEDIA_PIPELINE_ON_ANDROID)
}
+blink::WebMediaSession* RenderFrameImpl::createMediaSession(
+ blink::WebLocalFrame* frame) {
+#if defined(OS_ANDROID)
+ return CreateAndroidWebMediaSession();
+#else
+ NOTREACHED();
+ return nullptr;
+#endif // defined(OS_ANDROID)
+}
+
blink::WebApplicationCacheHost* RenderFrameImpl::createApplicationCacheHost(
blink::WebLocalFrame* frame,
blink::WebApplicationCacheHostClient* client) {
@@ -4992,6 +5006,16 @@ RendererMediaPlayerManager* RenderFrameImpl::GetMediaPlayerManager() {
return media_player_manager_;
}
+WebMediaSession* RenderFrameImpl::CreateAndroidWebMediaSession() {
+ return new WebMediaSessionAndroid(GetMediaSessionManager());
+}
+
+RendererMediaSessionManager* RenderFrameImpl::GetMediaSessionManager() {
+ if (!media_session_manager_)
+ media_session_manager_ = new RendererMediaSessionManager(this);
+ return media_session_manager_;
+}
+
#endif // defined(OS_ANDROID)
media::MediaPermission* RenderFrameImpl::GetMediaPermission() {

Powered by Google App Engine
This is Rietveld 408576698