1
0
mirror of https://github.com/salvadordf/CEF4Delphi.git synced 2025-11-23 21:34:53 +02:00

Update to CEF 90.6.2

This commit is contained in:
Salvador Díaz Fau
2021-04-29 17:00:54 +02:00
parent f044e754fa
commit 8188dd2ca0
9 changed files with 55 additions and 64 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 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 90.6.0 which includes Chromium 90.0.4430.85. CEF4Delphi uses CEF 90.6.2 which includes Chromium 90.0.4430.93.
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_90.6.0%2Bg02ae459%2Bchromium-90.0.4430.85_windows32.tar.bz2) * [Windows 32 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.2%2Bg5c92ffb%2Bchromium-90.0.4430.93_windows32.tar.bz2)
* [Windows 64 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.0%2Bg02ae459%2Bchromium-90.0.4430.85_windows64.tar.bz2) * [Windows 64 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.2%2Bg5c92ffb%2Bchromium-90.0.4430.93_windows64.tar.bz2)
* [Linux x86 32 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.0%2Bg02ae459%2Bchromium-90.0.4430.85_linux32.tar.bz2) * [Linux x86 32 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.2%2Bg5c92ffb%2Bchromium-90.0.4430.93_linux32.tar.bz2)
* [Linux x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.0%2Bg02ae459%2Bchromium-90.0.4430.85_linux64.tar.bz2) * [Linux x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.2%2Bg5c92ffb%2Bchromium-90.0.4430.93_linux64.tar.bz2)
* [Linux ARM 32 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.0%2Bg02ae459%2Bchromium-90.0.4430.85_linuxarm.tar.bz2) * [Linux ARM 32 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.2%2Bg5c92ffb%2Bchromium-90.0.4430.93_linuxarm.tar.bz2)
* [Linux ARM 64 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.0%2Bg02ae459%2Bchromium-90.0.4430.85_linuxarm64.tar.bz2) * [Linux ARM 64 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.2%2Bg5c92ffb%2Bchromium-90.0.4430.93_linuxarm64.tar.bz2)
* [MacOS x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.0%2Bg02ae459%2Bchromium-90.0.4430.85_macosx64.tar.bz2) * [MacOS x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.2%2Bg5c92ffb%2Bchromium-90.0.4430.93_macosx64.tar.bz2)
CEF4Delphi was developed and tested on Delphi 10.4.2 and it has been tested in Delphi 7, Delphi XE, Delphi 10, Delphi 10.2, Delphi 10.3 and Lazarus 2.0.12/FPC 3.2.0. CEF4Delphi includes VCL, FireMonkey (FMX) and Lazarus components. CEF4Delphi was developed and tested on Delphi 10.4.2 and it has been tested in Delphi 7, Delphi XE, Delphi 10, Delphi 10.2, Delphi 10.3 and Lazarus 2.0.12/FPC 3.2.0. CEF4Delphi includes VCL, FireMonkey (FMX) and Lazarus components.

View File

@@ -15,7 +15,7 @@ object Form1: TForm1
OnDestroy = FormDestroy OnDestroy = FormDestroy
OnShow = FormShow OnShow = FormShow
Position = poScreenCenter Position = poScreenCenter
LCLVersion = '2.0.6.0' LCLVersion = '2.0.12.0'
object Splitter1: TSplitter object Splitter1: TSplitter
Cursor = crVSplit Cursor = crVSplit
Left = 0 Left = 0
@@ -82,8 +82,8 @@ object Form1: TForm1
Enabled = False Enabled = False
Interval = 300 Interval = 300
OnTimer = Timer1Timer OnTimer = Timer1Timer
left = 56 Left = 56
top = 88 Top = 88
end end
object Chromium1: TChromium object Chromium1: TChromium
OnBeforePopup = Chromium1BeforePopup OnBeforePopup = Chromium1BeforePopup
@@ -91,7 +91,7 @@ object Form1: TForm1
OnBeforeClose = Chromium1BeforeClose OnBeforeClose = Chromium1BeforeClose
OnClose = Chromium1Close OnClose = Chromium1Close
OnBeforeResourceLoad = Chromium1BeforeResourceLoad OnBeforeResourceLoad = Chromium1BeforeResourceLoad
left = 56 Left = 56
top = 152 Top = 152
end end
end end

