Index: chrome/browser/ui/views/tabs/base_tab.cc |
diff --git a/chrome/browser/ui/views/tabs/base_tab.cc b/chrome/browser/ui/views/tabs/base_tab.cc |
index 4810411996329924eb6df73a94182e0b4acef645..81a7262ed9e0faddb8262bb99a8c878534e631bf 100644 |
--- a/chrome/browser/ui/views/tabs/base_tab.cc |
+++ b/chrome/browser/ui/views/tabs/base_tab.cc |
@@ -311,7 +311,7 @@ bool BaseTab::OnMouseDragged(const views::MouseEvent& event) { |
return true; |
} |
-void BaseTab::OnMouseReleased(const views::MouseEvent& event, bool canceled) { |
+void BaseTab::OnMouseReleased(const views::MouseEvent& event) { |
if (!controller()) |
return; |
@@ -320,7 +320,7 @@ void BaseTab::OnMouseReleased(const views::MouseEvent& event, bool canceled) { |
// In some cases, ending the drag will schedule the tab for destruction; if |
// so, bail immediately, since our members are already dead and we shouldn't |
// do anything else except drop the tab where it is. |
- if (controller()->EndDrag(canceled)) |
+ if (controller()->EndDrag(false)) |
return; |
// Close tab on middle click, but only if the button is released over the tab |
@@ -347,6 +347,11 @@ void BaseTab::OnMouseReleased(const views::MouseEvent& event, bool canceled) { |
} |
} |
+void BaseTab::OnMouseCaptureLost() { |
+ if (controller()) |
+ controller()->EndDrag(true); |
+} |
+ |
void BaseTab::OnMouseEntered(const views::MouseEvent& event) { |
if (!hover_animation_.get()) { |
hover_animation_.reset(new ui::SlideAnimation(this)); |