Example #1
0
        public bool OnProcessMessageReceived(ICefBrowser browser, CefProcessId sourceProcess,
                                             ICefProcessMessage message)
        {
            var handled = false;

            if (browsers.TryGetValue(browser.Identifier, out var browserController))
            {
                handled = browserController.OnProcessMessage(message);
            }

            if (!handled)
            {
                var args = new ProcessMessageReceivedArgs(browser, message);
                ProcessMessageReceived?.Invoke(this, args);
                handled = args.Handled;
            }

            return(handled);
        }
        public bool OnProcessMessage(ICefProcessMessage message)
        {
            if (message.Name != Messages.RpcRequestMessage)
            {
                return(false);
            }

            var response = (RpcRequest <ICefValue>)objectSerializer.Deserialize(message.Arguments.GetValue(0), typeof(RpcRequest <ICefValue>));
            var handled  = false;

            if (response?.CallbackExecution != null)
            {
                HandledCallbackExecution(response);
                handled = true;
            }
            else if (response?.DeleteCallback != null)
            {
                if (callbackRegistry.Has(response.DeleteCallback.FunctionId))
                {
                    callbackRegistry.Get(response.DeleteCallback.FunctionId);
                }

                handled = true;
            }
            else if (response?.MethodResult != null)
            {
                HandleMethodResult(response);

                handled = true;
            }
            else if (response?.DynamicObjectResult != null)
            {
                HandleBindingResult(response);
            }

            return(handled);
        }
 public ProcessMessageReceivedArgs(ICefBrowser browser, ICefProcessMessage message)
 {
     Browser = browser;
     Message = message;
 }
Example #4
0
 public void SendProcessMessage(CefProcessId processId, ICefProcessMessage message)
 {
     Wrapped.SendProcessMessage((Xilium.CefGlue.CefProcessId)processId, message.Unwrap <CefProcessMessage>());
 }
Example #5
0
        bool ICefClient.OnProcessMessageReceived(ICefBrowser browser, CefProcessId sourceProcess, ICefProcessMessage message)
        {
            var args = new ProcessMessageReceivedArgs(browser, message);

            OnProcessMessageReceived(args);

            return(args.Handled);
        }