public void Init() { InitializeComponent(); IsManipulationEnabled = true; _host = new CefWindowsFormsHost(); _host.IsManipulationEnabled = true; Loaded += CefView_Loaded; var settings = new CefSettings { RemoteDebuggingPort = RemoteDebuggingPort, CachePath = CacheEnabled ? CachePath : "", UserAgent = UserAgent, UserDataPath = UserDataPath }; if (EnablePrintPreview) { settings.EnablePrintPreview(); } CefSharpSettings.ShutdownOnExit = false; switch (LogLevel) { case 0: settings.LogSeverity = LogSeverity.Default; break; case 1: settings.LogSeverity = LogSeverity.Verbose; break; case 2: settings.LogSeverity = LogSeverity.Info; break; case 3: settings.LogSeverity = LogSeverity.Warning; break; case 4: settings.LogSeverity = LogSeverity.Error; break; case 99: settings.LogSeverity = LogSeverity.Disable; break; default: settings.LogSeverity = LogSeverity.Disable; break; } settings.WindowlessRenderingEnabled = false; var exeCommandLineArgs = Environment.GetCommandLineArgs(); var isAdl = false; var baseDir = ""; for (var i = 0; i < exeCommandLineArgs.Length; i++) { var item = exeCommandLineArgs[i]; if (item.Equals("-extdir")) { isAdl = true; baseDir = exeCommandLineArgs[i + 1]; break; } } if (!isAdl) { var fullPath = Process.GetCurrentProcess().MainModule?.FileName; if (!string.IsNullOrEmpty(fullPath)) { baseDir = Path.GetDirectoryName(fullPath) + "\\META-INF\\AIR\\extensions"; } } var platform = Environment.Is64BitProcess ? "x86-64" : "x86"; var directories = Directory.GetDirectories(baseDir); var foundCefSharp = false; foreach (var dir in directories) { var fileName = dir + "\\META-INF\\ANE\\Windows-" + platform + "\\CefSharp.BrowserSubprocess.exe"; if (File.Exists(fileName)) { settings.BrowserSubprocessPath = fileName; settings.ResourcesDirPath = dir + "\\META-INF\\ANE\\Windows-" + platform; foundCefSharp = true; break; } } if (!foundCefSharp) { Context.DispatchEvent("TRACE", "Cannot find the requierd CefSharp.BrowserSubprocess.exe"); return; } settings.AcceptLanguageList = AcceptLanguageList; settings.Locale = Locale; foreach (var kvp in CommandLineArgs) { settings.CefCommandLineArgs.Add(kvp.Key, kvp.Value); } Cef.EnableHighDPISupport(); if (Cef.Initialize(settings, false, (IBrowserProcessHandler)null)) { var browser = CreateNewBrowser(); CurrentBrowser = browser; _host.Child = browser; MainGrid.Children.Add(_host); } }
public void Init() { InitializeComponent(); IsManipulationEnabled = true; _host = new CefWindowsFormsHost(); _host.IsManipulationEnabled = true; Loaded += CefView_Loaded; var settings = new CefSettings { RemoteDebuggingPort = RemoteDebuggingPort, CachePath = CacheEnabled ? CachePath : "", UserAgent = UserAgent, UserDataPath = UserDataPath }; CefSharpSettings.ShutdownOnExit = false; switch (LogLevel) { case 0: settings.LogSeverity = LogSeverity.Default; break; case 1: settings.LogSeverity = LogSeverity.Verbose; break; case 2: settings.LogSeverity = LogSeverity.Info; break; case 3: settings.LogSeverity = LogSeverity.Warning; break; case 4: settings.LogSeverity = LogSeverity.Error; break; case 99: settings.LogSeverity = LogSeverity.Disable; break; default: settings.LogSeverity = LogSeverity.Disable; break; } settings.WindowlessRenderingEnabled = false; settings.BrowserSubprocessPath = BrowserSubProcessPath; settings.AcceptLanguageList = AcceptLanguageList; settings.Locale = Locale; foreach (var kvp in CommandLineArgs) { settings.CefCommandLineArgs.Add(kvp.Key, kvp.Value); } Cef.EnableHighDPISupport(); if (Cef.Initialize(settings)) { var browser = CreateNewBrowser(); CurrentBrowser = browser; _host.Child = browser; MainGrid.Children.Add(_host); } }