| Index: chrome/browser/ui/views/download_item_view.cc
|
| diff --git a/chrome/browser/ui/views/download_item_view.cc b/chrome/browser/ui/views/download_item_view.cc
|
| index b644718cd558ec722c9d267854aaf2b80df80a46..8eea23e9eaabd5589902be39915d5886a67a1a9b 100644
|
| --- a/chrome/browser/ui/views/download_item_view.cc
|
| +++ b/chrome/browser/ui/views/download_item_view.cc
|
| @@ -539,18 +539,11 @@ bool DownloadItemView::OnMouseDragged(const views::MouseEvent& event) {
|
| return true;
|
| }
|
|
|
| -void DownloadItemView::OnMouseReleased(const views::MouseEvent& event,
|
| - bool canceled) {
|
| +void DownloadItemView::OnMouseReleased(const views::MouseEvent& event) {
|
| // Mouse should not activate us in dangerous mode.
|
| if (IsDangerousMode())
|
| return;
|
|
|
| - if (dragging_) {
|
| - // Starting a drag results in a MouseReleased, we need to ignore it.
|
| - dragging_ = false;
|
| - starting_drag_ = false;
|
| - return;
|
| - }
|
| if (event.IsOnlyLeftMouseButton() &&
|
| !InDropDownButtonXCoordinateRange(event.x())) {
|
| OpenDownload();
|
| @@ -559,6 +552,20 @@ void DownloadItemView::OnMouseReleased(const views::MouseEvent& event,
|
| SetState(NORMAL, NORMAL);
|
| }
|
|
|
| +void DownloadItemView::OnMouseCaptureLost() {
|
| + // Mouse should not activate us in dangerous mode.
|
| + if (IsDangerousMode())
|
| + return;
|
| +
|
| + if (dragging_) {
|
| + // Starting a drag results in a MouseCaptureLost.
|
| + dragging_ = false;
|
| + starting_drag_ = false;
|
| + } else {
|
| + SetState(NORMAL, NORMAL);
|
| + }
|
| +}
|
| +
|
| void DownloadItemView::OnMouseMoved(const views::MouseEvent& event) {
|
| // Mouse should not activate us in dangerous mode.
|
| if (IsDangerousMode())
|
|
|