#ifndef REMOTECONTEXTMENUHANDLER_H #define REMOTECONTEXTMENUHANDLER_H #include "include/cef_context_menu_handler.h" #include #include class RpcExecutor; class RemoteBrowser; class RemoteContextMenuHandler final : public CefContextMenuHandler { ~RemoteContextMenuHandler() override; public: RemoteContextMenuHandler(const std::shared_ptr& my_service); void OnBeforeContextMenu(CefRefPtr browser, CefRefPtr frame, CefRefPtr params, CefRefPtr model) override; bool RunContextMenu(CefRefPtr browser, CefRefPtr frame, CefRefPtr params, CefRefPtr model, CefRefPtr callback) override; bool OnContextMenuCommand(CefRefPtr browser, CefRefPtr frame, CefRefPtr params, int command_id, EventFlags event_flags) override; void OnContextMenuDismissed(CefRefPtr browser, CefRefPtr frame) override; private: std::shared_ptr myService; IMPLEMENT_REFCOUNTING(RemoteContextMenuHandler); }; #endif //REMOTECONTEXTMENUHANDLER_H