Index: ui/events/devices/x11/touch_factory_x11.h |
diff --git a/ui/events/devices/x11/touch_factory_x11.h b/ui/events/devices/x11/touch_factory_x11.h |
index 775b496629ada69fb469d02ba10c62287e18a69b..cbec35f860b51ad2e6221bab0aea00833e86a2d6 100644 |
--- a/ui/events/devices/x11/touch_factory_x11.h |
+++ b/ui/events/devices/x11/touch_factory_x11.h |
@@ -67,6 +67,10 @@ |
// isn't one already, allocates a new slot ID and sets up the mapping. |
int GetSlotForTrackingID(uint32 tracking_id); |
+ // Increases the number of times |ReleaseSlotForTrackingID| needs to be called |
+ // on a given tracking id before it will actually be released. |
+ void AcquireSlotForTrackingID(uint32 tracking_id); |
+ |
// Releases the slot ID mapping to tracking ID. |
void ReleaseSlotForTrackingID(uint32 tracking_id); |
@@ -126,6 +130,10 @@ |
// Touch screen <vid, pid>s. |
std::set<std::pair<int, int> > touchscreen_ids_; |
+ // Maps from a tracking id to the number of times |ReleaseSlotForTrackingID| |
+ // must be called before the tracking id is released. |
+ std::map<uint32, int> tracking_id_refcounts_; |
+ |
// Device ID of the virtual core keyboard. |
int virtual_core_keyboard_device_; |