Chromium Code Reviews| 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 |