MacViewsBrowser: Release capture before starting the native download shelf drag.
Normally drags initiated via views::View::ProcessMouseDragged() complete in views::View::DoDrag() once exceeding their drag distance threshold. However, DownloadItemView doesn't set a views::DragController or override View::GetDragOperations(). Instead, it runs its own drag in an override of View::OnMouseDragged(). This drag code path isn't aware of the Widget::SetCapture() call done in Widget::OnMouseEvent(), which needs to be released before an OS-level drag can take place. Usually this is done by views::DragDropClientMac, which gets skipped. To fix, ensure the custom OS-level drag codepath in download_item_drag_mac.mm releases capture instead. Bug: 863377 Change-Id: Ib2f7c80a00dd3b38fe5a98475bddb4e595f3f83c Reviewed-on: https://chromium-review.googlesource.com/1156192Reviewed-by:Elly Fong-Jones <ellyjones@chromium.org> Commit-Queue: Trent Apted <tapted@chromium.org> Cr-Commit-Position: refs/heads/master@{#579563}
Showing
Please register or sign in to comment