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

Unified Diff: ui/events/gestures/gesture_recognizer_impl.cc

Issue 2474163003: Remove stl_util's deletion function use from ui/. (Closed)
Patch Set: braces Created 4 years, 1 month 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
« no previous file with comments | « ui/events/gestures/gesture_recognizer_impl.h ('k') | ui/events/ozone/evdev/input_device_factory_evdev.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/events/gestures/gesture_recognizer_impl.cc
diff --git a/ui/events/gestures/gesture_recognizer_impl.cc b/ui/events/gestures/gesture_recognizer_impl.cc
index 5d3e546e3a81bd51687950a466cc85749700b27a..9bd655d2e85691058b56596b2368722214caee43 100644
--- a/ui/events/gestures/gesture_recognizer_impl.cc
+++ b/ui/events/gestures/gesture_recognizer_impl.cc
@@ -11,6 +11,7 @@
#include "base/command_line.h"
#include "base/logging.h"
+#include "base/memory/ptr_util.h"
#include "base/message_loop/message_loop.h"
#include "base/time/time.h"
#include "ui/events/event.h"
@@ -24,12 +25,12 @@ namespace ui {
namespace {
-template <typename T>
-void TransferConsumer(GestureConsumer* current_consumer,
- GestureConsumer* new_consumer,
- std::map<GestureConsumer*, T>* map) {
+void TransferConsumer(
+ GestureConsumer* current_consumer,
+ GestureConsumer* new_consumer,
+ std::map<GestureConsumer*, std::unique_ptr<GestureProviderAura>>* map) {
if (map->count(current_consumer)) {
- (*map)[new_consumer] = (*map)[current_consumer];
+ (*map)[new_consumer] = std::move((*map)[current_consumer]);
(*map)[new_consumer]->set_gesture_consumer(new_consumer);
map->erase(current_consumer);
}
@@ -38,8 +39,7 @@ void TransferConsumer(GestureConsumer* current_consumer,
bool RemoveConsumerFromMap(GestureConsumer* consumer,
GestureRecognizerImpl::TouchIdToConsumerMap* map) {
bool consumer_removed = false;
- for (GestureRecognizerImpl::TouchIdToConsumerMap::iterator i = map->begin();
- i != map->end();) {
+ for (auto i = map->begin(); i != map->end();) {
if (i->second == consumer) {
map->erase(i++);
consumer_removed = true;
@@ -50,11 +50,6 @@ bool RemoveConsumerFromMap(GestureConsumer* consumer,
return consumer_removed;
}
-GestureProviderAura* CreateGestureProvider(GestureConsumer* consumer,
- GestureProviderAuraClient* client) {
- return new GestureProviderAura(consumer, client);
-}
-
} // namespace
////////////////////////////////////////////////////////////////////////////////
@@ -64,7 +59,6 @@ GestureRecognizerImpl::GestureRecognizerImpl() {
}
GestureRecognizerImpl::~GestureRecognizerImpl() {
- base::STLDeleteValues(&consumer_gesture_provider_);
}
// Checks if this finger is already down, if so, returns the current target.
@@ -84,11 +78,9 @@ GestureConsumer* GestureRecognizerImpl::GetTargetForLocation(
int closest_touch_id = 0;
double closest_distance_squared = std::numeric_limits<double>::infinity();
- std::map<GestureConsumer*, GestureProviderAura*>::iterator i;
- for (i = consumer_gesture_provider_.begin();
- i != consumer_gesture_provider_.end();
- ++i) {
- const MotionEventAura& pointer_state = i->second->pointer_state();
+ for (const auto& provider_pair : consumer_gesture_provider_) {
+ const MotionEventAura& pointer_state =
+ provider_pair.second->pointer_state();
for (size_t j = 0; j < pointer_state.GetPointerCount(); ++j) {
if (source_device_id != pointer_state.GetSourceDeviceId(j))
continue;
@@ -115,7 +107,7 @@ void GestureRecognizerImpl::CancelActiveTouchesExcept(
// active touches may cause the consumer to be removed from
// |consumer_gesture_provider_|. See crbug.com/651258 for more info.
std::vector<GestureConsumer*> consumers(consumer_gesture_provider_.size());
- for (auto entry : consumer_gesture_provider_) {
+ for (const auto& entry : consumer_gesture_provider_) {
if (entry.first == not_cancelled)
continue;
@@ -238,10 +230,11 @@ bool GestureRecognizerImpl::CancelActiveTouches(GestureConsumer* consumer) {
GestureProviderAura* GestureRecognizerImpl::GetGestureProviderForConsumer(
GestureConsumer* consumer) {
- GestureProviderAura* gesture_provider = consumer_gesture_provider_[consumer];
+ GestureProviderAura* gesture_provider =
+ consumer_gesture_provider_[consumer].get();
if (!gesture_provider) {
- gesture_provider = CreateGestureProvider(consumer, this);
- consumer_gesture_provider_[consumer] = gesture_provider;
+ gesture_provider = new GestureProviderAura(consumer, this);
+ consumer_gesture_provider_[consumer] = base::WrapUnique(gesture_provider);
}
return gesture_provider;
}
@@ -296,7 +289,6 @@ bool GestureRecognizerImpl::CleanupStateForConsumer(
if (consumer_gesture_provider_.count(consumer)) {
state_cleaned_up = true;
- delete consumer_gesture_provider_[consumer];
consumer_gesture_provider_.erase(consumer);
}
« no previous file with comments | « ui/events/gestures/gesture_recognizer_impl.h ('k') | ui/events/ozone/evdev/input_device_factory_evdev.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698