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

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

Issue 10533086: Action box menu (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Action box menu Created 8 years, 4 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
« no previous file with comments | « chrome/browser/extensions/extension_prefs.cc ('k') | chrome/browser/extensions/extension_toolbar_model.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/extension_toolbar_model.h
diff --git a/chrome/browser/extensions/extension_toolbar_model.h b/chrome/browser/extensions/extension_toolbar_model.h
index 2c4f27d6224e47e2e1f8badec951284deb527466..6212502fff0d13b87035a37cc031ada371018e1f 100644
--- a/chrome/browser/extensions/extension_toolbar_model.h
+++ b/chrome/browser/extensions/extension_toolbar_model.h
@@ -8,6 +8,7 @@
#include "base/compiler_specific.h"
#include "base/observer_list.h"
#include "chrome/common/extensions/extension.h"
+#include "chrome/browser/extensions/extension_prefs.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
@@ -72,25 +73,19 @@ class ExtensionToolbarModel : public content::NotificationObserver {
bool extensions_initialized() const { return extensions_initialized_; }
- size_t size() const {
- return toolitems_.size();
+ const extensions::ExtensionList& toolbar_items() const {
+ return toolbar_items_;
}
- extensions::ExtensionList::iterator begin() {
- return toolitems_.begin();
- }
-
- extensions::ExtensionList::iterator end() {
- return toolitems_.end();
- }
-
- const extensions::Extension* GetExtensionByIndex(int index) const;
-
// Utility functions for converting between an index into the list of
// incognito-enabled browser actions, and the list of all browser actions.
int IncognitoIndexToOriginal(int incognito_index);
int OriginalIndexToIncognito(int original_index);
+ const extensions::ExtensionList& action_box_menu_items() const {
+ return action_box_menu_items_;
+ }
+
private:
// content::NotificationObserver implementation.
virtual void Observe(int type,
@@ -99,8 +94,15 @@ class ExtensionToolbarModel : public content::NotificationObserver {
// To be called after the extension service is ready; gets loaded extensions
// from the extension service and their saved order from the pref service
- // and constructs |toolitems_| from these data.
- void InitializeExtensionList();
+ // and constructs |toolbar_items_| and |action_box_items_| from these data.
+ void InitializeExtensionLists();
+ void PopulateForActionBoxMode();
+ void PopulateForNonActionBoxMode();
+
+ // Fills |list| with extensions based on provided |order|.
+ void FillExtensionList(
+ const extensions::ExtensionPrefs::ExtensionIdSet& order,
+ extensions::ExtensionList* list);
// Save the model to prefs.
void UpdatePrefs();
@@ -108,8 +110,16 @@ class ExtensionToolbarModel : public content::NotificationObserver {
// Our observers.
ObserverList<Observer> observers_;
- void AddExtension(const extensions::Extension* extension);
- void RemoveExtension(const extensions::Extension* extension);
+ void AddExtension(const extensions::Extension* extension,
+ extensions::ExtensionList* list);
+ void RemoveExtension(const extensions::Extension* extension,
+ extensions::ExtensionList* list);
+
+ // Searches for the given |extension| in |toolbar_items_| and
+ // |action_box_menu_items_| and returns pointer to the list with it
+ // or NULL if not found.
+ extensions::ExtensionList* FindListWithExtension(
+ const extensions::Extension* extension);
// Our ExtensionService, guaranteed to outlive us.
ExtensionService* service_;
@@ -120,7 +130,10 @@ class ExtensionToolbarModel : public content::NotificationObserver {
bool extensions_initialized_;
// Ordered list of browser action buttons.
- extensions::ExtensionList toolitems_;
+ extensions::ExtensionList toolbar_items_;
+
+ // List of browser action buttons visible in an action box menu.
+ extensions::ExtensionList action_box_menu_items_;
// Keeps track of what the last extension to get disabled was.
std::string last_extension_removed_;
« no previous file with comments | « chrome/browser/extensions/extension_prefs.cc ('k') | chrome/browser/extensions/extension_toolbar_model.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698