WebContextMenuItem.h [plain text]
#ifndef WebContextMenuItem_h
#define WebContextMenuItem_h
#if ENABLE(CONTEXT_MENUS)
#include "APIObject.h"
#include "NativeContextMenuItem.h"
#include "WebContextMenuItemData.h"
namespace API {
class Array;
}
namespace WebCore {
class ContextMenuItem;
}
namespace WebKit {
class WebContextMenuItem : public API::ObjectImpl<API::Object::Type::ContextMenuItem> {
public:
static Ref<WebContextMenuItem> create(const WebContextMenuItemData& data)
{
return adoptRef(*new WebContextMenuItem(data));
}
static PassRefPtr<WebContextMenuItem> create(const WebCore::ContextMenuItem& item)
{
return adoptRef(*new WebContextMenuItem(item));
}
static PassRefPtr<WebContextMenuItem> create(const String& title, bool enabled, API::Array* submenuItems);
static WebContextMenuItem* separatorItem();
Ref<API::Array> submenuItemsAsAPIArray() const;
API::Object* userData() const;
void setUserData(API::Object*);
WebContextMenuItemData* data() { return &m_webContextMenuItemData; }
NativeContextMenuItem* nativeContextMenuItem() { return m_nativeContextMenuItem.get(); }
private:
WebContextMenuItem(const WebContextMenuItemData&);
WebContextMenuItem(const WebCore::ContextMenuItem&);
WebContextMenuItemData m_webContextMenuItemData;
std::unique_ptr<NativeContextMenuItem> m_nativeContextMenuItem;
};
}
#endif // ENABLE(CONTEXT_MENUS)
#endif // WebContextMenuItem_h