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 1769bdcfd9afcd2fa5c4be48d1496759820ab76e..b7f2a0196e239dd366c87c580c53e51ba6975000 100644 |
--- a/chrome/browser/ui/views/tabs/base_tab.cc |
+++ b/chrome/browser/ui/views/tabs/base_tab.cc |
@@ -290,20 +290,24 @@ bool BaseTab::OnMousePressed(const views::MouseEvent& event) { |
if (event.IsOnlyLeftMouseButton()) { |
TabStripSelectionModel original_selection; |
original_selection.Copy(controller()->GetSelectionModel()); |
- if (event.IsShiftDown() && event.IsControlDown()) { |
- controller()->AddSelectionFromAnchorTo(this); |
- } else if (event.IsShiftDown()) { |
- controller()->ExtendSelectionTo(this); |
- } else if (event.IsControlDown()) { |
- controller()->ToggleSelected(this); |
- if (!IsSelected()) { |
- // Don't allow dragging non-selected tabs. |
- return false; |
+ if (controller()->SupportsMultipleSelection()) { |
+ if (event.IsShiftDown() && event.IsControlDown()) { |
+ controller()->AddSelectionFromAnchorTo(this); |
+ } else if (event.IsShiftDown()) { |
+ controller()->ExtendSelectionTo(this); |
+ } else if (event.IsControlDown()) { |
+ controller()->ToggleSelected(this); |
+ if (!IsSelected()) { |
+ // Don't allow dragging non-selected tabs. |
+ return false; |
+ } |
+ } else if (!IsSelected()) { |
+ controller()->SelectTab(this); |
+ } else if (IsActive()) { |
+ controller()->ClickActiveTab(this); |
} |
} else if (!IsSelected()) { |
controller()->SelectTab(this); |
- } else if (IsActive()) { |
- controller()->ClickActiveTab(this); |
} |
controller()->MaybeStartDrag(this, event, original_selection); |
} |