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 CfrOnContextReleasedEventArgs(this);

            self.m_OnContextReleased?.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;
            context_release = e.m_context_wrapped == null? 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 CfrOnContextReleasedEventArgs(this);

            e.connection = CfxRemoteCallContext.CurrentContext.connection;
            self.m_OnContextReleased?.Invoke(self, e);
            e.connection    = null;
            browser_release = e.m_browser_wrapped == null? 1 : 0;
            frame_release   = e.m_frame_wrapped == null? 1 : 0;
            context_release = e.m_context_wrapped == null? 1 : 0;
        }