Example #1
0
        /// <summary>
        /// The register message routers.
        /// </summary>
        private void RegisterMessageRouters()
        {
            if (!CefRuntime.CurrentlyOn(CefThreadId.UI))
            {
                PostTask(CefThreadId.UI, RegisterMessageRouters);
                return;
            }

            BrowserMessageRouter = new CefMessageRouterBrowserSide(new CefMessageRouterConfig());
            IoC.RegisterInstance <CefMessageRouterBrowserSide>(typeof(CefMessageRouterBrowserSide).FullName, BrowserMessageRouter);

            // Register message router handlers
            var messageRouterHandlers = IoC.GetAllInstances(typeof(ChromelyMessageRouter)).ToList();

            if (messageRouterHandlers.Any())
            {
                var routerHandlers = messageRouterHandlers.ToList();

                foreach (var item in routerHandlers)
                {
                    ChromelyMessageRouter routerHandler = (ChromelyMessageRouter)item;
                    if (routerHandler.Handler is CefMessageRouterBrowserSide.Handler)
                    {
                        BrowserMessageRouter.AddHandler((CefMessageRouterBrowserSide.Handler)routerHandler.Handler);
                    }
                }
            }
            else
            {
                BrowserMessageRouter.AddHandler(new CefGlueMessageRouterHandler());
            }
        }
Example #2
0
        /// <summary>
        /// The register message routers.
        /// </summary>
        private void RegisterMessageRouters()
        {
            if (!CefRuntime.CurrentlyOn(CefThreadId.UI))
            {
                PostTask(CefThreadId.UI, RegisterMessageRouters);
                return;
            }

            BrowserMessageRouter = new CefMessageRouterBrowserSide(new CefMessageRouterConfig());

            // Register message router handlers
            var messageRouterHandlers = _container.GetAllInstances(typeof(IChromelyMessageRouter));

            if (messageRouterHandlers == null && messageRouterHandlers.Any())
            {
                foreach (var handler in messageRouterHandlers)
                {
                    var router = handler as CefMessageRouterBrowserSide.Handler;
                    if (router != null)
                    {
                        BrowserMessageRouter.AddHandler(router);
                    }
                }
            }
            else
            {
                BrowserMessageRouter.AddHandler(new CefGlueMessageRouterHandler(_requestTaskRunner));
            }
        }
        protected virtual void MessageRouterHandlers()
        {
            if (!CefRuntime.CurrentlyOn(CefThreadId.UI))
            {
                ActionTask.PostTask(CefThreadId.UI, MessageRouterHandlers);
                return;
            }

            _browserMessageRouter = new CefMessageRouterBrowserSide(new CefMessageRouterConfig());

            // Register message router handlers
            var messageRouterHandlers = _handlersResolver?.Invoke(typeof(IChromelyMessageRouter))?.ToList();

            if (messageRouterHandlers != null && messageRouterHandlers.Any())
            {
                foreach (var handler in messageRouterHandlers)
                {
                    var router = handler as CefMessageRouterBrowserSide.Handler;
                    if (router != null)
                    {
                        _browserMessageRouter.AddHandler(router);
                    }
                }
            }
        }
Example #4
0
        /// <summary>
        /// The register message routers.
        /// </summary>
        private void RegisterMessageRouters()
        {
            if (!CefRuntime.CurrentlyOn(CefThreadId.UI))
            {
                PostTask(CefThreadId.UI, this.RegisterMessageRouters);
                return;
            }

            BrowserMessageRouter = new CefMessageRouterBrowserSide(new CefMessageRouterConfig());

            // Register message router handlers
            List <object> messageRouterHandlers = IoC.GetAllInstances(typeof(ChromelyMessageRouter)).ToList();

            if ((messageRouterHandlers != null) && (messageRouterHandlers.Count > 0))
            {
                var routerHandlers = messageRouterHandlers.ToList();

                foreach (var item in routerHandlers)
                {
                    ChromelyMessageRouter routerHandler = (ChromelyMessageRouter)item;
                    if (routerHandler.Handler is CefMessageRouterBrowserSide.Handler)
                    {
                        BrowserMessageRouter.AddHandler((CefMessageRouterBrowserSide.Handler)routerHandler.Handler);
                    }
                }
            }
            else
            {
                BrowserMessageRouter.AddHandler(new CefGlueMessageRouterHandler());
            }
        }
