| 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 1c3aa8fcedb7f13e11a17c19709912101c73fa8b..1d058120afdc98748b1ab35a0ade18976057a931 100644
|
| --- a/chrome/browser/extensions/extension_toolbar_model.h
|
| +++ b/chrome/browser/extensions/extension_toolbar_model.h
|
| @@ -74,15 +74,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;
|
| @@ -92,6 +92,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,
|
| @@ -100,8 +106,19 @@ 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);
|
|
|
| // Save the model to prefs.
|
| void UpdatePrefs();
|
| @@ -121,7 +138,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_;
|
|
|