Update to CEF 109.1.1

Added GlobalCEFApp.NetLogEnabled
Added GlobalCEFApp.NetLogFile
Added GlobalCEFApp.NetLogCaptureMode
Fixed WindowInfoAsChild for GTK3 in Linux
This commit is contained in:
salvadordf 2023-01-22 09:15:40 +01:00
parent addab9ddb4
commit ed9011d4d8
6 changed files with 44 additions and 15 deletions

View File

@ -3,15 +3,15 @@ CEF4Delphi is an open source project created by Salvador Díaz Fau to embed Chro
CEF4Delphi is based on DCEF3 and fpCEF3. The original license of those projects still applies to CEF4Delphi. Read the license terms in the first lines of any *.pas file.
CEF4Delphi uses CEF 109.1.11 which includes Chromium 109.0.5414.87.
CEF4Delphi uses CEF 109.1.13 which includes Chromium 109.0.5414.87.
The CEF binaries used by CEF4Delphi are available for download at Spotify :
* [Windows 32 bits](https://cef-builds.spotifycdn.com/cef_binary_109.1.11%2Bg6d4fdb2%2Bchromium-109.0.5414.87_windows32.tar.bz2)
* [Windows 64 bits](https://cef-builds.spotifycdn.com/cef_binary_109.1.11%2Bg6d4fdb2%2Bchromium-109.0.5414.87_windows64.tar.bz2)
* [Linux x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_109.1.11%2Bg6d4fdb2%2Bchromium-109.0.5414.87_linux64.tar.bz2)
* [Linux ARM 32 bits](https://cef-builds.spotifycdn.com/cef_binary_109.1.11%2Bg6d4fdb2%2Bchromium-109.0.5414.87_linuxarm.tar.bz2)
* [Linux ARM 64 bits](https://cef-builds.spotifycdn.com/cef_binary_109.1.11%2Bg6d4fdb2%2Bchromium-109.0.5414.87_linuxarm64.tar.bz2)
* [MacOS x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_109.1.11%2Bg6d4fdb2%2Bchromium-109.0.5414.87_macosx64.tar.bz2)
* [Windows 32 bits](https://cef-builds.spotifycdn.com/cef_binary_109.1.13%2Bg18f6895%2Bchromium-109.0.5414.87_windows32.tar.bz2)
* [Windows 64 bits](https://cef-builds.spotifycdn.com/cef_binary_109.1.13%2Bg18f6895%2Bchromium-109.0.5414.87_windows64.tar.bz2)
* [Linux x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_109.1.13%2Bg18f6895%2Bchromium-109.0.5414.87_linux64.tar.bz2)
* [Linux ARM 32 bits](https://cef-builds.spotifycdn.com/cef_binary_109.1.13%2Bg18f6895%2Bchromium-109.0.5414.87_linuxarm.tar.bz2)
* [Linux ARM 64 bits](https://cef-builds.spotifycdn.com/cef_binary_109.1.13%2Bg18f6895%2Bchromium-109.0.5414.87_linuxarm64.tar.bz2)
* [MacOS x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_109.1.13%2Bg18f6895%2Bchromium-109.0.5414.87_macosx64.tar.bz2)
CEF4Delphi was developed and tested on Delphi 11.2 and it has been tested in Delphi 7, Delphi XE, Delphi 10, Delphi 10.2, Delphi 10.3, Delphi 10.4 and Lazarus 2.2.4/FPC 3.2.2. CEF4Delphi includes VCL, FireMonkey (FMX) and Lazarus components.

View File

@ -21,7 +21,7 @@
</CompilerOptions>
<Description Value="CEF4Delphi is an open source project created by Salvador Díaz Fau to embed Chromium-based browsers in applications made with Delphi or Lazarus/FPC."/>
<License Value="MPL 1.1"/>
<Version Major="109" Minor="1" Release="11"/>
<Version Major="109" Minor="1" Release="13"/>
<Files Count="213">
<Item1>
<Filename Value="..\source\uCEFAccessibilityHandler.pas"/>

View File

@ -69,7 +69,7 @@ uses
const
CEF_SUPPORTED_VERSION_MAJOR = 109;
CEF_SUPPORTED_VERSION_MINOR = 1;
CEF_SUPPORTED_VERSION_RELEASE = 11;
CEF_SUPPORTED_VERSION_RELEASE = 13;
CEF_SUPPORTED_VERSION_BUILD = 0;
CEF_CHROMEELF_VERSION_MAJOR = CEF_SUPPORTED_VERSION_MAJOR;
@ -191,6 +191,10 @@ type
FAllowInsecureLocalhost : boolean;
FKioskPrinting : boolean;
FTreatInsecureOriginAsSecure : ustring;
FNetLogEnabled : boolean;
FNetLogFile : ustring;
FNetLogCaptureMode : TCefNetLogCaptureMode;
// Fields used during the CEF initialization
FWindowsSandboxInfo : pointer;
@ -516,6 +520,9 @@ type
property AllowInsecureLocalhost : boolean read FAllowInsecureLocalhost write FAllowInsecureLocalhost; // --allow-insecure-localhost
property KioskPrinting : boolean read FKioskPrinting write SetKioskPrinting; // --kiosk-printing
property TreatInsecureOriginAsSecure : ustring read FTreatInsecureOriginAsSecure write FTreatInsecureOriginAsSecure; // --unsafely-treat-insecure-origin-as-secure
property NetLogEnabled : boolean read FNetLogEnabled write FNetLogEnabled; // --log-net-log
property NetLogFile : ustring read FNetLogFile write FNetLogFile; // --log-net-log
property NetLogCaptureMode : TCefNetLogCaptureMode read FNetLogCaptureMode write FNetLogCaptureMode; // --net-log-capture-mode
// Properties used during the CEF initialization
property WindowsSandboxInfo : Pointer read FWindowsSandboxInfo write FWindowsSandboxInfo;
@ -769,6 +776,9 @@ begin
FAllowInsecureLocalhost := False;
FKioskPrinting := False;
FTreatInsecureOriginAsSecure := '';
FNetLogEnabled := False;
FNetLogFile := '';
FNetLogCaptureMode := nlcmDefault;
// Fields used during the CEF initialization
FWindowsSandboxInfo := nil;
@ -2124,6 +2134,17 @@ begin
if (length(FTreatInsecureOriginAsSecure) > 0) then
ReplaceSwitch(aKeys, aValues, '--unsafely-treat-insecure-origin-as-secure', FTreatInsecureOriginAsSecure);
if FNetLogEnabled then
begin
ReplaceSwitch(aKeys, aValues, '--log-net-log', FNetLogFile);
case FNetLogCaptureMode of
nlcmDefault : ReplaceSwitch(aKeys, aValues, '--net-log-capture-mode', 'Default');
nlcmIncludeSensitive : ReplaceSwitch(aKeys, aValues, '--net-log-capture-mode', 'IncludeSensitive');
nlcmEverything : ReplaceSwitch(aKeys, aValues, '--net-log-capture-mode', 'Everything');
end;
end;
// The list of features you can enable is here :
// https://chromium.googlesource.com/chromium/src/+/master/chrome/common/chrome_features.cc
// https://source.chromium.org/chromium/chromium/src/+/main:content/public/common/content_features.cc

View File

@ -910,10 +910,8 @@ begin
TempParent := gdk_window_xwindow(PGtkWidget(aParent)^.window);
{$ENDIF}
{$IFDEF LCLGTK3}
if ValidCefWindowHandle(aParent) and
(TGtk3Window(aParent).widget <> nil) and
(TGtk3Window(aParent).widget^.window <> nil)then
TempParent := gdk_x11_window_get_xid(TGtk3Window(aParent).widget^.window);
if ValidCefWindowHandle(aParent) then
TempParent := gdk_x11_window_get_xid(TGtk3Container(aParent).Widget^.window);
{$ENDIF}
{$ENDIF}

View File

@ -504,6 +504,16 @@ type
hpDisableNonProxiedUDP
);
// Values used by the --net-log-capture-mode command line switch.
// Sets the granularity of events to capture in the network log.
// https://source.chromium.org/chromium/chromium/src/+/main:content/browser/network_service_instance_impl.cc
// https://source.chromium.org/chromium/chromium/src/+/main:net/log/net_log_capture_mode.h
TCefNetLogCaptureMode = (
nlcmDefault,
nlcmIncludeSensitive,
nlcmEverything
);
// Used by TCEFFileDialogInfo
TCEFDialogType = (dtOpen, dtOpenMultiple, dtOpenFolder, dtSave);

View File

@ -2,9 +2,9 @@
"UpdateLazPackages" : [
{
"ForceNotify" : true,
"InternalVersion" : 455,
"InternalVersion" : 456,
"Name" : "cef4delphi_lazarus.lpk",
"Version" : "109.1.11"
"Version" : "109.1.13"
}
],
"UpdatePackageData" : {