| Index: content/renderer/render_frame_impl.cc
|
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
| index 6ccb9f5995949069dbeadc97faa76fd507a3ac9b..d2b2854216c4bcc398a0dbb2b40ffd90dc8de46a 100644
|
| --- a/content/renderer/render_frame_impl.cc
|
| +++ b/content/renderer/render_frame_impl.cc
|
| @@ -406,6 +406,9 @@ RenderFrameImpl::RenderFrameImpl(RenderViewImpl* render_view, int routing_id)
|
| #if defined(ENABLE_BROWSER_CDMS)
|
| cdm_manager_(NULL),
|
| #endif
|
| +#if defined(VIDEO_HOLE)
|
| + contains_media_player_(false),
|
| +#endif
|
| geolocation_dispatcher_(NULL),
|
| push_messaging_dispatcher_(NULL),
|
| screen_orientation_dispatcher_(NULL),
|
| @@ -431,8 +434,8 @@ RenderFrameImpl::~RenderFrameImpl() {
|
| FOR_EACH_OBSERVER(RenderFrameObserver, observers_, RenderFrameGone());
|
| FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnDestruct());
|
|
|
| -#if defined(OS_ANDROID) && defined(VIDEO_HOLE)
|
| - if (media_player_manager_)
|
| +#if defined(VIDEO_HOLE)
|
| + if (contains_media_player_)
|
| render_view_->UnregisterVideoHoleFrame(this);
|
| #endif
|
|
|
| @@ -1372,6 +1375,13 @@ blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer(
|
| blink::WebLocalFrame* frame,
|
| const blink::WebURL& url,
|
| blink::WebMediaPlayerClient* client) {
|
| +#if defined(VIDEO_HOLE)
|
| + if (!contains_media_player_) {
|
| + render_view_->RegisterVideoHoleFrame(this);
|
| + contains_media_player_ = true;
|
| + }
|
| +#endif // defined(VIDEO_HOLE)
|
| +
|
| blink::WebMediaStream web_stream(
|
| blink::WebMediaStreamRegistry::lookupMediaStreamDescriptor(url));
|
| if (!web_stream.isNull())
|
| @@ -3558,12 +3568,8 @@ WebMediaPlayer* RenderFrameImpl::CreateAndroidWebMediaPlayer(
|
| }
|
|
|
| RendererMediaPlayerManager* RenderFrameImpl::GetMediaPlayerManager() {
|
| - if (!media_player_manager_) {
|
| + if (!media_player_manager_)
|
| media_player_manager_ = new RendererMediaPlayerManager(this);
|
| -#if defined(VIDEO_HOLE)
|
| - render_view_->RegisterVideoHoleFrame(this);
|
| -#endif // defined(VIDEO_HOLE)
|
| - }
|
| return media_player_manager_;
|
| }
|
|
|
|
|