Index: chrome/browser/extensions/page_action_controller.h |
diff --git a/chrome/browser/extensions/page_action_controller.h b/chrome/browser/extensions/page_action_controller.h |
index 22f9fc6ef61a2ad3ab53339451d76f24e86bcdfd..cdb43a3d49ca9aa088d594a576b4659671d6a930 100644 |
--- a/chrome/browser/extensions/page_action_controller.h |
+++ b/chrome/browser/extensions/page_action_controller.h |
@@ -6,7 +6,12 @@ |
#define CHROME_BROWSER_EXTENSIONS_PAGE_ACTION_CONTROLLER_H_ |
#pragma once |
+#include <set> |
+#include <string> |
+ |
+#include "base/observer_list.h" |
#include "chrome/browser/extensions/action_box_controller.h" |
+#include "chrome/browser/extensions/extension_tab_helper.h" |
class ExtensionService; |
class TabContentsWrapper; |
@@ -14,22 +19,30 @@ class TabContentsWrapper; |
namespace extensions { |
// An ActionBoxController which corresponds to the page actions of an extension. |
-class PageActionController : public ActionBoxController { |
+class PageActionController : public ActionBoxController, |
+ public ExtensionTabHelper::Observer { |
public: |
- explicit PageActionController(TabContentsWrapper* tab_contents); |
+ PageActionController(TabContentsWrapper* tab_contents, |
+ ExtensionTabHelper* tab_helper); |
virtual ~PageActionController(); |
- virtual scoped_ptr<DataList> GetAllBadgeData() OVERRIDE; |
- |
+ // ActionBoxController implementation. |
+ virtual scoped_ptr<std::vector<ExtensionAction*> > GetCurrentActions() |
+ OVERRIDE; |
virtual Action OnClicked(const std::string& extension_id, |
int mouse_button) OVERRIDE; |
+ // ExtensionTabHelper::Observer implementation. |
+ virtual void OnPageActionStateChanged() OVERRIDE; |
+ |
private: |
// Gets the ExtensionService for |tab_contents_|. |
ExtensionService* GetExtensionService(); |
TabContentsWrapper* tab_contents_; |
+ ExtensionTabHelper* tab_helper_; |
+ |
DISALLOW_COPY_AND_ASSIGN(PageActionController); |
}; |