Example #5
0
 /// <summary>
 /// Creates the CefGlue browser.
 /// </summary>
 /// <param name="owner"></param>
 /// <param name="container"></param>
 /// <param name="config"></param>
 /// <param name="commandTaskRunner"></param>
 /// <param name="browserMessageRouter"></param>
 /// <param name="settings"></param>
 public CefGlueBrowser(object owner, IChromelyContainer container, IChromelyConfiguration config, IChromelyCommandTaskRunner commandTaskRunner, CefMessageRouterBrowserSide browserMessageRouter, CefBrowserSettings settings)
 {
     Owner                 = owner;
     _container            = container;
     _config               = config;
     _commandTaskRunner    = commandTaskRunner;
     _browserMessageRouter = browserMessageRouter;
     _settings             = settings;
     StartUrl              = config.StartUrl;
 }
        private void RegisterMessageRouter()
        {
            if (!CefRuntime.CurrentlyOn(CefThreadId.UI))
            {
                PostTask(CefThreadId.UI, this.RegisterMessageRouter);
                return;
            }


            BrowserMessageRouter          = new CefMessageRouterBrowserSide(new CefMessageRouterConfig());
            _queryHandler                 = new WorkerCefMessageRouterHandler();
            _queryHandler.OnBrowserQuery += Handler_OnBrowserQuery;
            BrowserMessageRouter.AddHandler(_queryHandler);
        }
Example #7
0
        private void RegisterMessageRouter()
        {
            if (!CefRuntime.CurrentlyOn(CefThreadId.UI))
            {
                PostTask(CefThreadId.UI, this.RegisterMessageRouter);
                return;
            }

            // window.cefQuery({ request: 'my_request', onSuccess: function(response) { console.log(response); }, onFailure: function(err,msg) { console.log(err, msg); } });
            BrowserMessageRouter          = new CefMessageRouterBrowserSide(new CefMessageRouterConfig());
            _queryHandler                 = new WorkerCefMessageRouterHandler();
            _queryHandler.OnBrowserQuery += Handler_OnBrowserQuery;
            BrowserMessageRouter.AddHandler(_queryHandler);
        }
Example #8
0
        public Window(IChromelyNativeHost nativeHost, IChromelyContainer container, IChromelyConfiguration config, IChromelyCommandTaskRunner commandTaskRunner, CefMessageRouterBrowserSide browserMessageRouter)
            : base(nativeHost, config)
        {
            _container            = container;
            _config               = config;
            _commandTaskRunner    = commandTaskRunner;
            _browserMessageRouter = browserMessageRouter;
            Browser               = new CefGlueBrowser(this, _container, config, _commandTaskRunner, _browserMessageRouter, new CefBrowserSettings());
            Browser.Created      += OnBrowserCreated;

            // Set event handler
            Browser.SetEventHandlers(_container);

            ShowWindow();
        }
Example #9
0
        internal LVCefClient(LVCefControl lvCefControl)
        {
            Debug.WriteLine(DBGPREFIX + "Created");
            if (lvCefControl == null)
            {
                throw new CefRuntimeException(DBGPREFIX + "Instance of a LVCefControl required to create an LVCefClient");
            }
            _lvCefControl  = lvCefControl;
            _messageRouter = new CefMessageRouterBrowserSide(new CefMessageRouterConfig());

            LifeSpanHandler      = new LVCefLifeSpanHandler(_lvCefControl, _messageRouter);
            RequestHandler       = new LVCefRequestHandler(_lvCefControl, _messageRouter);
            MessageRouterHandler = new LVCefMessageRouterHandler(_lvCefControl, _messageRouter);
            RegisterMessageRouter();
        }
