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..17dfa7e4d6106ce844f263f775605dba909ef19c 100644 |
--- a/chrome/browser/extensions/extension_context_menu_model.h |
+++ b/chrome/browser/extensions/extension_context_menu_model.h |
@@ -17,6 +17,7 @@ class Profile; |
namespace extensions { |
class Extension; |
+class ContextMenuMatcher; |
} |
// The context menu model for extension icons. |
@@ -35,6 +36,13 @@ 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 +81,7 @@ class ExtensionContextMenuModel |
private: |
friend class base::RefCounted<ExtensionContextMenuModel>; |
+ |
virtual ~ExtensionContextMenuModel(); |
void InitMenu(const extensions::Extension* extension); |
@@ -81,6 +90,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 +107,15 @@ 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_; |
+ |
DISALLOW_COPY_AND_ASSIGN(ExtensionContextMenuModel); |
}; |