Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Oct 10 2016 09:45
    User @amaitland unbanned @aolko
  • Oct 10 2016 09:36
    @amaitland banned @aolko
  • Feb 11 2016 05:56
    User @amaitland unbanned @miyakedev from this room
  • Feb 10 2016 19:59
    @amaitland banned @miyakedev
Alex Maitland
@amaitland

I think CefSharf in my project not load favicon.ico. I loaded google.com in my WinForm project and I don't see favicon in Developer Tools. Why?

@galerts Have you implemented OnFaviconUrlChange and downloaded the favicon? It's upto each application to implement favicon support as you control the parent window.

Can I set LogFile through RequestContextSettings instead of CefSettings just like setting CachePath?I just want to write logs in different files.

@logerlink Unfortunately no.

Can someone help me?

@c2msis:matrix.org What is your question?

jsoldi
@jsoldi

Hi guys, I've noted that on some pages ResourceRequestHandler.OnResourceLoadComplete is never called for some requests. I tried this with the winforms example:

    public class MyRequestHandler : RequestHandler
    {
        private readonly MyResourceHandler reqHandler = new MyResourceHandler();

        protected override IResourceRequestHandler GetResourceRequestHandler(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, bool isNavigation, bool isDownload, string requestInitiator, ref bool disableDefaultHandling)
        {
            return reqHandler;
        }
    }

    public class MyResourceHandler : ResourceRequestHandler
    {
        protected override CefReturnValue OnBeforeResourceLoad(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, IRequestCallback callback)
        {
            System.Diagnostics.Debug.WriteLine($"OnBeforeResourceLoad [{request.Identifier}]: {request.Url}");
            return base.OnBeforeResourceLoad(chromiumWebBrowser, browser, frame, request, callback);
        }

        protected override void OnResourceLoadComplete(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, IResponse response, UrlRequestStatus status, long receivedContentLength)
        {
            System.Diagnostics.Debug.WriteLine($"OnResourceLoadComplete [{request.Identifier}]: {request.Url}");
            base.OnResourceLoadComplete(chromiumWebBrowser, browser, frame, request, response, status, receivedContentLength);
        }
    }

Then set it like this on BrowserTabUserControl.cs:

browser.RequestHandler = new MyRequestHandler();

And then I loaded this page: https://www.ticketmaster.co.uk/

I get a call to OnBeforeResourceLoad with the URL https://www.ticketmaster.co.uk/api/cookies and identifier 902363, but never got a call to OnResourceLoadComplete with the same identifier (nor the same URL). I understand OnResourceLoadComplete should be called for all requests, so I wonder if this is a bug (probably unrelated to the one I mentioned before about browsers not being fully created sometimes).

I also noted (in another test) that OnResourceResponse does get called. In fact, if you load the URL on a browser it's just an "OK" response on the body, so it should complete very quickly. If you look at the request on devtools, you see status 200 which means it completed, but the weird thing is that the Preview and Response tabs are empty, so it seems that Chrome did something strange with the response.
hawke0777
@hawke0777
hello what i would like to do is add a chrome extension to a cefsharp window is that possible?
Alex Maitland
@amaitland

I get a call to OnBeforeResourceLoad with the URL https://www.ticketmaster.co.uk/api/cookies and identifier 902363, but never got a call to OnResourceLoadComplete with the same identifier (nor the same URL). I understand OnResourceLoadComplete should be called for all requests, so I wonder if this is a bug (probably unrelated to the one I mentioned before about browsers not being fully created sometimes).

@jsoldi I'd suggest moving the conversation over to https://magpcss.org/ceforum/index.php as the behaviour is entirely implemented in CEF/Chromium.
It sounds like a bug to me, though the CEF maintainer will hopefully be able to confirm.

hello what i would like to do is add a chrome extension to a cefsharp window is that possible?

@hawke0777 Already asked at https://github.com/cefsharp/CefSharp/discussions/3869
Please just ask your question once and wait for a reply, thanks.

