mirror of
https://github.com/salvadordf/CEF4Delphi.git
synced 2025-05-13 21:46:53 +02:00
Update to CEF 84.2.6
- Fixed TChromium.HyperlinkAuditing default value - Fixed CheckDLLs function in Linux - Fixed Delphi 7 backwards compatibility - Fixed issue #289
This commit is contained in:
parent
dee111279b
commit
d42b2e68fb
@ -5,8 +5,8 @@ CEF4Delphi is based on DCEF3, made by Henri Gourvest. The original license of DC
|
|||||||
|
|
||||||
CEF4Delphi uses CEF 84.2.1 which includes Chromium 84.0.4147.89.
|
CEF4Delphi uses CEF 84.2.1 which includes Chromium 84.0.4147.89.
|
||||||
The CEF binaries used by CEF4Delphi are available for download at spotify :
|
The CEF binaries used by CEF4Delphi are available for download at spotify :
|
||||||
* [32 bits](http://opensource.spotify.com/cefbuilds/cef_binary_84.2.1%2Bg3f2c372%2Bchromium-84.0.4147.89_windows32.tar.bz2)
|
* [32 bits](http://opensource.spotify.com/cefbuilds/cef_binary_84.2.6%2Bgeeda28c%2Bchromium-84.0.4147.89_windows32.tar.bz2)
|
||||||
* [64 bits](http://opensource.spotify.com/cefbuilds/cef_binary_84.2.1%2Bg3f2c372%2Bchromium-84.0.4147.89_windows64.tar.bz2)
|
* [64 bits](http://opensource.spotify.com/cefbuilds/cef_binary_84.2.6%2Bgeeda28c%2Bchromium-84.0.4147.89_windows64.tar.bz2)
|
||||||
|
|
||||||
|
|
||||||
CEF4Delphi was developed and tested on Delphi 10.4 and it has been tested in Delphi 7, Delphi XE, Delphi 10, Delphi 10.2, Delphi 10.3 and Lazarus 2.0.10/FPC 3.2.0. CEF4Delphi includes VCL, FireMonkey (FMX) and Lazarus components.
|
CEF4Delphi was developed and tested on Delphi 10.4 and it has been tested in Delphi 7, Delphi XE, Delphi 10, Delphi 10.2, Delphi 10.3 and Lazarus 2.0.10/FPC 3.2.0. CEF4Delphi includes VCL, FireMonkey (FMX) and Lazarus components.
|
||||||
|
@ -230,6 +230,7 @@ begin
|
|||||||
Chromium1.ProxyPassword := '';
|
Chromium1.ProxyPassword := '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Chromium1.DefaultURL := Edit1.Text;
|
||||||
Chromium1.CreateBrowser(CEFWindowParent1, '', TempContext);
|
Chromium1.CreateBrowser(CEFWindowParent1, '', TempContext);
|
||||||
finally
|
finally
|
||||||
TempContext := nil;
|
TempContext := nil;
|
||||||
@ -268,7 +269,6 @@ procedure TChildForm.BrowserCreatedMsg(var aMessage : TMessage);
|
|||||||
begin
|
begin
|
||||||
CEFWindowParent1.UpdateSize;
|
CEFWindowParent1.UpdateSize;
|
||||||
Panel1.Enabled := True;
|
Panel1.Enabled := True;
|
||||||
Button1.Click;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TChildForm.BrowserDestroyMsg(var aMessage : TMessage);
|
procedure TChildForm.BrowserDestroyMsg(var aMessage : TMessage);
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<Base>True</Base>
|
<Base>True</Base>
|
||||||
<Config Condition="'$(Config)'==''">Debug</Config>
|
<Config Condition="'$(Config)'==''">Debug</Config>
|
||||||
<Platform Condition="'$(Platform)'==''">Win32</Platform>
|
<Platform Condition="'$(Platform)'==''">Win32</Platform>
|
||||||
<TargetedPlatforms>1</TargetedPlatforms>
|
<TargetedPlatforms>3</TargetedPlatforms>
|
||||||
<AppType>Application</AppType>
|
<AppType>Application</AppType>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
|
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
|
||||||
@ -34,6 +34,12 @@
|
|||||||
<Cfg_1>true</Cfg_1>
|
<Cfg_1>true</Cfg_1>
|
||||||
<Base>true</Base>
|
<Base>true</Base>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win64)'!=''">
|
||||||
|
<Cfg_1_Win64>true</Cfg_1_Win64>
|
||||||
|
<CfgParent>Cfg_1</CfgParent>
|
||||||
|
<Cfg_1>true</Cfg_1>
|
||||||
|
<Base>true</Base>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_2)'!=''">
|
<PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_2)'!=''">
|
||||||
<Cfg_2>true</Cfg_2>
|
<Cfg_2>true</Cfg_2>
|
||||||
<CfgParent>Base</CfgParent>
|
<CfgParent>Base</CfgParent>
|
||||||
@ -45,6 +51,12 @@
|
|||||||
<Cfg_2>true</Cfg_2>
|
<Cfg_2>true</Cfg_2>
|
||||||
<Base>true</Base>
|
<Base>true</Base>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win64)'!=''">
|
||||||
|
<Cfg_2_Win64>true</Cfg_2_Win64>
|
||||||
|
<CfgParent>Cfg_2</CfgParent>
|
||||||
|
<Cfg_2>true</Cfg_2>
|
||||||
|
<Base>true</Base>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Base)'!=''">
|
<PropertyGroup Condition="'$(Base)'!=''">
|
||||||
<DCC_DcuOutput>.\$(Platform)\$(Config)</DCC_DcuOutput>
|
<DCC_DcuOutput>.\$(Platform)\$(Config)</DCC_DcuOutput>
|
||||||
<DCC_ExeOutput>..\..\..\bin</DCC_ExeOutput>
|
<DCC_ExeOutput>..\..\..\bin</DCC_ExeOutput>
|
||||||
@ -72,6 +84,11 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Base_Win64)'!=''">
|
<PropertyGroup Condition="'$(Base_Win64)'!=''">
|
||||||
<DCC_UsePackage>DBXSqliteDriver;bindcompdbx;fmxase;DBXDb2Driver;DBXInterBaseDriver;vcl;DBXSybaseASEDriver;vclactnband;RESTComponents;vclFireDAC;IndyProtocols250;FireDACDb2Driver;IndyCore250;DataSnapFireDAC;tethering;dsnapcon;FireDACADSDriver;FireDACMSAccDriver;fmxFireDAC;DBXMSSQLDriver;vclimg;FireDACInfxDriver;DatasnapConnectorsFreePascal;FireDAC;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;FireDACSqliteDriver;FireDACPgDriver;DBXOracleDriver;inetdb;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;soaprtl;DbxCommonDriver;FireDACIBDriver;fmx;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;fmxdae;vclwinx;rtl;FireDACDSDriver;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;dbexpress;FireDACDBXDriver;vclx;bindcomp;appanalytics;dsnap;DataSnapCommon;DBXInformixDriver;FireDACCommon;bindcompvcl;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;vclie;CEF4Delphi_FMX;bindengine;DBXMySQLDriver;FireDACOracleDriver;dsnapxml;FireDACMySQLDriver;dbrtl;inetdbxpress;DBXFirebirdDriver;DataSnapProviderClient;FireDACMongoDBDriver;FireDACCommonODBC;FireDACCommonDriver;CloudService;DataSnapClient;IndySystem250;inet;DataSnapServerMidas;$(DCC_UsePackage)</DCC_UsePackage>
|
<DCC_UsePackage>DBXSqliteDriver;bindcompdbx;fmxase;DBXDb2Driver;DBXInterBaseDriver;vcl;DBXSybaseASEDriver;vclactnband;RESTComponents;vclFireDAC;IndyProtocols250;FireDACDb2Driver;IndyCore250;DataSnapFireDAC;tethering;dsnapcon;FireDACADSDriver;FireDACMSAccDriver;fmxFireDAC;DBXMSSQLDriver;vclimg;FireDACInfxDriver;DatasnapConnectorsFreePascal;FireDAC;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;FireDACSqliteDriver;FireDACPgDriver;DBXOracleDriver;inetdb;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;soaprtl;DbxCommonDriver;FireDACIBDriver;fmx;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;fmxdae;vclwinx;rtl;FireDACDSDriver;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;dbexpress;FireDACDBXDriver;vclx;bindcomp;appanalytics;dsnap;DataSnapCommon;DBXInformixDriver;FireDACCommon;bindcompvcl;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;vclie;CEF4Delphi_FMX;bindengine;DBXMySQLDriver;FireDACOracleDriver;dsnapxml;FireDACMySQLDriver;dbrtl;inetdbxpress;DBXFirebirdDriver;DataSnapProviderClient;FireDACMongoDBDriver;FireDACCommonODBC;FireDACCommonDriver;CloudService;DataSnapClient;IndySystem250;inet;DataSnapServerMidas;$(DCC_UsePackage)</DCC_UsePackage>
|
||||||
|
<DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace)</DCC_Namespace>
|
||||||
|
<BT_BuildType>Debug</BT_BuildType>
|
||||||
|
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
|
||||||
|
<VerInfo_Locale>1033</VerInfo_Locale>
|
||||||
|
<Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Cfg_1)'!=''">
|
<PropertyGroup Condition="'$(Cfg_1)'!=''">
|
||||||
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
|
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
|
||||||
@ -88,6 +105,10 @@
|
|||||||
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
|
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
|
||||||
<VerInfo_Locale>1033</VerInfo_Locale>
|
<VerInfo_Locale>1033</VerInfo_Locale>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Cfg_1_Win64)'!=''">
|
||||||
|
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
|
||||||
|
<AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Cfg_2)'!=''">
|
<PropertyGroup Condition="'$(Cfg_2)'!=''">
|
||||||
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
|
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
|
||||||
<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
|
<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
|
||||||
@ -98,6 +119,10 @@
|
|||||||
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
|
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
|
||||||
<AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
|
<AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Cfg_2_Win64)'!=''">
|
||||||
|
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
|
||||||
|
<AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
|
||||||
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<DelphiCompile Include="$(MainSource)">
|
<DelphiCompile Include="$(MainSource)">
|
||||||
<MainSource>MainSource</MainSource>
|
<MainSource>MainSource</MainSource>
|
||||||
@ -972,7 +997,7 @@
|
|||||||
</Deployment>
|
</Deployment>
|
||||||
<Platforms>
|
<Platforms>
|
||||||
<Platform value="Win32">True</Platform>
|
<Platform value="Win32">True</Platform>
|
||||||
<Platform value="Win64">False</Platform>
|
<Platform value="Win64">True</Platform>
|
||||||
</Platforms>
|
</Platforms>
|
||||||
</BorlandProject>
|
</BorlandProject>
|
||||||
<ProjectFileVersion>12</ProjectFileVersion>
|
<ProjectFileVersion>12</ProjectFileVersion>
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
<Unit0>
|
<Unit0>
|
||||||
<Filename Value="TabbedBrowser2.lpr"/>
|
<Filename Value="TabbedBrowser2.lpr"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
|
<IsVisibleTab Value="True"/>
|
||||||
<TopLine Value="40"/>
|
<TopLine Value="40"/>
|
||||||
<CursorPos X="50" Y="62"/>
|
<CursorPos X="50" Y="62"/>
|
||||||
<UsageCount Value="20"/>
|
<UsageCount Value="20"/>
|
||||||
@ -34,10 +35,9 @@
|
|||||||
<ComponentName Value="BrowserFrame"/>
|
<ComponentName Value="BrowserFrame"/>
|
||||||
<HasResources Value="True"/>
|
<HasResources Value="True"/>
|
||||||
<ResourceBaseClass Value="Frame"/>
|
<ResourceBaseClass Value="Frame"/>
|
||||||
<IsVisibleTab Value="True"/>
|
|
||||||
<EditorIndex Value="3"/>
|
<EditorIndex Value="3"/>
|
||||||
<TopLine Value="68"/>
|
<TopLine Value="69"/>
|
||||||
<CursorPos X="57" Y="122"/>
|
<CursorPos X="91" Y="85"/>
|
||||||
<UsageCount Value="20"/>
|
<UsageCount Value="20"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
<LoadedDesigner Value="True"/>
|
<LoadedDesigner Value="True"/>
|
||||||
|
@ -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="84" Minor="2" Release="1"/>
|
<Version Major="84" Minor="2" Release="6"/>
|
||||||
<Files Count="189">
|
<Files Count="189">
|
||||||
<Item1>
|
<Item1>
|
||||||
<Filename Value="..\source\uCEFAccessibilityHandler.pas"/>
|
<Filename Value="..\source\uCEFAccessibilityHandler.pas"/>
|
||||||
|
@ -62,7 +62,7 @@ uses
|
|||||||
const
|
const
|
||||||
CEF_SUPPORTED_VERSION_MAJOR = 84;
|
CEF_SUPPORTED_VERSION_MAJOR = 84;
|
||||||
CEF_SUPPORTED_VERSION_MINOR = 2;
|
CEF_SUPPORTED_VERSION_MINOR = 2;
|
||||||
CEF_SUPPORTED_VERSION_RELEASE = 1;
|
CEF_SUPPORTED_VERSION_RELEASE = 6;
|
||||||
CEF_SUPPORTED_VERSION_BUILD = 0;
|
CEF_SUPPORTED_VERSION_BUILD = 0;
|
||||||
|
|
||||||
CEF_CHROMEELF_VERSION_MAJOR = 84;
|
CEF_CHROMEELF_VERSION_MAJOR = 84;
|
||||||
|
@ -1125,7 +1125,6 @@ begin
|
|||||||
FAddCustomHeader := False;
|
FAddCustomHeader := False;
|
||||||
FDoNotTrack := True;
|
FDoNotTrack := True;
|
||||||
FSendReferrer := True;
|
FSendReferrer := True;
|
||||||
FHyperlinkAuditing := False;
|
|
||||||
FRunAllFlashInAllowMode := False;
|
FRunAllFlashInAllowMode := False;
|
||||||
FAllowOutdatedPlugins := False;
|
FAllowOutdatedPlugins := False;
|
||||||
FAlwaysAuthorizePlugins := False;
|
FAlwaysAuthorizePlugins := False;
|
||||||
@ -1141,6 +1140,11 @@ begin
|
|||||||
FBlock3rdPartyCookies := False;
|
FBlock3rdPartyCookies := False;
|
||||||
FOffline := False;
|
FOffline := False;
|
||||||
|
|
||||||
|
if (GlobalCEFApp <> nil) then
|
||||||
|
FHyperlinkAuditing := GlobalCEFApp.HyperlinkAuditing
|
||||||
|
else
|
||||||
|
FHyperlinkAuditing := True;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Somo focus issues in CEF seem to be fixed when you use WS_EX_NOACTIVATE in
|
// Somo focus issues in CEF seem to be fixed when you use WS_EX_NOACTIVATE in
|
||||||
// FDefaultWindowInfoExStyle to initialize the browser with that ExStyle but
|
// FDefaultWindowInfoExStyle to initialize the browser with that ExStyle but
|
||||||
|
@ -77,7 +77,7 @@ type
|
|||||||
class function Write(const node: ICefDictionaryValue; var aRsltStrings: TStringList): boolean; overload;
|
class function Write(const node: ICefDictionaryValue; var aRsltStrings: TStringList): boolean; overload;
|
||||||
class function SaveToFile(const node: ICefValue; const aFileName: ustring): boolean; overload;
|
class function SaveToFile(const node: ICefValue; const aFileName: ustring): boolean; overload;
|
||||||
class function SaveToFile(const node: ICefDictionaryValue; const aFileName: ustring): boolean; overload;
|
class function SaveToFile(const node: ICefDictionaryValue; const aFileName: ustring): boolean; overload;
|
||||||
class function LoadFromFile(const aFileName: ustring; var aRsltNode: ICefValue; encoding: TEncoding = nil; options: TCefJsonParserOptions = JSON_PARSER_RFC): boolean;
|
class function LoadFromFile(const aFileName: ustring; var aRsltNode: ICefValue; {$IFDEF DELPHI12_UP}encoding: TEncoding = nil;{$ENDIF} options: TCefJsonParserOptions = JSON_PARSER_RFC): boolean;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
@ -357,7 +357,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
class function TCEFJson.LoadFromFile(const aFileName: ustring; var aRsltNode: ICefValue; encoding: TEncoding; options: TCefJsonParserOptions): boolean;
|
class function TCEFJson.LoadFromFile(const aFileName: ustring; var aRsltNode: ICefValue; {$IFDEF DELPHI12_UP}encoding: TEncoding;{$ENDIF} options: TCefJsonParserOptions): boolean;
|
||||||
var
|
var
|
||||||
TempJSON : TStringList;
|
TempJSON : TStringList;
|
||||||
begin
|
begin
|
||||||
@ -369,7 +369,7 @@ begin
|
|||||||
if (length(aFileName) > 0) and FileExists(aFileName) then
|
if (length(aFileName) > 0) and FileExists(aFileName) then
|
||||||
begin
|
begin
|
||||||
TempJSON := TStringList.Create;
|
TempJSON := TStringList.Create;
|
||||||
TempJSON.LoadFromFile(aFileName, encoding);
|
TempJSON.LoadFromFile(aFileName{$IFDEF DELPHI12_UP}, encoding{$ENDIF});
|
||||||
aRsltNode := Parse(TempJSON.Text, options);
|
aRsltNode := Parse(TempJSON.Text, options);
|
||||||
Result := True;
|
Result := True;
|
||||||
end;
|
end;
|
||||||
|
@ -1187,9 +1187,9 @@ begin
|
|||||||
// http://www.magpcss.org/ceforum/viewtopic.php?f=6&t=14503#p32263
|
// http://www.magpcss.org/ceforum/viewtopic.php?f=6&t=14503#p32263
|
||||||
|
|
||||||
TempList := TStringList.Create;
|
TempList := TStringList.Create;
|
||||||
TempList.Add(TempDir + CHROMEELF_DLL);
|
|
||||||
TempList.Add(TempDir + LIBCEF_DLL);
|
TempList.Add(TempDir + LIBCEF_DLL);
|
||||||
{$IFDEF MSWINDOWS}
|
{$IFDEF MSWINDOWS}
|
||||||
|
TempList.Add(TempDir + CHROMEELF_DLL);
|
||||||
TempList.Add(TempDir + 'd3dcompiler_47.dll');
|
TempList.Add(TempDir + 'd3dcompiler_47.dll');
|
||||||
TempList.Add(TempDir + 'libEGL.dll');
|
TempList.Add(TempDir + 'libEGL.dll');
|
||||||
TempList.Add(TempDir + 'libGLESv2.dll');
|
TempList.Add(TempDir + 'libGLESv2.dll');
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
"UpdateLazPackages" : [
|
"UpdateLazPackages" : [
|
||||||
{
|
{
|
||||||
"ForceNotify" : true,
|
"ForceNotify" : true,
|
||||||
"InternalVersion" : 165,
|
"InternalVersion" : 166,
|
||||||
"Name" : "cef4delphi_lazarus.lpk",
|
"Name" : "cef4delphi_lazarus.lpk",
|
||||||
"Version" : "84.2.1.0"
|
"Version" : "84.2.6.0"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"UpdatePackageData" : {
|
"UpdatePackageData" : {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user