You've already forked CEF4Delphi
mirror of
https://github.com/salvadordf/CEF4Delphi.git
synced 2025-08-04 21:32:54 +02:00
Update to CEF 132.3.2
This commit is contained in:
16
README.md
16
README.md
@ -3,17 +3,17 @@ 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 132.3.1 which includes Chromium 132.0.6834.83.
|
CEF4Delphi uses CEF 132.3.2 which includes Chromium 132.0.6834.161.
|
||||||
|
|
||||||
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_132.3.1%2Bg144febe%2Bchromium-132.0.6834.83_windows32.tar.bz2)
|
* [Windows 32 bits](https://cef-builds.spotifycdn.com/cef_binary_132.3.2%2Bg4997b2f%2Bchromium-132.0.6834.161_windows32.tar.bz2)
|
||||||
* [Windows 64 bits](https://cef-builds.spotifycdn.com/cef_binary_132.3.1%2Bg144febe%2Bchromium-132.0.6834.83_windows64.tar.bz2)
|
* [Windows 64 bits](https://cef-builds.spotifycdn.com/cef_binary_132.3.2%2Bg4997b2f%2Bchromium-132.0.6834.161_windows64.tar.bz2)
|
||||||
* [Linux x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_132.3.1%2Bg144febe%2Bchromium-132.0.6834.83_linux64.tar.bz2)
|
* [Linux x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_132.3.2%2Bg4997b2f%2Bchromium-132.0.6834.161_linux64.tar.bz2)
|
||||||
* [Linux ARM 32 bits](https://cef-builds.spotifycdn.com/cef_binary_132.3.1%2Bg144febe%2Bchromium-132.0.6834.83_linuxarm.tar.bz2)
|
* [Linux ARM 32 bits](https://cef-builds.spotifycdn.com/cef_binary_132.3.2%2Bg4997b2f%2Bchromium-132.0.6834.161_linuxarm.tar.bz2)
|
||||||
* [Linux ARM 64 bits](https://cef-builds.spotifycdn.com/cef_binary_132.3.1%2Bg144febe%2Bchromium-132.0.6834.83_linuxarm64.tar.bz2)
|
* [Linux ARM 64 bits](https://cef-builds.spotifycdn.com/cef_binary_132.3.2%2Bg4997b2f%2Bchromium-132.0.6834.161_linuxarm64.tar.bz2)
|
||||||
* [MacOS x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_132.3.1%2Bg144febe%2Bchromium-132.0.6834.83_macosx64.tar.bz2)
|
* [MacOS x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_132.3.2%2Bg4997b2f%2Bchromium-132.0.6834.161_macosx64.tar.bz2)
|
||||||
|
|
||||||
CEF4Delphi was developed and tested on Delphi 12.2 and it has been tested in Delphi 6, Delphi XE, Delphi 10, Delphi 11 and Lazarus 3.6/FPC 3.2.2. CEF4Delphi includes VCL, FireMonkey (FMX) and Lazarus components.
|
CEF4Delphi was developed and tested on Delphi 12.2 and it has been tested in Delphi 6, Delphi XE, Delphi 10, Delphi 11 and Lazarus 3.8/FPC 3.2.2. CEF4Delphi includes VCL, FireMonkey (FMX) and Lazarus components.
|
||||||
|
|
||||||
CEF4Delphi demos have been tested in Windows 10, Windows 11, Linux Mint 22 and Raspberry Pi OS.
|
CEF4Delphi demos have been tested in Windows 10, Windows 11, Linux Mint 22 and Raspberry Pi OS.
|
||||||
|
|
||||||
|
@ -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="132" Minor="3" Release="1"/>
|
<Version Major="132" Minor="3" Release="2"/>
|
||||||
<Files Count="214">
|
<Files Count="214">
|
||||||
<Item1>
|
<Item1>
|
||||||
<Filename Value="..\source\uCEFAccessibilityHandler.pas"/>
|
<Filename Value="..\source\uCEFAccessibilityHandler.pas"/>
|
||||||
|
@ -16,6 +16,7 @@ uses
|
|||||||
{$IFDEF MSWINDOWS}Windows, imm, {$ENDIF} Classes, Forms, Controls, Graphics,
|
{$IFDEF MSWINDOWS}Windows, imm, {$ENDIF} Classes, Forms, Controls, Graphics,
|
||||||
{$IFDEF FPC}
|
{$IFDEF FPC}
|
||||||
LCLProc, LCLType, LCLIntf, LResources, LMessages, InterfaceBase, {$IFDEF MSWINDOWS}Win32Extra,{$ENDIF}
|
LCLProc, LCLType, LCLIntf, LResources, LMessages, InterfaceBase, {$IFDEF MSWINDOWS}Win32Extra,{$ENDIF}
|
||||||
|
{$IFDEF LINUXFPC}Messages,{$ENDIF}
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
Messages,
|
Messages,
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
@ -26,6 +27,10 @@ uses
|
|||||||
type
|
type
|
||||||
TOnIMECommitTextEvent = procedure(Sender: TObject; const aText : ustring; const replacement_range : PCefRange; relative_cursor_pos : integer) of object;
|
TOnIMECommitTextEvent = procedure(Sender: TObject; const aText : ustring; const replacement_range : PCefRange; relative_cursor_pos : integer) of object;
|
||||||
TOnIMESetCompositionEvent = procedure(Sender: TObject; const aText : ustring; const underlines : TCefCompositionUnderlineDynArray; const replacement_range, selection_range : TCefRange) of object;
|
TOnIMESetCompositionEvent = procedure(Sender: TObject; const aText : ustring; const underlines : TCefCompositionUnderlineDynArray; const replacement_range, selection_range : TCefRange) of object;
|
||||||
|
{$IFDEF LINUXFPC}
|
||||||
|
TOnIMEPreEditChangedEvent = procedure(Sender: TObject; aFlag: cardinal; const aPreEditText: ustring) of object;
|
||||||
|
TOnIMECommitEvent = procedure(Sender: TObject; const aCommitText: ustring) of object;
|
||||||
|
{$ENDIF}
|
||||||
{$IFDEF MSWINDOWS}
|
{$IFDEF MSWINDOWS}
|
||||||
TOnHandledMessageEvent = procedure(Sender: TObject; var aMessage: TMessage; var aHandled : boolean) of object;
|
TOnHandledMessageEvent = procedure(Sender: TObject; var aMessage: TMessage; var aHandled : boolean) of object;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
@ -61,6 +66,12 @@ type
|
|||||||
{$ELSE}
|
{$ELSE}
|
||||||
FSyncObj : TCriticalSection;
|
FSyncObj : TCriticalSection;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
{$IFDEF LINUXFPC}
|
||||||
|
FOnIMEPreEditStart : TNotifyEvent;
|
||||||
|
FOnIMEPreEditEnd : TNotifyEvent;
|
||||||
|
FOnIMEPreEditChanged : TOnIMEPreEditChangedEvent;
|
||||||
|
FOnIMECommit : TOnIMECommitEvent;
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
procedure CreateSyncObj;
|
procedure CreateSyncObj;
|
||||||
|
|
||||||
@ -106,6 +117,9 @@ type
|
|||||||
procedure DoOnIMECommitText(const aText : ustring; const replacement_range : PCefRange; relative_cursor_pos : integer); virtual;
|
procedure DoOnIMECommitText(const aText : ustring; const replacement_range : PCefRange; relative_cursor_pos : integer); virtual;
|
||||||
procedure DoOnIMESetComposition(const aText : ustring; const underlines : TCefCompositionUnderlineDynArray; const replacement_range, selection_range : TCefRange); virtual;
|
procedure DoOnIMESetComposition(const aText : ustring; const underlines : TCefCompositionUnderlineDynArray; const replacement_range, selection_range : TCefRange); virtual;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
{$IFDEF LINUXFPC}
|
||||||
|
procedure WMIMEComposition(var aMessage: TMessage); message LM_IM_COMPOSITION;
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
public
|
public
|
||||||
constructor Create(AOwner: TComponent); override;
|
constructor Create(AOwner: TComponent); override;
|
||||||
@ -319,6 +333,52 @@ type
|
|||||||
/// </remarks>
|
/// </remarks>
|
||||||
property OnPointerUpdate : TOnHandledMessageEvent read FOnPointerUpdate write FOnPointerUpdate;
|
property OnPointerUpdate : TOnHandledMessageEvent read FOnPointerUpdate write FOnPointerUpdate;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
{$IFDEF LINUXFPC}
|
||||||
|
/// <summary>
|
||||||
|
/// The preedit-start signal is emitted when a new preediting sequence starts.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// <para><see href="https://docs.gtk.org/gtk4/class.IMContext.html">See the GtkIMContext article.</see></para>
|
||||||
|
/// <para><see href="https://docs.gtk.org/gtk4/signal.IMContext.preedit-start.html">See the preedit-start article.</see></para>
|
||||||
|
/// <para>This event is only triggered by Lazarus in GTK2 when WITH_GTK2_IM is defined.</para>
|
||||||
|
/// <para>You need to open IDE dialog "Tools / Configure 'Build Lazarus'", and there enable the define: WITH_GTK2_IM; then recompile the IDE.</para>
|
||||||
|
/// </remarks>
|
||||||
|
property OnIMEPreEditStart : TNotifyEvent read FOnIMEPreEditStart write FOnIMEPreEditStart;
|
||||||
|
/// <summary>
|
||||||
|
/// The preedit-end signal is emitted when a preediting sequence has been completed or canceled.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// <para><see href="https://docs.gtk.org/gtk4/class.IMContext.html">See the GtkIMContext article.</see></para>
|
||||||
|
/// <para><see href="https://docs.gtk.org/gtk4/signal.IMContext.preedit-end.html">See the preedit-end article.</see></para>
|
||||||
|
/// <para>This event is only triggered by Lazarus in GTK2 when WITH_GTK2_IM is defined.</para>
|
||||||
|
/// <para>You need to open IDE dialog "Tools / Configure 'Build Lazarus'", and there enable the define: WITH_GTK2_IM; then recompile the IDE.</para>
|
||||||
|
/// </remarks>
|
||||||
|
property OnIMEPreEditEnd : TNotifyEvent read FOnIMEPreEditEnd write FOnIMEPreEditEnd;
|
||||||
|
/// <summary>
|
||||||
|
/// The preedit-changed signal is emitted whenever the preedit sequence currently being entered has changed.
|
||||||
|
/// It is also emitted at the end of a preedit sequence, in which case gtk_im_context_get_preedit_string() returns the empty string.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// <para><see href="https://docs.gtk.org/gtk4/class.IMContext.html">See the GtkIMContext article.</see></para>
|
||||||
|
/// <para><see href="https://docs.gtk.org/gtk4/signal.IMContext.preedit-changed.html">See the preedit-changed article.</see></para>
|
||||||
|
/// <para>This event is only triggered by Lazarus in GTK2 when WITH_GTK2_IM is defined.</para>
|
||||||
|
/// <para>You need to open IDE dialog "Tools / Configure 'Build Lazarus'", and there enable the define: WITH_GTK2_IM; then recompile the IDE.</para>
|
||||||
|
/// </remarks>
|
||||||
|
property OnIMEPreEditChanged : TOnIMEPreEditChangedEvent read FOnIMEPreEditChanged write FOnIMEPreEditChanged;
|
||||||
|
/// <summary>
|
||||||
|
/// The commit signal is emitted when a complete input sequence has been entered by the user.
|
||||||
|
/// If the commit comes after a preediting sequence, the commit signal is emitted after preedit-end.
|
||||||
|
/// This can be a single character immediately after a key press or the final result of preediting.
|
||||||
|
/// Default handler: The default handler is called after the handlers added via g_signal_connect().
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// <para><see href="https://docs.gtk.org/gtk4/class.IMContext.html">See the GtkIMContext article.</see></para>
|
||||||
|
/// <para><see href="https://docs.gtk.org/gtk4/signal.IMContext.commit.html">See the preedit-start article.</see></para>
|
||||||
|
/// <para>This event is only triggered by Lazarus in GTK2 when WITH_GTK2_IM is defined.</para>
|
||||||
|
/// <para>You need to open IDE dialog "Tools / Configure 'Build Lazarus'", and there enable the define: WITH_GTK2_IM; then recompile the IDE.</para>
|
||||||
|
/// </remarks>
|
||||||
|
property OnIMECommit : TOnIMECommitEvent read FOnIMECommit write FOnIMECommit;
|
||||||
|
{$ENDIF}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Event triggered before the AlphaBlend call that transfer the web contents from the
|
/// Event triggered before the AlphaBlend call that transfer the web contents from the
|
||||||
/// bitmap buffer to the panel when the Transparent property is True.
|
/// bitmap buffer to the panel when the Transparent property is True.
|
||||||
@ -486,6 +546,12 @@ begin
|
|||||||
FSyncObj := nil;
|
FSyncObj := nil;
|
||||||
FMustInitBuffer := True;
|
FMustInitBuffer := True;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
{$IFDEF LINUXFPC}
|
||||||
|
FOnIMEPreEditStart := nil;
|
||||||
|
FOnIMEPreEditEnd := nil;
|
||||||
|
FOnIMEPreEditChanged := nil;
|
||||||
|
FOnIMECommit := nil;
|
||||||
|
{$ENDIF}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
destructor TBufferPanel.Destroy;
|
destructor TBufferPanel.Destroy;
|
||||||
@ -995,6 +1061,41 @@ begin
|
|||||||
end;
|
end;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF LINUXFPC}
|
||||||
|
// The LM_IM_COMPOSITION message is only used by Lazarus in GTK2 when WITH_GTK2_IM is defined.
|
||||||
|
// You need to open IDE dialog "Tools / Configure 'Build Lazarus'", and there enable the define: WITH_GTK2_IM; then recompile the IDE.
|
||||||
|
procedure TBufferPanel.WMIMEComposition(var aMessage: TMessage);
|
||||||
|
var
|
||||||
|
TempText : ustring;
|
||||||
|
TempCommit : string;
|
||||||
|
begin
|
||||||
|
case aMessage.WPARAM of
|
||||||
|
GTK_IM_FLAG_START :
|
||||||
|
if assigned(FOnIMEPreEditStart) then
|
||||||
|
FOnIMEPreEditStart(self);
|
||||||
|
|
||||||
|
GTK_IM_FLAG_END :
|
||||||
|
if assigned(FOnIMEPreEditEnd) then
|
||||||
|
FOnIMEPreEditEnd(self);
|
||||||
|
|
||||||
|
GTK_IM_FLAG_COMMIT :
|
||||||
|
if assigned(FOnIMECommit) then
|
||||||
|
begin
|
||||||
|
TempCommit := pchar(aMessage.LPARAM);
|
||||||
|
TempText := UTF8Decode(TempCommit);
|
||||||
|
FOnIMECommit(self, TempText);
|
||||||
|
end;
|
||||||
|
|
||||||
|
else
|
||||||
|
if assigned(FOnIMEPreEditChanged) then
|
||||||
|
begin
|
||||||
|
TempText := UTF8Decode(pchar(aMessage.LPARAM));
|
||||||
|
FOnIMEPreEditChanged(self, aMessage.WPARAM, TempText);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
function TBufferPanel.GetBufferBits : pointer;
|
function TBufferPanel.GetBufferBits : pointer;
|
||||||
begin
|
begin
|
||||||
if (FBuffer <> nil) and (FBuffer.Height <> 0) then
|
if (FBuffer <> nil) and (FBuffer.Height <> 0) then
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
CEF_SUPPORTED_VERSION_MAJOR = 132;
|
CEF_SUPPORTED_VERSION_MAJOR = 132;
|
||||||
CEF_SUPPORTED_VERSION_MINOR = 3;
|
CEF_SUPPORTED_VERSION_MINOR = 3;
|
||||||
CEF_SUPPORTED_VERSION_RELEASE = 1;
|
CEF_SUPPORTED_VERSION_RELEASE = 2;
|
||||||
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;
|
||||||
CEF_CHROMEELF_VERSION_MINOR = 0;
|
CEF_CHROMEELF_VERSION_MINOR = 0;
|
||||||
CEF_CHROMEELF_VERSION_RELEASE = 6834;
|
CEF_CHROMEELF_VERSION_RELEASE = 6834;
|
||||||
CEF_CHROMEELF_VERSION_BUILD = 83;
|
CEF_CHROMEELF_VERSION_BUILD = 161;
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
"UpdateLazPackages" : [
|
"UpdateLazPackages" : [
|
||||||
{
|
{
|
||||||
"ForceNotify" : true,
|
"ForceNotify" : true,
|
||||||
"InternalVersion" : 694,
|
"InternalVersion" : 695,
|
||||||
"Name" : "cef4delphi_lazarus.lpk",
|
"Name" : "cef4delphi_lazarus.lpk",
|
||||||
"Version" : "132.3.1"
|
"Version" : "132.3.2"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"UpdatePackageData" : {
|
"UpdatePackageData" : {
|
||||||
|
Reference in New Issue
Block a user