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.
Fix loading of URL without scheme : https://bitbucket.org/chromiumembedded/cef/commits/cab058ba28a7ceebd3786002a933e7930e0e7ffe
This is what's new in CEF4Delphi :
Added TCEFWorkSchedulerQueueThread as an experimental way to handle the external message pump events for all platforms.
Fixed backwards compatibility issues with Delphi 7.
The use of TCEFWorkSchedulerQueueThread is disabled by default but you can test it if you define the conditional USEQUEUETHREAD in uCEFFMXWorkScheduler or uCEFWorkScheduler.
I added TCEFWorkSchedulerQueueThread to see if the excessive CPU usage issue in some Linux demos could be fixed this way but the issue was still present.
However, TCEFWorkSchedulerQueueThread needs more testing because it might improve app responsiveness in some Windows demos.
The CEF binaries are these :
Windows 32 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.2.5%2Bgcab058b%2Bchromium-88.0.4324.150_windows32.tar.bz2
Windows 64 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.2.5%2Bgcab058b%2Bchromium-88.0.4324.150_windows64.tar.bz2
Linux x86 32 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.2.5%2Bgcab058b%2Bchromium-88.0.4324.150_linux32.tar.bz2
Linux x86 64 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.2.5%2Bgcab058b%2Bchromium-88.0.4324.150_linux64.tar.bz2
Linux ARM 32 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.2.5%2Bgcab058b%2Bchromium-88.0.4324.150_linuxarm.tar.bz2
Linux ARM 64 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.2.5%2Bgcab058b%2Bchromium-88.0.4324.150_linuxarm64.tar.bz2
I just uploaded the update of CEF4Delphi to CEF 88.2.7
This is what's new in the CEF code :
Linux: cefclient: Fix GTK behavior with multi-threaded-message-loop : https://bitbucket.org/chromiumembedded/cef/commits/c18ff5804d7bb2ca54505024472b7cefc32f799a
This is what's new in CEF4Delphi :
Fixed all the Linux demos that use the multi-threaded-message-loop setting.
The Linux demos must be extremely careful with any CEF event because they might be executing in a CEF thread. Most of the GTK API functions cause problems if you call them in any other thread that is different than the main application thread so this update moved all the remaining code from those events to a function that's executed in the main application thread.
These are the CEF binaries :
Windows 32 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.2.7%2Bgc18ff58%2Bchromium-88.0.4324.150_windows32.tar.bz2
Windows 64 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.2.7%2Bgc18ff58%2Bchromium-88.0.4324.150_windows64.tar.bz2
Linux x86 32 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.2.7%2Bgc18ff58%2Bchromium-88.0.4324.150_linux32.tar.bz2
Linux x86 64 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.2.7%2Bgc18ff58%2Bchromium-88.0.4324.150_linux64.tar.bz2
Linux ARM 32 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.2.7%2Bgc18ff58%2Bchromium-88.0.4324.150_linuxarm.tar.bz2
Linux ARM 64 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.2.7%2Bgc18ff58%2Bchromium-88.0.4324.150_linuxarm64.tar.bz2
The Linux issue in the SimpleOSRBrowser demo is now fixed but I had to make some changes to TBufferPanel.
All GTK calls must be done in the main application thread and that demo was still calling some GTK API functions to get the monitor DPI and to translate the client coordinates to screen coordinates in the wrong thread.
For this reason I had to add TBufferPanel.UpdateDeviceScaleFactor which will update the new TBufferPanel.FDeviceScaleFactor field. This procedure must be called in the main application thread when the form is fully initialized and when the user moves the browser to another monitor.
The SimpleOSRBrowser also saves the "offset" of the TBufferPanel coordinate system in the FPanelOffset field to use it in the TForm1.Chromium1GetScreenPoint procedure.
These are the CEF binaries :
Windows 32 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.2.8%2Bge484012%2Bchromium-88.0.4324.150_windows32.tar.bz2
Windows 64 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.2.8%2Bge484012%2Bchromium-88.0.4324.150_windows64.tar.bz2
Linux x86 32 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.2.8%2Bge484012%2Bchromium-88.0.4324.150_linux32.tar.bz2
Linux x86 64 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.2.8%2Bge484012%2Bchromium-88.0.4324.150_linux64.tar.bz2
Linux ARM 32 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.2.8%2Bge484012%2Bchromium-88.0.4324.150_linuxarm.tar.bz2
Linux ARM 64 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.2.8%2Bge484012%2Bchromium-88.0.4324.150_linuxarm64.tar.bz2
I just uploaded a new version of CEF4Delphi to GitHub. It's updated to CEF 88.2.9 which includes Chromium 88.0.4324.182
This Chromium version includes several important security fixes. Read this for more details :
https://chromereleases.googleblog.com/2021/02/stable-channel-update-for-desktop_16.html
This is what's new in CEF4Delphi :
Added the SimpleBrowser demo for Linux.
Added Linux support to TChromiumWindow.
Removed unused code and added more code comments to the SimpleBrowser demos for Windows.
These are the CEF binaries used in this version :
Windows 32 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.2.9%2Bg5c8711a%2Bchromium-88.0.4324.182_windows32.tar.bz2
Windows 64 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.2.9%2Bg5c8711a%2Bchromium-88.0.4324.182_windows64.tar.bz2
Linux x86 32 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.2.9%2Bg5c8711a%2Bchromium-88.0.4324.182_linux32.tar.bz2
Linux x86 64 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.2.9%2Bg5c8711a%2Bchromium-88.0.4324.182_linux64.tar.bz2
Linux ARM 32 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.2.9%2Bg5c8711a%2Bchromium-88.0.4324.182_linuxarm.tar.bz2
Linux ARM 64 bits -> https://cef-builds.spotifycdn.com/cef_binary_88.2.9%2Bg5c8711a%2Bchromium-88.0.4324.182_linuxarm64.tar.bz2
Update ArrayBuffer to use new BackingStore API : https://bitbucket.org/chromiumembedded/cef/commits/b5952bd58c1d06792c7aac97ab7f89f2271efaef
But the CEF4Delphi code has many MacOS support improvements and new MacOS demos thanks to martin_fr
You can follow his code changes in this thread :
https://www.briskbard.com/forum/viewtopic.php?f=8&t=1702
These are the CEF binaries used in this version :
Windows 32 bits -> https://cef-builds.spotifycdn.com/cef_binary_89.0.7%2Bgb5952bd%2Bchromium-89.0.4389.72_windows32.tar.bz2
Windows 64 bits -> https://cef-builds.spotifycdn.com/cef_binary_89.0.7%2Bgb5952bd%2Bchromium-89.0.4389.72_windows64.tar.bz2
Linux x86 32 bits -> https://cef-builds.spotifycdn.com/cef_binary_89.0.7%2Bgb5952bd%2Bchromium-89.0.4389.72_linux32.tar.bz2
Linux x86 64 bits -> https://cef-builds.spotifycdn.com/cef_binary_89.0.7%2Bgb5952bd%2Bchromium-89.0.4389.72_linux64.tar.bz2
Linux ARM 32 bits -> https://cef-builds.spotifycdn.com/cef_binary_89.0.7%2Bgb5952bd%2Bchromium-89.0.4389.72_linuxarm.tar.bz2
Linux ARM 64 bits -> https://cef-builds.spotifycdn.com/cef_binary_89.0.7%2Bgb5952bd%2Bchromium-89.0.4389.72_linuxarm64.tar.bz2
MacOS x86 64 bits -> https://cef-builds.spotifycdn.com/cef_binary_89.0.7%2Bgb5952bd%2Bchromium-89.0.4389.72_macosx64.tar.bz2