Disclosure Statement: This site contains affiliate links, which means that I may receive a commission if you make a purchase using these links. As an eBay Partner, I earn from qualifying purchases.

Update to CEF 74.1.13

Post Reply
User avatar
salvadordf
Posts: 4059
Joined: Thu Feb 02, 2017 12:24 pm
Location: Spain
Contact:

Update to CEF 74.1.13

Post by salvadordf »

Hi,

CEF4Delphi is now updated to CEF 74.1.13 which includes Chromium 74.0.3729.108

The new CEF binaries are these :
snoop
Posts: 75
Joined: Mon Jul 10, 2017 12:06 pm

Re: Update to CEF 74.1.13

Post by snoop »

hello, some users say this version is less stable. Some of them reported that they have browser initializtion problem after update of my program. Worked perfect before
Also, something is broken now with executing javascript in frames (I need it at one site)
this is most important now and I need your help fast please

this code worked before:
Chromium.browser.GetFrame('frame').ExecuteJavaScript('script','about:blank',0);
now this doesnt work (I think it gives an error)

I tried this way:
Chromium.ExecuteJavaScript('script','about:blank','frame',0);
doesn't work (but no errors)
User avatar
salvadordf
Posts: 4059
Joined: Thu Feb 02, 2017 12:24 pm
Location: Spain
Contact:

Re: Update to CEF 74.1.13

Post by salvadordf »

There's an issue in CEF with some of the frame functions in the latest binaries.

I've added an issue in the CEF project with all the details :
https://bitbucket.org/chromiumembedded/ ... le-and-not

These are some of the symptoms I found so far :
  • TChromium.GetFrameNames returns an array of strings but all of them are empty.
  • All TChromium functions that use a frame name will not work because TChromium.Browser.GetFrame returns NIL even with a valid frame name.
  • TChromium.GetFrameIdentifiers and TChromium.Browser.GetFrameByident work correctly but all the returned frames have an empty name.
Perhaps you can use some other ICefFrame property to identify the frame you need and then you can call TChromium.ExecuteJavaScript using that ICefFrame as the third parameter.

You need to call TChromium.GetFrameIdentifiers and then call TChromium.Browser.GetFrameByident for all the identifiers until you find the one you need. Use this function and add the TChromium.Browser.GetFrameByident call :
https://github.com/salvadordf/CEF4Delph ... .pas#L1087
snoop
Posts: 75
Joined: Mon Jul 10, 2017 12:06 pm

Re: Update to CEF 74.1.13

Post by snoop »

Thanks this works. A bit harder but ok.
What about browser initialization? something changed? Please check possible errors
User avatar
salvadordf
Posts: 4059
Joined: Thu Feb 02, 2017 12:24 pm
Location: Spain
Contact:

Re: Update to CEF 74.1.13

Post by salvadordf »

snoop wrote: Sat Apr 27, 2019 6:22 pm What about browser initialization? something changed? Please check possible errors
This time the API changes needed to update CEF4Delphi were minimal as you can see here :
https://github.com/salvadordf/CEF4Delph ... caa8a640d0

TCefRequestContextRef.ResolveHostCached was removed from the API and that function is not used in the browser initialization.

If there were initialization changes they would be in CEF or in Chromium code.
I'll test the demos in more computers to see if there's something wrong.
Please, ask the users with that issue to test one of the demos, add your application to the antivirus whitelist, etc.
Post Reply