bool IRequestHandler.OnCertificateError(IWebBrowser browserControl, IBrowser browser, CefErrorCode errorCode, string requestUrl, ISslInfo sslInfo, IRequestCallback callback)
        {
            try
            {
                //To allow certificate
                //callback.Continue(true);
                //return true;

                return false;
            }
            finally
            {
                callback.Dispose();
            }
        }
        CefReturnValue IResourceRequestHandler.OnBeforeResourceLoad(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IRequestCallback callback)
        {
            if (RequestsFiltering.ShouldBeBlocked(request.Url))
            {
                if (!callback.IsDisposed)
                {
                    callback.Dispose();
                }

                return(CefReturnValue.Cancel);
            }

            if (UserAgent != null)
            {
                var headers = request.Headers;
                headers[@"User-Agent"] = UserAgent;
                request.Headers        = headers;
            }

            return(CefReturnValue.Continue);
        }
Exemple #3
0
        CefReturnValue IRequestHandler.OnBeforeResourceLoad(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IRequestCallback callback)
        {
            try
            {
                //Note to Redirect simply set the request Url
                //if (request.Url.StartsWith("https://www.google.com", StringComparison.OrdinalIgnoreCase))
                //{
                //    request.Url = "https://github.com/";
                //}

                //Callback in async fashion
                //callback.Continue(true);
                //return CefReturnValue.ContinueAsync;

            }
            finally
            {
                callback.Dispose();
            }
            return CefReturnValue.Continue;
        }
 public bool OnQuotaRequest(IWebBrowser chromiumWebBrowser, IBrowser browser, string originUrl, long newSize, IRequestCallback callback)
 {
     callback.Dispose();
     return(false);
 }
 public bool OnCertificateError(IWebBrowser chromiumWebBrowser, IBrowser browser, CefErrorCode errorCode, string requestUrl, ISslInfo sslInfo, IRequestCallback callback)
 {
     callback.Dispose();
     return(false);
 }
 bool IRequestHandler.OnCertificateError(IWebBrowser browserControl, IBrowser browser, CefErrorCode errorCode, string requestUrl, ISslInfo sslInfo, IRequestCallback callback)
 {
     callback.Dispose();
     return(false);
 }
        bool IRequestHandler.OnQuotaRequest(IWebBrowser browserControl, IBrowser browser, string originUrl, long newSize, IRequestCallback callback)
        {
            try
            {
                //Accept Request to raise Quota
                //callback.Continue(true);
                //return true;

                return false;
            }
            finally
            {
                callback.Dispose();
            }
        }
        // JavaScript & Plugins

        public virtual bool OnQuotaRequest(IWebBrowser browserControl, IBrowser browser, string originUrl, long newSize, IRequestCallback callback)
        {
            callback.Dispose();
            return(false);
        }
 public CefReturnValue OnBeforeResourceLoad(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IRequestCallback callback)
 {
     // You can also check the URL here
     callback.Dispose();
     return(CefReturnValue.Continue);
 }
