Index: ui/events/x/touch_factory_x11.h |
=================================================================== |
--- ui/events/x/touch_factory_x11.h (revision 286562) |
+++ ui/events/x/touch_factory_x11.h (working copy) |
@@ -68,6 +68,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); |
@@ -130,6 +134,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_; |
+ |
// Maximum simultaneous touch points supported by device. In the case of |
// devices with multiple digitizers (e.g. multiple touchscreens), the value |
// is the maximum of the set of maximum supported contacts by each individual |