| Index: components/invalidation/impl/sync_system_resources.cc
|
| diff --git a/components/invalidation/impl/sync_system_resources.cc b/components/invalidation/impl/sync_system_resources.cc
|
| index 3cd65e74e0d0dbfb6d95fc93e73247a653a14109..d67276412e49c15d9a80e45dd6fa64e27cee733a 100644
|
| --- a/components/invalidation/impl/sync_system_resources.cc
|
| +++ b/components/invalidation/impl/sync_system_resources.cc
|
| @@ -4,6 +4,7 @@
|
|
|
| #include "components/invalidation/impl/sync_system_resources.h"
|
|
|
| +#include <algorithm>
|
| #include <cstdlib>
|
| #include <cstring>
|
| #include <string>
|
| @@ -14,7 +15,6 @@
|
| #include "base/logging.h"
|
| #include "base/memory/ptr_util.h"
|
| #include "base/single_thread_task_runner.h"
|
| -#include "base/stl_util.h"
|
| #include "base/strings/string_util.h"
|
| #include "base/strings/stringprintf.h"
|
| #include "base/threading/thread_task_runner_handle.h"
|
| @@ -93,7 +93,7 @@
|
| is_stopped_ = true;
|
| is_started_ = false;
|
| weak_factory_.InvalidateWeakPtrs();
|
| - base::STLDeleteElements(&posted_tasks_);
|
| + posted_tasks_.clear();
|
| }
|
|
|
| void SyncInvalidationScheduler::Schedule(invalidation::TimeDelta delay,
|
| @@ -106,7 +106,7 @@
|
| return;
|
| }
|
|
|
| - posted_tasks_.insert(task);
|
| + posted_tasks_.insert(base::WrapUnique(task));
|
| base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
|
| FROM_HERE, base::Bind(&SyncInvalidationScheduler::RunPostedTask,
|
| weak_factory_.GetWeakPtr(), task),
|
| @@ -130,8 +130,12 @@
|
| void SyncInvalidationScheduler::RunPostedTask(invalidation::Closure* task) {
|
| CHECK(IsRunningOnThread());
|
| task->Run();
|
| - posted_tasks_.erase(task);
|
| - delete task;
|
| + auto it =
|
| + std::find_if(posted_tasks_.begin(), posted_tasks_.end(),
|
| + [task](const std::unique_ptr<invalidation::Closure>& ptr) {
|
| + return ptr.get() == task;
|
| + });
|
| + posted_tasks_.erase(it);
|
| }
|
|
|
| SyncNetworkChannel::SyncNetworkChannel()
|
| @@ -139,7 +143,6 @@
|
| received_messages_count_(0) {}
|
|
|
| SyncNetworkChannel::~SyncNetworkChannel() {
|
| - base::STLDeleteElements(&network_status_receivers_);
|
| }
|
|
|
| void SyncNetworkChannel::SetMessageReceiver(
|
| @@ -150,7 +153,8 @@
|
| void SyncNetworkChannel::AddNetworkStatusReceiver(
|
| invalidation::NetworkStatusCallback* network_status_receiver) {
|
| network_status_receiver->Run(last_network_status_);
|
| - network_status_receivers_.push_back(network_status_receiver);
|
| + network_status_receivers_.push_back(
|
| + base::WrapUnique(network_status_receiver));
|
| }
|
|
|
| void SyncNetworkChannel::SetSystemResources(
|
| @@ -184,10 +188,8 @@
|
| // Remember network state for future NetworkStatusReceivers.
|
| last_network_status_ = online;
|
| // Notify NetworkStatusReceivers in cacheinvalidation.
|
| - for (NetworkStatusReceiverList::const_iterator it =
|
| - network_status_receivers_.begin();
|
| - it != network_status_receivers_.end(); ++it) {
|
| - (*it)->Run(online);
|
| + for (const auto& receiver : network_status_receivers_) {
|
| + receiver->Run(online);
|
| }
|
| }
|
|
|
| @@ -230,7 +232,7 @@
|
| cached_state_ = value;
|
| // According to the cache invalidation API folks, we can do this as
|
| // long as we make sure to clear the persistent state that we start
|
| - // up the cache invalidation client with. However, we musn't do it
|
| + // up the cache invalidation client with. However, we mustn't do it
|
| // right away, as we may be called under a lock that the callback
|
| // uses.
|
| scheduler_->Schedule(
|
|
|