AcManager.Controls.UserControls.CefSharpWrapper.Initialize C# (CSharp) Method

Initialize() public method

public Initialize ( ) : FrameworkElement
return System.Windows.FrameworkElement
        public FrameworkElement Initialize() {
            if (!Cef.IsInitialized) {
                var path = PluginsManager.Instance.GetPluginDirectory("CefSharp");
                var settings = new CefSettings {
                    UserAgent = DefaultUserAgent,
                    MultiThreadedMessageLoop = true,
                    LogSeverity = LogSeverity.Disable,
                    CachePath = FilesStorage.Instance.GetTemporaryFilename(@"Cef"),
                    UserDataPath = FilesStorage.Instance.GetTemporaryFilename(@"Cef"),
                    BrowserSubprocessPath = Path.Combine(path, "CefSharp.BrowserSubprocess.exe"),
                    LocalesDirPath = Path.Combine(path, "locales"),
                    ResourcesDirPath = Path.Combine(path),
                    Locale = SettingsHolder.Locale.LocaleName,
#if DEBUG
                    RemoteDebuggingPort = 45451,
#endif
                };

                settings.RegisterScheme(new CefCustomScheme {
                    SchemeName = AltFilesHandlerFactory.SchemeName,
                    SchemeHandlerFactory = new AltFilesHandlerFactory()
                });

                Cef.Initialize(settings, false, null);
            }

            _requestHandler = new RequestHandler {
                UserAgent = DefaultUserAgent
            };

            _inner = new ChromiumWebBrowser {
                BrowserSettings = {
                    FileAccessFromFileUrls = CefState.Enabled,
                    UniversalAccessFromFileUrls = CefState.Enabled,
                    WebSecurity = CefState.Disabled
                },
                RequestHandler = _requestHandler,
                MenuHandler = new MenuHandler()
            };

            _inner.FrameLoadStart += OnFrameLoadStart;
            _inner.FrameLoadEnd += OnFrameLoadEnd;
            return _inner;
        }