| 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>();
|
|
|