View File

@@ -68,7 +68,6 @@ type
Memo1: TMemo; Memo1: TMemo;
AddressCb: TComboBox; AddressCb: TComboBox;
Splitter1: TSplitter; Splitter1: TSplitter;
procedure CEFSentinel1Close(Sender: TObject);
procedure GoBtnClick(Sender: TObject); procedure GoBtnClick(Sender: TObject);
procedure FormShow(Sender: TObject); procedure FormShow(Sender: TObject);
procedure Timer1Timer(Sender: TObject); procedure Timer1Timer(Sender: TObject);
@@ -435,11 +434,6 @@ begin
Chromium1.LoadURL(AddressCb.Text); Chromium1.LoadURL(AddressCb.Text);
end; end;
procedure TForm1.CEFSentinel1Close(Sender: TObject);
begin
end;
procedure TForm1.Timer1Timer(Sender: TObject); procedure TForm1.Timer1Timer(Sender: TObject);
begin begin
Timer1.Enabled := False; Timer1.Enabled := False;

View File

@@ -16,7 +16,7 @@ object URLRequestFrm: TURLRequestFrm
OnCreate = FormCreate OnCreate = FormCreate
OnDestroy = FormDestroy OnDestroy = FormDestroy
Position = poScreenCenter Position = poScreenCenter
LCLVersion = '2.0.6.0' LCLVersion = '2.0.12.0'
object StatusBar1: TStatusBar object StatusBar1: TStatusBar
Left = 0 Left = 0
Height = 23 Height = 23
@@ -192,15 +192,15 @@ object URLRequestFrm: TURLRequestFrm
end end
end end
object SaveDialog1: TSaveDialog object SaveDialog1: TSaveDialog
left = 448 Left = 448
top = 104 Top = 104
end end
object CEFUrlRequestClientComponent1: TCEFUrlRequestClientComponent object CEFUrlRequestClientComponent1: TCEFUrlRequestClientComponent
OnRequestComplete = CEFUrlRequestClientComponent1RequestComplete OnRequestComplete = CEFUrlRequestClientComponent1RequestComplete
OnDownloadProgress = CEFUrlRequestClientComponent1DownloadProgress OnDownloadProgress = CEFUrlRequestClientComponent1DownloadProgress
OnDownloadData = CEFUrlRequestClientComponent1DownloadData OnDownloadData = CEFUrlRequestClientComponent1DownloadData
OnCreateURLRequest = CEFUrlRequestClientComponent1CreateURLRequest OnCreateURLRequest = CEFUrlRequestClientComponent1CreateURLRequest
left = 304 Left = 304
top = 104 Top = 104
end end
end end

View File

