Update to CEF 75.0.7
Posted: Sun Jun 16, 2019 9:16 am
Hi,
CEF4Delphi is now updated to CEF 75.0.7, which includes Chromium 75.0.3770.80.
This time, CEF has many API changes needed for the "Network Service" in Chromium.
All these API changes are the cause of many changes in CEF4Delphi classes and the applications upgrading to this version need some modifications.
These are all the API changes :
The CEF binaries are these :
CEF4Delphi is now updated to CEF 75.0.7, which includes Chromium 75.0.3770.80.
This time, CEF has many API changes needed for the "Network Service" in Chromium.
All these API changes are the cause of many changes in CEF4Delphi classes and the applications upgrading to this version need some modifications.
These are all the API changes :
- new http error codes
- removed TCefBrowserRef.SendProcessMessage
- added TCefFrameRef.SendProcessMessage
- added TCefFrameRef.CreateUrlRequest
- updated TCustomClientHandler.OnProcessMessageReceived parameters
- updated TCefCookieManagerRef.SetSupportedSchemes and TCefCookieManagerRef.SetSupportedSchemesProc parameters
- removed TCefCookieManagerRef.SetStoragePath and TCefCookieManagerRef.SetStoragePathProc
- removed TCefCookieManagerRef.Blocking
- removed TCefCookieManagerRef.New
- removed TCefCookieManagerRef.NewProc
- updated TCustomDragHandler.OnDraggableRegionsChanged parameters
- updated TCustomLifeSpanHandler.OnBeforePopup parameters
- updated TCefCustomRenderProcessHandler.OnBrowserCreated parameters
- updated TCefCustomRenderProcessHandler.OnProcessMessageReceived parameters
- added TCefRequestRef.GetHeaderByName
- added TCefRequestRef.SetHeaderByName
- renamed TCefRequestContextRef.GetDefaultCookieManager to TCefRequestContextRef.GetCookieManager
- renamed TCefRequestContextRef.GetDefaultCookieManagerProc to TCefRequestContextRef.GetCookieManagerProc
- removed TCefRequestContextHandlerRef.GetCookieManager
- removed TCefRequestContextHandlerOwn.GetCookieManager
- added TCefRequestContextHandlerRef.GetResourceRequestHandler
- added TCefRequestContextHandlerOwn.GetResourceRequestHandler
- removed TCustomRequestHandler.OnBeforeResourceLoad
- removed TCustomRequestHandler.GetResourceHandler
- removed TCustomRequestHandler.OnResourceRedirect
- removed TCustomRequestHandler.OnResourceResponse
- removed TCustomRequestHandler.GetResourceResponseFilter
- removed TCustomRequestHandler.OnResourceLoadComplete
- removed TCustomRequestHandler.OnProtocolExecution
- added TCustomRequestHandler.GetResourceRequestHandler
- removed TCustomRequestHandler.CanGetCookies
- removed TCustomRequestHandler.CanSetCookie
- added TCefResourceHandlerOwn.open
- deprecated TCefResourceHandlerOwn.ProcessRequest
- added TCefResourceHandlerOwn.skip
- added TCefResourceHandlerOwn.read
- deprecated TCefResourceHandlerOwn.ReadResponse
- removed TCefResourceHandlerOwn.CanGetCookie
- removed TCefResourceHandlerOwn.CanSetCookie
- added TCefResourceHandlerRef
- added TCustomResourceRequestHandler
- added TCustomCookieAccessFilter
- added TCefResponseRef.Charset
- updated TChromium.CreateBrowser and TFMXChromium.CreateBrowser parameters
- updated TChromium.OnProcessMessageReceived and TFMXChromium.OnProcessMessageReceived event parameters
- updated TChromium.SendProcessMessage and TFMXChromium.SendProcessMessage parameters
- added TChromium.CreateUrlRequest and TFMXChromium.CreateUrlRequest
- updated TChromium.OnDraggableRegionsChanged and TFMXChromium.OnDraggableRegionsChanged event parameters
- updated TChromium.OnBeforePopup and TFMXChromium.OnBeforePopup event parameters
- updated TCefApplication.OnBrowserCreated (GlobalCEFApp.OnBrowserCreated) event parameters
- updated TCefApplication.OnProcessMessageReceived (GlobalCEFApp.OnProcessMessageReceived) event parameters
- added TChromium.OnGetResourceRequestHandler and TFMXChromium.OnGetResourceRequestHandler
- renamed and updated TChromium.OnCanGetCookies to TChromium.OnCanSendCookie
- renamed and updated TFMXChromium.OnCanGetCookies to TFMXChromium.OnCanSendCookie
- renamed and updated TChromium.OnCanSetCookie to TChromium.OnCanSaveCookie
- renamed and updated TFMXChromium.OnCanSetCookie to TFMXChromium.OnCanSaveCookie
- added TCefApplication.RootCache (GlobalCEFApp.RootCache) property
- added TCefApplication.ApplicationClientID (GlobalCEFApp.ApplicationClientID) property
- added TCefApplication.EnableFeatures (GlobalCEFApp.EnableFeatures) property
- added TCefApplication.DisableFeatures (GlobalCEFApp.DisableFeatures) property
- added TCefApplication.EnableBlinkFeatures (GlobalCEFApp.EnableBlinkFeatures) property
- added TCefApplication.DisableBlinkFeatures (GlobalCEFApp.DisableBlinkFeatures) property
- removed TCefApplication.Cookies (GlobalCEFApp.Cookies) property
- removed TCefApplication.DeleteCookies (GlobalCEFApp.DeleteCookies) property
- updated TChromium.OnGetResourceHandler and TFMXChromium.OnGetResourceHandler parameters
- updated TChromium.OnProtocolExecution and TFMXChromium.OnProtocolExecution parameters
- GlobalCEFApp.Cookies has been removed from CEF because the procedure to change the cookies location no longer exists. Now the cookies are stored inside the cache directory.
- The new GlobalCEFApp.RootCache property need to be a parent directory of GlobalCEFApp.Cache or the same directory.
- GlobalCEFApp.ApplicationClientID is a GUID string passed to the system AV function for scanning downloaded files.
- GlobalCEFApp.EnableFeatures and GlobalCEFApp.DisableFeatures can be used to enable or disable these features https://chromium.googlesource.com/chrom ... eatures.cc
- GlobalCEFApp.EnableBlinkFeatures and GlobalCEFApp.DisableBlinkFeatures can be used to enable or disable these features https://cs.chromium.org/chromium/src/th ... ures.json5
- Loading a "file:///" url will crash the application if the "Network Service" is enabled. Add GlobalCEFApp.DisableFeatures := 'NetworkService'; before the GlobalCEFApp.StartMainProcess call in the DPR file to avoid this problem.
- OSR browsers don't receive TChromium.OnPaint events if you disable the "Network Service";
- If you register a custom scheme with the "Network Service" enabled you won't be able to load external HTTPS resources.
- There is a CEF issue that causes a crash while closing the application in some situations : https://bitbucket.org/chromiumembedded/ ... own-due-to
Code: Select all
GlobalCEFApp.DisableFeatures := 'NetworkService';