| 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_;
|
|
|