diff options
author | dnicoara <dnicoara@chromium.org> | 2014-10-28 09:36:54 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-10-28 16:37:24 +0000 |
commit | 210bb34731d9f1980b934eca58aa818980c15a4c (patch) | |
tree | b93a355cd36d34c1c921dd17c953709c64be02fd | |
parent | 00ba6e8fb1f4c7ed816565f8cafce2930b7e30fe (diff) | |
download | chromium_src-210bb34731d9f1980b934eca58aa818980c15a4c.zip chromium_src-210bb34731d9f1980b934eca58aa818980c15a4c.tar.gz chromium_src-210bb34731d9f1980b934eca58aa818980c15a4c.tar.bz2 |
[Ozone] Set the ID of the device generating the touch event
This allows identifying the device generating the event. In a future
patch this will allow properly routing of touch events to the correct
platform window.
BUG=none
Review URL: https://codereview.chromium.org/628693002
Cr-Commit-Position: refs/heads/master@{#301645}
-rw-r--r-- | ui/events/event.h | 1 | ||||
-rw-r--r-- | ui/events/ozone/evdev/touch_event_converter_evdev.cc | 6 |
2 files changed, 5 insertions, 2 deletions
diff --git a/ui/events/event.h b/ui/events/event.h index d774897..56fd74c 100644 --- a/ui/events/event.h +++ b/ui/events/event.h @@ -73,6 +73,7 @@ class EVENTS_EXPORT Event { void set_latency(const LatencyInfo& latency) { latency_ = latency; } int source_device_id() const { return source_device_id_; } + void set_source_device_id(int id) { source_device_id_ = id; } // By default, events are "cancelable", this means any default processing that // the containing abstraction layer may perform can be prevented by calling diff --git a/ui/events/ozone/evdev/touch_event_converter_evdev.cc b/ui/events/ozone/evdev/touch_event_converter_evdev.cc index ef087a1..797a5a1 100644 --- a/ui/events/ozone/evdev/touch_event_converter_evdev.cc +++ b/ui/events/ozone/evdev/touch_event_converter_evdev.cc @@ -304,7 +304,7 @@ void TouchEventConverterEvdev::ReportEvents(base::TimeDelta delta) { for (int i = 0; i < MAX_FINGERS; i++) { if (altered_slots_[i]) { // TODO(rikroege): Support elliptical finger regions. - callback_.Run(make_scoped_ptr( + scoped_ptr<TouchEvent> event( new TouchEvent(events_[i].type_, gfx::PointF(events_[i].x_, events_[i].y_), /* flags */ 0, @@ -313,7 +313,9 @@ void TouchEventConverterEvdev::ReportEvents(base::TimeDelta delta) { /* radius_x */ events_[i].radius_x_, /* radius_y */ events_[i].radius_y_, /* angle */ 0., - events_[i].pressure_))); + events_[i].pressure_)); + event->set_source_device_id(id_); + callback_.Run(event.Pass()); // Subsequent events for this finger will be touch-move until it // is released. |