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 36ae2e555651ef8f23c952696554f954ef47f4c4..162a812d4c6429fe8fa72a2753a6d65671b06a5a 100644 |
| --- a/content/browser/media/android/browser_media_player_manager.cc |
| +++ b/content/browser/media/android/browser_media_player_manager.cc |
| @@ -11,7 +11,6 @@ |
| #include "base/memory/singleton.h" |
| #include "content/browser/frame_host/render_frame_host_impl.h" |
| #include "content/browser/media/android/media_resource_getter_impl.h" |
| -#include "content/browser/media/android/media_throttler.h" |
| #include "content/browser/media/android/media_web_contents_observer_android.h" |
| #include "content/browser/renderer_host/render_view_host_impl.h" |
| #include "content/browser/web_contents/web_contents_impl.h" |
| @@ -69,9 +68,15 @@ void BrowserMediaPlayerManager::RegisterMediaUrlInterceptor( |
| // static |
| BrowserMediaPlayerManager* BrowserMediaPlayerManager::Create( |
| RenderFrameHost* rfh) { |
| + // In chrome, |g_factory| should be set to create a RemoteMediaPlayerManager, |
| + // since RegisterFactory() should be called from |
| + // ChromeMainDelegateAndroid::BasicStartupComplete. |
| + // |
| + // In webview, no factory should be set, and returning a nullptr should be |
| + // handled by the caller. |
| if (g_factory) |
|
DaleCurtis
2017/04/10 23:49:47
Ternary if you want.
tguilbert
2017/04/11 00:15:55
Done.
|
| return g_factory(rfh); |
| - return new BrowserMediaPlayerManager(rfh); |
| + return nullptr; |
| } |
| #if !defined(USE_AURA) |
| @@ -372,13 +377,12 @@ void BrowserMediaPlayerManager::OnStart(int player_id) { |
| if (!player) |
| return; |
| - if (RequestDecoderResources(player_id, false)) { |
| - StartInternal(player_id); |
| - } else if (WebContentsDelegate* delegate = web_contents_->GetDelegate()){ |
| - delegate->RequestMediaDecodePermission( |
| - web_contents_, |
| - base::Bind(&BrowserMediaPlayerManager::OnPlaybackPermissionGranted, |
| - weak_ptr_factory_.GetWeakPtr(), player_id)); |
| + RequestDecoderResources(player_id, false); |
| + |
| + player->Start(); |
| + if (fullscreen_player_id_ == player_id && fullscreen_player_is_released_) { |
| + video_view_->OpenVideo(); |
| + fullscreen_player_is_released_ = false; |
| } |
| } |
| @@ -484,9 +488,6 @@ std::unique_ptr<MediaPlayerAndroid> BrowserMediaPlayerManager::SwapPlayer( |
| bool BrowserMediaPlayerManager::RequestDecoderResources( |
| int player_id, bool temporary) { |
| - if (!MediaThrottler::GetInstance()->RequestDecoderResources()) |
| - return false; |
| - |
| ActivePlayerMap::iterator it; |
| // The player is already active, ignore it. A long running player should not |
| // request temporary permissions. |
| @@ -525,7 +526,6 @@ void BrowserMediaPlayerManager::OnDecoderResourcesReleased(int player_id) { |
| return; |
| active_players_.erase(player_id); |
| - MediaThrottler::GetInstance()->OnDecodeRequestFinished(); |
| } |
| int BrowserMediaPlayerManager::RoutingID() { |
| @@ -545,24 +545,4 @@ void BrowserMediaPlayerManager::ReleasePlayer(MediaPlayerAndroid* player) { |
| player->Release(); |
| } |
| -void BrowserMediaPlayerManager::OnPlaybackPermissionGranted( |
| - int player_id, bool granted) { |
| - if (!granted) |
| - return; |
| - |
| - MediaThrottler::GetInstance()->Reset(); |
| - StartInternal(player_id); |
| -} |
| - |
| -void BrowserMediaPlayerManager::StartInternal(int player_id) { |
| - MediaPlayerAndroid* player = GetPlayer(player_id); |
| - if (!player) |
| - return; |
| - player->Start(); |
| - if (fullscreen_player_id_ == player_id && fullscreen_player_is_released_) { |
| - video_view_->OpenVideo(); |
| - fullscreen_player_is_released_ = false; |
| - } |
| -} |
| - |
| } // namespace content |