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