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()) |