Chromium Code Reviews| Index: chrome/browser/ui/views/avatar_menu_button.cc |
| diff --git a/chrome/browser/ui/views/avatar_menu_button.cc b/chrome/browser/ui/views/avatar_menu_button.cc |
| index 252063fba6931968b3146a2ef6ea02260e41172f..171c417e4f8e2a9212768f42505254b738bb7883 100644 |
| --- a/chrome/browser/ui/views/avatar_menu_button.cc |
| +++ b/chrome/browser/ui/views/avatar_menu_button.cc |
| @@ -4,21 +4,20 @@ |
| #include "chrome/browser/ui/views/avatar_menu_button.h" |
| +#include "chrome/browser/ui/views/avatar_menu.h" |
| #include "ui/gfx/canvas_skia.h" |
| #include "views/controls/menu/menu_model_adapter.h" |
| #include "views/widget/widget.h" |
| -// Menu should display below the image on the frame. This |
| -// offset size depends on whether the frame is in glass or opaque mode. |
| -const int kMenuDisplayOffset = 5; |
| - |
| static inline int Round(double x) { |
| return static_cast<int>(x + 0.5); |
| } |
| AvatarMenuButton::AvatarMenuButton(const std::wstring& text, |
| - ui::MenuModel* menu_model) |
| + ui::MenuModel* menu_model, |
| + Browser* browser) |
| : MenuButton(NULL, text, this, false), |
| + browser_(browser), |
| menu_model_(menu_model) { |
| // In RTL mode, the avatar icon should be looking the opposite direction. |
| EnableCanvasFlippingForRTLUI(true); |
| @@ -58,13 +57,7 @@ void AvatarMenuButton::RunMenu(views::View* source, const gfx::Point& pt) { |
| if (!menu_model_.get()) |
| return; |
| - views::MenuModelAdapter menu_model_adapter(menu_model_.get()); |
| - views::MenuItemView menu(&menu_model_adapter); |
| - menu_model_adapter.BuildMenu(&menu); |
| - |
| - gfx::Point menu_point(pt.x(), pt.y() + kMenuDisplayOffset); |
| - menu.RunMenuAt(source->GetWidget()->GetNativeWindow(), NULL, |
| - gfx::Rect(pt, gfx::Size(0, 0)), |
| - views::MenuItemView::TOPRIGHT, |
| - true); |
| + AvatarMenu* avatar_menu = new AvatarMenu(browser_); |
| + avatar_menu->Init(menu_model_.get()); |
| + avatar_menu->RunMenu(this); |
|
sky
2011/07/08 21:01:44
Add a comment that AvatarMenu deletes itself.
sail
2011/07/08 21:53:57
Done.
|
| } |