diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc index 9afbcf6ca30a6..8cb2c191bbe29 100644 --- a/ui/views/win/hwnd_message_handler.cc +++ b/ui/views/win/hwnd_message_handler.cc @@ -2988,7 +2988,10 @@ LRESULT HWNDMessageHandler::HandlePointerEventTypeTouch(UINT message, if (event_type == ui::ET_TOUCH_RELEASED) id_generator_.ReleaseNumber(pointer_id); - SetMsgHandled(event.handled()); + // Mark all touch released events handled. These will usually turn into tap + // gestures, and doing this avoids propagating the event to other windows. + const bool always_mark_handled = event_type == ui::ET_TOUCH_RELEASED; + SetMsgHandled(always_mark_handled || event.handled()); } return 0; }