1
0
mirror of https://github.com/salvadordf/CEF4Delphi.git synced 2025-08-14 21:42:50 +02:00

Update to CEF 113.1.5

This commit is contained in:
salvadordf
2023-05-17 11:56:49 +02:00
parent c51eb3c265
commit 42d8ba4f85
7 changed files with 107 additions and 20 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 113.1.4 which includes Chromium 113.0.5672.63.
CEF4Delphi uses CEF 113.1.5 which includes Chromium 113.0.5672.93.
The CEF binaries used by CEF4Delphi are available for download at Spotify :
* [Windows 32 bits](https://cef-builds.spotifycdn.com/cef_binary_113.1.4%2Bg327635f%2Bchromium-113.0.5672.63_windows32.tar.bz2)
* [Windows 64 bits](https://cef-builds.spotifycdn.com/cef_binary_113.1.4%2Bg327635f%2Bchromium-113.0.5672.63_windows64.tar.bz2)
* [Linux x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_113.1.4%2Bg327635f%2Bchromium-113.0.5672.63_linux64.tar.bz2)
* [Linux ARM 32 bits](https://cef-builds.spotifycdn.com/cef_binary_113.1.4%2Bg327635f%2Bchromium-113.0.5672.63_linuxarm.tar.bz2)
* [Linux ARM 64 bits](https://cef-builds.spotifycdn.com/cef_binary_113.1.4%2Bg327635f%2Bchromium-113.0.5672.63_linuxarm64.tar.bz2)
* [MacOS x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_113.1.4%2Bg327635f%2Bchromium-113.0.5672.63_macosx64.tar.bz2)
* [Windows 32 bits](https://cef-builds.spotifycdn.com/cef_binary_113.1.5%2Bge452d82%2Bchromium-113.0.5672.93_windows32.tar.bz2)
* [Windows 64 bits](https://cef-builds.spotifycdn.com/cef_binary_113.1.5%2Bge452d82%2Bchromium-113.0.5672.93_windows64.tar.bz2)
* [Linux x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_113.1.5%2Bge452d82%2Bchromium-113.0.5672.93_linux64.tar.bz2)
* [Linux ARM 32 bits](https://cef-builds.spotifycdn.com/cef_binary_113.1.5%2Bge452d82%2Bchromium-113.0.5672.93_linuxarm.tar.bz2)
* [Linux ARM 64 bits](https://cef-builds.spotifycdn.com/cef_binary_113.1.5%2Bge452d82%2Bchromium-113.0.5672.93_linuxarm64.tar.bz2)
* [MacOS x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_113.1.5%2Bge452d82%2Bchromium-113.0.5672.93_macosx64.tar.bz2)
CEF4Delphi was developed and tested on Delphi 11.3 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.6/FPC 3.2.2. CEF4Delphi includes VCL, FireMonkey (FMX) and Lazarus components.

View File

@@ -68,19 +68,23 @@ type
FDefaultURL : ustring;
FDelayMs : integer;
FOnSnapshotAvailable : TNotifyEvent;
FOnHTMLAvailable : TNotifyEvent;
FOnError : TNotifyEvent;
FErrorCode : integer;
FErrorText : ustring;
FFailedUrl : ustring;
FPendingUrl : ustring;
FSyncEvents : boolean;
FHTMLcopy : ustring;
function GetErrorCode : integer;
function GetErrorText : ustring;
function GetFailedUrl : ustring;
function GetHTMLcopy : ustring;
function GetInitialized : boolean;
procedure SetErrorText(const aValue : ustring);
procedure SetHTMLcopy(const aValue : ustring);
procedure Browser_OnAfterCreated(Sender: TObject; const browser: ICefBrowser);
procedure Browser_OnPaint(Sender: TObject; const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; aWidth, aHeight: Integer);
@@ -93,9 +97,11 @@ type
procedure Browser_OnBeforeClose(Sender: TObject; const browser: ICefBrowser);
procedure Browser_OnLoadError(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; errorCode: Integer; const errorText, failedUrl: ustring);
procedure Browser_OnLoadingStateChange(Sender: TObject; const browser: ICefBrowser; isLoading, canGoBack, canGoForward: Boolean);
procedure Browser_OnTextResultAvailable(Sender: TObject; const aText : ustring);
procedure DoOnError;
procedure DoOnSnapshotAvailable;
procedure DoOnHTMLAvailable;
procedure Resize;
function CreateBrowser : boolean;
procedure CloseBrowser;
@@ -120,8 +126,10 @@ type
property Initialized : boolean read GetInitialized;
property Closing : boolean read FClosing;
property SyncEvents : boolean read FSyncEvents write FSyncEvents;
property HTMLcopy : ustring read GetHTMLcopy write SetHTMLcopy;
property OnSnapshotAvailable : TNotifyEvent read FOnSnapshotAvailable write FOnSnapshotAvailable;
property OnHTMLAvailable : TNotifyEvent read FOnHTMLAvailable write FOnHTMLAvailable;
property OnError : TNotifyEvent read FOnError write FOnError;
end;
@@ -154,6 +162,7 @@ begin
FBrowserInfoCS := nil;
FDelayMs := aDelayMs;
FOnSnapshotAvailable := nil;
FOnHTMLAvailable := nil;
FOnError := nil;
FClosing := False;
FSyncEvents := False;
@@ -206,6 +215,7 @@ begin
FBrowser.OnBeforeClose := Browser_OnBeforeClose;
FBrowser.OnLoadError := Browser_OnLoadError;
FBrowser.OnLoadingStateChange := Browser_OnLoadingStateChange;
FBrowser.OnTextResultAvailable := Browser_OnTextResultAvailable;
end;
function TCEFBrowserThread.GetErrorCode : integer;
@@ -247,6 +257,19 @@ begin
Result := '';
end;
function TCEFBrowserThread.GetHTMLcopy : ustring;
begin
if assigned(FBrowserInfoCS) then
try
FBrowserInfoCS.Acquire;
Result := FHTMLcopy;
finally
FBrowserInfoCS.Release;
end
else
Result := '';
end;
function TCEFBrowserThread.GetInitialized : boolean;
begin
Result := False;
@@ -271,6 +294,17 @@ begin
end;
end;
procedure TCEFBrowserThread.SetHTMLcopy(const aValue : ustring);
begin
if assigned(FBrowserInfoCS) then
try
FBrowserInfoCS.Acquire;
FHTMLcopy := aValue;
finally
FBrowserInfoCS.Release;
end;
end;
function TCEFBrowserThread.CopySnapshot(var aSnapshot : TBitmap) : boolean;
begin
Result := False;
@@ -566,6 +600,19 @@ begin
PostThreadMessage(ThreadID, CEF_WEBPAGE_LOADED_MSG, 0, 0);
end;
procedure TCEFBrowserThread.Browser_OnTextResultAvailable(Sender: TObject; const aText : ustring);
begin
HTMLcopy := aText;
if assigned(FOnHTMLAvailable) then
begin
if FSyncEvents then
Synchronize(DoOnHTMLAvailable)
else
DoOnHTMLAvailable;
end;
end;
procedure TCEFBrowserThread.Resize;
begin
if FClosing or Terminated or not(Initialized) then exit;
@@ -620,6 +667,9 @@ begin
if (FDelayMs > 0) then
sleep(FDelayMs);
if assigned(FOnHTMLAvailable) then
FBrowser.RetrieveHTML();
if assigned(FOnSnapshotAvailable) then
begin
if FSyncEvents then
@@ -659,6 +709,11 @@ begin
FOnSnapshotAvailable(self);
end;
procedure TCEFBrowserThread.DoOnHTMLAvailable;
begin
FOnHTMLAvailable(self);
end;
procedure TCEFBrowserThread.InitError;
begin
ErrorText := 'There was an error initializing the CEF browser.';

View File

@@ -18,15 +18,25 @@ object WebpageSnapshotFrm: TWebpageSnapshotFrm
Left = 0
Top = 25
Width = 1028
Height = 692
Height = 532
Align = alClient
AutoSize = True
Center = True
Proportional = True
ExplicitLeft = 104
ExplicitTop = 112
ExplicitWidth = 105
ExplicitHeight = 105
ExplicitWidth = 777
ExplicitHeight = 329
end
object Splitter1: TSplitter
Left = 0
Top = 557
Width = 1028
Height = 3
Cursor = crVSplit
Align = alBottom
ExplicitTop = 25
ExplicitWidth = 535
end
object StatusBar1: TStatusBar
Left = 0
@@ -37,8 +47,8 @@ object WebpageSnapshotFrm: TWebpageSnapshotFrm
item
Width = 1000
end>
ExplicitTop = 718
ExplicitWidth = 1032
ExplicitTop = 716
ExplicitWidth = 1024
end
object NavigationPnl: TPanel
Left = 0
@@ -52,9 +62,9 @@ object WebpageSnapshotFrm: TWebpageSnapshotFrm
Padding.Right = 2
Padding.Bottom = 2
TabOrder = 1
ExplicitWidth = 1032
ExplicitWidth = 1024
object GoBtn: TButton
Left = 955
Left = 951
Top = 2
Width = 75
Height = 21
@@ -62,15 +72,27 @@ object WebpageSnapshotFrm: TWebpageSnapshotFrm
Caption = 'Go'
TabOrder = 0
OnClick = GoBtnClick
ExplicitLeft = 947
end
object AddressEdt: TEdit
Left = 2
Top = 2
Width = 953
Width = 949
Height = 21
Align = alClient
TabOrder = 1
Text = 'https://www.google.com'
ExplicitWidth = 945
end
end
object Memo1: TMemo
Left = 0
Top = 560
Width = 1028
Height = 157
Align = alBottom
ReadOnly = True
ScrollBars = ssBoth
TabOrder = 2
end
end

View File

@@ -58,6 +58,8 @@ type
NavigationPnl: TPanel;
GoBtn: TButton;
AddressEdt: TEdit;
Memo1: TMemo;
Splitter1: TSplitter;
procedure GoBtnClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
@@ -67,6 +69,7 @@ type
procedure Thread_OnError(Sender: TObject);
procedure Thread_OnSnapshotAvailable(Sender: TObject);
procedure Thread_OnHTMLAvailable(Sender: TObject);
end;
var
@@ -114,6 +117,7 @@ begin
FThread := TCEFBrowserThread.Create(AddressEdt.Text, 1024, 768);
FThread.OnError := Thread_OnError;
FThread.OnSnapshotAvailable := Thread_OnSnapshotAvailable;
FThread.OnHTMLAvailable := Thread_OnHTMLAvailable;
FThread.SyncEvents := True;
FThread.Start;
end
@@ -162,4 +166,10 @@ begin
StatusBar1.Panels[0].Text := 'There was an error copying the snapshot';
end;
procedure TWebpageSnapshotFrm.Thread_OnHTMLAvailable(Sender: TObject);
begin
if (FThread <> nil) then
Memo1.Lines.Add(FThread.HTMLcopy);
end;
end.

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="113" Minor="1" Release="4"/>
<Version Major="113" Minor="1" Release="5"/>
<Files Count="214">
<Item1>
<Filename Value="..\source\uCEFAccessibilityHandler.pas"/>

View File

@@ -1,9 +1,9 @@
CEF_SUPPORTED_VERSION_MAJOR = 113;
CEF_SUPPORTED_VERSION_MINOR = 1;
CEF_SUPPORTED_VERSION_RELEASE = 4;
CEF_SUPPORTED_VERSION_RELEASE = 5;
CEF_SUPPORTED_VERSION_BUILD = 0;
CEF_CHROMEELF_VERSION_MAJOR = CEF_SUPPORTED_VERSION_MAJOR;
CEF_CHROMEELF_VERSION_MINOR = 0;
CEF_CHROMEELF_VERSION_RELEASE = 5672;
CEF_CHROMEELF_VERSION_BUILD = 63;
CEF_CHROMEELF_VERSION_BUILD = 93;

View File

@@ -2,9 +2,9 @@
"UpdateLazPackages" : [
{
"ForceNotify" : true,
"InternalVersion" : 485,
"InternalVersion" : 486,
"Name" : "cef4delphi_lazarus.lpk",
"Version" : "113.1.4"
"Version" : "113.1.5"
}
],
"UpdatePackageData" : {