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

Unified Diff: content/renderer/render_frame_impl.cc

Issue 2538853002: Media Remoting: Draw remoting interstitial on poster image. (Closed)
Patch Set: Created 4 years, 1 month 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 64b819b6ab7bd3b7229fc723eadaef62cdbed5bd..9b82988733ed86c440888d4c180bddb81f049c41 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -262,7 +262,6 @@
#if BUILDFLAG(ENABLE_MEDIA_REMOTING)
#include "media/remoting/remoting_cdm_controller.h" // nogncheck
#include "media/remoting/remoting_cdm_factory.h" // nogncheck
-#include "media/remoting/remoting_renderer_controller.h" // nogncheck
#include "media/remoting/remoting_renderer_factory.h" // nogncheck
#include "media/remoting/remoting_sink_observer.h" // nogncheck
#endif
@@ -2905,6 +2904,8 @@ blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer(
#if BUILDFLAG(ENABLE_MEDIA_REMOTING)
remoting_controller_ptr->SetSwitchRendererCallback(base::Bind(
&media::WebMediaPlayerImpl::ScheduleRestart, media_player->AsWeakPtr()));
+ remoting_controller_ptr->SetDownloadPosterCallback(
+ base::Bind(&RenderFrameImpl::DownloadPoster, weak_factory_.GetWeakPtr()));
#endif
return media_player;
}
@@ -6666,4 +6667,29 @@ void RenderFrameImpl::RenderWidgetWillHandleMouseEvent() {
#endif
}
+#if BUILDFLAG(ENABLE_MEDIA_REMOTING)
+void RenderFrameImpl::DownloadPoster(
+ const GURL& url,
+ const media::RemotingRendererController::PosterDownloadedCallback& cb) {
+ if (cb.is_null())
+ return;
+
+ if (!poster_image_downloader_)
+ poster_image_downloader_.reset(new ImageDownloaderImpl(this));
+ poster_image_downloader_->DownloadImage(
+ url, false, 1920 * 1920, false,
miu 2016/11/29 22:56:08 1920*1920 seems arbitrary, and some poster images
xjz 2016/12/02 19:23:10 Not applicable.
+ base::Bind(&RenderFrameImpl::PosterDownloaded, weak_factory_.GetWeakPtr(),
+ cb));
+}
+
+void RenderFrameImpl::PosterDownloaded(
+ const media::RemotingRendererController::PosterDownloadedCallback& cb,
+ int32_t http_status_code,
+ const std::vector<SkBitmap>& images,
+ const std::vector<gfx::Size>& sizes) {
+ DCHECK(!cb.is_null());
+ cb.Run(images[0]);
+}
+#endif
+
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698