remote/handlers/RemoteContextMenuHandler.h (32 lines of code) (raw):
#ifndef REMOTECONTEXTMENUHANDLER_H
#define REMOTECONTEXTMENUHANDLER_H
#include "include/cef_context_menu_handler.h"
#include <set>
#include <memory>
class RpcExecutor;
class RemoteBrowser;
class RemoteContextMenuHandler final : public CefContextMenuHandler {
~RemoteContextMenuHandler() override;
public:
RemoteContextMenuHandler(const std::shared_ptr<RpcExecutor>& my_service);
void OnBeforeContextMenu(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefRefPtr<CefContextMenuParams> params,
CefRefPtr<CefMenuModel> model) override;
bool RunContextMenu(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefRefPtr<CefContextMenuParams> params,
CefRefPtr<CefMenuModel> model,
CefRefPtr<CefRunContextMenuCallback> callback) override;
bool OnContextMenuCommand(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefRefPtr<CefContextMenuParams> params,
int command_id,
EventFlags event_flags) override;
void OnContextMenuDismissed(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame) override;
private:
std::shared_ptr<RpcExecutor> myService;
IMPLEMENT_REFCOUNTING(RemoteContextMenuHandler);
};
#endif //REMOTECONTEXTMENUHANDLER_H