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

Side by Side Diff: chrome/browser/ui/views/location_bar/action_box_button_view.h

Issue 10533086: Action box menu (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Action box menu Created 8 years, 5 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_UI_VIEWS_LOCATION_BAR_ACTION_BOX_BUTTON_VIEW_H_ 5 #ifndef CHROME_BROWSER_UI_VIEWS_LOCATION_BAR_ACTION_BOX_BUTTON_VIEW_H_
6 #define CHROME_BROWSER_UI_VIEWS_LOCATION_BAR_ACTION_BOX_BUTTON_VIEW_H_ 6 #define CHROME_BROWSER_UI_VIEWS_LOCATION_BAR_ACTION_BOX_BUTTON_VIEW_H_
7 7
8 #include "ui/views/controls/button/menu_button.h" 8 #include "ui/views/controls/button/menu_button.h"
9 #include "ui/views/controls/button/menu_button_listener.h" 9 #include "ui/views/controls/button/menu_button_listener.h"
10 10
11 class ExtensionService; 11 class ActionBoxMenu;
12 class Browser;
13 class Profile;
12 14
13 // ActionBoxButtonView displays a plus button with associated menu. 15 // ActionBoxButtonView displays a plus button with associated menu.
14 class ActionBoxButtonView : public views::MenuButton, 16 class ActionBoxButtonView : public views::MenuButton,
15 public views::MenuButtonListener { 17 public views::MenuButtonListener {
16 public: 18 public:
17 explicit ActionBoxButtonView(ExtensionService* extension_service); 19 class Delegate {
20 public:
21 virtual Browser* GetBrowser() const = 0;
22
23 protected:
24 ~Delegate() {}
25 };
26
27 explicit ActionBoxButtonView(Profile* profile,
28 Delegate* delegate);
18 virtual ~ActionBoxButtonView(); 29 virtual ~ActionBoxButtonView();
19 30
20 SkColor GetBackgroundColor(); 31 SkColor GetBackgroundColor();
21 SkColor GetBorderColor(); 32 SkColor GetBorderColor();
22 33
34 void set_bookmark_state(bool bookmark_state) {
35 bookmark_state_ = bookmark_state;
36 }
37
23 private: 38 private:
24 // CustomButton 39 // CustomButton
25 virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; 40 virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE;
26 41
27 // MenuButtonListener 42 // MenuButtonListener
28 virtual void OnMenuButtonClicked(View* source, 43 virtual void OnMenuButtonClicked(View* source,
29 const gfx::Point& point) OVERRIDE; 44 const gfx::Point& point) OVERRIDE;
30 45
31 ExtensionService* extension_service_; 46 Profile* profile_;
47 Delegate* delegate_;
48 scoped_ptr<ActionBoxMenu> action_box_menu_;
49 bool bookmark_state_;
32 50
33 DISALLOW_COPY_AND_ASSIGN(ActionBoxButtonView); 51 DISALLOW_COPY_AND_ASSIGN(ActionBoxButtonView);
34 }; 52 };
35 53
36 #endif // CHROME_BROWSER_UI_VIEWS_LOCATION_BAR_ACTION_BOX_BUTTON_VIEW_H_ 54 #endif // CHROME_BROWSER_UI_VIEWS_LOCATION_BAR_ACTION_BOX_BUTTON_VIEW_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698