1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CONTENT_PUBLIC_COMMON_MENU_ITEM_H_ 6 #define CONTENT_PUBLIC_COMMON_MENU_ITEM_H_ 7 8 #include <vector> 9 10 #include "base/strings/string16.h" 11 #include "content/common/content_export.h" 12 #include "third_party/WebKit/public/web/WebMenuItemInfo.h" 13 14 namespace content { 15 16 // Container for information about entries in an HTML select popup menu and 17 // custom entries of the context menu. 18 struct CONTENT_EXPORT MenuItem { 19 enum Type { 20 OPTION = blink::WebMenuItemInfo::Option, 21 CHECKABLE_OPTION = blink::WebMenuItemInfo::CheckableOption, 22 GROUP = blink::WebMenuItemInfo::Group, 23 SEPARATOR = blink::WebMenuItemInfo::Separator, 24 SUBMENU // This is currently only used by Pepper, not by WebKit. 25 }; 26 27 MenuItem(); 28 MenuItem(const MenuItem& item); 29 ~MenuItem(); 30 31 base::string16 label; 32 base::string16 tool_tip; 33 Type type; 34 unsigned action; 35 bool rtl; 36 bool has_directional_override; 37 bool enabled; 38 bool checked; 39 std::vector<MenuItem> submenu; 40 }; 41 42 } // namespace content 43 44 #endif // CONTENT_PUBLIC_COMMON_MENU_ITEM_H_ 45