Index: chrome/browser/ui/views/frame/opaque_browser_frame_view.cc |
diff --git a/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc b/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc |
index 1815dea8947f52d17ae09f7f3716cbbba7450272..d5891aa7bd68f11fb102dac7a1c4e0ad7f3634aa 100644 |
--- a/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc |
+++ b/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc |
@@ -327,9 +327,19 @@ void OpaqueBrowserFrameView::ButtonPressed(views::Button* sender, |
} else if (sender == close_button_) { |
frame()->Close(); |
} else if (sender == new_avatar_button()) { |
- browser_view()->ShowAvatarBubbleFromAvatarButton( |
- BrowserWindow::AVATAR_BUBBLE_MODE_DEFAULT, |
- signin::ManageAccountsParams()); |
+ DCHECK(event.IsMouseEvent()); |
+ bool isRightClick = |
+ static_cast<const ui::MouseEvent&>(event).IsRightMouseButton(); |
+ |
+ BrowserWindow::AvatarBubbleMode mode = isRightClick ? |
+ BrowserWindow::AVATAR_BUBBLE_MODE_FAST_USER_SWITCH : |
+ BrowserWindow::AVATAR_BUBBLE_MODE_DEFAULT; |
+ |
+ if (switches::IsFastUserSwitching() || !isRightClick) { |
+ browser_view()->ShowAvatarBubbleFromAvatarButton( |
+ mode, |
+ signin::ManageAccountsParams()); |
+ } |
} |
} |