Reland "Don't refcount tracking id -> slot id mapping."
commit211211ea4a842a8fa27660a915ae23970ef0c63c
authortdresser <tdresser@chromium.org>
Tue, 3 Feb 2015 13:51:37 +0000 (3 05:51 -0800)
committerCommit bot <commit-bot@chromium.org>
Tue, 3 Feb 2015 13:52:37 +0000 (3 13:52 +0000)
treee0f50b6e25bdb35baac37fda4c53fd532e5eaecb
parentdc55754ca2189256e10b2ed33649b1ca5f335c38
Reland "Don't refcount tracking id -> slot id mapping."

Previously we tried to refcount the tracking id to slot id mapping.
This broke in some circumstances where the number of press events was
not equal to the number of release events.

This patch switches to marking some touch events such that they don't
modify the mapping, simplifying logic, and fixing a nasty bug.

Initially landed here:
https://codereview.chromium.org/785753002/

Reverted here:
https://codereview.chromium.org/869433007/
due to memory failures.

BUG=439051
TEST=EventsXTest.TouchEventNotRemovingFromNativeMapping

Review URL: https://codereview.chromium.org/886593004

Cr-Commit-Position: refs/heads/master@{#314327}
13 files changed:
ui/events/cocoa/events_mac.mm
ui/events/devices/x11/touch_factory_x11.cc
ui/events/devices/x11/touch_factory_x11.h
ui/events/event.cc
ui/events/event.h
ui/events/event_utils.h
ui/events/events_stub.cc
ui/events/ozone/events_ozone.cc
ui/events/win/events_win.cc
ui/events/x/events_x.cc
ui/events/x/events_x_unittest.cc
ui/views/controls/menu/menu_controller_unittest.cc
ui/views/controls/menu/menu_event_dispatcher_linux.cc