In my app (Windows 64 bit, CEF release branch 3626) we have a CEF view inside the main frame along with some other sibling views. There are options in the UI for re-arranging or hiding the various views, including the CEF view.
When the problem occurs it appears as though a previous touch is still in effect, which causes the view to behave like there is an extra finger being pressed to the screen. For example, one finger scrolling causes a two finger scale to occur.
The process for making the problem occur:
- Long press on a link and release to show the context menu.
- Hide the CEF view (this actually sets the parent window handle to be not visible, sets the size of the browser HWND to (0, 0), and removes the parent window from the main frame).
- Show the CEF view.
- If the problem is not exhibited, repeat.
I've also been able to get the problem to occur without showing the context menu by long pressing a link and then dragging, but it seems to be highly dependent on amount of time of the long press, and therefore much more difficult to reproduce. Hiding the CEF view seems to be required.
Every once in a while, after the problem has occurred, a fatal exception is thrown when doing a one-finger scroll : latency_tracker.cc(399) Check failed: (event_timestamp - last_event_timestamp_).InMilliseconds() >=0.
I've attempted to discern if any touch messages were being missed using Spy++, but the act of logging the messages appears to prevent the issue from occurring.
After two days trying to track down the issue I feel as though I've exhausted my (very limited) knowledge of CEF. If anyone has any ideas of where to go from here I would be very grateful!