Пример #1
0
 /// <summary>
 /// Set the return value for the <see cref="CfxApp.GetRenderProcessHandler"/> callback.
 /// Calling SetReturnValue() more then once per callback or from different event handlers will cause an exception to be thrown.
 /// </summary>
 public void SetReturnValue(CfxRenderProcessHandler returnValue)
 {
     CheckAccess();
     if (returnValueSet)
     {
         throw new CfxException("The return value has already been set");
     }
     returnValueSet     = true;
     this.m_returnValue = returnValue;
 }
Пример #2
0
        static void Main()
        {
            CfxRuntime.LibCefDirPath = @"cef\Release";
            var app     = new CfxApp();
            var handler = new CfxRenderProcessHandler();

            app.GetRenderProcessHandler += (sender, args) => args.SetReturnValue(handler);
            int retval = CfxRuntime.ExecuteProcess(app);

            Environment.Exit(retval);
        }
Пример #3
0
        internal static void get_render_process_handler(IntPtr gcHandlePtr, out IntPtr __retval)
        {
            var self = (CfxApp)System.Runtime.InteropServices.GCHandle.FromIntPtr(gcHandlePtr).Target;

            if (self == null || self.CallbacksDisabled)
            {
                __retval = default(IntPtr);
                return;
            }
            var e = new CfxGetRenderProcessHandlerEventArgs();

            self.m_GetRenderProcessHandler?.Invoke(self, e);
            e.m_isInvalid = true;
            __retval      = CfxRenderProcessHandler.Unwrap(e.m_returnValue);
        }