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.
If you find these projects useful please consider becoming a sponsor with Patreon, GitHub or Liberapay.

Update to CEF 3.3202.1690.gcd6b88f

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

Update to CEF 3.3202.1690.gcd6b88f

Post by salvadordf »

Hi,

I updated CEF4Delphi to CEF 3.3202.1690.gcd6b88f.

These are the changes :
  • Bug fix #71 : "Crash on shutdown when GlobalCEFApp.MultiThreadedMessageLoop := False;"
  • Added the TCEFWorkScheduler class to handle the cef_do_message_loop_work calls when you use an external message pump.
  • Added 2 demos using the "external message pump" mode : "ExternalPumpBrowser" and "OSRExternalPumpBrowser".
  • Added a TakeSnapshot function to the TChromium and TCEFWindowParent to take snapshots in non-OSR mode. The MiniBrowser now includes a context menu option to take snapshots.
  • Removed the code that handled the cef_do_message_loop_work calls with a timer.
Remember that the default value for GlobalCEFApp.MultiThreadedMessageLoop is TRUE because that's the recommended mode for Windows.

In case you need to set GlobalCEFApp.MultiThreadedMessageLoop to False, It's also recommended to set GlobalCEFApp.ExternalMessagePump to True to schedule the cef_do_message_loop_work calls with the GlobalCEFApp.OnScheduleMessagePumpWork event.

In that configuration you can schedule the cef_do_message_loop_work calls and now CEF4Delphi has a TCEFWorkScheduler class to handle those calls for you.

If you set GlobalCEFApp.MultiThreadedMessageLoop and GlobalCEFApp.ExternalMessagePump to FALSE, you will need to use the GlobalCEFApp.RunMessageLoop and GlobalCEFApp.QuitMessageLoop procedures. Those procedures call to cef_run_message_loop and cef_quit_message_loop and they replace the TApplication message loop. Take a look at the "cefclient" demo in the DCEF3 project for more info.

These are the CEF3 binaries used for this update :
Post Reply