예제 #1
0
        private bool InitCEF()
        {
            Cef.EnableHighDPISupport();
            var exitCode = Cef.ExecuteProcess();

            if (exitCode >= 0)
            {
                return(false);
            }

            scheme = new CefCustomScheme()
            {
                DomainName           = "local.com",
                IsCorsEnabled        = false,
                IsCSPBypassing       = true,
                IsSecure             = false,
                SchemeName           = "http",
                SchemeHandlerFactory = new AppScheme(Program.BasePath, "http://local.com")
            };

            settings = new CefSettings()
            {
                RemoteDebuggingPort     = 54477,
                IgnoreCertificateErrors = true,
            };

            settings.RegisterScheme(scheme);

            CefSharpSettings.WcfEnabled = true;
            CefSharpSettings.WcfTimeout = TimeSpan.FromSeconds(10);
            CefSharpSettings.LegacyJavascriptBindingEnabled = true;
            Cef.Initialize(settings);
            return(true);
        }
예제 #2
0
        public static void Main()
        {
            //For Windows 7 and above, best to include relevant app.manifest entries as well
            Cef.EnableHighDPISupport();

            var settings = new CefSettings()
            {
                //By default CefSharp will use an in-memory cache, you need to specify a Cache Folder to persist data
                CachePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "CefSharp\\Cache")
            };

            //Example of setting a command line argument
            //Enables WebRTC
            settings.CefCommandLineArgs.Add("enable-media-stream", "1");

            // Custom scheme for memory images
            CefCustomScheme cefImagesInMemoryScheme = new CefCustomScheme
            {
                SchemeName           = ImageMemorySchemeHandlerFactory.SchemeName,
                SchemeHandlerFactory = new ImageMemorySchemeHandlerFactory()
            };

            settings.RegisterScheme(cefImagesInMemoryScheme);

            Bitmap image = new Bitmap("test.png");

            ImageMemorySchemeHandlerFactory.AddImage("test.png", image);

            //Perform dependency check to make sure all relevant resources are in our output directory.
            Cef.Initialize(settings, performDependencyCheck: true, browserProcessHandler: null);

            var browser = new BrowserForm();

            Application.Run(browser);
        }
예제 #3
0
        private static void InitCefSharp()
        {
            var settings = new CefSettings {
                // Set BrowserSubProcessPath based on app bitness at runtime
                BrowserSubprocessPath = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase,
                                                     Environment.Is64BitProcess ? "x64" : "x86",
                                                     "CefSharp.BrowserSubprocess.exe")
            };

            var schema = new CefCustomScheme {
                SchemeName           = YoutubePlayerLib.Cef.CefSharpSchemeHandlerFactory.SchemeName,
                SchemeHandlerFactory = new YoutubePlayerLib.Cef.CefSharpSchemeHandlerFactory()
            };

            settings.RegisterScheme(schema);

            // Make sure you set performDependencyCheck false
            Cef.Initialize(settings, performDependencyCheck: false, browserProcessHandler: null);
        }
예제 #4
0
        private ChromiumWebBrowser CreateBrowserAndInitCef()
        {
            var scheme = new CefCustomScheme
            {
                SchemeName           = AssetProvider.SCHEME,
                SchemeHandlerFactory = new NdcSchemeFactory()
            };
            var setting = new CefSettings
            {
                BrowserSubprocessPath = "CefSharp.BrowserSubprocess.exe",
                PackLoadingDisabled   = false
            };

            setting.RegisterScheme(scheme);
            Cef.Initialize(setting);

            var browser = new ChromiumWebBrowser("")
            {
                Dock = DockStyle.Fill
            };

            browser.IsBrowserInitializedChanged += Browser_IsBrowserInitializedChanged;
            return(browser);
        }