Index: chrome/browser/ui/toolbar/action_box_menu_model.cc |
diff --git a/chrome/browser/ui/toolbar/action_box_menu_model.cc b/chrome/browser/ui/toolbar/action_box_menu_model.cc |
index 84af1e16ced4e9832bf9d18019a14123a8aac744..a9ef481738020f4f6d71a8c07f0de0ed12e0da30 100644 |
--- a/chrome/browser/ui/toolbar/action_box_menu_model.cc |
+++ b/chrome/browser/ui/toolbar/action_box_menu_model.cc |
@@ -6,7 +6,11 @@ |
#include "base/utf_string_conversions.h" |
#include "chrome/app/chrome_command_ids.h" |
+#include "chrome/browser/chrome_to_mobile_service.h" |
+#include "chrome/browser/chrome_to_mobile_service_factory.h" |
+#include "chrome/browser/command_updater.h" |
#include "chrome/browser/extensions/extension_toolbar_model.h" |
+#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/ui/bookmarks/bookmark_tab_helper.h" |
#include "chrome/browser/ui/browser_tabstrip.h" |
#include "chrome/browser/ui/tab_contents/tab_contents.h" |
@@ -27,21 +31,24 @@ const int kFirstExtensionCommandId = 0xE000; |
//////////////////////////////////////////////////////////////////////////////// |
// ActionBoxMenuModel |
-ActionBoxMenuModel::ActionBoxMenuModel(Browser* browser, |
- ExtensionService* extension_service) |
+ActionBoxMenuModel::ActionBoxMenuModel(Browser* browser) |
: ALLOW_THIS_IN_INITIALIZER_LIST(ui::SimpleMenuModel(this)), |
- browser_(browser), |
- extension_service_(extension_service) { |
+ browser_(browser) { |
ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); |
- InsertItemWithStringIdAt(0, IDC_CHROME_TO_MOBILE_PAGE, |
- IDS_CHROME_TO_MOBILE_BUBBLE_TOOLTIP); |
- SetIcon(0, rb.GetNativeImageNamed(IDR_MOBILE)); |
- |
- TabContents* current_tab_contents = chrome::GetActiveTabContents(browser); |
+ if (ChromeToMobileService::IsChromeToMobileEnabled() && |
+ ChromeToMobileServiceFactory::GetForProfile(browser_->profile())-> |
+ HasMobiles()) { |
+ AddItemWithStringId(IDC_CHROME_TO_MOBILE_PAGE, |
+ IDS_CHROME_TO_MOBILE_BUBBLE_TOOLTIP); |
+ SetIcon(GetIndexOfCommandId(IDC_CHROME_TO_MOBILE_PAGE), |
+ rb.GetNativeImageNamed(IDR_MOBILE)); |
+ } |
+ TabContents* current_tab_contents = chrome::GetActiveTabContents(browser_); |
bool starred = current_tab_contents->bookmark_tab_helper()->is_starred(); |
- InsertItemWithStringIdAt(1, IDC_BOOKMARK_PAGE, |
- starred ? IDS_TOOLTIP_STARRED : IDS_TOOLTIP_STAR); |
- SetIcon(1, rb.GetNativeImageNamed(starred ? IDR_STAR_LIT : IDR_STAR)); |
+ AddItemWithStringId(IDC_BOOKMARK_PAGE, |
+ starred ? IDS_TOOLTIP_STARRED : IDS_TOOLTIP_STAR); |
+ SetIcon(GetIndexOfCommandId(IDC_BOOKMARK_PAGE), |
+ rb.GetNativeImageNamed(starred ? IDR_STAR_LIT : IDR_STAR)); |
// Adds extensions to the model. |
int command_id = kFirstExtensionCommandId; |
@@ -75,8 +82,10 @@ const extensions::Extension* ActionBoxMenuModel::GetExtensionAt(int index) { |
id_to_extension_id_map_.find(command_id); |
if (it == id_to_extension_id_map_.end()) |
return NULL; |
- |
- return extension_service_->GetExtensionById(it->second, false); |
+ ExtensionService* extension_service = |
+ extensions::ExtensionSystem::Get(browser_->profile())-> |
+ extension_service(); |
+ return extension_service->GetExtensionById(it->second, false); |
} |
bool ActionBoxMenuModel::IsCommandIdChecked(int command_id) const { |