@@ -50,7 +50,7 @@ uses
Controls, Forms, Dialogs, ComCtrls, StdCtrls, Controls, Forms, Dialogs, ComCtrls, StdCtrls,
{$ENDIF} {$ENDIF}
uCEFInterfaces, uCEFUrlRequestClientComponent, uCEFRequest, uCEFUrlRequest, uCEFInterfaces, uCEFUrlRequestClientComponent, uCEFRequest, uCEFUrlRequest,
uCEFSentinel; uCEFSentinel, uCEFUrlRequestClientEvents, uCEFTypes;
const const
URLREQUEST_SUCCESS = WM_APP + $101; URLREQUEST_SUCCESS = WM_APP + $101;
@@ -84,7 +84,6 @@ type
PostParam2NameEdt: TEdit; PostParam2NameEdt: TEdit;
PostParam2ValueEdt: TEdit; PostParam2ValueEdt: TEdit;
procedure CEFSentinel1Close(Sender: TObject);
procedure DownloadBtnClick(Sender: TObject); procedure DownloadBtnClick(Sender: TObject);
procedure SendPostReqBtnClick(Sender: TObject); procedure SendPostReqBtnClick(Sender: TObject);
@@ -144,7 +143,7 @@ implementation
// 3- in the TCEFUrlRequestClientComponent.OnRequestComplete event we set FCanClose to TRUE and send WM_CLOSE to the form. // 3- in the TCEFUrlRequestClientComponent.OnRequestComplete event we set FCanClose to TRUE and send WM_CLOSE to the form.
uses uses
uCEFApplication, uCEFMiscFunctions, uCEFTypes, uCEFPostData, uCEFPostDataElement, uCEFConstants; uCEFApplication, uCEFMiscFunctions, uCEFPostData, uCEFPostDataElement, uCEFConstants;
procedure CreateGlobalCEFApp; procedure CreateGlobalCEFApp;
begin begin
@@ -202,9 +201,23 @@ begin
end; end;
end; end;
procedure TURLRequestFrm.CEFSentinel1Close(Sender: TObject); procedure TURLRequestFrm.CEFUrlRequestClientComponent1DownloadData(
Sender: TObject; const request: ICefUrlRequest; data: Pointer;
dataLength: NativeUInt);
begin begin
try
if FClosing then
request.Cancel
else
if FSendingGET then
begin
if (data <> nil) and (dataLength > 0) then
FMemStream.WriteBuffer(data^, dataLength);
end;
except
on e : exception do
if CustomExceptionHandler('TURLRequestFrm.CEFUrlRequestClientComponent1DownloadData', e) then raise;
end;
end; end;
procedure TURLRequestFrm.FormCloseQuery(Sender: TObject; var CanClose: Boolean); procedure TURLRequestFrm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
@@ -318,23 +331,6 @@ begin
end; end;
end; end;
procedure TURLRequestFrm.CEFUrlRequestClientComponent1DownloadData(Sender: TObject; const request: ICefUrlRequest; data: Pointer; dataLength: NativeUInt);
begin
try
if FClosing then
request.Cancel
else
if FSendingGET then
begin
if (data <> nil) and (dataLength > 0) then
FMemStream.WriteBuffer(data^, dataLength);
end;
except
on e : exception do
if CustomExceptionHandler('TURLRequestFrm.CEFUrlRequestClientComponent1DownloadData', e) then raise;
end;
end;
procedure TURLRequestFrm.CEFUrlRequestClientComponent1DownloadProgress(Sender: TObject; const request: ICefUrlRequest; current, total: Int64); procedure TURLRequestFrm.CEFUrlRequestClientComponent1DownloadProgress(Sender: TObject; const request: ICefUrlRequest; current, total: Int64);
begin begin
if FClosing then if FClosing then

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="90" Minor="6"/> <Version Major="90" Minor="6" Release="2"/>
<Files Count="201"> <Files Count="201">
<Item1> <Item1>
<Filename Value="..\source\uCEFAccessibilityHandler.pas"/> <Filename Value="..\source\uCEFAccessibilityHandler.pas"/>

View File

