You've already forked CEF4Delphi
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:
16
README.md
16
README.md
@@ -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.
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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"/>
|
||||||
|
|||||||
@@ -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}
|
||||||
|
|
||||||
|
|||||||
@@ -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';
|
||||||
|
|||||||
@@ -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" : {
|
||||||
|
|||||||
Reference in New Issue
Block a user