Hi,
CEF4Delphi has been updated to CEF 128.4.8
This is what's new :
- Removed GlobalCEFApp.ChromeRuntime. The Alloy runtime has been removed completely from CEF and now the Chrome runtime is always enabled. You can select the "Chrome style" or "Alloy style" in TChromiumCore.
- Modified almost all demos to use the Chrome style or the Alloy style. All the demos using the Chrome style have simpler and different destruction steps!
- Removed GlobalCEFApp.PersistUserPreferences
- Removed GlobalCEFApp.PackLoadingDisabled
- Added GlobalCEFApp.DumpWithoutCrashing
- Added GlobalCEFApp.DumpWithoutCrashingUnthrottled
- Added GlobalCEFApp.TLS13HybridizedKyberSupport
- Removed TChromiumCore.LoadExtension
- Removed TChromiumCore.DidLoadExtension
- Removed TChromiumCore.HasExtension
- Removed TChromiumCore.GetExtensions
- Removed TChromiumCore.GetExtension
- Removed TChromiumCore.ExtensionHandler
- Removed TChromiumCore.OnExtensionLoadFailed
- Removed TChromiumCore.OnExtensionLoaded
- Removed TChromiumCore.OnExtensionUnloaded
- Removed TChromiumCore.OnExtensionBeforeBackgroundBrowser
- Removed TChromiumCore.OnExtensionBeforeBrowser
- Removed TChromiumCore.OnExtensionGetActiveBrowser
- Removed TChromiumCore.OnExtensionCanAccessBrowser
- Removed TChromiumCore.OnExtensionGetExtensionResource
- Removed aPersistUserPreferences argument in TCefRequestContextRef.New
- Removed TCefRequestContextRef.LoadExtension
- Removed TCefRequestContextRef.DidLoadExtension
- Removed TCefRequestContextRef.HasExtension
- Removed TCefRequestContextRef.GetExtensions
- Removed TCefRequestContextRef.GetExtension
- Added TCefv8ValueRef.NewArrayBufferWithCopy
- Added TCefTaskManagerRef
- Added TCefLinuxWindowProperties and TLinuxWindowProperties
- Added TCefTaskType
- Added TCefTaskInfo and TCustomTaskInfo
- Added TCEFBrowserViewComponent.ChromeToolbar
- Added TCEFWindowComponent.OnGetLinuxWindowProperties
- Added TCefCustomInt64Array
- Added more CEF_CONTENT_SETTING_TYPE_* values.
These are the CEF binaries :
- Windows 32 bits -> https://cef-builds.spotifycdn.com/cef_binary_128.4.8%2Bg88b5034%2Bchromium-128.0.6613.114_windows32.tar.bz2
- Windows 64 bits -> https://cef-builds.spotifycdn.com/cef_binary_128.4.8%2Bg88b5034%2Bchromium-128.0.6613.114_windows64.tar.bz2
- Linux x86 64 bits -> https://cef-builds.spotifycdn.com/cef_binary_128.4.8%2Bg88b5034%2Bchromium-128.0.6613.114_linux64.tar.bz2
- Linux ARM 32 bits -> https://cef-builds.spotifycdn.com/cef_binary_128.4.8%2Bg88b5034%2Bchromium-128.0.6613.114_linuxarm.tar.bz2
- Linux ARM 64 bits -> https://cef-builds.spotifycdn.com/cef_binary_128.4.8%2Bg88b5034%2Bchromium-128.0.6613.114_linuxarm64.tar.bz2
- MacOS x86 64 bits -> https://cef-builds.spotifycdn.com/cef_binary_128.4.8%2Bg88b5034%2Bchromium-128.0.6613.114_macosx64.tar.bz2
ATTENTION
This CEF update removed the old "
Alloy runtime" and that means that
the destruction steps for some applications may have changed!
Now the applications can set the TChromiumCore.RuntimeStyle property before the TChromiumCore.CreateBrowser call in order to select the if they use the "Chrome style" or the "Alloy style". By default, CEF uses the "Chrome style" except when the browser uses the off-screen rendering mode (OSR). In that case it uses "Alloy style".
Applications using the "Chrome style"
MUST check the demos to see the new destruction steps!!!
The "Chrome style" doesn't trigger the TChromiumCore.OnClose event at shutdown and now you have to destroy TCEFWindowParent after the TChromiumCore.CloseBrowser call.
https://github.com/salvadordf/CEF4Delphi/blob/55a70a998eeeb5dbba2e8e1db36902ffcc40ebfc/demos/Delphi_VCL/SimpleBrowser2/uSimpleBrowser2.pas#L108
The destruction steps for the "Chrome style" are these :
- 1. FormCloseQuery sets CanClose to FALSE, destroys CEFWindowParent1 and calls TChromium.CloseBrowser which triggers the TChromium.OnBeforeClose event.
- 2. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form.
Applications using the "Alloy style" can keep using the old destruction steps but they must set TChromiumCore.RuntimeStyle to CEF_RUNTIME_STYLE_ALLOY before the TChromiumCore.CreateBrowser call.
All demos using TChromiumWindow also use the "Alloy style" for simplicity.
The applications using any kind of JavaScript integration (extensions, bindings, etc.) should use the "Chrome style" because some events are not working in the "Alloy style".