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

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, 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 side-by-side diff with in-line comments
Download patch
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..ff8cd52884ba2d8673f0215d099923ebf1530f4b 100644
--- a/chrome/browser/extensions/extension_toolbar_model.h
+++ b/chrome/browser/extensions/extension_toolbar_model.h
@@ -73,15 +73,15 @@ class ExtensionToolbarModel : public content::NotificationObserver {
bool extensions_initialized() const { return extensions_initialized_; }
size_t size() const {
- return toolitems_.size();
+ return toolbar_items_.size();
}
extensions::ExtensionList::iterator begin() {
- return toolitems_.begin();
+ return toolbar_items_.begin();
}
extensions::ExtensionList::iterator end() {
- return toolitems_.end();
+ return toolbar_items_.end();
}
const extensions::Extension* GetExtensionByIndex(int index) const;
@@ -91,6 +91,12 @@ class ExtensionToolbarModel : public content::NotificationObserver {
int IncognitoIndexToOriginal(int incognito_index);
int OriginalIndexToIncognito(int original_index);
+ size_t action_box_extensions_size() {
+ return action_box_menu_items_.size();
+ }
+
+ const extensions::Extension* GetActionBoxExtensionByIndex(int index) const;
+
private:
// content::NotificationObserver implementation.
virtual void Observe(int type,
@@ -99,8 +105,21 @@ 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();
+
+ // A couple helper functions to populate lists.
+ void AddToProperList(const extensions::Extension* extension,
+ const std::vector<std::string>& order,
+ extensions::ExtensionList* sorted,
+ extensions::ExtensionList* unsorted);
+ void MergeLists(const extensions::ExtensionList& sorted,
+ const extensions::ExtensionList& unsorted,
+ extensions::ExtensionList* result_list);
+ void FillExtensionList(const std::vector<std::string>& order,
+ extensions::ExtensionList* result_list);
// Save the model to prefs.
void UpdatePrefs();
@@ -120,7 +139,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_;

Powered by Google App Engine
This is Rietveld 408576698