back gesture: Fix crash when swiping on the backdrop. According to [1], a sequence of gesture events is generated by the gesture recognizer. These events currently all share the same event target so if the target gets invalidated by the first event, the next event would crash when we try coordinate conversion using the dangling pointer. This can happen if the backdrop is visible with a non-resizable app. On swipe/fling we'll get a sequence of SCROLL_END -> GESTURE_END. The SCROLL_END event will get processed and Hide the non-resizable app, which will trigger the backdrop to destroy. Then the GESTURE_END will crash when it tries to do coordinate conversion. To fix this, move coordinate conversion outside the loop as the results should be the same. [1] https://docs.google.com/document/d/1mQFx99xz5jVUHQk2jZTjHPgMjRQd4EUDfdLG0XKOlWI/edit Test: added test Bug: 1064618 Change-Id: I91c9e0955d01a651a779a800149a73f6c545a767 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2119632 Reviewed-by: Xiaoqian Dai <xdai@chromium.org> Commit-Queue: Sammie Quon <sammiequon@chromium.org> Cr-Commit-Position: refs/heads/master@{#753769}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.