bool IRequestHandler.OnBeforeBrowse(IWebBrowser browser, IRequest request, bool isRedirect) { //Logger.WarnFormat("Before Loading page: {0} {1}", request.Url, request.TransitionType); if (request.Url == mURL || (mWhiteList != null && mWhiteList.Contains(request.Url))) { //Logger.WarnFormat("In whitelist"); return(false); } else if (mWhiteList == null) { //Logger.WarnFormat("No whitelist"); if (mBlackList != null && mBlackList.Contains(request.Url)) { PageLoadTrigger.TriggerPageLoaded(request.Url, browser); //Logger.WarnFormat("In blacklistlist"); return(true); } else { //Logger.WarnFormat("Not in blacklist"); return(false); } } else { PageLoadTrigger.TriggerPageLoaded(request.Url, browser); //Logger.WarnFormat("Not in whitelist"); return(true); } }
private void Init() { if (!sInitialised) { var settings = new CefSettings(); settings.RemoteDebuggingPort = 8088; //settings.CefCommandLineArgs.Add("renderer-process-limit", "1"); //settings.CefCommandLineArgs.Add("renderer-startup-dialog", "renderer-startup-dialog"); settings.LogSeverity = LogSeverity.Warning; if (Debugger.IsAttached) { var architecture = Environment.Is64BitProcess ? "x64" : "x86"; settings.BrowserSubprocessPath = "BrowserSubprocess\\" + architecture + "\\Debug\\CefSharp.BrowserSubprocess.exe"; } settings.RegisterScheme(new CefCustomScheme { SchemeName = CefSharpSchemeHandlerFactory.SchemeName, SchemeHandlerFactory = new CefSharpSchemeHandlerFactory() }); settings.UserAgent = "ChromeCEF"; settings.CachePath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + "\\CEFCache\\"; if (!Cef.Initialize(settings)) { if (Environment.GetCommandLineArgs().Contains("--type=renderer")) { Environment.Exit(0); } else { return; } } sInitialised = true; } mBrowser = new ChromiumWebBrowser(mUrl); PageLoadTrigger.RegisterBrowser(mBrowser); base.Active = true; base.Active = false; mBrowser.RegisterJsObject("bound", new BoundObject()); mBrowser.RequestHandler = new Chimera.BrowserLib.RequestHandler(mUrl, mWhiteList, mBlackList); mBrowser.JsDialogHandler = new JsDialogHandler(); }