Example #1
0
        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);
            }
        }
Example #2
0
        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);
            }
        }