protected override void ExecuteInTargetProcess(RemoteConnection connection)
        {
            var self = (CfrRenderProcessHandler)System.Runtime.InteropServices.GCHandle.FromIntPtr(gcHandlePtr).Target;

            if (self == null || self.CallbacksDisabled)
            {
                return;
            }
            var e = new CfrOnProcessMessageReceivedEventArgs(this);

            self.m_OnProcessMessageReceived?.Invoke(self, e);
            e.m_isInvalid   = true;
            browser_release = e.m_browser_wrapped == null? 1 : 0;
            message_release = e.m_message_wrapped == null? 1 : 0;
            __retval        = e.m_returnValue ? 1 : 0;
        }
        protected override void RemoteProcedure()
        {
            var self = (CfrRenderProcessHandler)System.Runtime.InteropServices.GCHandle.FromIntPtr(gcHandlePtr).Target;

            if (self == null || self.CallbacksDisabled)
            {
                return;
            }
            var e = new CfrOnProcessMessageReceivedEventArgs(this);

            e.connection = CfxRemoteCallContext.CurrentContext.connection;
            self.m_OnProcessMessageReceived?.Invoke(self, e);
            e.connection    = null;
            browser_release = e.m_browser_wrapped == null? 1 : 0;
            message_release = e.m_message_wrapped == null? 1 : 0;
            __retval        = e.m_returnValue ? 1 : 0;
        }