diff options
Diffstat (limited to 'chrome/browser/extensions/action_box_controller.h')
-rw-r--r-- | chrome/browser/extensions/action_box_controller.h | 26 |
1 files changed, 8 insertions, 18 deletions
diff --git a/chrome/browser/extensions/action_box_controller.h b/chrome/browser/extensions/action_box_controller.h index e3415c7..e85e37e3 100644 --- a/chrome/browser/extensions/action_box_controller.h +++ b/chrome/browser/extensions/action_box_controller.h @@ -6,6 +6,7 @@ #define CHROME_BROWSER_EXTENSIONS_ACTION_BOX_CONTROLLER_H_ #pragma once +#include <set> #include <string> #include <vector> @@ -18,22 +19,6 @@ namespace extensions { // Controller of the "badges" (aka "page actions") in the UI. class ActionBoxController { public: - // UI decoration on a page box item. - enum Decoration { - DECORATION_NONE, - }; - - // Data about a UI badge. - struct Data { - // The type of decoration that should be applied to the badge. - Decoration decoration; - - // The ExtensionAction that corresponds to the badge. - ExtensionAction* action; - }; - - typedef std::vector<Data> DataList; - // The reaction that the UI should take after executing |OnClicked|. enum Action { ACTION_NONE, @@ -43,8 +28,13 @@ class ActionBoxController { virtual ~ActionBoxController() {} - // Gets the badge data for all extensions. - virtual scoped_ptr<DataList> GetAllBadgeData() = 0; + // Utility to add any actions to |out| which aren't present in |actions|. + static void AddMissingActions( + const std::set<ExtensionAction*>& actions, + std::vector<ExtensionAction*>* out); + + // Gets the action data for all extensions. + virtual scoped_ptr<std::vector<ExtensionAction*> > GetCurrentActions() = 0; // Notifies this that the badge for an extension has been clicked with some // mouse button (1 for left, 2 for middle, and 3 for right click), and |