OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ui/base/gestures/gesture_recognizer_impl.h" | 5 #include "ui/base/gestures/gesture_recognizer_impl.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/time.h" | 9 #include "base/time.h" |
10 #include "ui/base/event.h" | 10 #include "ui/base/event.h" |
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
171 | 171 |
172 void GestureRecognizerImpl::TransferEventsTo(GestureConsumer* current_consumer, | 172 void GestureRecognizerImpl::TransferEventsTo(GestureConsumer* current_consumer, |
173 GestureConsumer* new_consumer) { | 173 GestureConsumer* new_consumer) { |
174 // Send cancel to all those save |new_consumer| and |current_consumer|. | 174 // Send cancel to all those save |new_consumer| and |current_consumer|. |
175 // Don't send a cancel to |current_consumer|, unless |new_consumer| is NULL. | 175 // Don't send a cancel to |current_consumer|, unless |new_consumer| is NULL. |
176 for (TouchIdToConsumerMap::iterator i = touch_id_target_.begin(); | 176 for (TouchIdToConsumerMap::iterator i = touch_id_target_.begin(); |
177 i != touch_id_target_.end(); ++i) { | 177 i != touch_id_target_.end(); ++i) { |
178 if (i->second != new_consumer && | 178 if (i->second != new_consumer && |
179 (i->second != current_consumer || new_consumer == NULL) && | 179 (i->second != current_consumer || new_consumer == NULL) && |
180 i->second != gesture_consumer_ignorer_.get()) { | 180 i->second != gesture_consumer_ignorer_.get()) { |
181 scoped_ptr<TouchEvent> touch_event(helper_->CreateTouchEvent( | 181 TouchEvent touch_event(ui::ET_TOUCH_CANCELLED, gfx::Point(0, 0), |
182 ui::ET_TOUCH_CANCELLED, gfx::Point(0, 0), | 182 i->first, base::Time::NowFromSystemTime() - base::Time()); |
183 i->first, | 183 helper_->DispatchCancelTouchEvent(&touch_event); |
184 base::Time::NowFromSystemTime() - base::Time())); | |
185 helper_->DispatchCancelTouchEvent(touch_event.get()); | |
186 i->second = gesture_consumer_ignorer_.get(); | 184 i->second = gesture_consumer_ignorer_.get(); |
187 } | 185 } |
188 } | 186 } |
189 | 187 |
190 // Transer events from |current_consumer| to |new_consumer|. | 188 // Transer events from |current_consumer| to |new_consumer|. |
191 if (current_consumer && new_consumer) { | 189 if (current_consumer && new_consumer) { |
192 TransferTouchIdToConsumerMap(current_consumer, new_consumer, | 190 TransferTouchIdToConsumerMap(current_consumer, new_consumer, |
193 &touch_id_target_); | 191 &touch_id_target_); |
194 TransferTouchIdToConsumerMap(current_consumer, new_consumer, | 192 TransferTouchIdToConsumerMap(current_consumer, new_consumer, |
195 &touch_id_target_for_gestures_); | 193 &touch_id_target_for_gestures_); |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
293 RemoveConsumerFromMap(consumer, &touch_id_target_); | 291 RemoveConsumerFromMap(consumer, &touch_id_target_); |
294 RemoveConsumerFromMap(consumer, &touch_id_target_for_gestures_); | 292 RemoveConsumerFromMap(consumer, &touch_id_target_for_gestures_); |
295 } | 293 } |
296 | 294 |
297 // GestureRecognizer, static | 295 // GestureRecognizer, static |
298 GestureRecognizer* GestureRecognizer::Create(GestureEventHelper* helper) { | 296 GestureRecognizer* GestureRecognizer::Create(GestureEventHelper* helper) { |
299 return new GestureRecognizerImpl(helper); | 297 return new GestureRecognizerImpl(helper); |
300 } | 298 } |
301 | 299 |
302 } // namespace ui | 300 } // namespace ui |
OLD | NEW |