jsoldi
@jsoldi
@amaitland Never used that forum before, should I post it on the CefSharp Forum?
Alex Maitland
@amaitland
@jsoldi Support Forum would be where I'd post as it's unlikely CefSharp specific
jsoldi
@jsoldi
@amaitland OK done. I also mention there that this specific request looks "weird" on Chrome too, so I wonder if this is a Chromium bug.
Serhiy Mashkovskyi
@serhiy1994
Hello, I have a task: make a tool which would launch some (>1) browser instances at once (in parellel) with their own BrowserCachePath etc. I made it via WCF. All goes well on the 77th version of the framework, but now there is the 94th version. And my code got hang when I try to synchronize all the instances. What's changed on the CefSharp lifecycle or maybe I'm going smth wrong?
Here's the code - https://pastebin.com/EcZYssWD, hang on line 109.
blitzmax01
@blitzmax01
Greetings folks, at the moment I try to get a RequestHandler working for CefSharp. I want that if you have to login on a page the login windows is accessable for the user. I want to see it on the screen and that you can type in your login credentials.

It tried it with this example in a seperated class. But the problem is it just enters the credentials by itself and the login window never shows. I really searched the internet for hours and can't find anything that helped me right now.

I use this code on a WindowsForms Application at Visual Studio Express 2012

protected override bool GetAuthCredentials(IWebBrowser chromiumWebBrowser, IBrowser browser, string originUrl, bool isProxy, string host, int port, string realm, string scheme, IAuthCallback callback)
{
//NOTE: We also suggest you explicitly Dispose of the callback as it wraps an unmanaged resource.

        //Example #1
        //Spawn a Task to execute our callback and return true;
        //Typical usage would see you invoke onto the UI thread to open a username/password dialog
        //Then execute the callback with the response username/password
        //You can cast the IWebBrowser param to ChromiumWebBrowser to easily access
        //control, from there you can invoke onto the UI thread, should be in an async fashion
        //Load https://httpbin.org/basic-auth/cefsharp/passwd in the browser to test
        Task.Run(() =>
        {
            using (callback)
            {
                if (originUrl.Contains("https://httpbin.org/basic-auth/"))
                {
                    var parts = originUrl.Split('/');
                    var username = parts[parts.Length - 2];
                    var password = parts[parts.Length - 1];
                    callback.Continue(username, password);
                }
            }
        });

        return true;

        //Example #2
        //Return false to cancel the request
        //callback.Dispose();
        //return false;
    }
ukandrewc
@ukandrewc
image.png
@blitzmax01 You need to show your own credentials dialog, the callback just gives you the method to enter them
blitzmax01
@blitzmax01
Okay, thanks for the answer. How can I create one?
Peter "Shawty" Shaw
@shawty
@blitzmax01 that depends entirely on how your application is written, if your using winforms, then you'll need to build the dialog using a windows form and associated controls, if it's in WPF, you'll need to do similar but using WPF controls, and if your UI is HTML based then you'll need to set up the appropriate hooks in your app to allow you to input the data in your html UI and submit it back to the app.
Francois Larouche
@larouchefrancois

@jsoldi Hello, I did the test with my own solution and I do get the OK response. I get that response:

HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: no-store, must-revalidate, max-age=0
Connection: keep-alive
Content-Length: 2
Content-Security-Policy: frame-ancestors 'none';
Content-Type: text/plain;charset=UTF-8
Date: Thu, 04 Nov 2021 14:19:10 GMT
Server: iccp-backend
Set-Cookie: BID=HE0lJVpvUyFA2YqAfp73OBvOQE_DP3b5dMTA-BsfC_144uocKqPFuecprug5WeDR0LvaZe0fRnLct8jc; Path=/; Domain=.ticketmaster.co.uk; Max-Age=31536000; Expires=Fri, 04 Nov 2022 14:19:09 GMT; Secure; HttpOnly; SameSite=None
Set-Cookie: SID=mBvo1ICwHIDHJ7ygTfmXZKo-pQhKBaN59DST8zQm-mMGguZh1uhGfWyWogc4tUQZtfLIRyA-GpfZXIsb; Path=/; Domain=.ticketmaster.co.uk; Secure; HttpOnly; SameSite=None
Set-Cookie: sticky=ABDC; Domain=.ticketmaster.co.uk; Path=/
Set-Cookie: ab-myacc=iccp; Domain=.ticketmaster.co.uk; Path=/
TMPS-Correlation-Id: 6acdc200-cfd3-4228-86b6-75baac67f432
Vary: Accept-Encoding
Via: 1.1 varnish, 1.1 varnish
X-Cache: MISS, MISS
X-Cache-Hits: 0, 0
X-Content-Type-Options: nosniff
X-Fastly: ICCP-GLOBAL-PROD
X-Frame-Options: Deny
X-Page-Type: api
X-Served-By: cache-yyz4551-YYZ, cache-yyz4551-YYZ
X-TM-BID: jP4ADlbUvBzV7CMrCi8sZZ0aTGYaq4/9T/PW0I/Pdg97zhmtuvdopHndJQpIBMt6/cqzy/49Ce8Hs6iomUsQbMSQIslXMpOSMuJTsb3L4DAyNdU9MXeDeRD8/v6XDPrQ
X-TM-SID: ggtQEQil+Z6ga0Q8OZmH33k7VbIw4COS/Nh2zKYji9j0vGNzVwUimQa3Vt2wifu2Gg8LBa71VvLqEwWLHc6Zq+qdJo9W0vmwbNXLiX6saTq4+z7Bs6GEfWrxQ55sI9W8
X-Timer: S1636035550.816619,VS0,VE226
X-XSS-Protection: 1
x-d-debug-state: SUCCESS

