1
0
mirror of https://github.com/salvadordf/CEF4Delphi.git synced 2025-09-30 21:28:55 +02:00

Update to CEF 139.0.30

TCEFWinControl must inherit from TCustomPanel in GTK3
This commit is contained in:
Salvador Díaz Fau
2025-08-27 15:55:39 +02:00
parent 00fbd4346c
commit 2ed634e298
6 changed files with 35 additions and 16 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 LICENSE.md file. CEF4Delphi is based on DCEF3 and fpCEF3. The original license of those projects still applies to CEF4Delphi. Read the license terms in the LICENSE.md file.
CEF4Delphi uses CEF 139.0.28 which includes Chromium 139.0.7258.139. CEF4Delphi uses CEF 139.0.30 which includes Chromium 139.0.7258.139.
The CEF binaries used by CEF4Delphi are available for download at Spotify : The CEF binaries used by CEF4Delphi are available for download at Spotify :
* [Windows 32 bits](https://cef-builds.spotifycdn.com/cef_binary_139.0.28%2Bg55ab8a8%2Bchromium-139.0.7258.139_windows32.tar.bz2) * [Windows 32 bits](https://cef-builds.spotifycdn.com/cef_binary_139.0.30%2Bgd4551db%2Bchromium-139.0.7258.139_windows32.tar.bz2)
* [Windows 64 bits](https://cef-builds.spotifycdn.com/cef_binary_139.0.28%2Bg55ab8a8%2Bchromium-139.0.7258.139_windows64.tar.bz2) * [Windows 64 bits](https://cef-builds.spotifycdn.com/cef_binary_139.0.30%2Bgd4551db%2Bchromium-139.0.7258.139_windows64.tar.bz2)
* [Linux x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_139.0.28%2Bg55ab8a8%2Bchromium-139.0.7258.139_linux64.tar.bz2) * [Linux x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_139.0.30%2Bgd4551db%2Bchromium-139.0.7258.139_linux64.tar.bz2)
* [Linux ARM 32 bits](https://cef-builds.spotifycdn.com/cef_binary_139.0.28%2Bg55ab8a8%2Bchromium-139.0.7258.139_linuxarm.tar.bz2) * [Linux ARM 32 bits](https://cef-builds.spotifycdn.com/cef_binary_139.0.30%2Bgd4551db%2Bchromium-139.0.7258.139_linuxarm.tar.bz2)
* [Linux ARM 64 bits](https://cef-builds.spotifycdn.com/cef_binary_139.0.28%2Bg55ab8a8%2Bchromium-139.0.7258.139_linuxarm64.tar.bz2) * [Linux ARM 64 bits](https://cef-builds.spotifycdn.com/cef_binary_139.0.30%2Bgd4551db%2Bchromium-139.0.7258.139_linuxarm64.tar.bz2)
* [MacOS x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_139.0.28%2Bg55ab8a8%2Bchromium-139.0.7258.139_macosx64.tar.bz2) * [MacOS x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_139.0.30%2Bgd4551db%2Bchromium-139.0.7258.139_macosx64.tar.bz2)
CEF4Delphi was developed and tested on Delphi 12.3 and it has been tested in Delphi 6, Delphi XE, Delphi 10, Delphi 11 and Lazarus 4.2/FPC 3.2.2. CEF4Delphi includes VCL, FireMonkey (FMX) and Lazarus components. CEF4Delphi was developed and tested on Delphi 12.3 and it has been tested in Delphi 6, Delphi XE, Delphi 10, Delphi 11 and Lazarus 4.2/FPC 3.2.2. CEF4Delphi includes VCL, FireMonkey (FMX) and Lazarus components.

View File

@@ -21,7 +21,7 @@
</CompilerOptions> </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."/> <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"/> <License Value="MPL 1.1"/>
<Version Major="139" Release="28"/> <Version Major="139" Release="30"/>
<Files Count="216"> <Files Count="216">
<Item1> <Item1>
<Filename Value="..\source\uCEFAccessibilityHandler.pas"/> <Filename Value="..\source\uCEFAccessibilityHandler.pas"/>

View File

@@ -47,6 +47,9 @@ type
{$IFDEF MSWINDOWS} {$IFDEF MSWINDOWS}
procedure WndProc(var aMessage: TMessage); override; procedure WndProc(var aMessage: TMessage); override;
{$ENDIF} {$ENDIF}
{$IFDEF LCLGTK3}
procedure Paint; override;
{$ENDIF}
/// <summary> /// <summary>
/// TChromium instance used by this component. /// TChromium instance used by this component.
/// </summary> /// </summary>
@@ -73,6 +76,13 @@ begin
{$IFDEF MSWINDOWS} {$IFDEF MSWINDOWS}
FUseSetFocus := True; FUseSetFocus := True;
{$ENDIF} {$ENDIF}
{$IFDEF LCLGTK3}
BevelOuter := bvNone;
BevelWidth := 0;
Caption := '';
ControlStyle := ControlStyle - [csNoFocus];
TabStop := True;
{$ENDIF}
end; end;
{$IFDEF MSWINDOWS} {$IFDEF MSWINDOWS}
@@ -87,6 +97,14 @@ begin
end; end;
{$ENDIF} {$ENDIF}
{$IFDEF LCLGTK3}
procedure TCEFLinkedWinControlBase.Paint;
begin
if (Chromium = nil) or not(Chromium.Initialized) then
inherited Paint;
end;
{$ENDIF}
{$IFDEF FPC} {$IFDEF FPC}
procedure TCEFLinkedWinControlBase.SetVisible(Value: Boolean); procedure TCEFLinkedWinControlBase.SetVisible(Value: Boolean);
{$IFDEF LINUX} {$IFDEF LINUX}
@@ -178,11 +196,11 @@ begin
(Chromium <> nil) and (Chromium <> nil) and
Chromium.Initialized then Chromium.Initialized then
begin begin
TempPoint.x:= 0; TempPoint.x := 0;
TempPoint.y:= 0; TempPoint.y := 0;
NSView(Chromium.WindowHandle).setFrameOrigin(TempPoint); NSView(Chromium.WindowHandle).setFrameOrigin(TempPoint);
TempSize.width:= Width; TempSize.width := Width;
TempSize.height:= Height; TempSize.height := Height;
NSView(Chromium.WindowHandle).setFrameSize(TempSize); NSView(Chromium.WindowHandle).setFrameSize(TempSize);
end; end;
{$ENDIF} {$ENDIF}

View File

@@ -1,6 +1,6 @@
CEF_SUPPORTED_VERSION_MAJOR = 139; CEF_SUPPORTED_VERSION_MAJOR = 139;
CEF_SUPPORTED_VERSION_MINOR = 0; CEF_SUPPORTED_VERSION_MINOR = 0;
CEF_SUPPORTED_VERSION_RELEASE = 28; CEF_SUPPORTED_VERSION_RELEASE = 30;
CEF_SUPPORTED_VERSION_BUILD = 0; CEF_SUPPORTED_VERSION_BUILD = 0;
CEF_CHROMEELF_VERSION_MAJOR = CEF_SUPPORTED_VERSION_MAJOR; CEF_CHROMEELF_VERSION_MAJOR = CEF_SUPPORTED_VERSION_MAJOR;

View File

@@ -19,6 +19,7 @@ uses
{$IFDEF MSWINDOWS}WinApi.Windows, {$ENDIF} System.Classes, Vcl.Controls, Vcl.Graphics, {$IFDEF MSWINDOWS}WinApi.Windows, {$ENDIF} System.Classes, Vcl.Controls, Vcl.Graphics,
{$ELSE} {$ELSE}
{$IFDEF MSWINDOWS}Windows,{$ENDIF} Classes, Forms, Controls, Graphics, {$IFDEF MSWINDOWS}Windows,{$ENDIF} Classes, Forms, Controls, Graphics,
{$IFDEF LCLGTK3}ExtCtrls,{$ENDIF}
{$IFDEF FPC} {$IFDEF FPC}
LCLProc, LCLType, LCLIntf, LResources, InterfaceBase, LCLProc, LCLType, LCLIntf, LResources, InterfaceBase,
{$ENDIF} {$ENDIF}
@@ -32,7 +33,7 @@ type
/// <summary> /// <summary>
/// Custom TWinControl used by CEF browsers. /// Custom TWinControl used by CEF browsers.
/// </summary> /// </summary>
TCEFWinControl = class(TWinControl) TCEFWinControl = class({$IFDEF LCLGTK3}TCustomPanel{$ELSE}TWinControl{$ENDIF})
protected protected
function GetChildWindowHandle : {$IFNDEF MSWINDOWS}{$IFDEF FPC}LclType.{$ENDIF}{$ENDIF}THandle; virtual; function GetChildWindowHandle : {$IFNDEF MSWINDOWS}{$IFDEF FPC}LclType.{$ENDIF}{$ENDIF}THandle; virtual;
procedure Resize; override; procedure Resize; override;

View File

@@ -2,9 +2,9 @@
"UpdateLazPackages" : [ "UpdateLazPackages" : [
{ {
"ForceNotify" : true, "ForceNotify" : true,
"InternalVersion" : 774, "InternalVersion" : 775,
"Name" : "cef4delphi_lazarus.lpk", "Name" : "cef4delphi_lazarus.lpk",
"Version" : "139.0.28" "Version" : "139.0.30"
} }
], ],
"UpdatePackageData" : { "UpdatePackageData" : {