| Index: chrome/browser/extensions/extension_context_menu_model.h
|
| diff --git a/chrome/browser/extensions/extension_context_menu_model.h b/chrome/browser/extensions/extension_context_menu_model.h
|
| index 4685b6c9f42def7fe89997d542f87f85b64a12f7..3fd366a4f460c1b31dcc9d1701cb39269024033e 100644
|
| --- a/chrome/browser/extensions/extension_context_menu_model.h
|
| +++ b/chrome/browser/extensions/extension_context_menu_model.h
|
| @@ -17,6 +17,8 @@ class Profile;
|
|
|
| namespace extensions {
|
| class Extension;
|
| +class ContextMenuMatcher;
|
| +class ExtensionContextMenuModelTest;
|
| }
|
|
|
| // The context menu model for extension icons.
|
| @@ -35,6 +37,9 @@ class ExtensionContextMenuModel
|
| INSPECT_POPUP
|
| };
|
|
|
| + // Type of action the extension icon represents.
|
| + enum ActionType { NO_ACTION = 0, BROWSER_ACTION, PAGE_ACTION };
|
| +
|
| // Delegate to handle showing an ExtensionAction popup.
|
| class PopupDelegate {
|
| public:
|
| @@ -73,6 +78,8 @@ class ExtensionContextMenuModel
|
|
|
| private:
|
| friend class base::RefCounted<ExtensionContextMenuModel>;
|
| + friend class extensions::ExtensionContextMenuModelTest;
|
| +
|
| virtual ~ExtensionContextMenuModel();
|
|
|
| void InitMenu(const extensions::Extension* extension);
|
| @@ -81,6 +88,9 @@ class ExtensionContextMenuModel
|
| // extension has been uninstalled and no longer exists.
|
| const extensions::Extension* GetExtension() const;
|
|
|
| + // Appends the extension's context menu items.
|
| + void AppendExtensionItems();
|
| +
|
| // A copy of the extension's id.
|
| std::string extension_id_;
|
|
|
| @@ -95,9 +105,18 @@ class ExtensionContextMenuModel
|
| // The delegate which handles the 'inspect popup' menu command (or NULL).
|
| PopupDelegate* delegate_;
|
|
|
| + // The type of extension action to which this context menu is attached.
|
| + ActionType action_type_;
|
| +
|
| // Keeps track of the extension uninstall dialog.
|
| scoped_ptr<extensions::ExtensionUninstallDialog> extension_uninstall_dialog_;
|
|
|
| + // Menu matcher for context menu items specified by the extension.
|
| + scoped_ptr<extensions::ContextMenuMatcher> extension_items_;
|
| +
|
| + // Number of extension items in this menu. Used for testing.
|
| + int extension_items_count_ = 0;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(ExtensionContextMenuModel);
|
| };
|
|
|
|
|