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

Unified Diff: content/renderer/render_frame_impl.cc

Issue 1133033003: Eliminate MediaPlayer & MediaPlayerClient abstractions (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add new path for createMediaPlayer() Created 5 years, 5 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 7005fdd66b83c004a1b45dac7c53f7973f5d4082..13254e518f13228216f970b626aa3fbd195a9e26 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -116,6 +116,7 @@
#include "net/base/net_errors.h"
#include "net/base/registry_controlled_domains/registry_controlled_domain.h"
#include "net/http/http_util.h"
+#include "third_party/WebKit/public/platform/WebMediaPlayerClient.h"
ddorwin 2015/07/10 17:56:56 Do we need the definition in this file? It's fwd d
Srirama 2015/07/10 18:36:03 I will verify and remove it.
Srirama 2015/07/11 08:44:10 It is needed because we are doing implicit cast fr
ddorwin 2015/07/13 17:58:19 Okay. Let's remember to remove it from these three
Srirama 2015/07/13 18:33:02 Sure, I will definitely cleanup the things.
#include "third_party/WebKit/public/platform/WebStorageQuotaCallbacks.h"
#include "third_party/WebKit/public/platform/WebString.h"
#include "third_party/WebKit/public/platform/WebURL.h"
@@ -191,6 +192,7 @@
#include "content/renderer/vr/vr_dispatcher.h"
#endif
+using blink::WebContentDecryptionModule;
using blink::WebContextMenuData;
using blink::WebData;
using blink::WebDataSource;
@@ -206,6 +208,7 @@ using blink::WebHTTPBody;
using blink::WebLocalFrame;
using blink::WebMediaPlayer;
using blink::WebMediaPlayerClient;
+using blink::WebMediaPlayerEncryptedMediaClient;
using blink::WebNavigationPolicy;
using blink::WebNavigationType;
using blink::WebNode;
@@ -1961,8 +1964,17 @@ blink::WebPlugin* RenderFrameImpl::createPlugin(
blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer(
blink::WebLocalFrame* frame,
const blink::WebURL& url,
- blink::WebMediaPlayerClient* client,
- blink::WebContentDecryptionModule* initial_cdm) {
+ WebMediaPlayerClient* client,
+ WebContentDecryptionModule* initial_cdm) {
+ return createMediaPlayer(frame, url, client, client, initial_cdm);
+}
+
+blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer(
+ blink::WebLocalFrame* frame,
+ const blink::WebURL& url,
+ WebMediaPlayerClient* client,
+ WebMediaPlayerEncryptedMediaClient* encrypted_client,
+ WebContentDecryptionModule* initial_cdm) {
#if defined(VIDEO_HOLE)
if (!contains_media_player_) {
render_view_->RegisterVideoHoleFrame(this);
@@ -1976,7 +1988,8 @@ blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer(
return CreateWebMediaPlayerForMediaStream(client);
#if defined(OS_ANDROID)
- return CreateAndroidWebMediaPlayer(client, GetMediaPermission(), initial_cdm);
+ return CreateAndroidWebMediaPlayer(client, encrypted_client,
+ GetMediaPermission(), initial_cdm);
#else
scoped_refptr<media::MediaLog> media_log(new RenderMediaLog());
@@ -2007,8 +2020,8 @@ blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer(
#endif // defined(ENABLE_MOJO_MEDIA)
return new media::WebMediaPlayerImpl(
- frame, client, weak_factory_.GetWeakPtr(), media_renderer_factory.Pass(),
- GetCdmFactory(), params);
+ frame, client, encrypted_client, weak_factory_.GetWeakPtr(),
+ media_renderer_factory.Pass(), GetCdmFactory(), params);
#endif // defined(OS_ANDROID)
}
@@ -3784,18 +3797,18 @@ blink::WebVRClient* RenderFrameImpl::webVRClient() {
}
#endif
-void RenderFrameImpl::DidPlay(blink::WebMediaPlayer* player) {
+void RenderFrameImpl::DidPlay(WebMediaPlayer* player) {
Send(new FrameHostMsg_MediaPlayingNotification(
routing_id_, reinterpret_cast<int64>(player), player->hasVideo(),
player->hasAudio(), player->isRemote()));
}
-void RenderFrameImpl::DidPause(blink::WebMediaPlayer* player) {
+void RenderFrameImpl::DidPause(WebMediaPlayer* player) {
Send(new FrameHostMsg_MediaPausedNotification(
routing_id_, reinterpret_cast<int64>(player)));
}
-void RenderFrameImpl::PlayerGone(blink::WebMediaPlayer* player) {
+void RenderFrameImpl::PlayerGone(WebMediaPlayer* player) {
DidPause(player);
}
@@ -4913,9 +4926,9 @@ NavigationState* RenderFrameImpl::CreateNavigationStateFromPending() {
WebMediaPlayer* RenderFrameImpl::CreateAndroidWebMediaPlayer(
WebMediaPlayerClient* client,
+ WebMediaPlayerEncryptedMediaClient* encrypted_client,
media::MediaPermission* media_permission,
- blink::WebContentDecryptionModule* initial_cdm) {
-
+ WebContentDecryptionModule* initial_cdm) {
scoped_refptr<StreamTextureFactory> stream_texture_factory;
if (SynchronousCompositorFactory* factory =
SynchronousCompositorFactory::GetInstance()) {
@@ -4943,8 +4956,9 @@ WebMediaPlayer* RenderFrameImpl::CreateAndroidWebMediaPlayer(
}
return new WebMediaPlayerAndroid(
- frame_, client, weak_factory_.GetWeakPtr(), GetMediaPlayerManager(),
- GetCdmFactory(), media_permission, initial_cdm, stream_texture_factory,
+ frame_, client, encrypted_client, weak_factory_.GetWeakPtr(),
+ GetMediaPlayerManager(), GetCdmFactory(), media_permission, initial_cdm,
+ stream_texture_factory,
RenderThreadImpl::current()->GetMediaThreadTaskRunner(),
new RenderMediaLog());
}

Powered by Google App Engine
This is Rietveld 408576698