Update to CEF 3.3202.1690.gcd6b88f
Posted: Tue Dec 05, 2017 9:27 am
Hi,
I updated CEF4Delphi to CEF 3.3202.1690.gcd6b88f.
These are the changes :
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 :
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.
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 :