Exemplo n.º 1
0
        internal static void run_context_menu(IntPtr gcHandlePtr, out int __retval, IntPtr browser, out int browser_release, IntPtr frame, out int frame_release, IntPtr parameters, out int params_release, IntPtr model, out int model_release, IntPtr callback, out int callback_release)
        {
            var self = (CfxContextMenuHandler)System.Runtime.InteropServices.GCHandle.FromIntPtr(gcHandlePtr).Target;

            if (self == null || self.CallbacksDisabled)
            {
                __retval         = default(int);
                browser_release  = 1;
                frame_release    = 1;
                params_release   = 1;
                model_release    = 1;
                callback_release = 1;
                return;
            }
            var e = new CfxRunContextMenuEventArgs(browser, frame, parameters, model, callback);

            self.m_RunContextMenu?.Invoke(self, e);
            e.m_isInvalid    = true;
            browser_release  = e.m_browser_wrapped == null? 1 : 0;
            frame_release    = e.m_frame_wrapped == null? 1 : 0;
            params_release   = e.m_params_wrapped == null? 1 : 0;
            model_release    = e.m_model_wrapped == null? 1 : 0;
            callback_release = e.m_callback_wrapped == null? 1 : 0;
            __retval         = e.m_returnValue ? 1 : 0;
        }
Exemplo n.º 2
0
        internal static void run_context_menu(IntPtr gcHandlePtr, out int __retval, IntPtr browser, IntPtr frame, IntPtr parameters, IntPtr model, IntPtr callback)
        {
            var self = (CfxContextMenuHandler)System.Runtime.InteropServices.GCHandle.FromIntPtr(gcHandlePtr).Target;

            if (self == null)
            {
                __retval = default(int);
                return;
            }
            var e            = new CfxRunContextMenuEventArgs(browser, frame, parameters, model, callback);
            var eventHandler = self.m_RunContextMenu;

            if (eventHandler != null)
            {
                eventHandler(self, e);
            }
            e.m_isInvalid = true;
            if (e.m_browser_wrapped == null)
            {
                CfxApi.cfx_release(e.m_browser);
            }
            if (e.m_frame_wrapped == null)
            {
                CfxApi.cfx_release(e.m_frame);
            }
            if (e.m_params_wrapped == null)
            {
                CfxApi.cfx_release(e.m_params);
            }
            if (e.m_model_wrapped == null)
            {
                CfxApi.cfx_release(e.m_model);
            }
            if (e.m_callback_wrapped == null)
            {
                CfxApi.cfx_release(e.m_callback);
            }
            __retval = e.m_returnValue ? 1 : 0;
        }