/// <summary> /// this is done just once, to globally initialize CefSharp/CEF /// </summary> private void InitBrowser() { CefSharpSettings.LegacyJavascriptBindingEnabled = true; CefSharpSettings.WcfEnabled = false; CefSettings settings = new CefSettings(); settings.RegisterScheme(new CefCustomScheme { SchemeName = InternalURL, SchemeHandlerFactory = new SchemeHandlerFactory() }); settings.UserAgent = UserAgent; settings.AcceptLanguageList = AcceptLanguage; settings.IgnoreCertificateErrors = true; settings.CachePath = GetAppDir("Cache"); //settings.BrowserSubprocessPath = AppDomain.CurrentDomain.BaseDirectory + "PortDiscrd.Subprocess.exe"; Cef.Initialize(settings); dHandler = new DownloadHandler(this); lHandler = new LifeSpanHandler(this); mHandler = new ContextMenuHandler(this); kHandler = new KeyboardHandler(this); rHandler = new RequestHandler(this); InitDownloads(); host = new HostHandler(this); AddNewBrowser(tabStrip1, HomepageURL); }
/// <summary> /// these hotkeys work when the user is focussed on the .NET form and its controls, /// AND when the user is focussed on the browser (CefSharp portion) /// </summary> private void InitHotkeys() { // browser hotkeys //KeyboardHandler.AddHotKey(this, CloseActiveTab, Keys.W, true); KeyboardHandler.AddHotKey(this, OpenMenu, Keys.Escape, false, true); KeyboardHandler.AddHotKey(this, CloseActiveTab, Keys.W, true); KeyboardHandler.AddHotKey(this, GoBackTab, Keys.Back); //KeyboardHandler.AddHotKey(this, AddBlankWindow, Keys.N, true); //KeyboardHandler.AddHotKey(this, AddBlankTab, Keys.T, true); KeyboardHandler.AddHotKey(this, RefreshActiveTab, Keys.F5); KeyboardHandler.AddHotKey(this, OpenDeveloperTools, Keys.F12); KeyboardHandler.AddHotKey(this, NextTab, Keys.Tab, true); KeyboardHandler.AddHotKey(this, PrevTab, Keys.Tab, true, true); // search hotkeys KeyboardHandler.AddHotKey(this, OpenSearch, Keys.F, true); KeyboardHandler.AddHotKey(this, CloseSearch, Keys.Escape); KeyboardHandler.AddHotKey(this, StopActiveTab, Keys.Escape); }