Example #10
0
 /// <summary>Initializes a new instance of the <see cref="CefGlueCustomHandlers" /> class.</summary>
 /// <param name="browserMessageRouter">The browser message router.</param>
 /// <param name="handlers">The client params.</param>
 public CefGlueClient(CefMessageRouterBrowserSide browserMessageRouter, CefGlueCustomHandlers handlers)
 {
     _browserMessageRouter = browserMessageRouter;
     _lifeSpanHandler      = handlers.LifeSpanHandler;
     _loadHandler          = handlers.LoadHandler;
     _requestHandler       = handlers.RequestHandler;
     _displayHandler       = handlers.DisplayHandler;
     _contextMenuHandler   = handlers.ContextMenuHandler;
     _focusHandler         = handlers.FocusHandler;
     _keyboardHandler      = handlers.KeyboardHandler;
     _jsDialogHandler      = handlers.JsDialogHandler;
     _dialogHandler        = handlers.DialogHandler;
     _dragHandler          = handlers.DragHandler;
     _downloadHandler      = handlers.DownloadHandler;
     _findHandler          = handlers.FindHandler;
 }
        private void RegisterMessageRouter()
        {
            if (!CefRuntime.CurrentlyOn(CefThreadId.UI))
            {
                PostTask(CefThreadId.UI, this.RegisterMessageRouter);
                return;
            }


            BrowserMessageRouter          = new CefMessageRouterBrowserSide(new CefMessageRouterConfig());
            _queryHandler                 = new WorkerCefMessageRouterHandler();
            _queryHandler.OnBrowserQuery += Handler_OnBrowserQuery;
            BrowserMessageRouter.AddHandler(_queryHandler);
            var myFactory = new MySchemeHandlerFactory(_staticResourceStorage, this);

            CefRuntime.RegisterSchemeHandlerFactory("http", _domainId, myFactory);
        }
Example #12
0
        public Window(IChromelyNativeHost nativeHost, IChromelyContainer container, IChromelyConfiguration config, IChromelyCommandTaskRunner commandTaskRunner, CefMessageRouterBrowserSide browserMessageRouter)
            : base(nativeHost, config)
        {
            _container            = container;
            _config               = config;
            _commandTaskRunner    = commandTaskRunner;
            _browserMessageRouter = browserMessageRouter;
            Browser               = CreateBrowser(new CefBrowserSettings());

            // Set event handler
            Browser.SetEventHandlers(_container);

            Browser.Created += OnBrowserCreated;

            // 'Created' event sometimes tries to attach interceptors too early, while all windows is not created yet,
            // so it's better to use 'FrameLoadStart'.
            Browser.FrameLoadStart += OnFrameLoadStart;

            ShowWindow();
        }
Example #13
0
 public RekoClient(CefMessageRouterBrowserSide browserMessageRouter, ChromelyHandlersResolver handlersResolver) : base(browserMessageRouter, handlersResolver)
 {
 }
 internal LVCefMessageRouterHandler(LVCefControl lvCefControl, CefMessageRouterBrowserSide messageRouter)
 {
     Debug.WriteLine(DBGPREFIX + "Created");
     _lvCefControl  = lvCefControl;
     _messageRouter = messageRouter;
 }
Example #15
0
        /// <summary>
        /// Registers the message router.
        /// </summary>
        private void RegisterMessageRouter()
        {
            BrowserMessageRouter = new CefMessageRouterBrowserSide(new CefMessageRouterConfig());

            GeneralLog.Info("Message route registered.");
        }
Example #16
0
 public CefBrowserClient(CefMessageRouterBrowserSide browserMessageRouter, ChromelyHandlersResolver handlersResolver)
 {
     _browserMessageRouter = browserMessageRouter;
     SetHandlers(handlersResolver);
 }
Example #17
0
 internal LVCefRequestHandler(LVCefControl lvCefControl, CefMessageRouterBrowserSide messageRouter)
 {
     Debug.WriteLine(DBGPREFIX + "Constructor");
     _lvCefControl  = lvCefControl;
     _messageRouter = messageRouter;
 }