示例#1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CefGlueClient"/> class.
 /// </summary>
 /// <param name="clientParams">
 /// The client params.
 /// </param>
 public CefGlueClient(CefGlueClientParams clientParams)
 {
     CoreBrowser         = clientParams.Browser;
     mLifeSpanHandler    = clientParams.LifeSpanHandler;
     mLoadHandler        = clientParams.LoadHandler;
     mRequestHandler     = clientParams.RequestHandler;
     mDisplayHandler     = clientParams.DisplayHandler;
     mContextMenuHandler = clientParams.ContextMenuHandler;
     mFocusHandler       = clientParams.FocusHandler;
     mKeyboardHandler    = clientParams.KeyboardHandler;
     mJsDialogHandler    = clientParams.JsDialogHandler;
     mDialogHandler      = clientParams.DialogHandler;
     mDragHandler        = clientParams.DragHandler;
     mDownloadHandler    = clientParams.DownloadHandler;
     mFindHandler        = clientParams.FindHandler;
 }
示例#2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CefGlueClient"/> class.
 /// </summary>
 /// <param name="clientParams">
 /// The client params.
 /// </param>
 public CefGlueClient(CefGlueClientParams clientParams)
 {
     CoreBrowser         = clientParams.Browser;
     _lifeSpanHandler    = clientParams.LifeSpanHandler;
     _loadHandler        = clientParams.LoadHandler;
     _requestHandler     = clientParams.RequestHandler;
     _displayHandler     = clientParams.DisplayHandler;
     _contextMenuHandler = clientParams.ContextMenuHandler;
     _focusHandler       = clientParams.FocusHandler;
     _keyboardHandler    = clientParams.KeyboardHandler;
     _jsDialogHandler    = clientParams.JsDialogHandler;
     _dialogHandler      = clientParams.DialogHandler;
     _dragHandler        = clientParams.DragHandler;
     _downloadHandler    = clientParams.DownloadHandler;
     _findHandler        = clientParams.FindHandler;
 }
示例#3
0
        /// <summary>
        /// The create.
        /// </summary>
        /// <param name="windowInfo">
        /// The window info.
        /// </param>
        public void Create(CefWindowInfo windowInfo)
        {
            if (mClient == null)
            {
                IoC.RegisterInstance(typeof(CefGlueBrowser), typeof(CefGlueBrowser).FullName, this);
                mClient = new CefGlueClient(CefGlueClientParams.Create(this));
            }

            mSettings = this.mSettings ?? new CefBrowserSettings();

            mSettings.DefaultEncoding             = "UTF-8";
            mSettings.FileAccessFromFileUrls      = CefState.Enabled;
            mSettings.UniversalAccessFromFileUrls = CefState.Enabled;
            mSettings.WebSecurity = CefState.Enabled;

            CefBrowserHost.CreateBrowser(windowInfo, mClient, mSettings, StartUrl);
        }
示例#4
0
        /// <summary>
        /// The create.
        /// </summary>
        /// <param name="browser">
        /// The browser.
        /// </param>
        /// <returns>
        /// The <see cref="CefGlueClientParams"/>.
        /// </returns>
        public static CefGlueClientParams Create(CefGlueBrowser browser)
        {
            var clientParams = new CefGlueClientParams {
                Browser = browser
            };

            try
            {
                foreach (var enumKey in CefCustomHandlerFakeTypes.GetAllCustomHandlerKeys())
                {
                    object instance = null;

                    var service = CefCustomHandlerFakeTypes.GetHandlerType(enumKey);
                    var keyStr  = enumKey.EnumToString();
                    try
                    {
                        if (IoC.IsRegistered(service, keyStr))
                        {
                            instance = IoC.GetInstance(service, keyStr);
                        }
                    }
                    catch (Exception exception)
                    {
                        Log.Error(exception);
                    }

                    switch (enumKey)
                    {
                    case CefHandlerKey.LifeSpanHandler:
                        if (instance is CefLifeSpanHandler spanHandler)
                        {
                            clientParams.LifeSpanHandler = spanHandler;
                        }
                        else
                        {
                            clientParams.LifeSpanHandler = new CefGlueLifeSpanHandler();
                        }

                        break;

                    case CefHandlerKey.LoadHandler:
                        if (instance is CefLoadHandler loadHandler)
                        {
                            clientParams.LoadHandler = loadHandler;
                        }
                        else
                        {
                            clientParams.LoadHandler = new CefGlueLoadHandler();
                        }

                        break;

                    case CefHandlerKey.RequestHandler:
                        if (instance is CefRequestHandler requestHandler)
                        {
                            clientParams.RequestHandler = requestHandler;
                        }
                        else
                        {
                            clientParams.RequestHandler = new CefGlueRequestHandler();
                        }

                        break;

                    case CefHandlerKey.DisplayHandler:
                        if (instance is CefDisplayHandler displayHandler)
                        {
                            clientParams.DisplayHandler = displayHandler;
                        }
                        else
                        {
                            clientParams.DisplayHandler = new CefGlueDisplayHandler();
                        }

                        break;

                    case CefHandlerKey.ContextMenuHandler:
                        if (instance is CefContextMenuHandler menuHandler)
                        {
                            clientParams.ContextMenuHandler = menuHandler;
                        }
                        else
                        {
                            clientParams.ContextMenuHandler = new CefGlueContextMenuHandler();
                        }

                        break;

                    case CefHandlerKey.FocusHandler:
                        if (instance is CefFocusHandler focusHandler)
                        {
                            clientParams.FocusHandler = focusHandler;
                        }

                        break;

                    case CefHandlerKey.KeyboardHandler:
                        if (instance is CefKeyboardHandler keyboardHandler)
                        {
                            clientParams.KeyboardHandler = keyboardHandler;
                        }

                        break;

                    case CefHandlerKey.JsDialogHandler:
                        if (instance is CefJSDialogHandler jsDialogHandler)
                        {
                            clientParams.JsDialogHandler = jsDialogHandler;
                        }

                        break;

                    case CefHandlerKey.DialogHandler:
                        if (instance is CefDialogHandler dialogHandler)
                        {
                            clientParams.DialogHandler = dialogHandler;
                        }

                        break;

                    case CefHandlerKey.DragHandler:
                        if (instance is CefDragHandler dragHandler)
                        {
                            clientParams.DragHandler = dragHandler;
                        }

                        break;

                    case CefHandlerKey.DownloadHandler:
                        if (instance is CefDownloadHandler downloadHandler)
                        {
                            clientParams.DownloadHandler = downloadHandler;
                        }

                        break;

                    case CefHandlerKey.FindHandler:
                        if (instance is CefFindHandler handler)
                        {
                            clientParams.FindHandler = handler;
                        }

                        break;
                    }
                }
            }
            catch (Exception exception)
            {
                Log.Error(exception);
            }

            return(clientParams);
        }