Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2772)

Unified Diff: chrome/browser/ui/toolbar/action_box_button_controller.cc

Issue 13983002: Remove print and move bookmark to the top of the action box. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Added TearDown Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/toolbar/action_box_button_controller.cc
diff --git a/chrome/browser/ui/toolbar/action_box_button_controller.cc b/chrome/browser/ui/toolbar/action_box_button_controller.cc
index 860c1d7f58ef33ad4581bc4ea8ba3850b7171cc3..2e182a3b537d739517016258ab1b9ed7e33694a2 100644
--- a/chrome/browser/ui/toolbar/action_box_button_controller.cc
+++ b/chrome/browser/ui/toolbar/action_box_button_controller.cc
@@ -8,10 +8,12 @@
#include "base/metrics/histogram.h"
#include "base/utf_string_conversions.h"
#include "chrome/app/chrome_command_ids.h"
+#include "chrome/browser/chrome_to_mobile_service.h"
#include "chrome/browser/extensions/api/page_launcher/page_launcher_api.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.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/tabs/tab_strip_model.h"
@@ -25,6 +27,10 @@
#include "content/public/browser/render_widget_host_view.h"
#include "content/public/browser/user_metrics.h"
#include "content/public/browser/web_contents.h"
+#include "grit/generated_resources.h"
+#include "grit/theme_resources.h"
+#include "ui/base/resource/resource_bundle.h"
+
using content::UserMetricsAction;
using content::WebContents;
@@ -48,26 +54,52 @@ ActionBoxButtonController::ActionBoxButtonController(Browser* browser,
ActionBoxButtonController::~ActionBoxButtonController() {}
-void ActionBoxButtonController::OnButtonClicked() {
+scoped_ptr<ActionBoxMenuModel> ActionBoxButtonController::CreateMenuModel() {
// Build a menu model and display the menu.
scoped_ptr<ActionBoxMenuModel> menu_model(
- new ActionBoxMenuModel(browser_, this));
+ new ActionBoxMenuModel(browser_->profile(), this));
+ ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
+
+ // In some unit tests, GetActiveWebContents can return NULL.
+ bool starred = browser_->tab_strip_model()->GetActiveWebContents() &&
+ BookmarkTabHelper::FromWebContents(browser_->tab_strip_model()->
+ GetActiveWebContents())->is_starred();
+ menu_model->AddItemWithStringId(
+ IDC_BOOKMARK_PAGE_FROM_STAR,
+ starred ? IDS_TOOLTIP_STARRED : IDS_TOOLTIP_STAR);
+ menu_model->SetIcon(
+ menu_model->GetIndexOfCommandId(IDC_BOOKMARK_PAGE_FROM_STAR),
+ rb.GetNativeImageNamed(starred ? IDR_STAR_LIT : IDR_STAR));
+
+ // TODO(msw): Show the item as disabled for chrome: and file: scheme pages?
+ if (ChromeToMobileService::UpdateAndGetCommandState(browser_)) {
+ menu_model->AddItemWithStringId(IDC_CHROME_TO_MOBILE_PAGE,
+ IDS_CHROME_TO_MOBILE_BUBBLE_TOOLTIP);
+ menu_model->SetIcon(
+ menu_model->GetIndexOfCommandId(IDC_CHROME_TO_MOBILE_PAGE),
+ rb.GetNativeImageNamed(IDR_MOBILE));
+ }
- const ExtensionSet* extensions =
+ ExtensionService* extension_service =
extensions::ExtensionSystem::Get(browser_->profile())->
- extension_service()->extensions();
- for (ExtensionSet::const_iterator it = extensions->begin();
- it != extensions->end(); ++it) {
- const extensions::Extension* extension = *it;
- if (ActionInfo::GetPageLauncherInfo(extension)) {
- int command_id = GetCommandIdForExtension(*extension);
- menu_model->AddExtension(*extension, command_id);
+ extension_service();
+ if (extension_service) {
+ const ExtensionSet* extensions = extension_service->extensions();
+ for (ExtensionSet::const_iterator it = extensions->begin();
+ it != extensions->end(); ++it) {
+ const extensions::Extension* extension = *it;
+ if (ActionInfo::GetPageLauncherInfo(extension)) {
+ int command_id = GetCommandIdForExtension(*extension);
+ menu_model->AddExtension(*extension, command_id);
+ }
}
}
- content::RecordAction(UserMetricsAction("ActionBox.ClickButton"));
+ return menu_model.Pass();
+}
- // And show the menu.
- delegate_->ShowMenu(menu_model.Pass());
+void ActionBoxButtonController::OnButtonClicked() {
+ content::RecordAction(UserMetricsAction("ActionBox.ClickButton"));
+ delegate_->ShowMenu(CreateMenuModel());
}
bool ActionBoxButtonController::IsCommandIdChecked(int command_id) const {
« no previous file with comments | « chrome/browser/ui/toolbar/action_box_button_controller.h ('k') | chrome/browser/ui/toolbar/action_box_menu_model.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698