Index: chrome/browser/ui/cocoa/location_bar/plus_decoration.mm |
diff --git a/chrome/browser/ui/cocoa/location_bar/plus_decoration.mm b/chrome/browser/ui/cocoa/location_bar/plus_decoration.mm |
index 8c5a8118a454eeba891239436610ab15c6592fc3..82fa885d5ad1f5e3096675c89dc226c8f03301a8 100644 |
--- a/chrome/browser/ui/cocoa/location_bar/plus_decoration.mm |
+++ b/chrome/browser/ui/cocoa/location_bar/plus_decoration.mm |
@@ -4,19 +4,19 @@ |
#import "chrome/browser/ui/cocoa/location_bar/plus_decoration.h" |
-#include "chrome/app/chrome_command_ids.h" |
#include "chrome/browser/command_updater.h" |
+#include "chrome/browser/extensions/extension_system.h" |
+#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/ui/browser.h" |
#include "chrome/browser/ui/browser_commands.h" |
#import "chrome/browser/ui/cocoa/omnibox/omnibox_view_mac.h" |
#import "chrome/browser/ui/cocoa/location_bar/autocomplete_text_field.h" |
#import "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h" |
#import "chrome/browser/ui/cocoa/menu_controller.h" |
+#include "chrome/browser/ui/toolbar/action_box_menu_model.h" |
#include "grit/generated_resources.h" |
#include "grit/theme_resources.h" |
#include "ui/base/l10n/l10n_util_mac.h" |
-#include "ui/base/models/simple_menu_model.h" |
-#include "ui/base/resource/resource_bundle.h" |
namespace { |
// The offset to apply to the menu so that it clears the bottom border of the |
@@ -25,10 +25,11 @@ const CGFloat kOmniboxYOffset = 7.0; |
} // namespace |
PlusDecoration::PlusDecoration(LocationBarViewMac* owner, |
- CommandUpdater* command_updater, Browser* browser) |
+ CommandUpdater* command_updater, Browser* browser, Profile* profile) |
: owner_(owner), |
command_updater_(command_updater), |
- browser_(browser) { |
+ browser_(browser), |
+ profile_(profile) { |
SetVisible(true); |
const int image_id = IDR_ACTION_BOX_BUTTON; |
@@ -45,18 +46,9 @@ bool PlusDecoration::AcceptsMousePress() { |
} |
bool PlusDecoration::OnMousePressed(NSRect frame) { |
- ui::SimpleMenuModel menu_model(NULL); |
- |
- ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); |
- |
- // TODO(beaudoin): Use a platform-independent menu model once the Windows |
- // patch introducing it lands. See: http://codereview.chromium.org/10533086/ |
- menu_model.InsertItemWithStringIdAt(0, IDC_CHROME_TO_MOBILE_PAGE, |
- IDS_CHROME_TO_MOBILE); |
- menu_model.SetIcon(0, *rb.GetImageSkiaNamed(IDR_MOBILE)); |
- menu_model.InsertItemWithStringIdAt(1, IDC_BOOKMARK_PAGE, |
- IDS_BOOKMARK_STAR); |
- menu_model.SetIcon(1, *rb.GetImageSkiaNamed(IDR_STAR)); |
+ ExtensionService* extension_service = |
+ extensions::ExtensionSystem::Get(profile_)->extension_service(); |
+ ActionBoxMenuModel menu_model(browser_, extension_service); |
// Controller for the menu attached to the plus decoration. |
scoped_nsobject<MenuController> menu_controller( |