diff --git a/README.md b/README.md
index d74870ae..fbb492c6 100644
--- a/README.md
+++ b/README.md
@@ -3,10 +3,10 @@ CEF4Delphi is an open source project created by Salvador Díaz Fau to embed Chro
CEF4Delphi is based on DCEF3, made by Henri Gourvest. The original license of DCEF3 still applies to CEF4Delphi. Read the license terms in the first lines of any *.pas file.
-CEF4Delphi uses CEF 81.3.2 which includes Chromium 81.0.4044.138.
+CEF4Delphi uses CEF 81.3.5 which includes Chromium 81.0.4044.138.
The CEF binaries used by CEF4Delphi are available for download at spotify :
-* [32 bits](http://opensource.spotify.com/cefbuilds/cef_binary_81.3.2%2Bgb9282cc%2Bchromium-81.0.4044.138_windows32.tar.bz2)
-* [64 bits](http://opensource.spotify.com/cefbuilds/cef_binary_81.3.2%2Bgb9282cc%2Bchromium-81.0.4044.138_windows64.tar.bz2)
+* [32 bits](http://opensource.spotify.com/cefbuilds/cef_binary_81.3.5%2Bgb547de9%2Bchromium-81.0.4044.138_windows32.tar.bz2)
+* [64 bits](http://opensource.spotify.com/cefbuilds/cef_binary_81.3.5%2Bgb547de9%2Bchromium-81.0.4044.138_windows64.tar.bz2)
CEF4Delphi was developed and tested on Delphi 10.3.3 and it has been tested in Delphi 7, Delphi XE, Delphi 10, Delphi 10.2 and Lazarus 2.0.8/FPC 3.0.4. CEF4Delphi includes VCL, FireMonkey (FMX) and Lazarus components.
diff --git a/demos/Delphi_VCL/MiniBrowser/MiniBrowser.dpr b/demos/Delphi_VCL/MiniBrowser/MiniBrowser.dpr
index dbef3e22..3f036007 100644
--- a/demos/Delphi_VCL/MiniBrowser/MiniBrowser.dpr
+++ b/demos/Delphi_VCL/MiniBrowser/MiniBrowser.dpr
@@ -42,8 +42,8 @@ program MiniBrowser;
uses
{$IFDEF DELPHI16_UP}
- Vcl.Forms,
WinApi.Windows,
+ Vcl.Forms,
{$ELSE}
Forms,
Windows,
@@ -51,7 +51,8 @@ uses
uCEFApplication,
uMiniBrowser in 'uMiniBrowser.pas' {MiniBrowserFrm},
uPreferences in 'uPreferences.pas' {PreferencesFrm},
- uSimpleTextViewer in 'uSimpleTextViewer.pas' {SimpleTextViewerFrm};
+ uSimpleTextViewer in 'uSimpleTextViewer.pas' {SimpleTextViewerFrm},
+ uFindFrm in 'uFindFrm.pas' {FindFrm};
{$R *.res}
@@ -69,6 +70,7 @@ begin
Application.CreateForm(TMiniBrowserFrm, MiniBrowserFrm);
Application.CreateForm(TPreferencesFrm, PreferencesFrm);
Application.CreateForm(TSimpleTextViewerFrm, SimpleTextViewerFrm);
+ Application.CreateForm(TFindFrm, FindFrm);
Application.Run;
end;
diff --git a/demos/Delphi_VCL/MiniBrowser/MiniBrowser.dproj b/demos/Delphi_VCL/MiniBrowser/MiniBrowser.dproj
index 4c1367b9..4bcc45e1 100644
--- a/demos/Delphi_VCL/MiniBrowser/MiniBrowser.dproj
+++ b/demos/Delphi_VCL/MiniBrowser/MiniBrowser.dproj
@@ -146,6 +146,9 @@
+
+
+
Cfg_2
Base
@@ -175,7 +178,7 @@
-
+
MiniBrowser.exe
true
diff --git a/demos/Delphi_VCL/MiniBrowser/uFindFrm.dfm b/demos/Delphi_VCL/MiniBrowser/uFindFrm.dfm
new file mode 100644
index 00000000..7f6fa49d
--- /dev/null
+++ b/demos/Delphi_VCL/MiniBrowser/uFindFrm.dfm
@@ -0,0 +1,71 @@
+object FindFrm: TFindFrm
+ Left = 0
+ Top = 0
+ BorderIcons = [biSystemMenu]
+ BorderStyle = bsToolWindow
+ Caption = 'Find Text'
+ ClientHeight = 33
+ ClientWidth = 554
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ Padding.Left = 5
+ Padding.Top = 5
+ Padding.Right = 5
+ Padding.Bottom = 5
+ OldCreateOrder = False
+ Position = poScreenCenter
+ OnClose = FormClose
+ OnShow = FormShow
+ PixelsPerInch = 96
+ TextHeight = 13
+ object FindPrevBtn: TSpeedButton
+ Left = 503
+ Top = 5
+ Width = 23
+ Height = 23
+ Align = alRight
+ Caption = #231
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Wingdings'
+ Font.Style = []
+ ParentFont = False
+ OnClick = FindPrevBtnClick
+ ExplicitLeft = 536
+ ExplicitTop = 16
+ ExplicitHeight = 22
+ end
+ object FindNextBtn: TSpeedButton
+ Left = 526
+ Top = 5
+ Width = 23
+ Height = 23
+ Align = alRight
+ Caption = #232
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Wingdings'
+ Font.Style = []
+ ParentFont = False
+ OnClick = FindNextBtnClick
+ ExplicitLeft = 540
+ ExplicitTop = 18
+ ExplicitHeight = 22
+ end
+ object FindTextEdt: TEdit
+ Left = 5
+ Top = 5
+ Width = 492
+ Height = 23
+ Align = alLeft
+ TabOrder = 0
+ OnChange = FindTextEdtChange
+ ExplicitHeight = 20
+ end
+end
diff --git a/demos/Delphi_VCL/MiniBrowser/uFindFrm.pas b/demos/Delphi_VCL/MiniBrowser/uFindFrm.pas
new file mode 100644
index 00000000..d3da2c55
--- /dev/null
+++ b/demos/Delphi_VCL/MiniBrowser/uFindFrm.pas
@@ -0,0 +1,65 @@
+unit uFindFrm;
+
+interface
+
+uses
+ Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
+ Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Buttons, Vcl.StdCtrls;
+
+type
+ TFindFrm = class(TForm)
+ FindTextEdt: TEdit;
+ FindPrevBtn: TSpeedButton;
+ FindNextBtn: TSpeedButton;
+ procedure FindTextEdtChange(Sender: TObject);
+ procedure FormShow(Sender: TObject);
+ procedure FindPrevBtnClick(Sender: TObject);
+ procedure FindNextBtnClick(Sender: TObject);
+ procedure FormClose(Sender: TObject; var Action: TCloseAction);
+ private
+ FSearchID : integer;
+ FFirstNext : boolean;
+ end;
+
+var
+ FindFrm: TFindFrm;
+
+implementation
+
+{$R *.dfm}
+
+uses
+ uMiniBrowser;
+
+
+procedure TFindFrm.FindNextBtnClick(Sender: TObject);
+begin
+ MiniBrowserFrm.Chromium1.Find(FSearchID, FindTextEdt.Text, True, False, FFirstNext);
+ FFirstNext := True;
+end;
+
+procedure TFindFrm.FindPrevBtnClick(Sender: TObject);
+begin
+ MiniBrowserFrm.Chromium1.Find(FSearchID, FindTextEdt.Text, False, False, FFirstNext);
+ FFirstNext := True;
+end;
+
+procedure TFindFrm.FindTextEdtChange(Sender: TObject);
+begin
+ FindPrevBtn.Enabled := (length(FindTextEdt.Text) > 0);
+ FindNextBtn.Enabled := FindPrevBtn.Enabled;
+end;
+
+procedure TFindFrm.FormClose(Sender: TObject; var Action: TCloseAction);
+begin
+ MiniBrowserFrm.Chromium1.StopFinding(True);
+end;
+
+procedure TFindFrm.FormShow(Sender: TObject);
+begin
+ FindTextEdt.Text := '';
+ FFirstNext := False;
+ inc(FSearchID);
+end;
+
+end.
diff --git a/demos/Delphi_VCL/MiniBrowser/uMiniBrowser.dfm b/demos/Delphi_VCL/MiniBrowser/uMiniBrowser.dfm
index 2b7ee251..44ecb598 100644
--- a/demos/Delphi_VCL/MiniBrowser/uMiniBrowser.dfm
+++ b/demos/Delphi_VCL/MiniBrowser/uMiniBrowser.dfm
@@ -371,6 +371,10 @@ object MiniBrowserFrm: TMiniBrowserFrm
Caption = 'Flush cookies'
OnClick = Flushcookies1Click
end
+ object FindText1: TMenuItem
+ Caption = 'Find text...'
+ OnClick = FindText1Click
+ end
object N5: TMenuItem
Caption = '-'
end
diff --git a/demos/Delphi_VCL/MiniBrowser/uMiniBrowser.pas b/demos/Delphi_VCL/MiniBrowser/uMiniBrowser.pas
index aed81697..92152980 100644
--- a/demos/Delphi_VCL/MiniBrowser/uMiniBrowser.pas
+++ b/demos/Delphi_VCL/MiniBrowser/uMiniBrowser.pas
@@ -129,6 +129,7 @@ type
Simulatekeyboardpresses1: TMenuItem;
Flushcookies1: TMenuItem;
Acceptlanguage1: TMenuItem;
+ FindText1: TMenuItem;
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
@@ -191,6 +192,7 @@ type
procedure Acceptlanguage1Click(Sender: TObject);
procedure PopupMenu1Popup(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
+ procedure FindText1Click(Sender: TObject);
protected
FResponse : TStringList;
@@ -248,7 +250,7 @@ implementation
uses
uPreferences, uCefStringMultimap, uCEFMiscFunctions, uSimpleTextViewer,
- uCEFClient;
+ uCEFClient, uFindFrm;
// Destruction steps
// =================
@@ -966,6 +968,11 @@ begin
ShowStatusText('Zoom : ' + floattostr(aZoomPct) + '%');
end;
+procedure TMiniBrowserFrm.FindText1Click(Sender: TObject);
+begin
+ FindFrm.Show;
+end;
+
procedure TMiniBrowserFrm.Flushcookies1Click(Sender: TObject);
begin
if not(Chromium1.FlushCookieStore(False)) then
diff --git a/packages/CEF4Delphi_FMX.dproj b/packages/CEF4Delphi_FMX.dproj
index 0600b176..9911b18e 100644
--- a/packages/CEF4Delphi_FMX.dproj
+++ b/packages/CEF4Delphi_FMX.dproj
@@ -1191,6 +1191,7 @@
True
True
+ False
12
diff --git a/packages/cef4delphi_lazarus.lpk b/packages/cef4delphi_lazarus.lpk
index e0953523..c47ddb9e 100644
--- a/packages/cef4delphi_lazarus.lpk
+++ b/packages/cef4delphi_lazarus.lpk
@@ -21,7 +21,7 @@
-
+
diff --git a/packages/res/tcefmediaobservercomponent.bmp b/packages/res/tcefmediaobservercomponent.bmp
deleted file mode 100644
index f9773f95..00000000
Binary files a/packages/res/tcefmediaobservercomponent.bmp and /dev/null differ
diff --git a/packages/res/tcefmediaobservercomponent.png b/packages/res/tcefmediaobservercomponent.png
deleted file mode 100644
index 16cf261b..00000000
Binary files a/packages/res/tcefmediaobservercomponent.png and /dev/null differ
diff --git a/source/res/tcefmediaobservercomponent.lrs b/source/res/tcefmediaobservercomponent.lrs
deleted file mode 100644
index 99661775..00000000
--- a/source/res/tcefmediaobservercomponent.lrs
+++ /dev/null
@@ -1,41 +0,0 @@
-LazarusResources.Add('tcefmediaobservercomponent','PNG',[
- #137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#24#0#0#0#24#8#6#0#0#0#224'w='#248#0
- +#0#0#25'tEXtSoftware'#0'Adobe ImageReadyq'#201'e<'#0#0#3'NIDATx'#218#236#149
- +';H'#155'Q'#20#199'O'#222#205#163'&1'#26'c(D'#173#17#137#165'>'#161'T'#176
- +#226#11'\'#138' 8'#22#29#186'uq'#176'K'#199#14'.A'#7'7'#7'A('#182#179#184'd'
- +#136'C'#16#130#214#7'!'#193#162#245#17#18'k'#242'Uc'#30#26#147'*1'#233#255'D'
- +'#)H;'#20'7'#15#252#248#174#247#158#251'?'#247#156'{r'#21#229'r9'#186'O'#19
- +#211'='#219'C'#128#127#154'H,'#190#142'Q'#184#236#162'K/'#1#173#160#19#212#0
- +#19#208#222#172'%'#128#0#246#129#11#172#131#211#188#160'HD'#127'|'#239#8'P'
- +#138#207#27#240#26#232','#22#139#162#186#186#250'Q:'#157#150#135#195'a)'#251
- +'TVVf'#148'J'#229#165#223#239#255#21#8#4'.0'#21#7#11#224#19#132#163#127#11
- +#208#14#222#235#245'z'#243#192#192'@E'#127#127#127#153#201'dR'#207#206#206
- +#210#198#198#198#237'&'#246'mii'#161#145#145#17#18#4#225#220#225'pD'#230#231
- +#231#127#198'b'#177#16#150#237#192']'#240#149#20#6#176'W`'#172#167#167#167'j'
- +'rr'#178'app'#176#172#174#174'N'#238'Xt'#147'L]NJ'#149#138#162#17#129'$'#18#9
- +'I'#165'R'#138'D"'#148'H$hxxX'#222#222#222#174#235#234#234'2 '#195#12#178'z'
- +#6#157#16't'#3#249#0'7'#25'Tbb'#172#179#179#243#137#221'noill'#148#235't:r'
- +#185'\'#228#255#17#163#143#31#222#145'g3@'#129#189'-'#4#144#146'X,'#197'WL'
- +#161'P'#136#170#170#170#168#169#169#137#204'f'#179#20'Y'#149'mooG'#131#193
- +#160#5#154'_'#161#153#228#0#229#248#227'-'#196'_'#142#142#142#214#183#181#181
- +'i8h6'#155#165#233#233'i'#138''''#146#228#219#22'h'#127'g'#147#190#249'<'#148
- +'L'#158#147'F'#163#165#146#18'='#182'e'#233#236#236#148#186#187#187#243#229
- +'+--'#21'WTT'#168'Q6'#17#238'F'#131#185'-'#190'4;j'#174'@'#205#155'a2'#22'f'
- +#216#14#14#14#232#234'JB'#201'X'#130#188#222'5'#156'\r'#221'B('#141#197'b'
- +#133#184'$'#239#147#201'dn'#219#18#26':'#214#242'z'#189#129'x'#197'{X'#131#181'X'#147#181#11#151'|'#142#178
- +'D<'#30'O'#153#193'`'#144#217'l63ZQ'#164'B'#231#172#174#174#144'L&'#163#154
- +#154#231'd'#179#181'R}}3'#5#131#17#180#231'w'#138#199#5#26#26#26'"'#163#209
- +#136'`W'#185#185#185#185#181#137#137#137'e'#140#191'@s'#183#184#139'8'#213'0'
- +'D'#15#23#23#23#165'h'#183'S'#180#168#193'j'#181#170#225'L>'#223':'#234'.'
- +#208#197'E'#10#223'#'#212#221'G'#209#232'!'#245#245#245'QGG'#7#223#195#241
- +#248#248#184'sjj'#202#5#141#207#144#243#222'>'#21#220#215#197#191'<'#216'c~'
- +#30'p'#250#23#216'l'#237#237#237#181#226#16#166#221#221']'#237#201#201#137
- +#146#29#144'e'#186#182#182'6'#129#172#5#167#211#185#179#180#180#180#147'J'
- +#165'Vn'#158#141#179#226#151#225#174#0#5'c'#177#167#160#1#24#1#247#165#234'f'
- +'-'#5'b'#224#8'l'#130'='#144'.'#222'|'#27#224#225'?'#218'C'#128#255#182#223#2
- +#12#0'+'#130#148'=gv'#220#198#0#0#0#0'IEND'#174'B`'#130
-]);
diff --git a/source/uCEFApplicationCore.pas b/source/uCEFApplicationCore.pas
index d4db2bd7..4966fe93 100644
--- a/source/uCEFApplicationCore.pas
+++ b/source/uCEFApplicationCore.pas
@@ -62,7 +62,7 @@ uses
const
CEF_SUPPORTED_VERSION_MAJOR = 81;
CEF_SUPPORTED_VERSION_MINOR = 3;
- CEF_SUPPORTED_VERSION_RELEASE = 2;
+ CEF_SUPPORTED_VERSION_RELEASE = 5;
CEF_SUPPORTED_VERSION_BUILD = 0;
CEF_CHROMEELF_VERSION_MAJOR = 81;
diff --git a/source/uCEFChromiumCore.pas b/source/uCEFChromiumCore.pas
index 4e5f176e..785e54e5 100644
--- a/source/uCEFChromiumCore.pas
+++ b/source/uCEFChromiumCore.pas
@@ -604,6 +604,7 @@ type
procedure CloseAllBrowsers;
function TryCloseBrowser : boolean;
function SelectBrowser(aID : integer) : boolean;
+ function IndexOfBrowserID(aID : integer) : integer;
function ShareRequestContext(var aContext : ICefRequestContext; const aHandler : ICefRequestContextHandler = nil) : boolean;
{$IFDEF MSWINDOWS}
procedure InitializeDragAndDrop(const aDropTargetWnd : HWND);
@@ -2380,7 +2381,7 @@ begin
try
FBrowsersCS.Acquire;
if (FBrowsers <> nil) then
- Result := FBrowsers.Browser[FBrowserId];
+ Result := FBrowsers.Browser[aID];
finally
FBrowsersCS.Release;
end;
@@ -4772,6 +4773,20 @@ begin
end;
end;
+function TChromiumCore.IndexOfBrowserID(aID : integer) : integer;
+begin
+ Result := -1;
+
+ try
+ FBrowsersCS.Acquire;
+
+ if (FBrowsers <> nil) then
+ Result := FBrowsers.SearchBrowser(aID);
+ finally
+ FBrowsersCS.Release;
+ end;
+end;
+
procedure TChromiumCore.SetBrowserIsClosing(aID : integer);
begin
try
diff --git a/update_CEF4Delphi.json b/update_CEF4Delphi.json
index 4357d543..332360f8 100644
--- a/update_CEF4Delphi.json
+++ b/update_CEF4Delphi.json
@@ -2,9 +2,9 @@
"UpdateLazPackages" : [
{
"ForceNotify" : true,
- "InternalVersion" : 135,
+ "InternalVersion" : 136,
"Name" : "cef4delphi_lazarus.lpk",
- "Version" : "81.3.2.0"
+ "Version" : "81.3.5.0"
}
],
"UpdatePackageData" : {