Home | History | Annotate | Download | only in common
      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           = WebKit::WebMenuItemInfo::Option,
     21     CHECKABLE_OPTION = WebKit::WebMenuItemInfo::CheckableOption,
     22     GROUP            = WebKit::WebMenuItemInfo::Group,
     23     SEPARATOR        = WebKit::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