Chromium Code Reviews| 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..b4d58d16b278cb198c551c625c397c3afd56b6f9 100644 |
| --- a/chrome/browser/extensions/extension_context_menu_model.h |
| +++ b/chrome/browser/extensions/extension_context_menu_model.h |
| @@ -8,7 +8,9 @@ |
| #include <string> |
| #include "base/memory/scoped_ptr.h" |
| +#include "chrome/browser/extensions/context_menu_matcher.h" |
|
Devlin
2014/07/01 20:54:24
Nit: prefer forward declaration instead of include
gpdavis
2014/07/02 01:17:46
Done.
|
| #include "chrome/browser/extensions/extension_uninstall_dialog.h" |
| +#include "chrome/browser/extensions/menu_manager.h" |
|
Devlin
2014/07/01 20:54:24
same here.
gpdavis
2014/07/02 01:17:46
Done.
|
| #include "ui/base/models/simple_menu_model.h" |
| class Browser; |
| @@ -35,6 +37,12 @@ class ExtensionContextMenuModel |
| INSPECT_POPUP |
| }; |
| + enum ActionType { |
|
Devlin
2014/07/01 20:54:24
Comment.
gpdavis
2014/07/02 01:17:46
Done.
|
| + NO_ACTION = 0, |
| + BROWSER_ACTION, |
| + PAGE_ACTION |
| + }; |
| + |
| // Delegate to handle showing an ExtensionAction popup. |
| class PopupDelegate { |
| public: |
| @@ -81,6 +89,17 @@ class ExtensionContextMenuModel |
| // extension has been uninstalled and no longer exists. |
| const extensions::Extension* GetExtension() const; |
| + void AppendExtensionItems(); |
|
Devlin
2014/07/01 20:54:24
Comment.
gpdavis
2014/07/02 01:17:46
Done.
|
| + |
| + // Determines whether this context menu was created for a browser action or |
| + // a page action. |
| + ActionType GetActionType(const extensions::Extension* extension); |
| + |
| + // Matches extensions menu items by ActionType. |
| + static bool MenuItemMatchesExtension(ActionType type, |
|
Devlin
2014/07/01 20:54:24
This should probably be an anonymous function in t
gpdavis
2014/07/02 01:17:46
Done.
|
| + const extensions::Extension* extension, |
| + const extensions::MenuItem* item); |
| + |
| // A copy of the extension's id. |
| std::string extension_id_; |
| @@ -95,9 +114,14 @@ class ExtensionContextMenuModel |
| // The delegate which handles the 'inspect popup' menu command (or NULL). |
| PopupDelegate* delegate_; |
| + 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); |
| }; |