My theory is that along the many overrides and interception the code is not right. It happened to me many times as I use a lot of customized event handlers and overrides.

One thing I notice in your code is that you keep reusing the same custom request handler. In my case I create a new one each time to ensure that each request has its own context and is not overwrite by a concurrent request since it shares the same object. In the examples I saw it was always a new instance. I think you should start with that, let me know if it works.

Francois Larouche
@larouchefrancois
I meant you keep reusing the same IResourceRequestHandler not RequestHandler :)
Alex Maitland
@amaitland

OK done. I also mention there that this specific request looks "weird" on Chrome too, so I wonder if this is a Chromium bug.

@jsoldi Possibly a Chromium BUG, it's also possible that CEF ignores the response. You'd need to debug the source to find out for sure.
https://github.com/chromiumembedded/cef/blob/a7bbd8a62bfc91b0d53eeef8d07b64a5ed719a5f/libcef/browser/net_service/resource_request_handler_wrapper.cc#L975

What's changed on the CefSharp lifecycle or maybe I'm going smth wrong?
Here's the code - https://pastebin.com/EcZYssWD, hang on line 109.

@serhiy1994 Start by checking the log file. See https://github.com/cefsharp/CefSharp/wiki/Trouble-Shooting#log-file

I need more information before I can speculate as to what's going on.

