Chromium Code Reviews| Index: chrome/browser/extensions/api/context_menus/context_menus_api_helpers.h |
| diff --git a/chrome/browser/extensions/api/context_menus/context_menus_api_helpers.h b/chrome/browser/extensions/api/context_menus/context_menus_api_helpers.h |
| index 773bd6249014a07855af73cdd2f518564e0e2e9c..b8c2556bf31f3e1b6d1bd0e7e3b34ff7f62bb770 100644 |
| --- a/chrome/browser/extensions/api/context_menus/context_menus_api_helpers.h |
| +++ b/chrome/browser/extensions/api/context_menus/context_menus_api_helpers.h |
| @@ -43,6 +43,7 @@ extern const char kCheckedError[]; |
| extern const char kDuplicateIDError[]; |
| extern const char kGeneratedIdKey[]; |
| extern const char kLauncherNotAllowedError[]; |
| +extern const char kActionNotAllowedError[]; |
|
Devlin
2014/07/24 21:51:27
nit: A < L.
gpdavis
2014/07/28 21:08:21
Done.
Devlin
2014/07/29 20:49:45
Also, A < G.
gpdavis
2014/07/30 20:53:02
Done.
|
| extern const char kOnclickDisallowedError[]; |
| extern const char kParentsMustBeNormalError[]; |
| extern const char kTitleNeededError[]; |
| @@ -89,6 +90,14 @@ MenuItem::ContextList GetContexts(const PropertyWithEnumT& property) { |
| // Not available for <webview>. |
| contexts.Add(extensions::MenuItem::LAUNCHER); |
| break; |
| + case PropertyWithEnumT::CONTEXTS_TYPE_BROWSER_ACTION: |
| + // Not available for <webview>. |
| + contexts.Add(extensions::MenuItem::BROWSER_ACTION); |
| + break; |
| + case PropertyWithEnumT::CONTEXTS_TYPE_PAGE_ACTION: |
| + // Not available for <webview>. |
| + contexts.Add(extensions::MenuItem::PAGE_ACTION); |
| + break; |
| case PropertyWithEnumT::CONTEXTS_TYPE_NONE: |
| NOTREACHED(); |
| } |
| @@ -151,6 +160,15 @@ bool CreateMenuItem(const PropertyWithEnumT& create_properties, |
| } |
| } |
| + if (contexts.Contains(MenuItem::BROWSER_ACTION) || |
| + contexts.Contains(MenuItem::PAGE_ACTION)) { |
| + // Action items are not allowed for <webview>. |
| + if (!extension->is_extension() || is_webview) { |
| + *error = kActionNotAllowedError; |
| + return false; |
| + } |
| + } |
| + |
| // Title. |
| std::string title; |
| if (create_properties.title.get()) |