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 |