Chromium Code Reviews| 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..75d7aa9beaad589cc98197f2539409e3b3e7505a 100644 |
| --- a/chrome/browser/ui/toolbar/action_box_menu_model.cc |
| +++ b/chrome/browser/ui/toolbar/action_box_menu_model.cc |
| @@ -6,8 +6,16 @@ |
| #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_service.h" |
| +#include "chrome/browser/extensions/extension_system.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.h" |
| +#include "chrome/browser/ui/browser_commands.h" |
| #include "chrome/browser/ui/browser_tabstrip.h" |
| #include "chrome/browser/ui/tab_contents/tab_contents.h" |
| #include "grit/generated_resources.h" |
| @@ -27,25 +35,28 @@ 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; |
| - const extensions::ExtensionList& action_box_items = action_box_menu_items(); |
| + const extensions::ExtensionList& action_box_items = GetActionBoxMenuItems(); |
| if (!action_box_items.empty()) { |
| AddSeparator(ui::NORMAL_SEPARATOR); |
| for (size_t i = 0; i < action_box_items.size(); ++i) { |
| @@ -75,8 +86,17 @@ 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; |
| + ExtensionService* extension_service = |
| + extensions::ExtensionSystem::Get(browser_->profile())-> |
| + extension_service(); |
| + return extension_service->GetExtensionById(it->second, false); |
| +} |
| - return extension_service_->GetExtensionById(it->second, false); |
| +const extensions::ExtensionList& ActionBoxMenuModel::GetActionBoxMenuItems() { |
|
msw
2012/08/30 01:47:01
This belongs below ExecuteCommand to match declara
Cait (Slow)
2012/08/30 21:46:03
Done.
|
| + ExtensionService* extension_service = |
| + extensions::ExtensionSystem::Get(browser_->profile())-> |
| + extension_service(); |
| + return extension_service->toolbar_model()->action_box_menu_items(); |
| } |
| bool ActionBoxMenuModel::IsCommandIdChecked(int command_id) const { |