9 replies
jsoldi
@jsoldi
@larouchefrancois @amaitland Actually I'm pretty sure I know what's happening (I also mention this on the CEF forum post ). You will get a 200 response, but no response body, so you'll get a call to OnResourceResponse with a 200 response, but no call to OnResourceLoadComplete. The reason is that the script calls fetch but doesn't call text or json to get the response body, so the request hangs there forever. I'm not sure if this is the expected behavior thought, since I've noted that doing fetch on HTML documents automatically pulls the content body regardless of whether you call text or not, but it seems that it doesn't do that with JSON requests, so I'm still not sure if this is a bug or not. I don't think CEF is ignoring the request because the error code on OnResourceResponse is None and one of the conditions to ignore it is for the error code to be ERR_ABORTED, unless it changes to aborted later? I'll see if I can debug that and report back.
Francois Larouche
@larouchefrancois
@jsoldi when I test the url I do get a response body of 2 characters that is OK (see my response). So it's not a bug in the code. unless you do some handling somewhere else that I didn't see from your snippet code. I believe that your issue might be because you don't get a new instance of the ResourceRequestHandler, but I might be mistaken. It cost nothing to change the code with new to test. Beyond that I cannot and it was only my 2c. good luck
jsoldi
@jsoldi
@larouchefrancois so you do get a call to OnResourceLoadComplete? Are you directly visiting the cookie URL or ticketmaster.co.uk?
5 replies
Francois Larouche
@larouchefrancois
@jsoldi see pic below (don't know why but cannot paste that pic in the thread). I go inside the OnResourceLoadComplete with the url https://www.ticketmaster.co.uk/api/cookies (in my watch list below circled in red) and when I look at the response content length it gives 2. Also you can see the response is OK with my args.ResponseBody (it's a custom argument that was taken from the initial OnResourceLoadComplete. The code you see is the event I invoked from there
image.png
jsoldi
@jsoldi

@larouchefrancois I tried what you suggested:

    public class MyRequestHandler : RequestHandler
    {
        protected override IResourceRequestHandler GetResourceRequestHandler(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, bool isNavigation, bool isDownload, string requestInitiator, ref bool disableDefaultHandling)
        {
            return new MyResourceHandler();
        }
    }

    public class MyResourceHandler : ResourceRequestHandler
    {
        protected override bool OnResourceResponse(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, IResponse response)
        {
            System.Diagnostics.Debug.WriteLine($"OnResourceResponse [{request.Identifier}]: {request.Url}");
            return base.OnResourceResponse(chromiumWebBrowser, browser, frame, request, response);
        }

        protected override CefReturnValue OnBeforeResourceLoad(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, IRequestCallback callback)
        {
            System.Diagnostics.Debug.WriteLine($"OnBeforeResourceLoad [{request.Identifier}]: {request.Url}");
            return base.OnBeforeResourceLoad(chromiumWebBrowser, browser, frame, request, callback);
        }

        protected override void OnResourceLoadComplete(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, IResponse response, UrlRequestStatus status, long receivedContentLength)
        {
            System.Diagnostics.Debug.WriteLine($"OnResourceLoadComplete [{request.Identifier}]: {request.Url}");
            base.OnResourceLoadComplete(chromiumWebBrowser, browser, frame, request, response, status, receivedContentLength);
        }
    }

But only got these two:

OnBeforeResourceLoad [863083]: https://www.ticketmaster.co.uk/api/cookies
OnResourceResponse [863083]: https://www.ticketmaster.co.uk/api/cookies

No call to OnResourceLoadComplete except after I navigated away again, I guess because CEF disposed the request:

OnResourceLoadComplete [863083]: https://www.ticketmaster.co.uk/api/cookies

So I wonder if you're doing something else that I'm not. I literally just downloaded the latest version of CefSharp and added the code. I originally thought it worked but it was because I added some code to ignore this specific request which then forgot to remove.

Maybe you also navigated away from ticketmaster.co.uk and that's when you got the call to OnResourceLoadComplete?
12 replies
citylogic-au
@citylogic-au
Hi, I'm using CefSharp in a winforms C# application, showing a SVG animation on 3 monitors. Users are complaining of high CPU usage resulting in high fan noise. Does anyone have any suggestions on getting optimal performance for rendering SVG; eg Settings etc Any help appreciated.
Alex Maitland
@amaitland

CefSharp in a winforms C# application

@citylogic-au What version are you using?

Users are complaining of high CPU usage resulting in high fan noise

How does Chrome at the same version behave on the same machine?

Does anyone have any suggestions on getting optimal performance for rendering SVG

Performance is largely tied to the Chromium version. I'm not aware of any SVG rendering specific options. Try searching in the Chromium issue tracker.

As a general debugging step you can load chrome://gpu/ in both Chrome and CefSharp to compare the GPU Acceleration.

4 replies
JaredDrakeZA
@JaredDrakeZA
Hi all, is there a way to change the region / location to South Africa only in CefSharp ? Some webpages jumped to CZech location which isn't supposed to happen. Secondly, how to disable Cloudflare Security Check (CAPTCHA) when browsing the website.
Alex Maitland
@amaitland

is there a way to change the region / location to South Africa only in CefSharp

@JaredDrakeZA You can change the following:

How does the website determine region? IP Address? Accept-Language header? timezone?

Secondly, how to disable Cloudflare Security Check (CAPTCHA) when browsing the website.

If CloudFlare has a server side component to it's captcha then it's unlikely you can disable it.
I'd search for something like headless chrome cloudflare.

1 reply
buhtig0815
@buhtig0815
RequestHandler.OnSelectClientCertificate () is not being called after CefSharp.Wpf.NETCore 89.0.170. Create a NET5 WPF project. Add a reference to CefSharp.Wpf.NETCore version 89.0.170 or lower. Add a ChromiumWebBrowser to the MainWindow.xaml. In the code behind set the address of a site that uses client certificates, a custom RequestHandler and the LoadError eventhandler. Build and run. Up until 89.0.170 the OnSelectClientCertificate() will be called. Change the PackageReference to version 90.5.70-pre or higher. Clean, Build and Run. Now the error eventhandler will hit with: ERR_SSL_CLIENT_AUTH_CERT_NEEDED. But only if the visiting website ask for a certificate after a redirect. Testsites like https://certauth.idrix.fr/ always work. I looked at all the changes in CEFSharp/CEF/Chromium starting in version 90/4430/90.0.4430.30. I can't find any clues on why it behaves differently. Any suggestions on where to look?
Alex Maitland
@amaitland
@buhtig0815 How does Chrome behave at the same version? I don't recall any reports of similar issues. You can try asking on https://magpcss.org/ceforum/viewforum.php?f=6 to see if anyone in the wider CEF community has experienced a similar problem.
buhtig0815
@buhtig0815
@amaitland Mmmh, apparently I didn't search in the right places. On the link you provided it is sitting there on the top of the page. So yes, it seems to be a CEF issue https://magpcss.org/ceforum/viewtopic.php?f=6&t=18693&sid=3ddb0b974945aac491af6dd825b47419 handled here https://bitbucket.org/chromiumembedded/cef/issues/3200/sso-throwing-onloaderrors-with. A trial fix seems to be available today (2021-11-10). We will just wait for the next version and hope for the best. Thanks!
Alex Maitland
@amaitland

https://bitbucket.org/chromiumembedded/cef/issues/3200/sso-throwing-onloaderrors-with. A trial fix seems to be available today (2021-11-10).

@buhtig0815 I've updated master with the latest beta CEF build and you can test out the fix using a CI nuget package available from https://www.myget.org/gallery/cefsharp
Changes are included in 96.0.120-CI4308

If the problem still reproduces then if you have an example url that reproduces the problem then it's probably worth posting on the bitbucket issue for testing purposes.

joe-williams-cccu
@joe-williams-cccu

Hello, firstly, it has been awhile but I am grateful to see this project still being maintained @amaitland - thank you.

I noticed it is now possible to take screenshots via DevTools, which is awesome. However, I am trying to capture a full page screenshot (that is, capture everything beyond the current viewport) but my results always return a screenshot of the current viewport (that is, what the user is currently looking it).

My code is based on the example in the docs: https://github.com/cefsharp/CefSharp/wiki/General-Usage#screenshots but I note an optional (and experimental) boolean parameter is available captureBeyondViewport. Regardless, I end up with a screenshot of just the current view. Is it possible to take a fullpage screenshot via this method?

 using (var devToolsClient = uiTabbedBrowserControl.CurrentTab.Browser.GetDevToolsClient())
 {
                var result = await devToolsClient.Page.CaptureScreenshotAsync(null, null, null, null, true);
                File.WriteAllBytes(@"C:\Users\joe\Desktop\test1.png", result.Data);
 }

I am rusty around the edges, so am happy to concede I am missing something blindingly obvious. Thank you for any help, as always.
Version: WinForms, 95.7.14

Alex Maitland
@amaitland

Hello, firstly

Hi @joe-williams-cccu, it has been a while :smile:

it has been awhile but I am grateful to see this project still being maintained

yep, still going :smile:

I am rusty around the edges, so am happy to concede I am missing something blindingly obvious.

The DevTools protocol in CefSharp is generated, provides raw access to the underlying protocol. I am working on a cutdown version of PuppeteerSharp specifically for CefSharp that will provide a nicer API for using the DevTools protocol. See https://github.com/cefsharp/PuppeteerSharp.Embedded#puppeteersharp-embedded-cefsharp (There's no official nuget package as yet).

Anyway back to the question. the upstream documentation is actually fairly lacking. Little bit of research and it looks like you need to provide the clip param also. See https://bugs.chromium.org/p/chromium/issues/detail?id=1198576#c17

Tested with WinForms version 95.7.141 and the following appears to work:

using (var devToolsClient = browser.GetDevToolsClient())
{
    //Get the content size
    var layoutMetricsResponse = await devToolsClient.Page.GetLayoutMetricsAsync();
    var contentSize = layoutMetricsResponse.ContentSize;

    var viewPort = new Viewport()
    {
        Height= contentSize.Height,
        Width = contentSize.Width,
        X = 0,
        Y = 0,
        Scale = 1 
    };

    // https://bugs.chromium.org/p/chromium/issues/detail?id=1198576#c17
    var result = await devToolsClient.Page.CaptureScreenshotAsync(clip: viewPort, fromSurface:true, captureBeyondViewport: true);

    return result.Data;
}
joe-williams-cccu
@joe-williams-cccu
@amaitland As always, you are tremendously helpful! Thank you. (I've sent a small donation as a thank you - it will never be enough for your efforts in this project, though 😋)
Łukasz Szafirski
@FLAMESpl

Hi, I have following code

        private async Task ExecuteAsync(Func<ChromiumWebBrowser, Task> action)
        {
            using var browser = new ChromiumWebBrowser(new HtmlString(htmlContent));
            var loadResponse = await browser.WaitForInitialLoadAsync();

            if (loadResponse.Success)
            {
                await action(browser);
            }
            else
            {
                logger.LogError(
                    "Chromium browser failed to load with error code: {ErrorCode}",
                    loadResponse.ErrorCode);
            }

            browser.Dispose();
        }

When called, application hangs on var loadResponse = await browser.WaitForInitialLoadAsync(); indefinitely.
If I remove this line exception is thrown instead that says:

System.Exception: 'The ChromiumWebBrowser instance creates the underlying Chromium Embedded Framework (CEF) browser instance in an async fashion. 
The undelying CefBrowser instance is not yet initialized. Use the IsBrowserInitializedChanged event and check the IsBrowserInitialized property to 
determine when the browser has been initialized.'

I have also tried subscribing to lifecycle events but they were never raised.

What should I do in this scenario?

2 replies
Krishna Chaitanya M
@chaitanyajun12
image.png

@amaitland In our application, we use CefSharp Winforms library and we open multiple instances CefSharp browsers in different tabs. There is an option to close the tab and the expectation is the CefSharp browser instance should get killed and it happens that way.

But, in some cases what we observe is even after all the tabs are closed in the application, still some of the CefSharp browser instances show up in the task manager. Is possible to happen from the runtime point of view?

Alex Maitland
@amaitland

Thank you.

@joe-williams-cccu You are most welcome :smile:

I've sent a small donation as a thank you

An unexpected birthday surprise, thank you very much! :smile:

Alex Maitland
@amaitland

still some of the CefSharp browser instances show up in the task manager.

@chaitanyajun12 The Network/Storage/Audio services, GPU Process,CrashPad Handlerprocesses are independent of the browser instances and will continue to run untilCef.Shutdown` is called.

Krishna Chaitanya M
@chaitanyajun12
@amaitland Yes there can be some processes present. But, I was of the assumption that the renderer process should not be present once the browser instance is closed. Am I correct on this?
Alex Maitland
@amaitland
@chaitanyajun12 Depends on the version. What version are you using?
Krishna Chaitanya M
@chaitanyajun12
@amaitland I'm using CefSharp 94.4.50.
dadloo
@dadloo

I have a problem with cors after updating cefsharp.winforms from 79.1.360 to 95.7.141.

Uncaught DOMException: Blocked a frame with origin "akela://" from accessing a cross-origin frame.
    at Player._onLoadWorskpace (webpack:///./pages/player/controller.js?:462:38)
    at HTMLIFrameElement.dispatch (akela://common/assets/js/jquery-latest.min.js:2:41772)
    at HTMLIFrameElement.y.handle (akela://common/assets/js/jquery-latest.min.js:2:39791)
  • i have custom scheme for akela but do not have custom scheme for webpack (never needed to)
  • i have set header for Headers.Add("Access-Control-Allow-Origin", "*");

After update i had to remove (because of the changes):

            this.browser.BrowserSettings.FileAccessFromFileUrls = CefState.Enabled;
            this.browser.BrowserSettings.UniversalAccessFromFileUrls = CefState.Enabled;
            this.browser.BrowserSettings.WebSecurity = CefState.Enabled;

instead i included:

            cefSettings.CefCommandLineArgs.Add("allow-universal-access-from-files");
            cefSettings.CefCommandLineArgs.Add("allow-file-access-from-files");
           //i thought this will help solve the issue (as a last resort, not really comfortable with this solution), but for some reason cors problem is still there (it feels like it is ignored?)
           // cefSettings.CefCommandLineArgs.Add("disable-web-security");
           //cefSettings.CefCommandLineArgs.Add("disable-features", "OutOfBlinkCors");

I am lost at what I can do to make it work again. I have a feeling that my command line arguments are being ignored maybe (at least disable-web-security)? Is there a way to check that those arguments are applied properly?

Francois Larouche
@larouchefrancois

Hello all, hopefully it's an easy one.
I was wondering why some ajax requests are not detected in OnBeforeBrowse when I click in the browser link?
The specific case is as followed in client side code:

<a href="#" onclick="new Ajax.Updater('sidebar', '/account/signup_form', {asynchronous:true, evalScripts:true}); return false;">&lt;&lt; Register</a>

I can detect many types of XHR but not that one.