| Index: chrome/browser/extensions/api/context_menus/context_menus_api_helpers.cc
|
| diff --git a/chrome/browser/extensions/api/context_menus/context_menus_api_helpers.cc b/chrome/browser/extensions/api/context_menus/context_menus_api_helpers.cc
|
| index 2b994855bc9b2a7fa071ff2463aca89214ac76d7..0a4b4ddc9ee3e01cd818adb4b098141488cc8da2 100644
|
| --- a/chrome/browser/extensions/api/context_menus/context_menus_api_helpers.cc
|
| +++ b/chrome/browser/extensions/api/context_menus/context_menus_api_helpers.cc
|
| @@ -51,5 +51,73 @@ MenuItem* GetParent(MenuItem::Id parent_id,
|
| return parent;
|
| }
|
|
|
| +MenuItem::ContextList GetContexts(const std::vector<
|
| + extensions::api::context_menus::ContextType>& in_contexts) {
|
| + MenuItem::ContextList contexts;
|
| + for (size_t i = 0; i < in_contexts.size(); ++i) {
|
| + switch (in_contexts[i]) {
|
| + case extensions::api::context_menus::CONTEXT_TYPE_ALL:
|
| + contexts.Add(extensions::MenuItem::ALL);
|
| + break;
|
| + case extensions::api::context_menus::CONTEXT_TYPE_PAGE:
|
| + contexts.Add(extensions::MenuItem::PAGE);
|
| + break;
|
| + case extensions::api::context_menus::CONTEXT_TYPE_SELECTION:
|
| + contexts.Add(extensions::MenuItem::SELECTION);
|
| + break;
|
| + case extensions::api::context_menus::CONTEXT_TYPE_LINK:
|
| + contexts.Add(extensions::MenuItem::LINK);
|
| + break;
|
| + case extensions::api::context_menus::CONTEXT_TYPE_EDITABLE:
|
| + contexts.Add(extensions::MenuItem::EDITABLE);
|
| + break;
|
| + case extensions::api::context_menus::CONTEXT_TYPE_IMAGE:
|
| + contexts.Add(extensions::MenuItem::IMAGE);
|
| + break;
|
| + case extensions::api::context_menus::CONTEXT_TYPE_VIDEO:
|
| + contexts.Add(extensions::MenuItem::VIDEO);
|
| + break;
|
| + case extensions::api::context_menus::CONTEXT_TYPE_AUDIO:
|
| + contexts.Add(extensions::MenuItem::AUDIO);
|
| + break;
|
| + case extensions::api::context_menus::CONTEXT_TYPE_FRAME:
|
| + contexts.Add(extensions::MenuItem::FRAME);
|
| + break;
|
| + case extensions::api::context_menus::CONTEXT_TYPE_LAUNCHER:
|
| + // Not available for <webview>.
|
| + contexts.Add(extensions::MenuItem::LAUNCHER);
|
| + break;
|
| + case extensions::api::context_menus::CONTEXT_TYPE_BROWSER_ACTION:
|
| + // Not available for <webview>.
|
| + contexts.Add(extensions::MenuItem::BROWSER_ACTION);
|
| + break;
|
| + case extensions::api::context_menus::CONTEXT_TYPE_PAGE_ACTION:
|
| + // Not available for <webview>.
|
| + contexts.Add(extensions::MenuItem::PAGE_ACTION);
|
| + break;
|
| + case extensions::api::context_menus::CONTEXT_TYPE_NONE:
|
| + NOTREACHED();
|
| + }
|
| + }
|
| + return contexts;
|
| +}
|
| +
|
| +MenuItem::Type GetType(extensions::api::context_menus::ItemType type,
|
| + MenuItem::Type default_type) {
|
| + switch (type) {
|
| + case extensions::api::context_menus::ITEM_TYPE_NONE:
|
| + return default_type;
|
| + case extensions::api::context_menus::ITEM_TYPE_NORMAL:
|
| + return extensions::MenuItem::NORMAL;
|
| + case extensions::api::context_menus::ITEM_TYPE_CHECKBOX:
|
| + return extensions::MenuItem::CHECKBOX;
|
| + case extensions::api::context_menus::ITEM_TYPE_RADIO:
|
| + return extensions::MenuItem::RADIO;
|
| + case extensions::api::context_menus::ITEM_TYPE_SEPARATOR:
|
| + return extensions::MenuItem::SEPARATOR;
|
| + }
|
| + return extensions::MenuItem::NORMAL;
|
| +}
|
| +
|
| } // namespace context_menus_api_helpers
|
| } // namespace extensions
|
|
|