@@ -88,8 +88,7 @@ type
FDestroyApplicationObject : boolean; FDestroyApplicationObject : boolean;
FDestroyAppWindows : boolean; FDestroyAppWindows : boolean;
{$IFDEF FPC} {$IFDEF FPC}
FContextInitializedHandlers: TMethodList; FContextInitializedHandlers : TMethodList;
FContextInitializedDone: Boolean;
procedure CallContextInitializedHandlers(Data: PtrInt); procedure CallContextInitializedHandlers(Data: PtrInt);
{$ENDIF} {$ENDIF}
@@ -222,11 +221,11 @@ begin
if (GlobalCEFApp = Self) then if (GlobalCEFApp = Self) then
GlobalCEFApp := nil; GlobalCEFApp := nil;
inherited Destroy;
{$IFDEF FPC} {$IFDEF FPC}
FContextInitializedHandlers.Free; FreeAndNil(FContextInitializedHandlers);
{$ENDIF} {$ENDIF}
inherited Destroy;
end; end;
procedure TCefApplication.UpdateDeviceScaleFactor; procedure TCefApplication.UpdateDeviceScaleFactor;
@@ -269,27 +268,29 @@ end;
procedure TCefApplication.Internal_OnContextInitialized; procedure TCefApplication.Internal_OnContextInitialized;
begin begin
inherited Internal_OnContextInitialized; inherited Internal_OnContextInitialized;
Application.QueueAsyncCall(@CallContextInitializedHandlers, 0); Application.QueueAsyncCall(@CallContextInitializedHandlers, 0);
end; end;
procedure TCefApplication.AddContextInitializedHandler(AHandler: TNotifyEvent); procedure TCefApplication.AddContextInitializedHandler(AHandler: TNotifyEvent);
begin begin
if FGlobalContextInitialized then
AHandler(Self)
else
if (FContextInitializedHandlers <> nil) then
FContextInitializedHandlers.Add(TMethod(AHandler)); FContextInitializedHandlers.Add(TMethod(AHandler));
if FContextInitializedDone then
AHandler(Self);
end; end;
procedure TCefApplication.RemoveContextInitializedHandler(AHandler: TNotifyEvent); procedure TCefApplication.RemoveContextInitializedHandler(AHandler: TNotifyEvent);
begin begin
if (FContextInitializedHandlers <> nil) then
FContextInitializedHandlers.Remove(TMethod(AHandler)); FContextInitializedHandlers.Remove(TMethod(AHandler));
end; end;
{$ENDIF}
{$IFDEF FPC}
procedure TCefApplication.CallContextInitializedHandlers(Data: PtrInt); procedure TCefApplication.CallContextInitializedHandlers(Data: PtrInt);
begin begin
if (FContextInitializedHandlers <> nil) then
FContextInitializedHandlers.CallNotifyEvents(Self); FContextInitializedHandlers.CallNotifyEvents(Self);
FContextInitializedDone := True;
end; end;
{$ENDIF} {$ENDIF}

View File

@@ -66,13 +66,13 @@ uses
const const
CEF_SUPPORTED_VERSION_MAJOR = 90; CEF_SUPPORTED_VERSION_MAJOR = 90;
CEF_SUPPORTED_VERSION_MINOR = 6; CEF_SUPPORTED_VERSION_MINOR = 6;
CEF_SUPPORTED_VERSION_RELEASE = 0; CEF_SUPPORTED_VERSION_RELEASE = 2;
CEF_SUPPORTED_VERSION_BUILD = 0; CEF_SUPPORTED_VERSION_BUILD = 0;
CEF_CHROMEELF_VERSION_MAJOR = 90; CEF_CHROMEELF_VERSION_MAJOR = 90;
CEF_CHROMEELF_VERSION_MINOR = 0; CEF_CHROMEELF_VERSION_MINOR = 0;
CEF_CHROMEELF_VERSION_RELEASE = 4430; CEF_CHROMEELF_VERSION_RELEASE = 4430;
CEF_CHROMEELF_VERSION_BUILD = 85; CEF_CHROMEELF_VERSION_BUILD = 93;
{$IFDEF MSWINDOWS} {$IFDEF MSWINDOWS}
LIBCEF_DLL = 'libcef.dll'; LIBCEF_DLL = 'libcef.dll';

View File

@@ -2,9 +2,9 @@
"UpdateLazPackages" : [ "UpdateLazPackages" : [
{ {
"ForceNotify" : true, "ForceNotify" : true,
"InternalVersion" : 284, "InternalVersion" : 285,
"Name" : "cef4delphi_lazarus.lpk", "Name" : "cef4delphi_lazarus.lpk",
"Version" : "90.6.0.0" "Version" : "90.6.2.0"
} }
], ],
"UpdatePackageData" : { "UpdatePackageData" : {