Index: chrome/browser/extensions/api/webstore_private/webstore_private_api.cc |
diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc |
index 5ab2706599738c50d88f16e762d9a487c7a22fbb..bcb791b772ea021aee3e771afb441f2f8e4ff427 100644 |
--- a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc |
+++ b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc |
@@ -10,7 +10,6 @@ |
#include "base/bind.h" |
#include "base/lazy_instance.h" |
#include "base/macros.h" |
-#include "base/memory/scoped_vector.h" |
#include "base/metrics/histogram_macros.h" |
#include "base/strings/stringprintf.h" |
#include "base/strings/utf_string_conversions.h" |
@@ -73,7 +72,8 @@ class PendingApprovals { |
const std::string& id); |
private: |
- typedef ScopedVector<WebstoreInstaller::Approval> ApprovalList; |
+ using ApprovalList = |
+ std::vector<std::unique_ptr<WebstoreInstaller::Approval>>; |
ApprovalList approvals_; |
@@ -85,18 +85,17 @@ PendingApprovals::~PendingApprovals() {} |
void PendingApprovals::PushApproval( |
std::unique_ptr<WebstoreInstaller::Approval> approval) { |
- approvals_.push_back(approval.release()); |
+ approvals_.push_back(std::move(approval)); |
} |
std::unique_ptr<WebstoreInstaller::Approval> PendingApprovals::PopApproval( |
Profile* profile, |
const std::string& id) { |
for (size_t i = 0; i < approvals_.size(); ++i) { |
- WebstoreInstaller::Approval* approval = approvals_[i]; |
+ std::unique_ptr<WebstoreInstaller::Approval>& approval = approvals_[i]; |
if (approval->extension_id == id && |
profile->IsSameProfile(approval->profile)) { |
- approvals_.weak_erase(approvals_.begin() + i); |
- return std::unique_ptr<WebstoreInstaller::Approval>(approval); |
+ return std::move(approval); |
} |
} |
return std::unique_ptr<WebstoreInstaller::Approval>(); |