Exemple #10
0
        CefReturnValue IRequestHandler.OnBeforeResourceLoad(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IRequestCallback callback)
        {
            try
            {
                Uri url;
                if (Uri.TryCreate(request.Url, UriKind.Absolute, out url) == false)
                {
                    throw new Exception("Request to \"" + request.Url + "\" can't continue, not a valid URI");
                }

                if (WebEntryInfo != null)
                {
                    if (WebEntryInfo.LockIntReqType == LockIntReqType.BLOCK_NONE)
                    {
                        //Console.WriteLine("Load BLOCK_NONE resource: " + request.Url);
                    }
                    else if (WebEntryInfo.LockIntReqType == LockIntReqType.BLOCK_All_EXPECT_ENTRY_POINT)
                    {
                        //todo test
                        string baseUrl = (new Uri(WebEntryInfo.Url)).AbsoluteUri;
                        bool   same    = baseUrl.Equals(request.Url);
                        if (same)
                        {
                            //Console.WriteLine("Load same resource: " + request.Url);
                        }
                        else
                        {
                            //Console.WriteLine("-------Blocked resource: " + request.Url);
                            callback.Dispose();
                            return(CefReturnValue.Cancel);
                        }
                    }
                    else if (WebEntryInfo.LockIntReqType == LockIntReqType.BLOCK_All_OTHER_DOMAIN)
                    {
                        string baseUrl   = (new Uri(WebEntryInfo.Url)).AbsoluteUri;
                        int    lastSlash = baseUrl.LastIndexOf("/");
                        if (lastSlash > -1 && request.Url.Length >= lastSlash)
                        {
                            bool same = baseUrl.Substring(0, lastSlash).Equals(request.Url.Substring(0, lastSlash));
                            if (same)
                            {
                                //Console.WriteLine("Load same resource: " + request.Url);
                            }
                            else
                            {
                                //Console.WriteLine("-------Blocked resource: " + request.Url);
                                callback.Dispose();
                                return(CefReturnValue.Cancel);
                            }
                        }
                        else
                        {
                            //Console.WriteLine("Load not checked resource: " + request.Url);
                        }
                    }
                }
                else
                {
                    // Console.WriteLine("Load no WebEtryInfo resource: " + request.Url);
                }

                if (WebEntryInfo != null && WebEntryInfo.JUserAgent != null)
                {
                    var headers   = request.Headers;
                    var userAgent = headers["User-Agent"];
                    headers["User-Agent"] = WebEntryInfo.JUserAgent.Data;
                    request.Headers       = headers;
                }

                //NOTE: When executing the callback in an async fashion need to check to see if it's disposed
                if (!callback.IsDisposed)
                {
                    using (callback)
                    {
                        if (request.Method == "POST")
                        {
                            using (var postData = request.PostData)
                            {
                                if (postData != null)
                                {
                                    var elements = postData.Elements;

                                    var charSet = request.GetCharSet();

                                    foreach (var element in elements)
                                    {
                                        if (element.Type == PostDataElementType.Bytes)
                                        {
                                            var body = element.GetBody(charSet);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Log.LogError(ex);
            }
            return(CefReturnValue.Continue);
        }
 /// <summary>
 /// Called before a resource request is loaded. For async processing return <see cref="CefReturnValue.ContinueAsync"/>
 /// and execute <see cref="IRequestCallback.Continue"/> or <see cref="IRequestCallback.Cancel"/>
 /// </summary>
 /// <param name="browserControl">The ChromiumWebBrowser control</param>
 /// <param name="browser">the browser object</param>
 /// <param name="frame">The frame object</param>
 /// <param name="request">the request object - can be modified in this callback.</param>
 /// <param name="callback">Callback interface used for asynchronous continuation of url requests.</param>
 /// <returns>To cancel loading of the resource return <see cref="CefReturnValue.Cancel"/>
 /// or <see cref="CefReturnValue.Continue"/> to allow the resource to load normally. For async
 /// return <see cref="CefReturnValue.ContinueAsync"/></returns>
 public virtual CefReturnValue OnBeforeResourceLoad(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request,
                                                    IRequestCallback callback)
 {
     callback.Dispose();
     return(CefReturnValue.Continue);
 }
 /// <summary>
 /// Called when JavaScript requests a specific storage quota size via the webkitStorageInfo.requestQuota function. For async
 /// processing return true and execute <see cref="IRequestCallback.Continue"/> at a later time to grant or deny the request or
 /// <see cref="IRequestCallback.Cancel"/> to cancel.
 /// </summary>
 /// <param name="chromiumWebBrowser">The ChromiumWebBrowser control.</param>
 /// <param name="browser">the browser object.</param>
 /// <param name="originUrl">the origin of the page making the request.</param>
 /// <param name="newSize">is the requested quota size in bytes.</param>
 /// <param name="callback">Callback interface used for asynchronous continuation of url requests.</param>
 /// <returns>
 /// Return false to cancel the request immediately. Return true to continue the request and call
 /// <see cref="IRequestCallback.Continue"/> either in this method or at a later time to grant or deny the request.
 /// </returns>
 protected virtual bool OnQuotaRequest(IWebBrowser chromiumWebBrowser, IBrowser browser, string originUrl, long newSize,
     IRequestCallback callback)
 {
     callback.Dispose();
     return false;
 }
 bool IRequestHandler.OnCertificateError(IWebBrowser browserControl, IBrowser browser, CefErrorCode errorCode, string requestUrl, ISslInfo sslInfo, IRequestCallback callback)
 {
     callback.Dispose();
     return false;
 }
Exemple #14
0
        public bool OnQuotaRequest(IWebBrowser browserControl, IBrowser browser, string originUrl, long newSize, IRequestCallback callback) {
            if (!callback.IsDisposed) {
                callback.Dispose();
            }

            return true;
        }
Exemple #15
0
        public CefReturnValue OnBeforeResourceLoad(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IRequestCallback callback) {
            if (RequestsFiltering.ShouldBeBlocked(request.Url)) {
                if (!callback.IsDisposed) {
                    callback.Dispose();
                }

                return CefReturnValue.Cancel;
            }
            
            var headers = request.Headers;
            headers[@"User-Agent"] = UserAgent;
            request.Headers = headers;

            return CefReturnValue.Continue;
        }
Exemple #16
0
        public bool OnCertificateError(IWebBrowser browserControl, IBrowser browser, CefErrorCode errorCode, string requestUrl, ISslInfo sslInfo, IRequestCallback callback) {
            if (!callback.IsDisposed) {
                callback.Dispose();
            }

            Logging.Warning(requestUrl);
            return false;
        }