protected override bool OnBeforeBrowse(IWebBrowser webBrowser, IBrowser browser, IFrame frame, IRequest request, bool userGesture, bool isRedirect)
        {
            if (IsQuitUrl(request))
            {
                QuitUrlVisited?.Invoke(request.Url);

                return(true);
            }

            if (Block(request))
            {
                if (request.ResourceType == ResourceType.MainFrame)
                {
                    RequestBlocked?.Invoke(request.Url);
                }

                return(true);
            }

            if (IsConfigurationFile(request, out var downloadUrl))
            {
                browser.GetHost().StartDownload(downloadUrl);

                return(true);
            }

            return(base.OnBeforeBrowse(webBrowser, browser, frame, request, userGesture, isRedirect));
        }
        protected override bool OnBeforeBrowse(IWebBrowser webBrowser, IBrowser browser, IFrame frame, IRequest request, bool userGesture, bool isRedirect)
        {
            if (IsQuitUrl(request))
            {
                QuitUrlVisited?.Invoke(request.Url);

                return(true);
            }

            if (Block(request))
            {
                if (request.ResourceType == ResourceType.MainFrame)
                {
                    RequestBlocked?.Invoke(request.Url);
                }

                return(true);
            }

            return(base.OnBeforeBrowse(webBrowser, browser, frame, request, userGesture, isRedirect));
        }