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

Unified Diff: chrome/browser/ui/views/location_bar/action_box_button_view.cc

Issue 10533086: Action box menu (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 6 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/views/location_bar/action_box_button_view.cc
diff --git a/chrome/browser/ui/views/location_bar/action_box_button_view.cc b/chrome/browser/ui/views/location_bar/action_box_button_view.cc
index 6d25cd40e29856b66e76a8fd8ed3e2722d694339..1ab11b04bc6d39ce7286363a70c8a2cf8ff3de49 100644
--- a/chrome/browser/ui/views/location_bar/action_box_button_view.cc
+++ b/chrome/browser/ui/views/location_bar/action_box_button_view.cc
@@ -8,7 +8,11 @@
#include "chrome/app/chrome_command_ids.h"
#include "chrome/browser/command_updater.h"
#include "chrome/browser/extensions/extension_service.h"
+#include "chrome/browser/extensions/extension_system.h"
+#include "chrome/browser/ui/browser_finder.h"
+#include "chrome/browser/ui/toolbar/action_box_menu_model.h"
#include "chrome/browser/ui/view_ids.h"
+#include "chrome/browser/ui/views/action_box_menu.h"
#include "chrome/browser/ui/views/browser_dialogs.h"
#include "grit/generated_resources.h"
#include "grit/theme_resources.h"
@@ -31,9 +35,10 @@ const SkColor kPushedBorderColor = SkColorSetRGB(191, 191, 191);
} // namespace
-ActionBoxButtonView::ActionBoxButtonView(ExtensionService* extension_service)
+ActionBoxButtonView::ActionBoxButtonView(Profile* profile)
: views::MenuButton(NULL, string16(), this, false),
- extension_service_(extension_service) {
+ profile_(profile),
+ bookmark_state_(false) {
set_id(VIEW_ID_ACTION_BOX_BUTTON);
SetTooltipText(l10n_util::GetStringUTF16(IDS_TOOLTIP_ACTION_BOX_BUTTON));
SetIcon(*ui::ResourceBundle::GetSharedInstance().GetBitmapNamed(
@@ -67,6 +72,10 @@ SkColor ActionBoxButtonView::GetBorderColor() {
}
}
+void ActionBoxButtonView::SetBookmarkState(bool on) {
+ bookmark_state_ = on;
+}
+
void ActionBoxButtonView::GetAccessibleState(ui::AccessibleViewState* state) {
MenuButton::GetAccessibleState(state);
state->name = l10n_util::GetStringUTF16(IDS_ACCNAME_ACTION_BOX_BUTTON);
@@ -74,5 +83,18 @@ void ActionBoxButtonView::GetAccessibleState(ui::AccessibleViewState* state) {
void ActionBoxButtonView::OnMenuButtonClicked(View* source,
const gfx::Point& point) {
- // TODO(yefim): Implement menu here.
+ ExtensionService* extension_service =
+ ExtensionSystem::Get(profile_)->extension_service();
+ if (!extension_service)
+ return;
+
+ Browser* browser = browser::FindBrowserWithProfile(profile_);
+ if (!browser)
+ return;
+
+ ActionBoxMenuModel model(extension_service);
+ action_box_menu_.reset(new ActionBoxMenu(browser, &model, bookmark_state_));
+ action_box_menu_->Init();
+ action_box_menu_->RunMenu(this);
+ action_box_menu_.reset(NULL);
}

Powered by Google App Engine
This is Rietveld 408576698