diff --git a/README.md b/README.md index 81b6254d..34c31812 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,10 @@ CEF4Delphi is an open source project created by Salvador D 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 76.1.10 which includes Chromium 76.0.3809.87. +CEF4Delphi uses CEF 76.1.11 which includes Chromium 76.0.3809.132. The CEF binaries used by CEF4Delphi are available for download at spotify : -* [32 bits](http://opensource.spotify.com/cefbuilds/cef_binary_76.1.10%2Bg20d771a%2Bchromium-76.0.3809.87_windows32.tar.bz2) -* [64 bits](http://opensource.spotify.com/cefbuilds/cef_binary_76.1.10%2Bg20d771a%2Bchromium-76.0.3809.87_windows64.tar.bz2) +* [32 bits](http://opensource.spotify.com/cefbuilds/cef_binary_76.1.11%2Bgdc028ce%2Bchromium-76.0.3809.132_windows32.tar.bz2) +* [64 bits](http://opensource.spotify.com/cefbuilds/cef_binary_76.1.11%2Bgdc028ce%2Bchromium-76.0.3809.132_windows64.tar.bz2) CEF4Delphi was developed and tested on Delphi 10.3 Rio and it has been tested in Delphi 7, Delphi XE, Delphi 10, Delphi 10.2 and Lazarus 2.0.4/FPC 3.0.4. CEF4Delphi includes VCL, FireMonkey (FMX) and Lazarus components. diff --git a/demos/Delphi_VCL/MiniBrowser/uMiniBrowser.pas b/demos/Delphi_VCL/MiniBrowser/uMiniBrowser.pas index b969d898..ac4c73c2 100644 --- a/demos/Delphi_VCL/MiniBrowser/uMiniBrowser.pas +++ b/demos/Delphi_VCL/MiniBrowser/uMiniBrowser.pas @@ -1069,27 +1069,29 @@ begin else PreferencesFrm.ProxySchemeCb.ItemIndex := 0; end; - PreferencesFrm.ProxyTypeCbx.ItemIndex := Chromium1.ProxyType; - PreferencesFrm.ProxyServerEdt.Text := Chromium1.ProxyServer; - PreferencesFrm.ProxyPortEdt.Text := inttostr(Chromium1.ProxyPort); - PreferencesFrm.ProxyUsernameEdt.Text := Chromium1.ProxyUsername; - PreferencesFrm.ProxyPasswordEdt.Text := Chromium1.ProxyPassword; - PreferencesFrm.ProxyScriptURLEdt.Text := Chromium1.ProxyScriptURL; - PreferencesFrm.ProxyByPassListEdt.Text := Chromium1.ProxyByPassList; - PreferencesFrm.HeaderNameEdt.Text := Chromium1.CustomHeaderName; - PreferencesFrm.HeaderValueEdt.Text := Chromium1.CustomHeaderValue; + PreferencesFrm.ProxyTypeCbx.ItemIndex := Chromium1.ProxyType; + PreferencesFrm.ProxyServerEdt.Text := Chromium1.ProxyServer; + PreferencesFrm.ProxyPortEdt.Text := inttostr(Chromium1.ProxyPort); + PreferencesFrm.ProxyUsernameEdt.Text := Chromium1.ProxyUsername; + PreferencesFrm.ProxyPasswordEdt.Text := Chromium1.ProxyPassword; + PreferencesFrm.ProxyScriptURLEdt.Text := Chromium1.ProxyScriptURL; + PreferencesFrm.ProxyByPassListEdt.Text := Chromium1.ProxyByPassList; + PreferencesFrm.HeaderNameEdt.Text := Chromium1.CustomHeaderName; + PreferencesFrm.HeaderValueEdt.Text := Chromium1.CustomHeaderValue; + PreferencesFrm.MaxConnectionsPerProxyEdt.Value := Chromium1.MaxConnectionsPerProxy; if (PreferencesFrm.ShowModal = mrOk) then begin - Chromium1.ProxyType := PreferencesFrm.ProxyTypeCbx.ItemIndex; - Chromium1.ProxyServer := PreferencesFrm.ProxyServerEdt.Text; - Chromium1.ProxyPort := strtoint(PreferencesFrm.ProxyPortEdt.Text); - Chromium1.ProxyUsername := PreferencesFrm.ProxyUsernameEdt.Text; - Chromium1.ProxyPassword := PreferencesFrm.ProxyPasswordEdt.Text; - Chromium1.ProxyScriptURL := PreferencesFrm.ProxyScriptURLEdt.Text; - Chromium1.ProxyByPassList := PreferencesFrm.ProxyByPassListEdt.Text; - Chromium1.CustomHeaderName := PreferencesFrm.HeaderNameEdt.Text; - Chromium1.CustomHeaderValue := PreferencesFrm.HeaderValueEdt.Text; + Chromium1.ProxyType := PreferencesFrm.ProxyTypeCbx.ItemIndex; + Chromium1.ProxyServer := PreferencesFrm.ProxyServerEdt.Text; + Chromium1.ProxyPort := strtoint(PreferencesFrm.ProxyPortEdt.Text); + Chromium1.ProxyUsername := PreferencesFrm.ProxyUsernameEdt.Text; + Chromium1.ProxyPassword := PreferencesFrm.ProxyPasswordEdt.Text; + Chromium1.ProxyScriptURL := PreferencesFrm.ProxyScriptURLEdt.Text; + Chromium1.ProxyByPassList := PreferencesFrm.ProxyByPassListEdt.Text; + Chromium1.CustomHeaderName := PreferencesFrm.HeaderNameEdt.Text; + Chromium1.CustomHeaderValue := PreferencesFrm.HeaderValueEdt.Text; + Chromium1.MaxConnectionsPerProxy := PreferencesFrm.MaxConnectionsPerProxyEdt.Value; case PreferencesFrm.ProxySchemeCb.ItemIndex of 1 : Chromium1.ProxyScheme := psSOCKS4; diff --git a/demos/Delphi_VCL/MiniBrowser/uPreferences.dfm b/demos/Delphi_VCL/MiniBrowser/uPreferences.dfm index 3520fb8c..c2898b0b 100644 --- a/demos/Delphi_VCL/MiniBrowser/uPreferences.dfm +++ b/demos/Delphi_VCL/MiniBrowser/uPreferences.dfm @@ -4,7 +4,7 @@ object PreferencesFrm: TPreferencesFrm BorderIcons = [biSystemMenu] BorderStyle = bsSingle Caption = 'Preferences' - ClientHeight = 363 + ClientHeight = 397 ClientWidth = 428 Color = clBtnFace Font.Charset = DEFAULT_CHARSET @@ -19,7 +19,7 @@ object PreferencesFrm: TPreferencesFrm TextHeight = 13 object Button1: TButton Left = 232 - Top = 330 + Top = 364 Width = 75 Height = 25 Caption = 'Ok' @@ -28,7 +28,7 @@ object PreferencesFrm: TPreferencesFrm end object Button2: TButton Left = 345 - Top = 330 + Top = 364 Width = 75 Height = 25 Caption = 'Cancel' @@ -39,7 +39,7 @@ object PreferencesFrm: TPreferencesFrm Left = 8 Top = 8 Width = 412 - Height = 223 + Height = 250 Caption = ' Proxy ' TabOrder = 0 object ProxyTypeLbl: TLabel @@ -91,6 +91,13 @@ object PreferencesFrm: TPreferencesFrm Height = 13 Caption = 'ByPass list' end + object MaxConnectionsPerProxyLbl: TLabel + Left = 12 + Top = 218 + Width = 154 + Height = 13 + Caption = 'Maximum connections per proxy' + end object ProxyTypeCbx: TComboBox Left = 108 Top = 24 @@ -167,10 +174,20 @@ object PreferencesFrm: TPreferencesFrm 'SOCKS4' 'SOCKS5') end + object MaxConnectionsPerProxyEdt: TSpinEdit + Left = 184 + Top = 215 + Width = 216 + Height = 22 + MaxValue = 1024 + MinValue = 1 + TabOrder = 8 + Value = 16 + end end object GroupBox2: TGroupBox Left = 8 - Top = 237 + Top = 271 Width = 412 Height = 84 Caption = ' Custom header ' diff --git a/demos/Delphi_VCL/MiniBrowser/uPreferences.pas b/demos/Delphi_VCL/MiniBrowser/uPreferences.pas index 40ce8584..7d05726b 100644 --- a/demos/Delphi_VCL/MiniBrowser/uPreferences.pas +++ b/demos/Delphi_VCL/MiniBrowser/uPreferences.pas @@ -44,10 +44,10 @@ interface uses {$IFDEF DELPHI16_UP} Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, - Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls; + Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Samples.Spin; {$ELSE} Windows, Messages, SysUtils, Variants, Classes, Graphics, - Controls, Forms, Dialogs, StdCtrls; + Controls, Forms, Dialogs, StdCtrls, Spin; {$ENDIF} type @@ -75,6 +75,8 @@ type HeaderValueEdt: TEdit; HeaderValueLbl: TLabel; ProxySchemeCb: TComboBox; + MaxConnectionsPerProxyLbl: TLabel; + MaxConnectionsPerProxyEdt: TSpinEdit; private { Private declarations } public diff --git a/demos/Lazarus/MiniBrowser/MiniBrowser.lps b/demos/Lazarus/MiniBrowser/MiniBrowser.lps index 341f298a..18d984cf 100644 --- a/demos/Lazarus/MiniBrowser/MiniBrowser.lps +++ b/demos/Lazarus/MiniBrowser/MiniBrowser.lps @@ -4,7 +4,7 @@ - + @@ -22,8 +22,8 @@ - - + + @@ -35,8 +35,12 @@ - + + + + + @@ -63,8 +67,16 @@ + + + + + + + + - + @@ -164,6 +176,18 @@ + + + + + + + + + + + + diff --git a/demos/Lazarus/MiniBrowser/uMiniBrowser.lfm b/demos/Lazarus/MiniBrowser/uMiniBrowser.lfm index 3d083f26..34175799 100644 --- a/demos/Lazarus/MiniBrowser/uMiniBrowser.lfm +++ b/demos/Lazarus/MiniBrowser/uMiniBrowser.lfm @@ -15,7 +15,7 @@ object MiniBrowserFrm: TMiniBrowserFrm OnDestroy = FormDestroy OnShow = FormShow Position = poScreenCenter - LCLVersion = '2.0.2.0' + LCLVersion = '2.0.4.0' object Splitter1: TSplitter Left = 1179 Height = 663 diff --git a/demos/Lazarus/MiniBrowser/uMiniBrowser.pas b/demos/Lazarus/MiniBrowser/uMiniBrowser.pas index ab29dc3e..feedae61 100644 --- a/demos/Lazarus/MiniBrowser/uMiniBrowser.pas +++ b/demos/Lazarus/MiniBrowser/uMiniBrowser.pas @@ -1023,27 +1023,29 @@ begin else PreferencesFrm.ProxySchemeCb.ItemIndex := 0; end; - PreferencesFrm.ProxyTypeCbx.ItemIndex := Chromium1.ProxyType; - PreferencesFrm.ProxyServerEdt.Text := Chromium1.ProxyServer; - PreferencesFrm.ProxyPortEdt.Text := inttostr(Chromium1.ProxyPort); - PreferencesFrm.ProxyUsernameEdt.Text := Chromium1.ProxyUsername; - PreferencesFrm.ProxyPasswordEdt.Text := Chromium1.ProxyPassword; - PreferencesFrm.ProxyScriptURLEdt.Text := Chromium1.ProxyScriptURL; - PreferencesFrm.ProxyByPassListEdt.Text := Chromium1.ProxyByPassList; - PreferencesFrm.HeaderNameEdt.Text := Chromium1.CustomHeaderName; - PreferencesFrm.HeaderValueEdt.Text := Chromium1.CustomHeaderValue; + PreferencesFrm.ProxyTypeCbx.ItemIndex := Chromium1.ProxyType; + PreferencesFrm.ProxyServerEdt.Text := Chromium1.ProxyServer; + PreferencesFrm.ProxyPortEdt.Text := inttostr(Chromium1.ProxyPort); + PreferencesFrm.ProxyUsernameEdt.Text := Chromium1.ProxyUsername; + PreferencesFrm.ProxyPasswordEdt.Text := Chromium1.ProxyPassword; + PreferencesFrm.ProxyScriptURLEdt.Text := Chromium1.ProxyScriptURL; + PreferencesFrm.ProxyByPassListEdt.Text := Chromium1.ProxyByPassList; + PreferencesFrm.HeaderNameEdt.Text := Chromium1.CustomHeaderName; + PreferencesFrm.HeaderValueEdt.Text := Chromium1.CustomHeaderValue; + PreferencesFrm.MaxConnectionsPerProxyEdt.Value := Chromium1.MaxConnectionsPerProxy; if (PreferencesFrm.ShowModal = mrOk) then begin - Chromium1.ProxyType := PreferencesFrm.ProxyTypeCbx.ItemIndex; - Chromium1.ProxyServer := PreferencesFrm.ProxyServerEdt.Text; - Chromium1.ProxyPort := strtoint(PreferencesFrm.ProxyPortEdt.Text); - Chromium1.ProxyUsername := PreferencesFrm.ProxyUsernameEdt.Text; - Chromium1.ProxyPassword := PreferencesFrm.ProxyPasswordEdt.Text; - Chromium1.ProxyScriptURL := PreferencesFrm.ProxyScriptURLEdt.Text; - Chromium1.ProxyByPassList := PreferencesFrm.ProxyByPassListEdt.Text; - Chromium1.CustomHeaderName := PreferencesFrm.HeaderNameEdt.Text; - Chromium1.CustomHeaderValue := PreferencesFrm.HeaderValueEdt.Text; + Chromium1.ProxyType := PreferencesFrm.ProxyTypeCbx.ItemIndex; + Chromium1.ProxyServer := PreferencesFrm.ProxyServerEdt.Text; + Chromium1.ProxyPort := strtoint(PreferencesFrm.ProxyPortEdt.Text); + Chromium1.ProxyUsername := PreferencesFrm.ProxyUsernameEdt.Text; + Chromium1.ProxyPassword := PreferencesFrm.ProxyPasswordEdt.Text; + Chromium1.ProxyScriptURL := PreferencesFrm.ProxyScriptURLEdt.Text; + Chromium1.ProxyByPassList := PreferencesFrm.ProxyByPassListEdt.Text; + Chromium1.CustomHeaderName := PreferencesFrm.HeaderNameEdt.Text; + Chromium1.CustomHeaderValue := PreferencesFrm.HeaderValueEdt.Text; + Chromium1.MaxConnectionsPerProxy := PreferencesFrm.MaxConnectionsPerProxyEdt.Value; case PreferencesFrm.ProxySchemeCb.ItemIndex of 1 : Chromium1.ProxyScheme := psSOCKS4; diff --git a/demos/Lazarus/MiniBrowser/uPreferences.lfm b/demos/Lazarus/MiniBrowser/uPreferences.lfm index 18aa9c11..2a7ad4ee 100644 --- a/demos/Lazarus/MiniBrowser/uPreferences.lfm +++ b/demos/Lazarus/MiniBrowser/uPreferences.lfm @@ -1,12 +1,12 @@ object PreferencesFrm: TPreferencesFrm - Left = 0 - Height = 363 - Top = 0 + Left = 621 + Height = 391 + Top = 279 Width = 428 BorderIcons = [biSystemMenu] BorderStyle = bsSingle Caption = 'Preferences' - ClientHeight = 363 + ClientHeight = 391 ClientWidth = 428 Color = clBtnFace Font.Color = clWindowText @@ -14,11 +14,11 @@ object PreferencesFrm: TPreferencesFrm Font.Name = 'Tahoma' FormStyle = fsStayOnTop Position = poScreenCenter - LCLVersion = '2.0.2.0' + LCLVersion = '2.0.4.0' object Button1: TButton Left = 232 Height = 25 - Top = 330 + Top = 357 Width = 75 Caption = 'Ok' ModalResult = 1 @@ -27,7 +27,7 @@ object PreferencesFrm: TPreferencesFrm object Button2: TButton Left = 345 Height = 25 - Top = 330 + Top = 357 Width = 75 Caption = 'Cancel' ModalResult = 2 @@ -35,11 +35,11 @@ object PreferencesFrm: TPreferencesFrm end object GroupBox1: TGroupBox Left = 8 - Height = 223 + Height = 248 Top = 8 Width = 412 Caption = ' Proxy ' - ClientHeight = 205 + ClientHeight = 230 ClientWidth = 408 TabOrder = 0 object ProxyTypeLbl: TLabel @@ -179,11 +179,29 @@ object PreferencesFrm: TPreferencesFrm TabOrder = 1 Text = 'HTTP' end + object MaxConnectionsPerProxyLbl: TLabel + Left = 12 + Height = 13 + Top = 204 + Width = 154 + Caption = 'Maximum connections per proxy' + ParentColor = False + end + object MaxConnectionsPerProxyEdt: TSpinEdit + Left = 184 + Height = 21 + Top = 201 + Width = 216 + MaxValue = 1024 + MinValue = 1 + TabOrder = 8 + Value = 16 + end end object GroupBox2: TGroupBox Left = 8 Height = 84 - Top = 237 + Top = 264 Width = 412 Caption = ' Custom header ' ClientHeight = 66 diff --git a/demos/Lazarus/MiniBrowser/uPreferences.pas b/demos/Lazarus/MiniBrowser/uPreferences.pas index a0df1e66..8bd83f1c 100644 --- a/demos/Lazarus/MiniBrowser/uPreferences.pas +++ b/demos/Lazarus/MiniBrowser/uPreferences.pas @@ -49,14 +49,18 @@ uses Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls; {$ELSE} LCLIntf, LCLType, LMessages, Messages, SysUtils, Variants, Classes, Graphics, - Controls, Forms, Dialogs, StdCtrls; + Controls, Forms, Dialogs, StdCtrls, Spin; {$ENDIF} type + + { TPreferencesFrm } + TPreferencesFrm = class(TForm) Button1: TButton; Button2: TButton; GroupBox1: TGroupBox; + MaxConnectionsPerProxyLbl: TLabel; ProxyTypeCbx: TComboBox; ProxyTypeLbl: TLabel; ProxyServerLbl: TLabel; @@ -77,6 +81,7 @@ type HeaderValueEdt: TEdit; HeaderValueLbl: TLabel; ProxySchemeCb: TComboBox; + MaxConnectionsPerProxyEdt: TSpinEdit; private { Private declarations } public diff --git a/packages/CEF4Delphi_FMX.res b/packages/CEF4Delphi_FMX.res index 391381f9..934cad87 100644 Binary files a/packages/CEF4Delphi_FMX.res and b/packages/CEF4Delphi_FMX.res differ diff --git a/packages/cef4delphi_lazarus.lpk b/packages/cef4delphi_lazarus.lpk index 13472d08..eb6e6870 100644 --- a/packages/cef4delphi_lazarus.lpk +++ b/packages/cef4delphi_lazarus.lpk @@ -21,7 +21,7 @@ - + diff --git a/source/uCEFApplication.pas b/source/uCEFApplication.pas index 96991478..64988849 100644 --- a/source/uCEFApplication.pas +++ b/source/uCEFApplication.pas @@ -62,13 +62,13 @@ uses const CEF_SUPPORTED_VERSION_MAJOR = 76; CEF_SUPPORTED_VERSION_MINOR = 1; - CEF_SUPPORTED_VERSION_RELEASE = 10; + CEF_SUPPORTED_VERSION_RELEASE = 11; CEF_SUPPORTED_VERSION_BUILD = 0; CEF_CHROMEELF_VERSION_MAJOR = 76; CEF_CHROMEELF_VERSION_MINOR = 0; CEF_CHROMEELF_VERSION_RELEASE = 3809; - CEF_CHROMEELF_VERSION_BUILD = 87; + CEF_CHROMEELF_VERSION_BUILD = 132; {$IFDEF MSWINDOWS} LIBCEF_DLL = 'libcef.dll'; diff --git a/source/uCEFChromium.pas b/source/uCEFChromium.pas index 7774b626..6627e426 100644 --- a/source/uCEFChromium.pas +++ b/source/uCEFChromium.pas @@ -85,6 +85,7 @@ type FProxyPassword : ustring; FProxyScriptURL : ustring; FProxyByPassList : ustring; + FMaxConnectionsPerProxy : integer; FUpdatePreferences : boolean; FCustomHeaderName : ustring; FCustomHeaderValue : ustring; @@ -297,6 +298,7 @@ type procedure SetProxyPassword(const aValue : ustring); procedure SetProxyScriptURL(const aValue : ustring); procedure SetProxyByPassList(const aValue : ustring); + procedure SetMaxConnectionsPerProxy(const aValue : integer); procedure SetCustomHeaderName(const aValue : ustring); procedure SetCustomHeaderValue(const aValue : ustring); procedure SetZoomLevel(const aValue : double); @@ -681,6 +683,7 @@ type property ProxyPassword : ustring read FProxyPassword write SetProxyPassword; property ProxyScriptURL : ustring read FProxyScriptURL write SetProxyScriptURL; property ProxyByPassList : ustring read FProxyByPassList write SetProxyByPassList; + property MaxConnectionsPerProxy : integer read FMaxConnectionsPerProxy write SetMaxConnectionsPerProxy; published property OnTextResultAvailable : TOnTextResultAvailableEvent read FOnTextResultAvailable write FOnTextResultAvailable; @@ -877,14 +880,15 @@ begin FWebRTCMultipleRoutes := STATE_DEFAULT; FWebRTCNonProxiedUDP := STATE_DEFAULT; - FProxyType := CEF_PROXYTYPE_DIRECT; - FProxyScheme := psHTTP; - FProxyServer := ''; - FProxyPort := 80; - FProxyUsername := ''; - FProxyPassword := ''; - FProxyScriptURL := ''; - FProxyByPassList := ''; + FProxyType := CEF_PROXYTYPE_DIRECT; + FProxyScheme := psHTTP; + FProxyServer := ''; + FProxyPort := 80; + FProxyUsername := ''; + FProxyPassword := ''; + FProxyScriptURL := ''; + FProxyByPassList := ''; + FMaxConnectionsPerProxy := CEF_MAX_CONNECTIONS_PER_PROXY_DEFAULT_VALUE; FillChar(FWindowInfo, SizeOf(TCefWindowInfo), 0); FillChar(FDevWindowInfo, SizeOf(TCefWindowInfo), 0); @@ -2162,6 +2166,15 @@ begin end; end; +procedure TChromium.SetMaxConnectionsPerProxy(const aValue : integer); +begin + if (FMaxConnectionsPerProxy <> aValue) then + begin + FMaxConnectionsPerProxy := aValue; + FUpdatePreferences := True; + end; +end; + procedure TChromium.SetCustomHeaderName(const aValue : ustring); begin if (FCustomHeaderName <> aValue) then @@ -2464,6 +2477,9 @@ begin UpdatePreference(aBrowser, 'browser.enable_spellchecking', FSpellChecking); UpdateStringListPref(aBrowser, 'spellcheck.dictionaries', FSpellCheckerDicts); + if (FMaxConnectionsPerProxy <> CEF_MAX_CONNECTIONS_PER_PROXY_DEFAULT_VALUE) then + UpdatePreference(aBrowser, 'net.max_connections_per_proxy', FMaxConnectionsPerProxy); + if FRunAllFlashInAllowMode then UpdatePreference(aBrowser, 'profile.default_content_setting_values.plugins', 1); diff --git a/source/uCEFConstants.pas b/source/uCEFConstants.pas index ee6d6472..ee2f02ca 100644 --- a/source/uCEFConstants.pas +++ b/source/uCEFConstants.pas @@ -548,6 +548,8 @@ const CEF_LOG_SEVERITY_WARNING = 1; CEF_LOG_SEVERITY_ERROR = 2; + CEF_MAX_CONNECTIONS_PER_PROXY_DEFAULT_VALUE = 16; + ZOOM_STEP_25 = 0; ZOOM_STEP_33 = 1; ZOOM_STEP_50 = 2; diff --git a/source/uCEFFMXChromium.pas b/source/uCEFFMXChromium.pas index 28f5caea..c14bd132 100644 --- a/source/uCEFFMXChromium.pas +++ b/source/uCEFFMXChromium.pas @@ -74,6 +74,7 @@ type FProxyPassword : ustring; FProxyScriptURL : ustring; FProxyByPassList : ustring; + FMaxConnectionsPerProxy : integer; FUpdatePreferences : boolean; FCustomHeaderName : ustring; FCustomHeaderValue : ustring; @@ -280,6 +281,7 @@ type procedure SetProxyPassword(const aValue : ustring); procedure SetProxyScriptURL(const aValue : ustring); procedure SetProxyByPassList(const aValue : ustring); + procedure SetMaxConnectionsPerProxy(const aValue : integer); procedure SetCustomHeaderName(const aValue : ustring); procedure SetCustomHeaderValue(const aValue : ustring); procedure SetZoomLevel(const aValue : double); @@ -641,6 +643,7 @@ type property ProxyPassword : ustring read FProxyPassword write SetProxyPassword; property ProxyScriptURL : ustring read FProxyScriptURL write SetProxyScriptURL; property ProxyByPassList : ustring read FProxyByPassList write SetProxyByPassList; + property MaxConnectionsPerProxy : integer read FMaxConnectionsPerProxy write SetMaxConnectionsPerProxy; published property OnTextResultAvailable : TOnTextResultAvailableEvent read FOnTextResultAvailable write FOnTextResultAvailable; @@ -822,14 +825,15 @@ begin FWebRTCMultipleRoutes := STATE_DEFAULT; FWebRTCNonProxiedUDP := STATE_DEFAULT; - FProxyType := CEF_PROXYTYPE_DIRECT; - FProxyScheme := psHTTP; - FProxyServer := ''; - FProxyPort := 80; - FProxyUsername := ''; - FProxyPassword := ''; - FProxyScriptURL := ''; - FProxyByPassList := ''; + FProxyType := CEF_PROXYTYPE_DIRECT; + FProxyScheme := psHTTP; + FProxyServer := ''; + FProxyPort := 80; + FProxyUsername := ''; + FProxyPassword := ''; + FProxyScriptURL := ''; + FProxyByPassList := ''; + FMaxConnectionsPerProxy := CEF_MAX_CONNECTIONS_PER_PROXY_DEFAULT_VALUE; FillChar(FWindowInfo, SizeOf(TCefWindowInfo), 0); FillChar(FDevWindowInfo, SizeOf(TCefWindowInfo), 0); @@ -1938,6 +1942,15 @@ begin end; end; +procedure TFMXChromium.SetMaxConnectionsPerProxy(const aValue : integer); +begin + if (FMaxConnectionsPerProxy <> aValue) then + begin + FMaxConnectionsPerProxy := aValue; + FUpdatePreferences := True; + end; +end; + procedure TFMXChromium.SetCustomHeaderName(const aValue : ustring); begin if (FCustomHeaderName <> aValue) then diff --git a/update_CEF4Delphi.json b/update_CEF4Delphi.json index 22685a10..427aa297 100644 --- a/update_CEF4Delphi.json +++ b/update_CEF4Delphi.json @@ -2,9 +2,9 @@ "UpdateLazPackages" : [ { "ForceNotify" : true, - "InternalVersion" : 22, + "InternalVersion" : 23, "Name" : "cef4delphi_lazarus.lpk", - "Version" : "76.1.10.0" + "Version" : "76.1.11.0" } ], "UpdatePackageData" : {