| Index: chrome/browser/apps/drive/drive_app_converter.cc
|
| diff --git a/chrome/browser/apps/drive/drive_app_converter.cc b/chrome/browser/apps/drive/drive_app_converter.cc
|
| index ebe9b9d8664ed2d9060cbcb4962840863a282429..ab25335d44e072fc783d7aecef4a7604fe318208 100644
|
| --- a/chrome/browser/apps/drive/drive_app_converter.cc
|
| +++ b/chrome/browser/apps/drive/drive_app_converter.cc
|
| @@ -12,6 +12,7 @@
|
| #include "base/callback_helpers.h"
|
| #include "base/logging.h"
|
| #include "base/macros.h"
|
| +#include "base/memory/ptr_util.h"
|
| #include "base/memory/ref_counted.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| #include "chrome/browser/extensions/crx_installer.h"
|
| @@ -153,9 +154,9 @@ void DriveAppConverter::Start() {
|
|
|
| pending_sizes.insert(icon_size);
|
| const GURL& icon_url = drive_app_info_.app_icons[i].second;
|
| - IconFetcher* fetcher = new IconFetcher(this, icon_url, icon_size);
|
| - fetchers_.push_back(fetcher); // Pass ownership to |fetchers|.
|
| - fetcher->Start();
|
| + fetchers_.push_back(
|
| + base::MakeUnique<IconFetcher>(this, icon_url, icon_size));
|
| + fetchers_.back()->Start();
|
| }
|
|
|
| if (fetchers_.empty())
|
| @@ -182,7 +183,11 @@ void DriveAppConverter::OnIconFetchComplete(const IconFetcher* fetcher) {
|
| web_app_.icons.push_back(icon_info);
|
| }
|
|
|
| - fetchers_.erase(std::find(fetchers_.begin(), fetchers_.end(), fetcher));
|
| + fetchers_.erase(
|
| + std::find_if(fetchers_.begin(), fetchers_.end(),
|
| + [fetcher](const std::unique_ptr<IconFetcher>& item) {
|
| + return item.get() == fetcher;
|
| + }));
|
|
|
| if (fetchers_.empty())
|
| StartInstall();
|
|
|