Esempio n. 1
0
        public IResponseFilter GetResourceResponseFilter(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IResponse response)
        {
            if (response.MimeType == @"text/html" && StyleProvider != null)
            {
                var css = StyleProvider.GetStyle(request.Url);
                return(ReplaceResponseFilter.CreateCustomCss(@"
::-webkit-scrollbar { width: 8px!important; height: 8px!important; }
::-webkit-scrollbar-track { box-shadow: none!important; border-radius: 0!important; background: #000!important; }
::-webkit-scrollbar-corner { background: #000 !important; }
::-webkit-scrollbar-thumb { border: none !important; box-shadow: none !important; border-radius: 0 !important; background: #333 !important; }
::-webkit-scrollbar-thumb:hover { background: #444 !important; }
::-webkit-scrollbar-thumb:active { background: #666 !important; }", css));
            }

            return(null);
        }
Esempio n. 2
0
        public IResponseFilter GetResourceResponseFilter(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IResponse response)
        {
            if (response.MimeType == @"text/html")
            {
                var css    = StyleProvider?.GetStyle(request.Url, browserControl is CefSharp.Wpf.ChromiumWebBrowser);
                var inject = new WebInjectEventArgs(request.Url);
                Inject?.Invoke(this, inject);
                return(new ReplaceResponseFilter(inject.Replacements.Append(ReplaceResponseFilter.CreateCustomCss(inject.ToInject.JoinToString(), $@"
::-webkit-scrollbar {{ width: 8px!important; height: 8px!important; }}
::-webkit-scrollbar-track {{ box-shadow: none!important; border-radius: 0!important; background: {_windowColor}!important; opacity: 0!important; }}
::-webkit-scrollbar-corner {{ background: {_windowColor}!important; }}
::-webkit-scrollbar-thumb {{ border: none!important; box-shadow: none!important; border-radius: 0!important; {_scrollThumbColor} }}
::-webkit-scrollbar-thumb:hover {{ {_scrollThumbHoverColor} }}
::-webkit-scrollbar-thumb:active {{ {_scrollThumbDraggingColor} }}", css))));
            }

            return(null);
        }
Esempio n. 3
0
        IResponseFilter IResourceRequestHandler.GetResourceResponseFilter(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request,
                                                                          IResponse response)
        {
            if (response.MimeType == @"text/html" && !request.Url.EndsWith(@".js"))
            {
                Logging.Debug("Inject style: " + request.Url);
                var css    = StyleProvider?.GetStyle(request.Url, browserControl is CefSharp.Wpf.ChromiumWebBrowser);
                var inject = new WebInjectEventArgs(request.Url);
                Inject?.Invoke(this, inject);

                var injectString = inject.ToInject.JoinToString();
                if (string.IsNullOrWhiteSpace(injectString) && string.IsNullOrWhiteSpace(css))
                {
                    return(null);
                }

                return(new ReplaceResponseFilter(inject.Replacements.Append(ReplaceResponseFilter.CreateCustomCssJs(injectString, css))));
            }

            return(null);
        }