| 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 // TODO(viettrungluu): This is currently not supported/used by WebKit. |
| 22 SUBMENU |
| 19 }; | 23 }; |
| 20 | 24 |
| 21 string16 label; | 25 string16 label; |
| 22 Type type; | 26 Type type; |
| 23 unsigned action; | 27 unsigned action; |
| 24 bool enabled; | 28 bool enabled; |
| 25 bool checked; | 29 bool checked; |
| 30 std::vector<WebMenuItem> submenu; |
| 26 | 31 |
| 27 WebMenuItem() : type(OPTION), action(0), enabled(false), checked(false) { | 32 WebMenuItem() : type(OPTION), action(0), enabled(false), checked(false) { |
| 28 } | 33 } |
| 29 | 34 |
| 30 WebMenuItem(const WebKit::WebMenuItemInfo& item) | 35 WebMenuItem(const WebKit::WebMenuItemInfo& item) |
| 31 : label(item.label), | 36 : label(item.label), |
| 32 type(static_cast<Type>(item.type)), | 37 type(static_cast<Type>(item.type)), |
| 33 action(item.action), | 38 action(item.action), |
| 34 enabled(item.enabled), | 39 enabled(item.enabled), |
| 35 checked(item.checked) { | 40 checked(item.checked) { |
| 36 } | 41 } |
| 37 }; | 42 }; |
| 38 | 43 |
| 39 #endif // WEBMENUITEM_H_ | 44 #endif // WEBMENUITEM_H_ |
| OLD | NEW |