Index: chrome/browser/extensions/api/gcd_private/privet_v3_session.cc |
diff --git a/chrome/browser/extensions/api/gcd_private/privet_v3_session.cc b/chrome/browser/extensions/api/gcd_private/privet_v3_session.cc |
index 8c22f78120c9f1b78209712abf40d7a1cae2af5a..e7387fef0429519322ed0133b7fe064cf4ee57a2 100644 |
--- a/chrome/browser/extensions/api/gcd_private/privet_v3_session.cc |
+++ b/chrome/browser/extensions/api/gcd_private/privet_v3_session.cc |
@@ -10,6 +10,7 @@ |
#include "base/location.h" |
#include "base/logging.h" |
#include "base/macros.h" |
+#include "base/memory/ptr_util.h" |
#include "base/single_thread_task_runner.h" |
#include "base/strings/string_number_conversions.h" |
#include "base/threading/thread_task_runner_handle.h" |
@@ -486,7 +487,7 @@ net::URLFetcher* PrivetV3Session::CreateFetcher( |
FetcherDelegate* fetcher = |
new FetcherDelegate(weak_ptr_factory_.GetWeakPtr(), callback); |
if (!orphaned) |
- fetchers_.push_back(fetcher); |
+ fetchers_.push_back(base::WrapUnique(fetcher)); |
net::URLFetcher* url_fetcher = |
fetcher->CreateURLFetcher(url, request_type, orphaned); |
url_fetcher->SetLoadFlags(url_fetcher->GetLoadFlags() | |
@@ -500,7 +501,11 @@ net::URLFetcher* PrivetV3Session::CreateFetcher( |
} |
void PrivetV3Session::DeleteFetcher(const FetcherDelegate* fetcher) { |
- fetchers_.erase(std::find(fetchers_.begin(), fetchers_.end(), fetcher)); |
+ fetchers_.erase(std::find_if( |
+ fetchers_.begin(), fetchers_.end(), |
+ [fetcher](const std::unique_ptr<FetcherDelegate>& fetcher_delegate) { |
+ return fetcher_delegate.get() == fetcher; |
+ })); |
asargent_no_longer_on_chrome
2016/09/06 22:12:40
optional: The following equivalent code seems a li
lazyboy
2016/09/06 23:49:38
Done.
|
} |
void PrivetV3Session::Cancel() { |