Chromium Code Reviews| Index: content/browser/media/android/browser_media_player_manager.cc |
| diff --git a/content/browser/media/android/browser_media_player_manager.cc b/content/browser/media/android/browser_media_player_manager.cc |
| index aadc6a3544e2a01c6dad20cf68766b136d9b03b0..60394ba5f7369e67abe827faa380b61453db2a55 100644 |
| --- a/content/browser/media/android/browser_media_player_manager.cc |
| +++ b/content/browser/media/android/browser_media_player_manager.cc |
| @@ -333,7 +333,12 @@ void BrowserMediaPlayerManager::RequestMediaResources(int player_id) { |
| } |
| void BrowserMediaPlayerManager::ReleaseMediaResources(int player_id) { |
| - // Nothing needs to be done. |
| +#if defined(VIDEO_HOLE) |
| + WebContentsViewAndroid* view = |
| + static_cast<WebContentsViewAndroid*>(web_contents_->GetView()); |
|
Ted C
2014/02/14 18:32:52
Any reason you are going through WebContentsViewAn
ycheo (away)
2014/02/18 08:35:56
After refactoring, we don't need to apply this.
|
| + if (view) |
| + view->ReleaseExternalVideoSurface(player_id); |
| +#endif // defined(VIDEO_HOLE) |
| } |
| media::MediaResourceGetter* |
| @@ -473,8 +478,11 @@ void BrowserMediaPlayerManager::OnNotifyExternalSurface( |
| WebContentsViewAndroid* view = |
| static_cast<WebContentsViewAndroid*>(web_contents_->GetView()); |
| - if (view) |
| - view->NotifyExternalSurface(player_id, is_request, rect); |
| + if (view) { |
| + if (is_request) |
| + view->RequestExternalVideoSurface(player_id); |
| + view->NotifyExternalVideoSurfacePositionChanged(player_id, rect); |
| + } |
| } |
| #endif // defined(VIDEO_HOLE) |
| @@ -499,6 +507,12 @@ void BrowserMediaPlayerManager::OnEnterFullscreen(int player_id) { |
| return; |
| } |
| +#if defined(VIDEO_HOLE) |
| + WebContentsViewAndroid* view = |
| + static_cast<WebContentsViewAndroid*>(web_contents_->GetView()); |
| + if (view) |
| + view->ReleaseExternalVideoSurface(player_id); |
| +#endif // defined(VIDEO_HOLE) |
| if (video_view_.get()) { |
| fullscreen_player_id_ = player_id; |
| video_view_->OpenVideo(); |
| @@ -571,13 +585,6 @@ void BrowserMediaPlayerManager::OnReleaseResources(int player_id) { |
| MediaPlayerAndroid* player = GetPlayer(player_id); |
| if (player) |
| player->Release(); |
| - |
| -#if defined(VIDEO_HOLE) |
| - WebContentsViewAndroid* view = |
| - static_cast<WebContentsViewAndroid*>(web_contents_->GetView()); |
| - if (view) |
| - view->NotifyExternalSurface(player_id, false, gfx::RectF()); |
| -#endif // defined(VIDEO_HOLE) |
| } |
| void BrowserMediaPlayerManager::OnDestroyPlayer(int player_id) { |