Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(389)

Unified Diff: chrome/browser/process_singleton_posix.cc

Issue 2442953002: Remove stl_util's deletion function use from chrome/. (Closed)
Patch Set: fix Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/process_singleton_posix.cc
diff --git a/chrome/browser/process_singleton_posix.cc b/chrome/browser/process_singleton_posix.cc
index b1b953a09ba54ec1e90e58c0dc8b87696259ab96..17c9b88606ee89b9570bb517942a9339e1a3f016 100644
--- a/chrome/browser/process_singleton_posix.cc
+++ b/chrome/browser/process_singleton_posix.cc
@@ -64,6 +64,7 @@
#include "base/location.h"
#include "base/logging.h"
#include "base/macros.h"
+#include "base/memory/ptr_util.h"
#include "base/memory/ref_counted.h"
#include "base/message_loop/message_loop.h"
#include "base/metrics/histogram_macros.h"
@@ -74,7 +75,6 @@
#include "base/sequenced_task_runner_helpers.h"
#include "base/single_thread_task_runner.h"
#include "base/single_thread_task_runner.h"
-#include "base/stl_util.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_split.h"
#include "base/strings/string_util.h"
@@ -546,7 +546,6 @@ class ProcessSingleton::LinuxWatcher
~LinuxWatcher() {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
- base::STLDeleteElements(&readers_);
}
void OnSocketCanReadWithoutBlocking(int socket);
@@ -563,7 +562,7 @@ class ProcessSingleton::LinuxWatcher
// The ProcessSingleton that owns us.
ProcessSingleton* const parent_;
- std::set<SocketReader*> readers_;
+ std::set<std::unique_ptr<SocketReader>> readers_;
DISALLOW_COPY_AND_ASSIGN(LinuxWatcher);
};
@@ -582,9 +581,8 @@ void ProcessSingleton::LinuxWatcher::OnSocketCanReadWithoutBlocking(
}
DCHECK(base::SetNonBlocking(connection_socket))
<< "Failed to make non-blocking socket.";
- SocketReader* reader =
- new SocketReader(this, ui_task_runner_, connection_socket);
- readers_.insert(reader);
+ readers_.insert(
+ base::MakeUnique<SocketReader>(this, ui_task_runner_, connection_socket));
}
void ProcessSingleton::LinuxWatcher::StartListening(int socket) {
@@ -618,8 +616,11 @@ void ProcessSingleton::LinuxWatcher::HandleMessage(
void ProcessSingleton::LinuxWatcher::RemoveSocketReader(SocketReader* reader) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
DCHECK(reader);
- readers_.erase(reader);
- delete reader;
+ auto it = std::find_if(readers_.begin(), readers_.end(),
+ [reader](const std::unique_ptr<SocketReader>& ptr) {
+ return ptr.get() == reader;
+ });
+ readers_.erase(it);
}
///////////////////////////////////////////////////////////////////////////////

Powered by Google App Engine
This is Rietveld 408576698