Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4830)

Unified Diff: chrome/browser/media/android/remote/remote_media_player_manager.cc

Issue 2767893002: Remove ScopedVector from chrome/browser/. (Closed)
Patch Set: Address comments from zea@ Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/media/android/remote/remote_media_player_manager.cc
diff --git a/chrome/browser/media/android/remote/remote_media_player_manager.cc b/chrome/browser/media/android/remote/remote_media_player_manager.cc
index 83d8a4380e3d9027a52774dfaf99077b7b4902b9..1fc203d4b2ad8426756d78214df583d537c4097e 100644
--- a/chrome/browser/media/android/remote/remote_media_player_manager.cc
+++ b/chrome/browser/media/android/remote/remote_media_player_manager.cc
@@ -4,6 +4,7 @@
#include "chrome/browser/media/android/remote/remote_media_player_manager.h"
+#include "base/memory/ptr_util.h"
#include "chrome/browser/android/tab_android.h"
#include "chrome/common/chrome_content_client.h"
#include "content/common/media/media_player_messages_android.h"
@@ -24,10 +25,10 @@ RemoteMediaPlayerManager::RemoteMediaPlayerManager(
}
RemoteMediaPlayerManager::~RemoteMediaPlayerManager() {
- for (MediaPlayerAndroid* player : alternative_players_)
- player->DeleteOnCorrectThread();
+ for (auto& player : alternative_players_)
+ player.release()->DeleteOnCorrectThread();
- alternative_players_.weak_clear();
+ alternative_players_.clear();
}
void RemoteMediaPlayerManager::OnStart(int player_id) {
@@ -142,11 +143,12 @@ void RemoteMediaPlayerManager::DidDownloadPoster(
RemoteMediaPlayerBridge* RemoteMediaPlayerManager::CreateRemoteMediaPlayer(
int player_id) {
- RemoteMediaPlayerBridge* player =
- new RemoteMediaPlayerBridge(player_id, GetUserAgent(), this);
- alternative_players_.push_back(player);
- player->Initialize();
- return player;
+ alternative_players_.push_back(base::MakeUnique<RemoteMediaPlayerBridge>(
+ player_id, GetUserAgent(), this));
+ RemoteMediaPlayerBridge* remote =
+ static_cast<RemoteMediaPlayerBridge*>(alternative_players_.back().get());
+ remote->Initialize();
+ return remote;
}
bool RemoteMediaPlayerManager::SwapCurrentPlayer(int player_id) {
@@ -155,17 +157,15 @@ bool RemoteMediaPlayerManager::SwapCurrentPlayer(int player_id) {
if (it == alternative_players_.end())
return false;
- MediaPlayerAndroid* new_player = *it;
+ // Release ownership of the alternative player.
std::unique_ptr<MediaPlayerAndroid> old_player =
- SwapPlayer(player_id, new_player);
+ SwapPlayer(player_id, std::move(*it));
+ alternative_players_.erase(it);
if (!old_player) {
- // There's no player to swap with, destroy the alternative player and exit.
- alternative_players_.erase(it);
return false;
}
- alternative_players_.weak_erase(it);
- alternative_players_.push_back(old_player.release());
+ alternative_players_.push_back(std::move(old_player));
return true;
}
@@ -248,7 +248,7 @@ void RemoteMediaPlayerManager::OnPaused(int player_id) {
Send(new MediaPlayerMsg_DidMediaPlayerPause(RoutingID(),player_id));
}
-ScopedVector<MediaPlayerAndroid>::iterator
+std::vector<std::unique_ptr<MediaPlayerAndroid>>::iterator
RemoteMediaPlayerManager::GetAlternativePlayer(int player_id) {
for (auto it = alternative_players_.begin(); it != alternative_players_.end();
++it) {
@@ -266,7 +266,7 @@ RemoteMediaPlayerBridge* RemoteMediaPlayerManager::GetRemotePlayer(
auto it = GetAlternativePlayer(player_id);
if (it == alternative_players_.end())
return nullptr;
- return static_cast<RemoteMediaPlayerBridge*>(*it);
+ return static_cast<RemoteMediaPlayerBridge*>(it->get());
}
MediaPlayerAndroid* RemoteMediaPlayerManager::GetLocalPlayer(int player_id) {
@@ -275,7 +275,7 @@ MediaPlayerAndroid* RemoteMediaPlayerManager::GetLocalPlayer(int player_id) {
auto it = GetAlternativePlayer(player_id);
if (it == alternative_players_.end())
return nullptr;
- return *it;
+ return it->get();
}
void RemoteMediaPlayerManager::OnMediaMetadataChanged(int player_id,

Powered by Google App Engine
This is Rietveld 408576698