| 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..36188ebe00adb8548e98a03e5a51d27f9dc47a3f 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,19 @@ 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];
|
| - if (approval->extension_id == id &&
|
| - profile->IsSameProfile(approval->profile)) {
|
| - approvals_.weak_erase(approvals_.begin() + i);
|
| - return std::unique_ptr<WebstoreInstaller::Approval>(approval);
|
| + for (ApprovalList::iterator iter = approvals_.begin();
|
| + iter != approvals_.end(); ++iter) {
|
| + if (iter->get()->extension_id == id &&
|
| + profile->IsSameProfile(iter->get()->profile)) {
|
| + std::unique_ptr<WebstoreInstaller::Approval> approval = std::move(*iter);
|
| + approvals_.erase(iter);
|
| + return approval;
|
| }
|
| }
|
| return std::unique_ptr<WebstoreInstaller::Approval>();
|
|
|