Exemplo n.º 1
0
 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);
     }
 }
Exemplo n.º 2
0
        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();
        }