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

Unified Diff: chrome/browser/extensions/page_action_controller.h

Issue 10388160: Only return the visible page actions from PageActionController. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: actually fix Created 8 years, 7 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/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);
};
« no previous file with comments | « chrome/browser/extensions/extension_tabs_module.cc ('k') | chrome/browser/extensions/page_action_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698