OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/extensions/api/context_menus/context_menus_api_helpers.
h" | 5 #include "chrome/browser/extensions/api/context_menus/context_menus_api_helpers.
h" |
6 | 6 |
7 #include "base/strings/string_number_conversions.h" | 7 #include "base/strings/string_number_conversions.h" |
8 | 8 |
9 namespace extensions { | 9 namespace extensions { |
10 namespace context_menus_api_helpers { | 10 namespace context_menus_api_helpers { |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 kCannotFindItemError, GetIDString(parent_id)); | 44 kCannotFindItemError, GetIDString(parent_id)); |
45 return NULL; | 45 return NULL; |
46 } | 46 } |
47 if (parent->type() != MenuItem::NORMAL) { | 47 if (parent->type() != MenuItem::NORMAL) { |
48 *error = kParentsMustBeNormalError; | 48 *error = kParentsMustBeNormalError; |
49 return NULL; | 49 return NULL; |
50 } | 50 } |
51 return parent; | 51 return parent; |
52 } | 52 } |
53 | 53 |
| 54 MenuItem::ContextList GetContexts(const std::vector< |
| 55 extensions::api::context_menus::ContextType>& in_contexts) { |
| 56 MenuItem::ContextList contexts; |
| 57 for (size_t i = 0; i < in_contexts.size(); ++i) { |
| 58 switch (in_contexts[i]) { |
| 59 case extensions::api::context_menus::CONTEXT_TYPE_ALL: |
| 60 contexts.Add(extensions::MenuItem::ALL); |
| 61 break; |
| 62 case extensions::api::context_menus::CONTEXT_TYPE_PAGE: |
| 63 contexts.Add(extensions::MenuItem::PAGE); |
| 64 break; |
| 65 case extensions::api::context_menus::CONTEXT_TYPE_SELECTION: |
| 66 contexts.Add(extensions::MenuItem::SELECTION); |
| 67 break; |
| 68 case extensions::api::context_menus::CONTEXT_TYPE_LINK: |
| 69 contexts.Add(extensions::MenuItem::LINK); |
| 70 break; |
| 71 case extensions::api::context_menus::CONTEXT_TYPE_EDITABLE: |
| 72 contexts.Add(extensions::MenuItem::EDITABLE); |
| 73 break; |
| 74 case extensions::api::context_menus::CONTEXT_TYPE_IMAGE: |
| 75 contexts.Add(extensions::MenuItem::IMAGE); |
| 76 break; |
| 77 case extensions::api::context_menus::CONTEXT_TYPE_VIDEO: |
| 78 contexts.Add(extensions::MenuItem::VIDEO); |
| 79 break; |
| 80 case extensions::api::context_menus::CONTEXT_TYPE_AUDIO: |
| 81 contexts.Add(extensions::MenuItem::AUDIO); |
| 82 break; |
| 83 case extensions::api::context_menus::CONTEXT_TYPE_FRAME: |
| 84 contexts.Add(extensions::MenuItem::FRAME); |
| 85 break; |
| 86 case extensions::api::context_menus::CONTEXT_TYPE_LAUNCHER: |
| 87 // Not available for <webview>. |
| 88 contexts.Add(extensions::MenuItem::LAUNCHER); |
| 89 break; |
| 90 case extensions::api::context_menus::CONTEXT_TYPE_BROWSER_ACTION: |
| 91 // Not available for <webview>. |
| 92 contexts.Add(extensions::MenuItem::BROWSER_ACTION); |
| 93 break; |
| 94 case extensions::api::context_menus::CONTEXT_TYPE_PAGE_ACTION: |
| 95 // Not available for <webview>. |
| 96 contexts.Add(extensions::MenuItem::PAGE_ACTION); |
| 97 break; |
| 98 case extensions::api::context_menus::CONTEXT_TYPE_NONE: |
| 99 NOTREACHED(); |
| 100 } |
| 101 } |
| 102 return contexts; |
| 103 } |
| 104 |
| 105 MenuItem::Type GetType(extensions::api::context_menus::ItemType type, |
| 106 MenuItem::Type default_type) { |
| 107 switch (type) { |
| 108 case extensions::api::context_menus::ITEM_TYPE_NONE: |
| 109 return default_type; |
| 110 case extensions::api::context_menus::ITEM_TYPE_NORMAL: |
| 111 return extensions::MenuItem::NORMAL; |
| 112 case extensions::api::context_menus::ITEM_TYPE_CHECKBOX: |
| 113 return extensions::MenuItem::CHECKBOX; |
| 114 case extensions::api::context_menus::ITEM_TYPE_RADIO: |
| 115 return extensions::MenuItem::RADIO; |
| 116 case extensions::api::context_menus::ITEM_TYPE_SEPARATOR: |
| 117 return extensions::MenuItem::SEPARATOR; |
| 118 } |
| 119 return extensions::MenuItem::NORMAL; |
| 120 } |
| 121 |
54 } // namespace context_menus_api_helpers | 122 } // namespace context_menus_api_helpers |
55 } // namespace extensions | 123 } // namespace extensions |
OLD | NEW |