Upstreaming browser/ui/uikit_ui_util from iOS.
[chromium-blink-merge.git] / content / public / common / menu_item.h
blob26255bd982130230540b63e53b9af3ef46a7e775
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.
5 #ifndef CONTENT_PUBLIC_COMMON_MENU_ITEM_H_
6 #define CONTENT_PUBLIC_COMMON_MENU_ITEM_H_
8 #include <vector>
10 #include "base/strings/string16.h"
11 #include "content/common/content_export.h"
12 #include "third_party/WebKit/public/web/WebMenuItemInfo.h"
14 namespace content {
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.
27 MenuItem();
28 MenuItem(const MenuItem& item);
29 ~MenuItem();
31 base::string16 label;
32 base::string16 icon;
33 base::string16 tool_tip;
34 Type type;
35 unsigned action;
36 bool rtl;
37 bool has_directional_override;
38 bool enabled;
39 bool checked;
40 std::vector<MenuItem> submenu;
43 } // namespace content
45 #endif // CONTENT_PUBLIC_COMMON_MENU_ITEM_H_