OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #ifndef WEBMENUITEM_H_ | 5 #ifndef WEBMENUITEM_H_ |
6 #define WEBMENUITEM_H_ | 6 #define WEBMENUITEM_H_ |
7 | 7 |
| 8 #include <vector> |
| 9 |
8 #include "base/string16.h" | 10 #include "base/string16.h" |
9 #include "third_party/WebKit/Source/WebKit/chromium/public/WebMenuItemInfo.h" | 11 #include "third_party/WebKit/Source/WebKit/chromium/public/WebMenuItemInfo.h" |
10 | 12 |
11 // Container for information about entries in an HTML select popup menu and | 13 // Container for information about entries in an HTML select popup menu and |
12 // custom entries of the context menu. | 14 // custom entries of the context menu. |
13 struct WebMenuItem { | 15 struct WebMenuItem { |
14 enum Type { | 16 enum Type { |
15 OPTION = WebKit::WebMenuItemInfo::Option, | 17 OPTION = WebKit::WebMenuItemInfo::Option, |
16 CHECKABLE_OPTION = WebKit::WebMenuItemInfo::CheckableOption, | 18 CHECKABLE_OPTION = WebKit::WebMenuItemInfo::CheckableOption, |
17 GROUP = WebKit::WebMenuItemInfo::Group, | 19 GROUP = WebKit::WebMenuItemInfo::Group, |
18 SEPARATOR = WebKit::WebMenuItemInfo::Separator | 20 SEPARATOR = WebKit::WebMenuItemInfo::Separator, |
| 21 SUBMENU // This is currently only used by Pepper, not by WebKit. |
19 }; | 22 }; |
20 | 23 |
21 string16 label; | 24 string16 label; |
22 Type type; | 25 Type type; |
23 unsigned action; | 26 unsigned action; |
24 bool enabled; | 27 bool enabled; |
25 bool checked; | 28 bool checked; |
| 29 std::vector<WebMenuItem> submenu; |
26 | 30 |
27 WebMenuItem() : type(OPTION), action(0), enabled(false), checked(false) { | 31 WebMenuItem() : type(OPTION), action(0), enabled(false), checked(false) { |
28 } | 32 } |
29 | 33 |
30 WebMenuItem(const WebKit::WebMenuItemInfo& item) | 34 WebMenuItem(const WebKit::WebMenuItemInfo& item) |
31 : label(item.label), | 35 : label(item.label), |
32 type(static_cast<Type>(item.type)), | 36 type(static_cast<Type>(item.type)), |
33 action(item.action), | 37 action(item.action), |
34 enabled(item.enabled), | 38 enabled(item.enabled), |
35 checked(item.checked) { | 39 checked(item.checked) { |
36 } | 40 } |
37 }; | 41 }; |
38 | 42 |
39 #endif // WEBMENUITEM_H_ | 43 #endif // WEBMENUITEM_H_ |
OLD | NEW |