You've already forked CEF4Delphi
							
							
				mirror of
				https://github.com/salvadordf/CEF4Delphi.git
				synced 2025-10-30 23:07:52 +02:00 
			
		
		
		
	Update to CEF 3.3325.1746.ge81cdf2
This commit is contained in:
		| @@ -1,14 +0,0 @@ | ||||
| del /s /q *.dcu | ||||
| del /s /q *.exe | ||||
| del /s /q *.res | ||||
| del /s /q *.log | ||||
| del /s /q *.dsk | ||||
| del /s /q *.identcache | ||||
| del /s /q *.stat | ||||
| del /s /q *.local | ||||
| del /s /q *.~* | ||||
| rmdir Win32\Debug | ||||
| rmdir Win32\Release | ||||
| rmdir Win32 | ||||
| rmdir __history | ||||
| rmdir __recovery | ||||
| @@ -1,71 +0,0 @@ | ||||
| // ************************************************************************ | ||||
| // ***************************** CEF4Delphi ******************************* | ||||
| // ************************************************************************ | ||||
| // | ||||
| // CEF4Delphi is based on DCEF3 which uses CEF3 to embed a chromium-based | ||||
| // browser in Delphi applications. | ||||
| // | ||||
| // The original license of DCEF3 still applies to CEF4Delphi. | ||||
| // | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
| // ************************************************************************ | ||||
| (* | ||||
|  *                       Delphi Chromium Embedded 3 | ||||
|  * | ||||
|  * Usage allowed under the restrictions of the Lesser GNU General Public License | ||||
|  * or alternatively the restrictions of the Mozilla Public License 1.1 | ||||
|  * | ||||
|  * Software distributed under the License is distributed on an "AS IS" basis, | ||||
|  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for | ||||
|  * the specific language governing rights and limitations under the License. | ||||
|  * | ||||
|  * Unit owner : Henri Gourvest <hgourvest@gmail.com> | ||||
|  * Web site   : http://www.progdigy.com | ||||
|  * Repository : http://code.google.com/p/delphichromiumembedded/ | ||||
|  * Group      : http://groups.google.com/group/delphichromiumembedded | ||||
|  * | ||||
|  * Embarcadero Technologies, Inc is not permitted to use or redistribute | ||||
|  * this source code without explicit permission. | ||||
|  * | ||||
|  *) | ||||
|  | ||||
| program Geolocation; | ||||
|  | ||||
| {$I cef.inc} | ||||
|  | ||||
| uses | ||||
|   {$IFDEF DELPHI16_UP} | ||||
|   Vcl.Forms, | ||||
|   WinApi.Windows, | ||||
|   {$ELSE} | ||||
|   Forms, | ||||
|   Windows, | ||||
|   {$ENDIF } | ||||
|   uCEFApplication, | ||||
|   uGeolocation in 'uGeolocation.pas' {GeolocationFrm}; | ||||
|  | ||||
| {$R *.res} | ||||
|  | ||||
| {$SetPEFlags IMAGE_FILE_LARGE_ADDRESS_AWARE} | ||||
|  | ||||
| begin | ||||
|   GlobalCEFApp := TCefApplication.Create; | ||||
|  | ||||
|   if GlobalCEFApp.StartMainProcess then | ||||
|     begin | ||||
|       Application.Initialize; | ||||
|       {$IFDEF DELPHI11_UP} | ||||
|       Application.MainFormOnTaskbar := True; | ||||
|       {$ENDIF} | ||||
|       Application.CreateForm(TGeolocationFrm, GeolocationFrm); | ||||
|       Application.Run; | ||||
|     end; | ||||
|  | ||||
|   GlobalCEFApp.Free; | ||||
| end. | ||||
| @@ -1,566 +0,0 @@ | ||||
| <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||
|     <PropertyGroup> | ||||
|         <ProjectGuid>{BE765054-B28F-4C25-8A16-E73CA1BD9E87}</ProjectGuid> | ||||
|         <ProjectVersion>18.2</ProjectVersion> | ||||
|         <FrameworkType>VCL</FrameworkType> | ||||
|         <MainSource>Geolocation.dpr</MainSource> | ||||
|         <Base>True</Base> | ||||
|         <Config Condition="'$(Config)'==''">Debug</Config> | ||||
|         <Platform Condition="'$(Platform)'==''">Win32</Platform> | ||||
|         <TargetedPlatforms>1</TargetedPlatforms> | ||||
|         <AppType>Application</AppType> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''"> | ||||
|         <Base>true</Base> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''"> | ||||
|         <Base_Win32>true</Base_Win32> | ||||
|         <CfgParent>Base</CfgParent> | ||||
|         <Base>true</Base> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''"> | ||||
|         <Base_Win64>true</Base_Win64> | ||||
|         <CfgParent>Base</CfgParent> | ||||
|         <Base>true</Base> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_1)'!=''"> | ||||
|         <Cfg_1>true</Cfg_1> | ||||
|         <CfgParent>Base</CfgParent> | ||||
|         <Base>true</Base> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win32)'!=''"> | ||||
|         <Cfg_1_Win32>true</Cfg_1_Win32> | ||||
|         <CfgParent>Cfg_1</CfgParent> | ||||
|         <Cfg_1>true</Cfg_1> | ||||
|         <Base>true</Base> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_2)'!=''"> | ||||
|         <Cfg_2>true</Cfg_2> | ||||
|         <CfgParent>Base</CfgParent> | ||||
|         <Base>true</Base> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win32)'!=''"> | ||||
|         <Cfg_2_Win32>true</Cfg_2_Win32> | ||||
|         <CfgParent>Cfg_2</CfgParent> | ||||
|         <Cfg_2>true</Cfg_2> | ||||
|         <Base>true</Base> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="'$(Base)'!=''"> | ||||
|         <VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys> | ||||
|         <SanitizedProjectName>Geolocation</SanitizedProjectName> | ||||
|         <Icon_MainIcon>$(BDS)\bin\delphi_PROJECTICON.ico</Icon_MainIcon> | ||||
|         <DCC_Namespace>System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace)</DCC_Namespace> | ||||
|         <VerInfo_Locale>3082</VerInfo_Locale> | ||||
|         <DCC_DcuOutput>.\$(Platform)\$(Config)</DCC_DcuOutput> | ||||
|         <DCC_E>false</DCC_E> | ||||
|         <DCC_N>false</DCC_N> | ||||
|         <DCC_S>false</DCC_S> | ||||
|         <DCC_F>false</DCC_F> | ||||
|         <DCC_K>false</DCC_K> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="'$(Base_Win32)'!=''"> | ||||
|         <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File> | ||||
|         <VerInfo_Keys>CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName)</VerInfo_Keys> | ||||
|         <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo> | ||||
|         <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace> | ||||
|         <DCC_UsePackage>DBXSqliteDriver;RESTComponents;DataSnapServerMidas;DBXDb2Driver;DBXInterBaseDriver;vclactnband;frxe23;vclFireDAC;emsclientfiredac;DataSnapFireDAC;svnui;tethering;Componentes;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;svn;Intraweb;DBXOracleDriver;inetdb;Componentes_Int;CEF4Delphi;FmxTeeUI;FireDACIBDriver;fmx;fmxdae;vclib;FireDACDBXDriver;dbexpress;IndyProtocols230;vclx;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;frxTee23;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;vcl;DBXSybaseASEDriver;FireDACDb2Driver;GR32_DSGN_RSXE5;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;Componentes_UI;TeeDB;FireDAC;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;Componentes_Misc;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;ibxbindings;rtl;FireDACDSDriver;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;GR32_RSXE5;bindcomp;appanalytics;Componentes_RTF;DBXInformixDriver;bindcompvcl;frxDB23;Componentes_vCard;TeeUI;IndyCore230;vclribbon;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;IndySystem230;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;frx23;fmxase;$(DCC_UsePackage)</DCC_UsePackage> | ||||
|         <VerInfo_Locale>1033</VerInfo_Locale> | ||||
|         <UWP_DelphiLogo44>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png</UWP_DelphiLogo44> | ||||
|         <UWP_DelphiLogo150>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png</UWP_DelphiLogo150> | ||||
|         <DCC_ExeOutput>..\..\bin</DCC_ExeOutput> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="'$(Base_Win64)'!=''"> | ||||
|         <DCC_UsePackage>DBXSqliteDriver;RESTComponents;DataSnapServerMidas;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;DataSnapFireDAC;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;Intraweb;DBXOracleDriver;inetdb;FmxTeeUI;FireDACIBDriver;fmx;fmxdae;vclib;FireDACDBXDriver;dbexpress;IndyProtocols230;vclx;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;vcl;DBXSybaseASEDriver;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;ibxbindings;rtl;FireDACDSDriver;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;bindcompvcl;TeeUI;IndyCore230;vclribbon;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;IndySystem230;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;fmxase;$(DCC_UsePackage)</DCC_UsePackage> | ||||
|         <UWP_DelphiLogo44>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png</UWP_DelphiLogo44> | ||||
|         <UWP_DelphiLogo150>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png</UWP_DelphiLogo150> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="'$(Cfg_1)'!=''"> | ||||
|         <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define> | ||||
|         <DCC_DebugDCUs>true</DCC_DebugDCUs> | ||||
|         <DCC_Optimize>false</DCC_Optimize> | ||||
|         <DCC_GenerateStackFrames>true</DCC_GenerateStackFrames> | ||||
|         <DCC_DebugInfoInExe>true</DCC_DebugInfoInExe> | ||||
|         <DCC_RemoteDebug>true</DCC_RemoteDebug> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="'$(Cfg_1_Win32)'!=''"> | ||||
|         <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo> | ||||
|         <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes> | ||||
|         <VerInfo_Locale>1033</VerInfo_Locale> | ||||
|         <AppEnableHighDPI>true</AppEnableHighDPI> | ||||
|         <DCC_RemoteDebug>false</DCC_RemoteDebug> | ||||
|         <BT_BuildType>Debug</BT_BuildType> | ||||
|         <DCC_ExeOutput>..\..\bin</DCC_ExeOutput> | ||||
|         <VerInfo_Keys>CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName)</VerInfo_Keys> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="'$(Cfg_2)'!=''"> | ||||
|         <DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols> | ||||
|         <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define> | ||||
|         <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo> | ||||
|         <DCC_DebugInformation>0</DCC_DebugInformation> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''"> | ||||
|         <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes> | ||||
|         <AppEnableHighDPI>true</AppEnableHighDPI> | ||||
|     </PropertyGroup> | ||||
|     <ItemGroup> | ||||
|         <DelphiCompile Include="$(MainSource)"> | ||||
|             <MainSource>MainSource</MainSource> | ||||
|         </DelphiCompile> | ||||
|         <DCCReference Include="uGeolocation.pas"> | ||||
|             <Form>GeolocationFrm</Form> | ||||
|         </DCCReference> | ||||
|         <BuildConfiguration Include="Release"> | ||||
|             <Key>Cfg_2</Key> | ||||
|             <CfgParent>Base</CfgParent> | ||||
|         </BuildConfiguration> | ||||
|         <BuildConfiguration Include="Base"> | ||||
|             <Key>Base</Key> | ||||
|         </BuildConfiguration> | ||||
|         <BuildConfiguration Include="Debug"> | ||||
|             <Key>Cfg_1</Key> | ||||
|             <CfgParent>Base</CfgParent> | ||||
|         </BuildConfiguration> | ||||
|     </ItemGroup> | ||||
|     <ProjectExtensions> | ||||
|         <Borland.Personality>Delphi.Personality.12</Borland.Personality> | ||||
|         <Borland.ProjectType>Application</Borland.ProjectType> | ||||
|         <BorlandProject> | ||||
|             <Delphi.Personality> | ||||
|                 <Source> | ||||
|                     <Source Name="MainSource">Geolocation.dpr</Source> | ||||
|                 </Source> | ||||
|                 <Excluded_Packages> | ||||
|                     <Excluded_Packages Name="$(BDSBIN)\dclIPIndyImpl250.bpl">IP Abstraction Indy Implementation Design Time</Excluded_Packages> | ||||
|                     <Excluded_Packages Name="$(BDSBIN)\dcloffice2k250.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages> | ||||
|                     <Excluded_Packages Name="$(BDSBIN)\dclofficexp250.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages> | ||||
|                 </Excluded_Packages> | ||||
|             </Delphi.Personality> | ||||
|             <Deployment Version="3"> | ||||
|                 <DeployFile LocalName="Win32\Debug\Geolocation.exe" Configuration="Debug" Class="ProjectOutput"/> | ||||
|                 <DeployClass Name="AdditionalDebugSymbols"> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents\MacOS</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <RemoteDir>Contents\MacOS</RemoteDir> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="AndroidClassesDexFile"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>classes</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="AndroidGDBServer"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>library\lib\armeabi-v7a</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="AndroidLibnativeArmeabiFile"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>library\lib\armeabi</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="AndroidLibnativeMipsFile"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>library\lib\mips</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="AndroidServiceOutput"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>library\lib\armeabi-v7a</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="AndroidSplashImageDef"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="AndroidSplashStyles"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\values</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="Android_DefaultAppIcon"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="Android_LauncherIcon144"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable-xxhdpi</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="Android_LauncherIcon36"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable-ldpi</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="Android_LauncherIcon48"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable-mdpi</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="Android_LauncherIcon72"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable-hdpi</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="Android_LauncherIcon96"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable-xhdpi</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="Android_SplashImage426"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable-small</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="Android_SplashImage470"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable-normal</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="Android_SplashImage640"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable-large</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="Android_SplashImage960"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable-xlarge</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="DebugSymbols"> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents\MacOS</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="DependencyFramework"> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents\MacOS</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.framework</Extensions> | ||||
|                     </Platform> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="DependencyModule"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.dylib</Extensions> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.dylib</Extensions> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.dylib</Extensions> | ||||
|                     </Platform> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents\MacOS</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.dylib</Extensions> | ||||
|                     </Platform> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <Operation>0</Operation> | ||||
|                         <Extensions>.dll;.bpl</Extensions> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Required="true" Name="DependencyPackage"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.dylib</Extensions> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.dylib</Extensions> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.dylib</Extensions> | ||||
|                     </Platform> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents\MacOS</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.dylib</Extensions> | ||||
|                     </Platform> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <Operation>0</Operation> | ||||
|                         <Extensions>.bpl</Extensions> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="File"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents\Resources\StartUp\</RemoteDir> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="iPad_Launch1024"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="iPad_Launch1536"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="iPad_Launch2048"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="iPad_Launch768"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="iPhone_Launch320"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="iPhone_Launch640"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="iPhone_Launch640x1136"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectAndroidManifest"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectiOSDeviceDebug"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectiOSDeviceResourceRules"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectiOSEntitlements"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <RemoteDir>..\</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <RemoteDir>..\</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectiOSInfoPList"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectiOSResource"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectOSXEntitlements"> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>..\</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectOSXInfoPList"> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectOSXResource"> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents\Resources</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Required="true" Name="ProjectOutput"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>library\lib\armeabi-v7a</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="Linux64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents\MacOS</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectUWPManifest"> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="Win64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="UWP_DelphiLogo150"> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <RemoteDir>Assets</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="Win64"> | ||||
|                         <RemoteDir>Assets</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="UWP_DelphiLogo44"> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <RemoteDir>Assets</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="Win64"> | ||||
|                         <RemoteDir>Assets</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/> | ||||
|                 <ProjectRoot Platform="Win64" Name="$(PROJECTNAME)"/> | ||||
|                 <ProjectRoot Platform="iOSDevice32" Name="$(PROJECTNAME).app"/> | ||||
|                 <ProjectRoot Platform="Win32" Name="$(PROJECTNAME)"/> | ||||
|                 <ProjectRoot Platform="Linux64" Name="$(PROJECTNAME)"/> | ||||
|                 <ProjectRoot Platform="OSX32" Name="$(PROJECTNAME).app"/> | ||||
|                 <ProjectRoot Platform="Android" Name="$(PROJECTNAME)"/> | ||||
|                 <ProjectRoot Platform="iOSSimulator" Name="$(PROJECTNAME).app"/> | ||||
|             </Deployment> | ||||
|             <Platforms> | ||||
|                 <Platform value="Win32">True</Platform> | ||||
|                 <Platform value="Win64">False</Platform> | ||||
|             </Platforms> | ||||
|         </BorlandProject> | ||||
|         <ProjectFileVersion>12</ProjectFileVersion> | ||||
|     </ProjectExtensions> | ||||
|     <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/> | ||||
|     <Import Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj" Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')"/> | ||||
|     <Import Project="$(MSBuildProjectName).deployproj" Condition="Exists('$(MSBuildProjectName).deployproj')"/> | ||||
| </Project> | ||||
| @@ -1,384 +0,0 @@ | ||||
| // ************************************************************************ | ||||
| // ***************************** CEF4Delphi ******************************* | ||||
| // ************************************************************************ | ||||
| // | ||||
| // CEF4Delphi is based on DCEF3 which uses CEF3 to embed a chromium-based | ||||
| // browser in Delphi applications. | ||||
| // | ||||
| // The original license of DCEF3 still applies to CEF4Delphi. | ||||
| // | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2017 Salvador D�az Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
| // ************************************************************************ | ||||
| (* | ||||
|  *                       Delphi Chromium Embedded 3 | ||||
|  * | ||||
|  * Usage allowed under the restrictions of the Lesser GNU General Public License | ||||
|  * or alternatively the restrictions of the Mozilla Public License 1.1 | ||||
|  * | ||||
|  * Software distributed under the License is distributed on an "AS IS" basis, | ||||
|  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for | ||||
|  * the specific language governing rights and limitations under the License. | ||||
|  * | ||||
|  * Unit owner : Henri Gourvest <hgourvest@gmail.com> | ||||
|  * Web site   : http://www.progdigy.com | ||||
|  * Repository : http://code.google.com/p/delphichromiumembedded/ | ||||
|  * Group      : http://groups.google.com/group/delphichromiumembedded | ||||
|  * | ||||
|  * Embarcadero Technologies, Inc is not permitted to use or redistribute | ||||
|  * this source code without explicit permission. | ||||
|  * | ||||
|  *) | ||||
|  | ||||
|  // The complete list of compiler versions is here : | ||||
|  // http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Compiler_Versions | ||||
|  | ||||
| {$DEFINE DELPHI_VERSION_UNKNOW} | ||||
|  | ||||
| {$IFDEF FPC} | ||||
|   {$DEFINE CEF_MULTI_THREADED_MESSAGE_LOOP} | ||||
|   {$DEFINE SUPPORTS_INLINE} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi 5 | ||||
| {$IFDEF VER130} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi 6 | ||||
| {$IFDEF VER140} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi 7 | ||||
| {$IFDEF VER150} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi 8 | ||||
| {$IFDEF VER160} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi 2005 | ||||
| {$IFDEF VER170} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| {$IFDEF VER180} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   // Delphi 2007 | ||||
|   {$IFDEF VER185} | ||||
|     {$DEFINE DELPHI5_UP} | ||||
|     {$DEFINE DELPHI6_UP} | ||||
|     {$DEFINE DELPHI7_UP} | ||||
|     {$DEFINE DELPHI8_UP} | ||||
|     {$DEFINE DELPHI9_UP} | ||||
|     {$DEFINE DELPHI10_UP} | ||||
|     {$DEFINE DELPHI11_UP} | ||||
|   // Delphi 2006 | ||||
|   {$ELSE} | ||||
|     {$DEFINE DELPHI5_UP} | ||||
|     {$DEFINE DELPHI6_UP} | ||||
|     {$DEFINE DELPHI7_UP} | ||||
|     {$DEFINE DELPHI8_UP} | ||||
|     {$DEFINE DELPHI9_UP} | ||||
|     {$DEFINE DELPHI10_UP} | ||||
|   {$ENDIF} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi 2009 | ||||
| {$IFDEF VER200} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| //Delphi 2010 | ||||
| {$IFDEF VER210} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
|   {$DEFINE DELPHI14_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi XE | ||||
| {$IFDEF VER220} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
|   {$DEFINE DELPHI14_UP} | ||||
|   {$DEFINE DELPHI15_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi XE2 | ||||
| {$IFDEF VER230} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
|   {$DEFINE DELPHI14_UP} | ||||
|   {$DEFINE DELPHI15_UP} | ||||
|   {$DEFINE DELPHI16_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi XE3 | ||||
| {$IFDEF VER240} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
|   {$DEFINE DELPHI14_UP} | ||||
|   {$DEFINE DELPHI15_UP} | ||||
|   {$DEFINE DELPHI16_UP} | ||||
|   {$DEFINE DELPHI17_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi XE4 | ||||
| {$IFDEF VER250} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
|   {$DEFINE DELPHI14_UP} | ||||
|   {$DEFINE DELPHI15_UP} | ||||
|   {$DEFINE DELPHI16_UP} | ||||
|   {$DEFINE DELPHI17_UP} | ||||
|   {$DEFINE DELPHI18_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi XE5 | ||||
| {$IFDEF VER260} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
|   {$DEFINE DELPHI14_UP} | ||||
|   {$DEFINE DELPHI15_UP} | ||||
|   {$DEFINE DELPHI16_UP} | ||||
|   {$DEFINE DELPHI17_UP} | ||||
|   {$DEFINE DELPHI18_UP} | ||||
|   {$DEFINE DELPHI19_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi XE6 | ||||
| {$IFDEF VER270} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
|   {$DEFINE DELPHI14_UP} | ||||
|   {$DEFINE DELPHI15_UP} | ||||
|   {$DEFINE DELPHI16_UP} | ||||
|   {$DEFINE DELPHI17_UP} | ||||
|   {$DEFINE DELPHI18_UP} | ||||
|   {$DEFINE DELPHI19_UP} | ||||
|   {$DEFINE DELPHI20_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi XE7 | ||||
| {$IFDEF VER280} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
|   {$DEFINE DELPHI14_UP} | ||||
|   {$DEFINE DELPHI15_UP} | ||||
|   {$DEFINE DELPHI16_UP} | ||||
|   {$DEFINE DELPHI17_UP} | ||||
|   {$DEFINE DELPHI18_UP} | ||||
|   {$DEFINE DELPHI19_UP} | ||||
|   {$DEFINE DELPHI20_UP} | ||||
|   {$DEFINE DELPHI21_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi XE8 | ||||
| {$IFDEF VER290} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
|   {$DEFINE DELPHI14_UP} | ||||
|   {$DEFINE DELPHI15_UP} | ||||
|   {$DEFINE DELPHI16_UP} | ||||
|   {$DEFINE DELPHI17_UP} | ||||
|   {$DEFINE DELPHI18_UP} | ||||
|   {$DEFINE DELPHI19_UP} | ||||
|   {$DEFINE DELPHI20_UP} | ||||
|   {$DEFINE DELPHI21_UP} | ||||
|   {$DEFINE DELPHI22_UP} | ||||
| {$ENDIF VER290} | ||||
|  | ||||
| // Rad Studio 10 - Delphi Seattle | ||||
| {$IFDEF VER300} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
|   {$DEFINE DELPHI14_UP} | ||||
|   {$DEFINE DELPHI15_UP} | ||||
|   {$DEFINE DELPHI16_UP} | ||||
|   {$DEFINE DELPHI17_UP} | ||||
|   {$DEFINE DELPHI18_UP} | ||||
|   {$DEFINE DELPHI19_UP} | ||||
|   {$DEFINE DELPHI20_UP} | ||||
|   {$DEFINE DELPHI21_UP} | ||||
|   {$DEFINE DELPHI22_UP} | ||||
|   {$DEFINE DELPHI23_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Rad Studio 10.1 - Delphi Berlin | ||||
| {$IFDEF VER310} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
|   {$DEFINE DELPHI14_UP} | ||||
|   {$DEFINE DELPHI15_UP} | ||||
|   {$DEFINE DELPHI16_UP} | ||||
|   {$DEFINE DELPHI17_UP} | ||||
|   {$DEFINE DELPHI18_UP} | ||||
|   {$DEFINE DELPHI19_UP} | ||||
|   {$DEFINE DELPHI20_UP} | ||||
|   {$DEFINE DELPHI21_UP} | ||||
|   {$DEFINE DELPHI22_UP} | ||||
|   {$DEFINE DELPHI23_UP} | ||||
|   {$DEFINE DELPHI24_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Rad Studio 10.2 - Delphi Tokyo | ||||
| {$IFDEF VER320} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
|   {$DEFINE DELPHI14_UP} | ||||
|   {$DEFINE DELPHI15_UP} | ||||
|   {$DEFINE DELPHI16_UP} | ||||
|   {$DEFINE DELPHI17_UP} | ||||
|   {$DEFINE DELPHI18_UP} | ||||
|   {$DEFINE DELPHI19_UP} | ||||
|   {$DEFINE DELPHI20_UP} | ||||
|   {$DEFINE DELPHI21_UP} | ||||
|   {$DEFINE DELPHI22_UP} | ||||
|   {$DEFINE DELPHI23_UP} | ||||
|   {$DEFINE DELPHI24_UP} | ||||
|   {$DEFINE DELPHI25_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
|  | ||||
| {$IFDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
|   {$DEFINE DELPHI14_UP} | ||||
|   {$DEFINE DELPHI15_UP} | ||||
|   {$DEFINE DELPHI16_UP} | ||||
|   {$DEFINE DELPHI17_UP} | ||||
|   {$DEFINE DELPHI18_UP} | ||||
|   {$DEFINE DELPHI19_UP} | ||||
|   {$DEFINE DELPHI20_UP} | ||||
|   {$DEFINE DELPHI21_UP} | ||||
|   {$DEFINE DELPHI22_UP} | ||||
|   {$DEFINE DELPHI23_UP} | ||||
|   {$DEFINE DELPHI24_UP} | ||||
|   {$DEFINE DELPHI25_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| {$IFDEF DELPHI9_UP} | ||||
|   {$DEFINE SUPPORTS_INLINE} | ||||
| {$ENDIF} | ||||
|  | ||||
| @@ -1,93 +0,0 @@ | ||||
| object GeolocationFrm: TGeolocationFrm | ||||
|   Left = 0 | ||||
|   Top = 0 | ||||
|   Caption = 'Geolocation' | ||||
|   ClientHeight = 691 | ||||
|   ClientWidth = 978 | ||||
|   Color = clBtnFace | ||||
|   Font.Charset = DEFAULT_CHARSET | ||||
|   Font.Color = clWindowText | ||||
|   Font.Height = -11 | ||||
|   Font.Name = 'Tahoma' | ||||
|   Font.Style = [] | ||||
|   OldCreateOrder = False | ||||
|   Position = poScreenCenter | ||||
|   OnCreate = FormCreate | ||||
|   OnShow = FormShow | ||||
|   PixelsPerInch = 96 | ||||
|   TextHeight = 13 | ||||
|   object CEFWindowParent1: TCEFWindowParent | ||||
|     Left = 0 | ||||
|     Top = 30 | ||||
|     Width = 978 | ||||
|     Height = 642 | ||||
|     Align = alClient | ||||
|     TabOrder = 0 | ||||
|   end | ||||
|   object NavControlPnl: TPanel | ||||
|     Left = 0 | ||||
|     Top = 0 | ||||
|     Width = 978 | ||||
|     Height = 30 | ||||
|     Align = alTop | ||||
|     BevelOuter = bvNone | ||||
|     Enabled = False | ||||
|     Padding.Left = 5 | ||||
|     Padding.Top = 5 | ||||
|     Padding.Right = 5 | ||||
|     Padding.Bottom = 5 | ||||
|     ShowCaption = False | ||||
|     TabOrder = 1 | ||||
|     object Edit1: TEdit | ||||
|       Left = 5 | ||||
|       Top = 5 | ||||
|       Width = 937 | ||||
|       Height = 20 | ||||
|       Margins.Right = 5 | ||||
|       Align = alClient | ||||
|       TabOrder = 0 | ||||
|       Text = 'http://www.google.com' | ||||
|       ExplicitHeight = 21 | ||||
|     end | ||||
|     object GoBtn: TButton | ||||
|       Left = 942 | ||||
|       Top = 5 | ||||
|       Width = 31 | ||||
|       Height = 20 | ||||
|       Margins.Left = 5 | ||||
|       Align = alRight | ||||
|       Caption = 'Go' | ||||
|       TabOrder = 1 | ||||
|       OnClick = GoBtnClick | ||||
|     end | ||||
|   end | ||||
|   object StatusBar1: TStatusBar | ||||
|     Left = 0 | ||||
|     Top = 672 | ||||
|     Width = 978 | ||||
|     Height = 19 | ||||
|     Panels = < | ||||
|       item | ||||
|         Width = 200 | ||||
|       end | ||||
|       item | ||||
|         Width = 200 | ||||
|       end | ||||
|       item | ||||
|         Width = 200 | ||||
|       end> | ||||
|   end | ||||
|   object Chromium1: TChromium | ||||
|     OnBeforePopup = Chromium1BeforePopup | ||||
|     OnAfterCreated = Chromium1AfterCreated | ||||
|     Left = 32 | ||||
|     Top = 224 | ||||
|   end | ||||
|   object Timer1: TTimer | ||||
|     Enabled = False | ||||
|     Interval = 300 | ||||
|     OnTimer = Timer1Timer | ||||
|     Left = 32 | ||||
|     Top = 288 | ||||
|   end | ||||
| end | ||||
| @@ -1,198 +0,0 @@ | ||||
| // ************************************************************************ | ||||
| // ***************************** CEF4Delphi ******************************* | ||||
| // ************************************************************************ | ||||
| // | ||||
| // CEF4Delphi is based on DCEF3 which uses CEF3 to embed a chromium-based | ||||
| // browser in Delphi applications. | ||||
| // | ||||
| // The original license of DCEF3 still applies to CEF4Delphi. | ||||
| // | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
| // ************************************************************************ | ||||
| (* | ||||
|  *                       Delphi Chromium Embedded 3 | ||||
|  * | ||||
|  * Usage allowed under the restrictions of the Lesser GNU General Public License | ||||
|  * or alternatively the restrictions of the Mozilla Public License 1.1 | ||||
|  * | ||||
|  * Software distributed under the License is distributed on an "AS IS" basis, | ||||
|  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for | ||||
|  * the specific language governing rights and limitations under the License. | ||||
|  * | ||||
|  * Unit owner : Henri Gourvest <hgourvest@gmail.com> | ||||
|  * Web site   : http://www.progdigy.com | ||||
|  * Repository : http://code.google.com/p/delphichromiumembedded/ | ||||
|  * Group      : http://groups.google.com/group/delphichromiumembedded | ||||
|  * | ||||
|  * Embarcadero Technologies, Inc is not permitted to use or redistribute | ||||
|  * this source code without explicit permission. | ||||
|  * | ||||
|  *) | ||||
|  | ||||
| unit uGeolocation; | ||||
|  | ||||
| {$I cef.inc} | ||||
|  | ||||
| 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.ExtCtrls, Vcl.ComCtrls, | ||||
|   {$ELSE} | ||||
|   Windows, Messages, SysUtils, Variants, Classes, Graphics, | ||||
|   Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, | ||||
|   {$ENDIF} | ||||
|   uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants; | ||||
|  | ||||
| const | ||||
|   MINIBROWSER_NEWLOCATION = WM_APP + $100; | ||||
|  | ||||
| type | ||||
|   TGeolocationFrm = class(TForm) | ||||
|     CEFWindowParent1: TCEFWindowParent; | ||||
|     Chromium1: TChromium; | ||||
|     NavControlPnl: TPanel; | ||||
|     Edit1: TEdit; | ||||
|     GoBtn: TButton; | ||||
|     StatusBar1: TStatusBar; | ||||
|     Timer1: TTimer; | ||||
|  | ||||
|     procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser); | ||||
|     procedure GoBtnClick(Sender: TObject); | ||||
|     procedure FormShow(Sender: TObject); | ||||
|     procedure Timer1Timer(Sender: TObject); | ||||
|     procedure FormCreate(Sender: TObject); | ||||
|     procedure Chromium1BeforePopup(Sender: TObject; | ||||
|       const browser: ICefBrowser; const frame: ICefFrame; const targetUrl, | ||||
|       targetFrameName: ustring; | ||||
|       targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean; | ||||
|       var popupFeatures: TCefPopupFeatures; var windowInfo: TCefWindowInfo; | ||||
|       var client: ICefClient; var settings: TCefBrowserSettings; | ||||
|       var noJavascriptAccess: Boolean; out Result: Boolean); | ||||
|   protected | ||||
|     procedure BrowserCreatedMsg(var aMessage : TMessage); message CEF_AFTERCREATED; | ||||
|     procedure NewLocationMsg(var aMessage : TMessage); message MINIBROWSER_NEWLOCATION; | ||||
|     procedure WMMove(var aMessage : TWMMove); message WM_MOVE; | ||||
|     procedure WMMoving(var aMessage : TMessage); message WM_MOVING; | ||||
|     procedure WMEnterMenuLoop(var aMessage: TMessage); message WM_ENTERMENULOOP; | ||||
|     procedure WMExitMenuLoop(var aMessage: TMessage); message WM_EXITMENULOOP; | ||||
|   end; | ||||
|  | ||||
| var | ||||
|   GeolocationFrm : TGeolocationFrm; | ||||
|   GlobalPosition : TCefGeoposition; | ||||
|  | ||||
| implementation | ||||
|  | ||||
| {$R *.dfm} | ||||
|  | ||||
| uses | ||||
|   uCEFMiscFunctions; | ||||
|  | ||||
| procedure GeoLocationUpdate(const position: PCefGeoposition); | ||||
| begin | ||||
|   GlobalPosition.latitude          := position.latitude; | ||||
|   GlobalPosition.longitude         := position.longitude; | ||||
|   GlobalPosition.altitude          := position.altitude; | ||||
|   GlobalPosition.accuracy          := position.accuracy; | ||||
|   GlobalPosition.altitude_accuracy := position.altitude_accuracy; | ||||
|   GlobalPosition.heading           := position.heading; | ||||
|   GlobalPosition.speed             := position.speed; | ||||
|   GlobalPosition.timestamp         := position.timestamp; | ||||
|   GlobalPosition.error_code        := position.error_code; | ||||
|   GlobalPosition.error_message     := position.error_message; | ||||
|  | ||||
|   PostMessage(GeolocationFrm.Handle, MINIBROWSER_NEWLOCATION, 0, 0); | ||||
| end; | ||||
|  | ||||
| procedure TGeolocationFrm.Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser); | ||||
| begin | ||||
|   PostMessage(Handle, CEF_AFTERCREATED, 0, 0); | ||||
| end; | ||||
|  | ||||
| procedure TGeolocationFrm.Chromium1BeforePopup(Sender: TObject; | ||||
|   const browser: ICefBrowser; const frame: ICefFrame; const targetUrl, | ||||
|   targetFrameName: ustring; targetDisposition: TCefWindowOpenDisposition; | ||||
|   userGesture: Boolean; var popupFeatures: TCefPopupFeatures; | ||||
|   var windowInfo: TCefWindowInfo; var client: ICefClient; | ||||
|   var settings: TCefBrowserSettings; var noJavascriptAccess: Boolean; | ||||
|   out Result: Boolean); | ||||
| begin | ||||
|   // For simplicity, this demo blocks all popup windows and new tabs | ||||
|   Result := (targetDisposition in [WOD_NEW_FOREGROUND_TAB, WOD_NEW_BACKGROUND_TAB, WOD_NEW_POPUP, WOD_NEW_WINDOW]); | ||||
| end; | ||||
|  | ||||
| procedure TGeolocationFrm.FormCreate(Sender: TObject); | ||||
| begin | ||||
|   CefGetGeolocation(GeoLocationUpdate); | ||||
| end; | ||||
|  | ||||
| procedure TGeolocationFrm.FormShow(Sender: TObject); | ||||
| begin | ||||
|   // GlobalCEFApp.GlobalContextInitialized has to be TRUE before creating any browser | ||||
|   // If it's not initialized yet, we use a simple timer to create the browser later. | ||||
|   if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True; | ||||
| end; | ||||
|  | ||||
| procedure TGeolocationFrm.GoBtnClick(Sender: TObject); | ||||
| begin | ||||
|   Chromium1.LoadURL(Edit1.Text); | ||||
| end; | ||||
|  | ||||
| procedure TGeolocationFrm.BrowserCreatedMsg(var aMessage : TMessage); | ||||
| begin | ||||
|   CEFWindowParent1.UpdateSize; | ||||
|   NavControlPnl.Enabled := True; | ||||
|   GoBtn.Click; | ||||
| end; | ||||
|  | ||||
| procedure TGeolocationFrm.NewLocationMsg(var aMessage : TMessage); | ||||
| begin | ||||
|   StatusBar1.Panels[0].Text := 'lat : ' + floattostr(GlobalPosition.latitude); | ||||
|   StatusBar1.Panels[1].Text := 'lon : ' + floattostr(GlobalPosition.longitude); | ||||
|   StatusBar1.Panels[2].Text := 'alt : ' + floattostr(GlobalPosition.altitude); | ||||
| end; | ||||
|  | ||||
| procedure TGeolocationFrm.Timer1Timer(Sender: TObject); | ||||
| begin | ||||
|   Timer1.Enabled := False; | ||||
|   if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) and not(Chromium1.Initialized) then | ||||
|     Timer1.Enabled := True; | ||||
| end; | ||||
|  | ||||
| procedure TGeolocationFrm.WMMove(var aMessage : TWMMove); | ||||
| begin | ||||
|   inherited; | ||||
|  | ||||
|   if (Chromium1 <> nil) then Chromium1.NotifyMoveOrResizeStarted; | ||||
| end; | ||||
|  | ||||
| procedure TGeolocationFrm.WMMoving(var aMessage : TMessage); | ||||
| begin | ||||
|   inherited; | ||||
|  | ||||
|   if (Chromium1 <> nil) then Chromium1.NotifyMoveOrResizeStarted; | ||||
| end; | ||||
|  | ||||
| procedure TGeolocationFrm.WMEnterMenuLoop(var aMessage: TMessage); | ||||
| begin | ||||
|   inherited; | ||||
|  | ||||
|   if (aMessage.wParam = 0) and (GlobalCEFApp <> nil) then GlobalCEFApp.OsmodalLoop := True; | ||||
| end; | ||||
|  | ||||
| procedure TGeolocationFrm.WMExitMenuLoop(var aMessage: TMessage); | ||||
| begin | ||||
|   inherited; | ||||
|  | ||||
|   if (aMessage.wParam = 0) and (GlobalCEFApp <> nil) then GlobalCEFApp.OsmodalLoop := False; | ||||
| end; | ||||
|  | ||||
| end. | ||||
| @@ -1,14 +0,0 @@ | ||||
| del /s /q *.dcu | ||||
| del /s /q *.exe | ||||
| del /s /q *.res | ||||
| del /s /q *.log | ||||
| del /s /q *.dsk | ||||
| del /s /q *.identcache | ||||
| del /s /q *.stat | ||||
| del /s /q *.local | ||||
| del /s /q *.~* | ||||
| rmdir Win32\Debug | ||||
| rmdir Win32\Release | ||||
| rmdir Win32 | ||||
| rmdir __history | ||||
| rmdir __recovery | ||||
| @@ -1,72 +0,0 @@ | ||||
| // ************************************************************************ | ||||
| // ***************************** CEF4Delphi ******************************* | ||||
| // ************************************************************************ | ||||
| // | ||||
| // CEF4Delphi is based on DCEF3 which uses CEF3 to embed a chromium-based | ||||
| // browser in Delphi applications. | ||||
| // | ||||
| // The original license of DCEF3 still applies to CEF4Delphi. | ||||
| // | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
| // ************************************************************************ | ||||
| (* | ||||
|  *                       Delphi Chromium Embedded 3 | ||||
|  * | ||||
|  * Usage allowed under the restrictions of the Lesser GNU General Public License | ||||
|  * or alternatively the restrictions of the Mozilla Public License 1.1 | ||||
|  * | ||||
|  * Software distributed under the License is distributed on an "AS IS" basis, | ||||
|  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for | ||||
|  * the specific language governing rights and limitations under the License. | ||||
|  * | ||||
|  * Unit owner : Henri Gourvest <hgourvest@gmail.com> | ||||
|  * Web site   : http://www.progdigy.com | ||||
|  * Repository : http://code.google.com/p/delphichromiumembedded/ | ||||
|  * Group      : http://groups.google.com/group/delphichromiumembedded | ||||
|  * | ||||
|  * Embarcadero Technologies, Inc is not permitted to use or redistribute | ||||
|  * this source code without explicit permission. | ||||
|  * | ||||
|  *) | ||||
|  | ||||
| program PostDataInspector; | ||||
|  | ||||
| {$I cef.inc} | ||||
|  | ||||
| uses | ||||
|   {$IFDEF DELPHI16_UP} | ||||
|   Vcl.Forms, | ||||
|   WinApi.Windows, | ||||
|   {$ELSE} | ||||
|   Forms, | ||||
|   Windows, | ||||
|   {$ENDIF } | ||||
|   uCEFApplication, | ||||
|   uPostDataInspector in 'uPostDataInspector.pas' {PostDataInspectorFrm}; | ||||
|  | ||||
| {$R *.res} | ||||
|  | ||||
| {$SetPEFlags IMAGE_FILE_LARGE_ADDRESS_AWARE} | ||||
|  | ||||
| begin | ||||
|   GlobalCEFApp                    := TCefApplication.Create; | ||||
|   GlobalCEFApp.OnBeforeNavigation := GlobalCEFApp_OnBeforeNavigation; | ||||
|  | ||||
|   if GlobalCEFApp.StartMainProcess then | ||||
|     begin | ||||
|       Application.Initialize; | ||||
|       {$IFDEF DELPHI11_UP} | ||||
|       Application.MainFormOnTaskbar := True; | ||||
|       {$ENDIF} | ||||
|       Application.CreateForm(TPostDataInspectorFrm, PostDataInspectorFrm); | ||||
|       Application.Run; | ||||
|     end; | ||||
|  | ||||
|   GlobalCEFApp.Free; | ||||
| end. | ||||
| @@ -1,567 +0,0 @@ | ||||
| <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||
|     <PropertyGroup> | ||||
|         <ProjectGuid>{8B6462D2-96EC-4314-9844-122457AB64FA}</ProjectGuid> | ||||
|         <ProjectVersion>18.2</ProjectVersion> | ||||
|         <FrameworkType>VCL</FrameworkType> | ||||
|         <MainSource>PostDataInspector.dpr</MainSource> | ||||
|         <Base>True</Base> | ||||
|         <Config Condition="'$(Config)'==''">Debug</Config> | ||||
|         <Platform Condition="'$(Platform)'==''">Win32</Platform> | ||||
|         <TargetedPlatforms>1</TargetedPlatforms> | ||||
|         <AppType>Application</AppType> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''"> | ||||
|         <Base>true</Base> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''"> | ||||
|         <Base_Win32>true</Base_Win32> | ||||
|         <CfgParent>Base</CfgParent> | ||||
|         <Base>true</Base> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''"> | ||||
|         <Base_Win64>true</Base_Win64> | ||||
|         <CfgParent>Base</CfgParent> | ||||
|         <Base>true</Base> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_1)'!=''"> | ||||
|         <Cfg_1>true</Cfg_1> | ||||
|         <CfgParent>Base</CfgParent> | ||||
|         <Base>true</Base> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win32)'!=''"> | ||||
|         <Cfg_1_Win32>true</Cfg_1_Win32> | ||||
|         <CfgParent>Cfg_1</CfgParent> | ||||
|         <Cfg_1>true</Cfg_1> | ||||
|         <Base>true</Base> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_2)'!=''"> | ||||
|         <Cfg_2>true</Cfg_2> | ||||
|         <CfgParent>Base</CfgParent> | ||||
|         <Base>true</Base> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win32)'!=''"> | ||||
|         <Cfg_2_Win32>true</Cfg_2_Win32> | ||||
|         <CfgParent>Cfg_2</CfgParent> | ||||
|         <Cfg_2>true</Cfg_2> | ||||
|         <Base>true</Base> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="'$(Base)'!=''"> | ||||
|         <DCC_DcuOutput>.\$(Platform)\$(Config)</DCC_DcuOutput> | ||||
|         <DCC_E>false</DCC_E> | ||||
|         <DCC_N>false</DCC_N> | ||||
|         <DCC_S>false</DCC_S> | ||||
|         <DCC_F>false</DCC_F> | ||||
|         <DCC_K>false</DCC_K> | ||||
|         <DCC_UsePackage>RESTComponents;emsclientfiredac;FireDAC;FireDACSqliteDriver;soaprtl;FireDACIBDriver;soapmidas;FireDACCommon;emsclient;RESTBackendComponents;soapserver;FireDACCommonDriver;CloudService;inet;$(DCC_UsePackage)</DCC_UsePackage> | ||||
|         <DCC_Namespace>System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace)</DCC_Namespace> | ||||
|         <Icon_MainIcon>$(BDS)\bin\delphi_PROJECTICON.ico</Icon_MainIcon> | ||||
|         <UWP_DelphiLogo44>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png</UWP_DelphiLogo44> | ||||
|         <UWP_DelphiLogo150>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png</UWP_DelphiLogo150> | ||||
|         <VerInfo_Locale>3082</VerInfo_Locale> | ||||
|         <SanitizedProjectName>PostDataInspector</SanitizedProjectName> | ||||
|         <VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=</VerInfo_Keys> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="'$(Base_Win32)'!=''"> | ||||
|         <DCC_UsePackage>DBXSqliteDriver;bindcompdbx;fmxase;DBXDb2Driver;DBXInterBaseDriver;vcl;DBXSybaseASEDriver;vclactnband;vclFireDAC;FireDACDb2Driver;GR32_DSGN_RSXE5;DataSnapFireDAC;svnui;tethering;dsnapcon;FireDACADSDriver;FireDACMSAccDriver;fmxFireDAC;DBXMSSQLDriver;vclimg;FireDACInfxDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;svn;FireDACPgDriver;DBXOracleDriver;inetdb;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;CEF4Delphi;DbxCommonDriver;IndyProtocols240;IndySystem240;fmx;DataSnapServer;xmlrtl;DataSnapNativeClient;fmxobj;fmxdae;vclwinx;rtl;FireDACDSDriver;DbxClientDriver;IndyCore240;DBXSybaseASADriver;CustomIPTransport;vcldsnap;dbexpress;FireDACDBXDriver;vclx;GR32_RSXE5;bindcomp;appanalytics;dsnap;DataSnapCommon;DBXInformixDriver;bindcompvcl;DataSnapConnectors;VCLRESTComponents;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;dsnapxml;FireDACMySQLDriver;dbrtl;inetdbxpress;DBXFirebirdDriver;DataSnapProviderClient;FireDACMongoDBDriver;FireDACCommonODBC;DataSnapClient;DataSnapServerMidas;$(DCC_UsePackage)</DCC_UsePackage> | ||||
|         <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(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> | ||||
|         <DCC_ExeOutput>..\..\bin</DCC_ExeOutput> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="'$(Base_Win64)'!=''"> | ||||
|         <DCC_UsePackage>DBXSqliteDriver;bindcompdbx;fmxase;DBXDb2Driver;DBXInterBaseDriver;vcl;DBXSybaseASEDriver;vclactnband;vclFireDAC;FireDACDb2Driver;DataSnapFireDAC;tethering;dsnapcon;FireDACADSDriver;FireDACMSAccDriver;fmxFireDAC;DBXMSSQLDriver;vclimg;FireDACInfxDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;FireDACPgDriver;DBXOracleDriver;inetdb;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;DbxCommonDriver;IndyProtocols240;IndySystem240;fmx;DataSnapServer;xmlrtl;DataSnapNativeClient;fmxobj;fmxdae;vclwinx;rtl;FireDACDSDriver;DbxClientDriver;IndyCore240;DBXSybaseASADriver;CustomIPTransport;vcldsnap;dbexpress;FireDACDBXDriver;vclx;bindcomp;appanalytics;dsnap;DataSnapCommon;DBXInformixDriver;bindcompvcl;DataSnapConnectors;VCLRESTComponents;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;dsnapxml;FireDACMySQLDriver;dbrtl;inetdbxpress;DBXFirebirdDriver;DataSnapProviderClient;FireDACMongoDBDriver;FireDACCommonODBC;DataSnapClient;DataSnapServerMidas;$(DCC_UsePackage)</DCC_UsePackage> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="'$(Cfg_1)'!=''"> | ||||
|         <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define> | ||||
|         <DCC_DebugDCUs>true</DCC_DebugDCUs> | ||||
|         <DCC_Optimize>false</DCC_Optimize> | ||||
|         <DCC_GenerateStackFrames>true</DCC_GenerateStackFrames> | ||||
|         <DCC_DebugInfoInExe>true</DCC_DebugInfoInExe> | ||||
|         <DCC_RemoteDebug>true</DCC_RemoteDebug> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="'$(Cfg_1_Win32)'!=''"> | ||||
|         <DCC_RemoteDebug>false</DCC_RemoteDebug> | ||||
|         <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes> | ||||
|         <AppEnableHighDPI>true</AppEnableHighDPI> | ||||
|         <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo> | ||||
|         <VerInfo_Locale>1033</VerInfo_Locale> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="'$(Cfg_2)'!=''"> | ||||
|         <DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols> | ||||
|         <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define> | ||||
|         <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo> | ||||
|         <DCC_DebugInformation>0</DCC_DebugInformation> | ||||
|     </PropertyGroup> | ||||
|     <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''"> | ||||
|         <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes> | ||||
|         <AppEnableHighDPI>true</AppEnableHighDPI> | ||||
|     </PropertyGroup> | ||||
|     <ItemGroup> | ||||
|         <DelphiCompile Include="$(MainSource)"> | ||||
|             <MainSource>MainSource</MainSource> | ||||
|         </DelphiCompile> | ||||
|         <DCCReference Include="uPostDataInspector.pas"> | ||||
|             <Form>PostDataInspectorFrm</Form> | ||||
|         </DCCReference> | ||||
|         <BuildConfiguration Include="Release"> | ||||
|             <Key>Cfg_2</Key> | ||||
|             <CfgParent>Base</CfgParent> | ||||
|         </BuildConfiguration> | ||||
|         <BuildConfiguration Include="Base"> | ||||
|             <Key>Base</Key> | ||||
|         </BuildConfiguration> | ||||
|         <BuildConfiguration Include="Debug"> | ||||
|             <Key>Cfg_1</Key> | ||||
|             <CfgParent>Base</CfgParent> | ||||
|         </BuildConfiguration> | ||||
|     </ItemGroup> | ||||
|     <ProjectExtensions> | ||||
|         <Borland.Personality>Delphi.Personality.12</Borland.Personality> | ||||
|         <Borland.ProjectType>Application</Borland.ProjectType> | ||||
|         <BorlandProject> | ||||
|             <Delphi.Personality> | ||||
|                 <Source> | ||||
|                     <Source Name="MainSource">PostDataInspector.dpr</Source> | ||||
|                 </Source> | ||||
|                 <Excluded_Packages> | ||||
|                     <Excluded_Packages Name="$(BDSBIN)\dclIPIndyImpl250.bpl">IP Abstraction Indy Implementation Design Time</Excluded_Packages> | ||||
|                     <Excluded_Packages Name="$(BDSBIN)\dcloffice2k250.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages> | ||||
|                     <Excluded_Packages Name="$(BDSBIN)\dclofficexp250.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages> | ||||
|                 </Excluded_Packages> | ||||
|             </Delphi.Personality> | ||||
|             <Deployment Version="3"> | ||||
|                 <DeployFile LocalName="Win32\Debug\PostDataInspector.exe" Configuration="Debug" Class="ProjectOutput"> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <RemoteName>PostDataInspector.exe</RemoteName> | ||||
|                         <Overwrite>true</Overwrite> | ||||
|                     </Platform> | ||||
|                 </DeployFile> | ||||
|                 <DeployClass Name="AdditionalDebugSymbols"> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents\MacOS</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <RemoteDir>Contents\MacOS</RemoteDir> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="AndroidClassesDexFile"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>classes</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="AndroidGDBServer"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>library\lib\armeabi-v7a</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="AndroidLibnativeArmeabiFile"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>library\lib\armeabi</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="AndroidLibnativeMipsFile"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>library\lib\mips</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="AndroidServiceOutput"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>library\lib\armeabi-v7a</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="AndroidSplashImageDef"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="AndroidSplashStyles"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\values</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="Android_DefaultAppIcon"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="Android_LauncherIcon144"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable-xxhdpi</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="Android_LauncherIcon36"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable-ldpi</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="Android_LauncherIcon48"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable-mdpi</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="Android_LauncherIcon72"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable-hdpi</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="Android_LauncherIcon96"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable-xhdpi</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="Android_SplashImage426"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable-small</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="Android_SplashImage470"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable-normal</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="Android_SplashImage640"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable-large</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="Android_SplashImage960"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable-xlarge</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="DebugSymbols"> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents\MacOS</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="DependencyFramework"> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents\MacOS</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.framework</Extensions> | ||||
|                     </Platform> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="DependencyModule"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.dylib</Extensions> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.dylib</Extensions> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.dylib</Extensions> | ||||
|                     </Platform> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents\MacOS</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.dylib</Extensions> | ||||
|                     </Platform> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <Operation>0</Operation> | ||||
|                         <Extensions>.dll;.bpl</Extensions> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Required="true" Name="DependencyPackage"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.dylib</Extensions> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.dylib</Extensions> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.dylib</Extensions> | ||||
|                     </Platform> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents\MacOS</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.dylib</Extensions> | ||||
|                     </Platform> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <Operation>0</Operation> | ||||
|                         <Extensions>.bpl</Extensions> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="File"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents\Resources\StartUp\</RemoteDir> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="iPad_Launch1024"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="iPad_Launch1536"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="iPad_Launch2048"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="iPad_Launch768"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="iPhone_Launch320"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="iPhone_Launch640"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="iPhone_Launch640x1136"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectAndroidManifest"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectiOSDeviceDebug"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectiOSDeviceResourceRules"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectiOSEntitlements"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <RemoteDir>..\</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <RemoteDir>..\</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectiOSInfoPList"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectiOSResource"> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectOSXEntitlements"> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>..\</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectOSXInfoPList"> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectOSXResource"> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents\Resources</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Required="true" Name="ProjectOutput"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>library\lib\armeabi-v7a</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="Linux64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents\MacOS</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectUWPManifest"> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="Win64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="UWP_DelphiLogo150"> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <RemoteDir>Assets</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="Win64"> | ||||
|                         <RemoteDir>Assets</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="UWP_DelphiLogo44"> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <RemoteDir>Assets</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="Win64"> | ||||
|                         <RemoteDir>Assets</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/> | ||||
|                 <ProjectRoot Platform="Win64" Name="$(PROJECTNAME)"/> | ||||
|                 <ProjectRoot Platform="iOSDevice32" Name="$(PROJECTNAME).app"/> | ||||
|                 <ProjectRoot Platform="Linux64" Name="$(PROJECTNAME)"/> | ||||
|                 <ProjectRoot Platform="Win32" Name="$(PROJECTNAME)"/> | ||||
|                 <ProjectRoot Platform="OSX32" Name="$(PROJECTNAME).app"/> | ||||
|                 <ProjectRoot Platform="Android" Name="$(PROJECTNAME)"/> | ||||
|                 <ProjectRoot Platform="iOSSimulator" Name="$(PROJECTNAME).app"/> | ||||
|             </Deployment> | ||||
|             <Platforms> | ||||
|                 <Platform value="Win32">True</Platform> | ||||
|                 <Platform value="Win64">False</Platform> | ||||
|             </Platforms> | ||||
|         </BorlandProject> | ||||
|         <ProjectFileVersion>12</ProjectFileVersion> | ||||
|     </ProjectExtensions> | ||||
|     <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/> | ||||
|     <Import Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj" Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')"/> | ||||
|     <Import Project="$(MSBuildProjectName).deployproj" Condition="Exists('$(MSBuildProjectName).deployproj')"/> | ||||
| </Project> | ||||
| @@ -1,384 +0,0 @@ | ||||
| // ************************************************************************ | ||||
| // ***************************** CEF4Delphi ******************************* | ||||
| // ************************************************************************ | ||||
| // | ||||
| // CEF4Delphi is based on DCEF3 which uses CEF3 to embed a chromium-based | ||||
| // browser in Delphi applications. | ||||
| // | ||||
| // The original license of DCEF3 still applies to CEF4Delphi. | ||||
| // | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2017 Salvador D�az Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
| // ************************************************************************ | ||||
| (* | ||||
|  *                       Delphi Chromium Embedded 3 | ||||
|  * | ||||
|  * Usage allowed under the restrictions of the Lesser GNU General Public License | ||||
|  * or alternatively the restrictions of the Mozilla Public License 1.1 | ||||
|  * | ||||
|  * Software distributed under the License is distributed on an "AS IS" basis, | ||||
|  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for | ||||
|  * the specific language governing rights and limitations under the License. | ||||
|  * | ||||
|  * Unit owner : Henri Gourvest <hgourvest@gmail.com> | ||||
|  * Web site   : http://www.progdigy.com | ||||
|  * Repository : http://code.google.com/p/delphichromiumembedded/ | ||||
|  * Group      : http://groups.google.com/group/delphichromiumembedded | ||||
|  * | ||||
|  * Embarcadero Technologies, Inc is not permitted to use or redistribute | ||||
|  * this source code without explicit permission. | ||||
|  * | ||||
|  *) | ||||
|  | ||||
|  // The complete list of compiler versions is here : | ||||
|  // http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Compiler_Versions | ||||
|  | ||||
| {$DEFINE DELPHI_VERSION_UNKNOW} | ||||
|  | ||||
| {$IFDEF FPC} | ||||
|   {$DEFINE CEF_MULTI_THREADED_MESSAGE_LOOP} | ||||
|   {$DEFINE SUPPORTS_INLINE} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi 5 | ||||
| {$IFDEF VER130} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi 6 | ||||
| {$IFDEF VER140} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi 7 | ||||
| {$IFDEF VER150} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi 8 | ||||
| {$IFDEF VER160} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi 2005 | ||||
| {$IFDEF VER170} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| {$IFDEF VER180} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   // Delphi 2007 | ||||
|   {$IFDEF VER185} | ||||
|     {$DEFINE DELPHI5_UP} | ||||
|     {$DEFINE DELPHI6_UP} | ||||
|     {$DEFINE DELPHI7_UP} | ||||
|     {$DEFINE DELPHI8_UP} | ||||
|     {$DEFINE DELPHI9_UP} | ||||
|     {$DEFINE DELPHI10_UP} | ||||
|     {$DEFINE DELPHI11_UP} | ||||
|   // Delphi 2006 | ||||
|   {$ELSE} | ||||
|     {$DEFINE DELPHI5_UP} | ||||
|     {$DEFINE DELPHI6_UP} | ||||
|     {$DEFINE DELPHI7_UP} | ||||
|     {$DEFINE DELPHI8_UP} | ||||
|     {$DEFINE DELPHI9_UP} | ||||
|     {$DEFINE DELPHI10_UP} | ||||
|   {$ENDIF} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi 2009 | ||||
| {$IFDEF VER200} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| //Delphi 2010 | ||||
| {$IFDEF VER210} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
|   {$DEFINE DELPHI14_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi XE | ||||
| {$IFDEF VER220} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
|   {$DEFINE DELPHI14_UP} | ||||
|   {$DEFINE DELPHI15_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi XE2 | ||||
| {$IFDEF VER230} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
|   {$DEFINE DELPHI14_UP} | ||||
|   {$DEFINE DELPHI15_UP} | ||||
|   {$DEFINE DELPHI16_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi XE3 | ||||
| {$IFDEF VER240} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
|   {$DEFINE DELPHI14_UP} | ||||
|   {$DEFINE DELPHI15_UP} | ||||
|   {$DEFINE DELPHI16_UP} | ||||
|   {$DEFINE DELPHI17_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi XE4 | ||||
| {$IFDEF VER250} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
|   {$DEFINE DELPHI14_UP} | ||||
|   {$DEFINE DELPHI15_UP} | ||||
|   {$DEFINE DELPHI16_UP} | ||||
|   {$DEFINE DELPHI17_UP} | ||||
|   {$DEFINE DELPHI18_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi XE5 | ||||
| {$IFDEF VER260} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
|   {$DEFINE DELPHI14_UP} | ||||
|   {$DEFINE DELPHI15_UP} | ||||
|   {$DEFINE DELPHI16_UP} | ||||
|   {$DEFINE DELPHI17_UP} | ||||
|   {$DEFINE DELPHI18_UP} | ||||
|   {$DEFINE DELPHI19_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi XE6 | ||||
| {$IFDEF VER270} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
|   {$DEFINE DELPHI14_UP} | ||||
|   {$DEFINE DELPHI15_UP} | ||||
|   {$DEFINE DELPHI16_UP} | ||||
|   {$DEFINE DELPHI17_UP} | ||||
|   {$DEFINE DELPHI18_UP} | ||||
|   {$DEFINE DELPHI19_UP} | ||||
|   {$DEFINE DELPHI20_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi XE7 | ||||
| {$IFDEF VER280} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
|   {$DEFINE DELPHI14_UP} | ||||
|   {$DEFINE DELPHI15_UP} | ||||
|   {$DEFINE DELPHI16_UP} | ||||
|   {$DEFINE DELPHI17_UP} | ||||
|   {$DEFINE DELPHI18_UP} | ||||
|   {$DEFINE DELPHI19_UP} | ||||
|   {$DEFINE DELPHI20_UP} | ||||
|   {$DEFINE DELPHI21_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Delphi XE8 | ||||
| {$IFDEF VER290} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
|   {$DEFINE DELPHI14_UP} | ||||
|   {$DEFINE DELPHI15_UP} | ||||
|   {$DEFINE DELPHI16_UP} | ||||
|   {$DEFINE DELPHI17_UP} | ||||
|   {$DEFINE DELPHI18_UP} | ||||
|   {$DEFINE DELPHI19_UP} | ||||
|   {$DEFINE DELPHI20_UP} | ||||
|   {$DEFINE DELPHI21_UP} | ||||
|   {$DEFINE DELPHI22_UP} | ||||
| {$ENDIF VER290} | ||||
|  | ||||
| // Rad Studio 10 - Delphi Seattle | ||||
| {$IFDEF VER300} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
|   {$DEFINE DELPHI14_UP} | ||||
|   {$DEFINE DELPHI15_UP} | ||||
|   {$DEFINE DELPHI16_UP} | ||||
|   {$DEFINE DELPHI17_UP} | ||||
|   {$DEFINE DELPHI18_UP} | ||||
|   {$DEFINE DELPHI19_UP} | ||||
|   {$DEFINE DELPHI20_UP} | ||||
|   {$DEFINE DELPHI21_UP} | ||||
|   {$DEFINE DELPHI22_UP} | ||||
|   {$DEFINE DELPHI23_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Rad Studio 10.1 - Delphi Berlin | ||||
| {$IFDEF VER310} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
|   {$DEFINE DELPHI14_UP} | ||||
|   {$DEFINE DELPHI15_UP} | ||||
|   {$DEFINE DELPHI16_UP} | ||||
|   {$DEFINE DELPHI17_UP} | ||||
|   {$DEFINE DELPHI18_UP} | ||||
|   {$DEFINE DELPHI19_UP} | ||||
|   {$DEFINE DELPHI20_UP} | ||||
|   {$DEFINE DELPHI21_UP} | ||||
|   {$DEFINE DELPHI22_UP} | ||||
|   {$DEFINE DELPHI23_UP} | ||||
|   {$DEFINE DELPHI24_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| // Rad Studio 10.2 - Delphi Tokyo | ||||
| {$IFDEF VER320} | ||||
|   {$UNDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
|   {$DEFINE DELPHI14_UP} | ||||
|   {$DEFINE DELPHI15_UP} | ||||
|   {$DEFINE DELPHI16_UP} | ||||
|   {$DEFINE DELPHI17_UP} | ||||
|   {$DEFINE DELPHI18_UP} | ||||
|   {$DEFINE DELPHI19_UP} | ||||
|   {$DEFINE DELPHI20_UP} | ||||
|   {$DEFINE DELPHI21_UP} | ||||
|   {$DEFINE DELPHI22_UP} | ||||
|   {$DEFINE DELPHI23_UP} | ||||
|   {$DEFINE DELPHI24_UP} | ||||
|   {$DEFINE DELPHI25_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
|  | ||||
| {$IFDEF DELPHI_VERSION_UNKNOW} | ||||
|   {$DEFINE DELPHI5_UP} | ||||
|   {$DEFINE DELPHI6_UP} | ||||
|   {$DEFINE DELPHI7_UP} | ||||
|   {$DEFINE DELPHI8_UP} | ||||
|   {$DEFINE DELPHI9_UP} | ||||
|   {$DEFINE DELPHI10_UP} | ||||
|   {$DEFINE DELPHI11_UP} | ||||
|   {$DEFINE DELPHI12_UP} | ||||
|   {$DEFINE DELPHI14_UP} | ||||
|   {$DEFINE DELPHI15_UP} | ||||
|   {$DEFINE DELPHI16_UP} | ||||
|   {$DEFINE DELPHI17_UP} | ||||
|   {$DEFINE DELPHI18_UP} | ||||
|   {$DEFINE DELPHI19_UP} | ||||
|   {$DEFINE DELPHI20_UP} | ||||
|   {$DEFINE DELPHI21_UP} | ||||
|   {$DEFINE DELPHI22_UP} | ||||
|   {$DEFINE DELPHI23_UP} | ||||
|   {$DEFINE DELPHI24_UP} | ||||
|   {$DEFINE DELPHI25_UP} | ||||
| {$ENDIF} | ||||
|  | ||||
| {$IFDEF DELPHI9_UP} | ||||
|   {$DEFINE SUPPORTS_INLINE} | ||||
| {$ENDIF} | ||||
|  | ||||
| @@ -1,89 +0,0 @@ | ||||
| object PostDataInspectorFrm: TPostDataInspectorFrm | ||||
|   Left = 0 | ||||
|   Top = 0 | ||||
|   Caption = 'PostData inspector' | ||||
|   ClientHeight = 715 | ||||
|   ClientWidth = 1004 | ||||
|   Color = clBtnFace | ||||
|   Font.Charset = DEFAULT_CHARSET | ||||
|   Font.Color = clWindowText | ||||
|   Font.Height = -11 | ||||
|   Font.Name = 'Tahoma' | ||||
|   Font.Style = [] | ||||
|   OldCreateOrder = False | ||||
|   Position = poScreenCenter | ||||
|   OnShow = FormShow | ||||
|   PixelsPerInch = 96 | ||||
|   TextHeight = 13 | ||||
|   object StatusBar1: TStatusBar | ||||
|     Left = 0 | ||||
|     Top = 696 | ||||
|     Width = 1004 | ||||
|     Height = 19 | ||||
|     Panels = < | ||||
|       item | ||||
|         Width = 50 | ||||
|       end> | ||||
|   end | ||||
|   object CEFWindowParent1: TCEFWindowParent | ||||
|     Left = 0 | ||||
|     Top = 30 | ||||
|     Width = 1004 | ||||
|     Height = 666 | ||||
|     Align = alClient | ||||
|     TabOrder = 1 | ||||
|   end | ||||
|   object NavControlPnl: TPanel | ||||
|     Left = 0 | ||||
|     Top = 0 | ||||
|     Width = 1004 | ||||
|     Height = 30 | ||||
|     Align = alTop | ||||
|     BevelOuter = bvNone | ||||
|     Enabled = False | ||||
|     Padding.Left = 5 | ||||
|     Padding.Top = 5 | ||||
|     Padding.Right = 5 | ||||
|     Padding.Bottom = 5 | ||||
|     ShowCaption = False | ||||
|     TabOrder = 2 | ||||
|     object Edit1: TEdit | ||||
|       Left = 5 | ||||
|       Top = 5 | ||||
|       Width = 963 | ||||
|       Height = 20 | ||||
|       Margins.Right = 5 | ||||
|       Align = alClient | ||||
|       TabOrder = 0 | ||||
|       Text =  | ||||
|         'https://www.w3schools.com/php/showphp.asp?filename=demo_form_pos' + | ||||
|         't' | ||||
|       ExplicitHeight = 21 | ||||
|     end | ||||
|     object GoBtn: TButton | ||||
|       Left = 968 | ||||
|       Top = 5 | ||||
|       Width = 31 | ||||
|       Height = 20 | ||||
|       Margins.Left = 5 | ||||
|       Align = alRight | ||||
|       Caption = 'Go' | ||||
|       TabOrder = 1 | ||||
|       OnClick = GoBtnClick | ||||
|     end | ||||
|   end | ||||
|   object Chromium1: TChromium | ||||
|     OnProcessMessageReceived = Chromium1ProcessMessageReceived | ||||
|     OnBeforePopup = Chromium1BeforePopup | ||||
|     OnAfterCreated = Chromium1AfterCreated | ||||
|     Left = 32 | ||||
|     Top = 224 | ||||
|   end | ||||
|   object Timer1: TTimer | ||||
|     Enabled = False | ||||
|     Interval = 300 | ||||
|     OnTimer = Timer1Timer | ||||
|     Left = 32 | ||||
|     Top = 288 | ||||
|   end | ||||
| end | ||||
| @@ -1,237 +0,0 @@ | ||||
| // ************************************************************************ | ||||
| // ***************************** CEF4Delphi ******************************* | ||||
| // ************************************************************************ | ||||
| // | ||||
| // CEF4Delphi is based on DCEF3 which uses CEF3 to embed a chromium-based | ||||
| // browser in Delphi applications. | ||||
| // | ||||
| // The original license of DCEF3 still applies to CEF4Delphi. | ||||
| // | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
| // ************************************************************************ | ||||
| (* | ||||
|  *                       Delphi Chromium Embedded 3 | ||||
|  * | ||||
|  * Usage allowed under the restrictions of the Lesser GNU General Public License | ||||
|  * or alternatively the restrictions of the Mozilla Public License 1.1 | ||||
|  * | ||||
|  * Software distributed under the License is distributed on an "AS IS" basis, | ||||
|  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for | ||||
|  * the specific language governing rights and limitations under the License. | ||||
|  * | ||||
|  * Unit owner : Henri Gourvest <hgourvest@gmail.com> | ||||
|  * Web site   : http://www.progdigy.com | ||||
|  * Repository : http://code.google.com/p/delphichromiumembedded/ | ||||
|  * Group      : http://groups.google.com/group/delphichromiumembedded | ||||
|  * | ||||
|  * Embarcadero Technologies, Inc is not permitted to use or redistribute | ||||
|  * this source code without explicit permission. | ||||
|  * | ||||
|  *) | ||||
|  | ||||
| unit uPostDataInspector; | ||||
|  | ||||
| {$I cef.inc} | ||||
|  | ||||
| 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.ExtCtrls, Vcl.ComCtrls, | ||||
|   {$ELSE} | ||||
|   Windows, Messages, SysUtils, Variants, Classes, Graphics, | ||||
|   Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, | ||||
|   {$ENDIF} | ||||
|   uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants; | ||||
|  | ||||
| const | ||||
|   POSTDATA_MSGNAME   = 'postdatainfo'; | ||||
|  | ||||
| type | ||||
|   TPostDataInspectorFrm = class(TForm) | ||||
|     StatusBar1: TStatusBar; | ||||
|     CEFWindowParent1: TCEFWindowParent; | ||||
|     Chromium1: TChromium; | ||||
|     NavControlPnl: TPanel; | ||||
|     Edit1: TEdit; | ||||
|     GoBtn: TButton; | ||||
|     Timer1: TTimer; | ||||
|     procedure GoBtnClick(Sender: TObject); | ||||
|     procedure FormShow(Sender: TObject); | ||||
|     procedure Chromium1ProcessMessageReceived(Sender: TObject; | ||||
|       const browser: ICefBrowser; sourceProcess: TCefProcessId; | ||||
|       const message: ICefProcessMessage; out Result: Boolean); | ||||
|     procedure Chromium1AfterCreated(Sender: TObject; | ||||
|       const browser: ICefBrowser); | ||||
|     procedure Timer1Timer(Sender: TObject); | ||||
|     procedure Chromium1BeforePopup(Sender: TObject; | ||||
|       const browser: ICefBrowser; const frame: ICefFrame; const targetUrl, | ||||
|       targetFrameName: ustring; | ||||
|       targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean; | ||||
|       var popupFeatures: TCefPopupFeatures; var windowInfo: TCefWindowInfo; | ||||
|       var client: ICefClient; var settings: TCefBrowserSettings; | ||||
|       var noJavascriptAccess: Boolean; out Result: Boolean); | ||||
|   protected | ||||
|  | ||||
|     procedure BrowserCreatedMsg(var aMessage : TMessage); message CEF_AFTERCREATED; | ||||
|     procedure WMMove(var aMessage : TWMMove); message WM_MOVE; | ||||
|     procedure WMMoving(var aMessage : TMessage); message WM_MOVING; | ||||
|     procedure WMEnterMenuLoop(var aMessage: TMessage); message WM_ENTERMENULOOP; | ||||
|     procedure WMExitMenuLoop(var aMessage: TMessage); message WM_EXITMENULOOP; | ||||
|   public | ||||
|     { Public declarations } | ||||
|   end; | ||||
|  | ||||
| var | ||||
|   PostDataInspectorFrm: TPostDataInspectorFrm; | ||||
|  | ||||
| procedure GlobalCEFApp_OnBeforeNavigation(const browser         : ICefBrowser; | ||||
|                                           const frame           : ICefFrame; | ||||
|                                           const request         : ICefRequest; | ||||
|                                                 navigationType  : TCefNavigationType; | ||||
|                                                 isRedirect      : Boolean; | ||||
|                                           var   aStopNavigation : boolean); | ||||
|  | ||||
| implementation | ||||
|  | ||||
| {$R *.dfm} | ||||
|  | ||||
| uses | ||||
|   uCEFRenderProcessHandler, uCEFProcessMessage; | ||||
|  | ||||
| // This demo shows an alternative way to inspect the POST data in read only mode. | ||||
| // This data is not always available in the request of TChromium.OnBeforeBrowse | ||||
| // so this demo uses the TCefCustomRenderProcessHandler.OnBeforeNavigationEvent event | ||||
| // and sends the results in a process message. | ||||
| // That message is received in the Chromium1ProcessMessageReceived function. | ||||
|  | ||||
| // If you need more control over the POST data register an scheme. | ||||
| // See the SchemeRegistrationBrowser demo. | ||||
|  | ||||
| procedure GlobalCEFApp_OnBeforeNavigation(const browser         : ICefBrowser; | ||||
|                                           const frame           : ICefFrame; | ||||
|                                           const request         : ICefRequest; | ||||
|                                                 navigationType  : TCefNavigationType; | ||||
|                                                 isRedirect      : Boolean; | ||||
|                                           var   aStopNavigation : boolean); | ||||
| var | ||||
|   msg: ICefProcessMessage; | ||||
|   TempString : string; | ||||
| begin | ||||
|   aStopNavigation := False; | ||||
|  | ||||
|   if (request = nil) then | ||||
|     TempString := 'no request' | ||||
|    else | ||||
|     if (request.postdata = nil) then | ||||
|       TempString := 'no postdata' | ||||
|      else | ||||
|       TempString := 'postdata elements : ' + inttostr(request.postdata.GetCount); | ||||
|  | ||||
|   msg := TCefProcessMessageRef.New(POSTDATA_MSGNAME); | ||||
|   msg.ArgumentList.SetString(0, TempString); | ||||
|   browser.SendProcessMessage(PID_BROWSER, msg); | ||||
| end; | ||||
|  | ||||
| procedure TPostDataInspectorFrm.Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser); | ||||
| begin | ||||
|   PostMessage(Handle, CEF_AFTERCREATED, 0, 0); | ||||
| end; | ||||
|  | ||||
| procedure TPostDataInspectorFrm.Chromium1BeforePopup(Sender: TObject; | ||||
|   const browser: ICefBrowser; const frame: ICefFrame; const targetUrl, | ||||
|   targetFrameName: ustring; targetDisposition: TCefWindowOpenDisposition; | ||||
|   userGesture: Boolean; var popupFeatures: TCefPopupFeatures; | ||||
|   var windowInfo: TCefWindowInfo; var client: ICefClient; | ||||
|   var settings: TCefBrowserSettings; var noJavascriptAccess: Boolean; | ||||
|   out Result: Boolean); | ||||
| begin | ||||
|   // For simplicity, this demo blocks all popup windows and new tabs | ||||
|   Result := (targetDisposition in [WOD_NEW_FOREGROUND_TAB, WOD_NEW_BACKGROUND_TAB, WOD_NEW_POPUP, WOD_NEW_WINDOW]); | ||||
| end; | ||||
|  | ||||
| procedure TPostDataInspectorFrm.Chromium1ProcessMessageReceived( | ||||
|   Sender: TObject; const browser: ICefBrowser; | ||||
|   sourceProcess: TCefProcessId; const message: ICefProcessMessage; | ||||
|   out Result: Boolean); | ||||
| begin | ||||
|   Result := False; | ||||
|  | ||||
|   if (message = nil) or (message.ArgumentList = nil) then exit; | ||||
|  | ||||
|   // Many of these events are received in different threads and the VCL | ||||
|   // doesn't like to create and destroy components in different threads. | ||||
|  | ||||
|   // It's safer to store the results and send a message to the main thread to show them. | ||||
|  | ||||
|   // The message names is also used in the ProcessHandler_OnBeforeNavigationEvent function of the DPR file. | ||||
|  | ||||
|   if (message.Name = POSTDATA_MSGNAME) then | ||||
|     begin | ||||
|       StatusBar1.Panels[0].Text := message.ArgumentList.GetString(0); // this doesn't create/destroy components | ||||
|       Result := True; | ||||
|     end; | ||||
| end; | ||||
|  | ||||
| procedure TPostDataInspectorFrm.FormShow(Sender: TObject); | ||||
| begin | ||||
|   // GlobalCEFApp.GlobalContextInitialized has to be TRUE before creating any browser | ||||
|   // If it's not initialized yet, we use a simple timer to create the browser later. | ||||
|   if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True; | ||||
| end; | ||||
|  | ||||
| procedure TPostDataInspectorFrm.GoBtnClick(Sender: TObject); | ||||
| begin | ||||
|   Chromium1.LoadURL(Edit1.Text); | ||||
| end; | ||||
|  | ||||
| procedure TPostDataInspectorFrm.Timer1Timer(Sender: TObject); | ||||
| begin | ||||
|   Timer1.Enabled := False; | ||||
|   if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) and not(Chromium1.Initialized) then | ||||
|     Timer1.Enabled := True; | ||||
| end; | ||||
|  | ||||
| procedure TPostDataInspectorFrm.WMMove(var aMessage : TWMMove); | ||||
| begin | ||||
|   inherited; | ||||
|  | ||||
|   if (Chromium1 <> nil) then Chromium1.NotifyMoveOrResizeStarted; | ||||
| end; | ||||
|  | ||||
| procedure TPostDataInspectorFrm.WMMoving(var aMessage : TMessage); | ||||
| begin | ||||
|   inherited; | ||||
|  | ||||
|   if (Chromium1 <> nil) then Chromium1.NotifyMoveOrResizeStarted; | ||||
| end; | ||||
|  | ||||
| procedure TPostDataInspectorFrm.WMEnterMenuLoop(var aMessage: TMessage); | ||||
| begin | ||||
|   inherited; | ||||
|  | ||||
|   if (aMessage.wParam = 0) and (GlobalCEFApp <> nil) then GlobalCEFApp.OsmodalLoop := True; | ||||
| end; | ||||
|  | ||||
| procedure TPostDataInspectorFrm.WMExitMenuLoop(var aMessage: TMessage); | ||||
| begin | ||||
|   inherited; | ||||
|  | ||||
|   if (aMessage.wParam = 0) and (GlobalCEFApp <> nil) then GlobalCEFApp.OsmodalLoop := False; | ||||
| end; | ||||
|  | ||||
| procedure TPostDataInspectorFrm.BrowserCreatedMsg(var aMessage : TMessage); | ||||
| begin | ||||
|   CEFWindowParent1.UpdateSize; | ||||
|   NavControlPnl.Enabled := True; | ||||
|   GoBtn.Click; | ||||
| end; | ||||
|  | ||||
| end. | ||||
| @@ -22,6 +22,7 @@ object Form1: TForm1 | ||||
|     Height = 594 | ||||
|     Align = alClient | ||||
|     TabOrder = 0 | ||||
|     ShowHint = False | ||||
|     OnAfterCreated = ChromiumWindow1AfterCreated | ||||
|   end | ||||
|   object AddressPnl: TPanel | ||||
|   | ||||
| @@ -27,8 +27,6 @@ object ChildForm: TChildForm | ||||
|     Height = 394 | ||||
|     Align = alClient | ||||
|     TabOrder = 0 | ||||
|     ExplicitWidth = 400 | ||||
|     ExplicitHeight = 300 | ||||
|   end | ||||
|   object Chromium1: TChromium | ||||
|     OnPreKeyEvent = Chromium1PreKeyEvent | ||||
|   | ||||
| @@ -75,7 +75,6 @@ contains | ||||
|   uCEFKeyboardHandler in '..\source\uCEFKeyboardHandler.pas', | ||||
|   uCEFDisplayHandler in '..\source\uCEFDisplayHandler.pas', | ||||
|   uCEFDownloadHandler in '..\source\uCEFDownloadHandler.pas', | ||||
|   uCEFGeolocationHandler in '..\source\uCEFGeolocationHandler.pas', | ||||
|   uCEFJsDialogHandler in '..\source\uCEFJsDialogHandler.pas', | ||||
|   uCEFLifeSpanHandler in '..\source\uCEFLifeSpanHandler.pas', | ||||
|   uCEFRequestHandler in '..\source\uCEFRequestHandler.pas', | ||||
| @@ -112,7 +111,6 @@ contains | ||||
|   uCEFDownloadItemCallback in '..\source\uCEFDownloadItemCallback.pas', | ||||
|   uCEFAuthCallback in '..\source\uCEFAuthCallback.pas', | ||||
|   uCEFJsDialogCallback in '..\source\uCEFJsDialogCallback.pas', | ||||
|   uCEFGeolocationCallback in '..\source\uCEFGeolocationCallback.pas', | ||||
|   uCEFContextMenuParams in '..\source\uCEFContextMenuParams.pas', | ||||
|   uCEFMenuModel in '..\source\uCEFMenuModel.pas', | ||||
|   uCEFBrowserProcessHandler in '..\source\uCEFBrowserProcessHandler.pas', | ||||
| @@ -122,7 +120,6 @@ contains | ||||
|   uCEFWebPluginInfoVisitor in '..\source\uCEFWebPluginInfoVisitor.pas', | ||||
|   uCEFWebPluginUnstableCallback in '..\source\uCEFWebPluginUnstableCallback.pas', | ||||
|   uCEFEndTracingCallback in '..\source\uCEFEndTracingCallback.pas', | ||||
|   uCEFGetGeolocationCallback in '..\source\uCEFGetGeolocationCallback.pas', | ||||
|   uCEFFileDialogCallback in '..\source\uCEFFileDialogCallback.pas', | ||||
|   uCEFDragData in '..\source\uCEFDragData.pas', | ||||
|   uCEFResolveCallback in '..\source\uCEFResolveCallback.pas', | ||||
|   | ||||
| @@ -166,7 +166,6 @@ | ||||
|         <DCCReference Include="..\source\uCEFKeyboardHandler.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFDisplayHandler.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFDownloadHandler.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFGeolocationHandler.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFJsDialogHandler.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFLifeSpanHandler.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFRequestHandler.pas"/> | ||||
| @@ -203,7 +202,6 @@ | ||||
|         <DCCReference Include="..\source\uCEFDownloadItemCallback.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFAuthCallback.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFJsDialogCallback.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFGeolocationCallback.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFContextMenuParams.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFMenuModel.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFBrowserProcessHandler.pas"/> | ||||
| @@ -213,7 +211,6 @@ | ||||
|         <DCCReference Include="..\source\uCEFWebPluginInfoVisitor.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFWebPluginUnstableCallback.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFEndTracingCallback.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFGetGeolocationCallback.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFFileDialogCallback.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFDragData.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFResolveCallback.pas"/> | ||||
|   | ||||
| @@ -73,7 +73,6 @@ contains | ||||
|   uCEFKeyboardHandler in '..\source\uCEFKeyboardHandler.pas', | ||||
|   uCEFDisplayHandler in '..\source\uCEFDisplayHandler.pas', | ||||
|   uCEFDownloadHandler in '..\source\uCEFDownloadHandler.pas', | ||||
|   uCEFGeolocationHandler in '..\source\uCEFGeolocationHandler.pas', | ||||
|   uCEFJsDialogHandler in '..\source\uCEFJsDialogHandler.pas', | ||||
|   uCEFLifeSpanHandler in '..\source\uCEFLifeSpanHandler.pas', | ||||
|   uCEFRequestHandler in '..\source\uCEFRequestHandler.pas', | ||||
| @@ -110,7 +109,6 @@ contains | ||||
|   uCEFDownloadItemCallback in '..\source\uCEFDownloadItemCallback.pas', | ||||
|   uCEFAuthCallback in '..\source\uCEFAuthCallback.pas', | ||||
|   uCEFJsDialogCallback in '..\source\uCEFJsDialogCallback.pas', | ||||
|   uCEFGeolocationCallback in '..\source\uCEFGeolocationCallback.pas', | ||||
|   uCEFContextMenuParams in '..\source\uCEFContextMenuParams.pas', | ||||
|   uCEFMenuModel in '..\source\uCEFMenuModel.pas', | ||||
|   uCEFBrowserProcessHandler in '..\source\uCEFBrowserProcessHandler.pas', | ||||
| @@ -120,7 +118,6 @@ contains | ||||
|   uCEFWebPluginInfoVisitor in '..\source\uCEFWebPluginInfoVisitor.pas', | ||||
|   uCEFWebPluginUnstableCallback in '..\source\uCEFWebPluginUnstableCallback.pas', | ||||
|   uCEFEndTracingCallback in '..\source\uCEFEndTracingCallback.pas', | ||||
|   uCEFGetGeolocationCallback in '..\source\uCEFGetGeolocationCallback.pas', | ||||
|   uCEFFileDialogCallback in '..\source\uCEFFileDialogCallback.pas', | ||||
|   uCEFDragData in '..\source\uCEFDragData.pas', | ||||
|   uCEFResolveCallback in '..\source\uCEFResolveCallback.pas', | ||||
|   | ||||
| @@ -76,7 +76,6 @@ contains | ||||
|   uCEFKeyboardHandler in '..\source\uCEFKeyboardHandler.pas', | ||||
|   uCEFDisplayHandler in '..\source\uCEFDisplayHandler.pas', | ||||
|   uCEFDownloadHandler in '..\source\uCEFDownloadHandler.pas', | ||||
|   uCEFGeolocationHandler in '..\source\uCEFGeolocationHandler.pas', | ||||
|   uCEFJsDialogHandler in '..\source\uCEFJsDialogHandler.pas', | ||||
|   uCEFLifeSpanHandler in '..\source\uCEFLifeSpanHandler.pas', | ||||
|   uCEFRequestHandler in '..\source\uCEFRequestHandler.pas', | ||||
| @@ -113,7 +112,6 @@ contains | ||||
|   uCEFDownloadItemCallback in '..\source\uCEFDownloadItemCallback.pas', | ||||
|   uCEFAuthCallback in '..\source\uCEFAuthCallback.pas', | ||||
|   uCEFJsDialogCallback in '..\source\uCEFJsDialogCallback.pas', | ||||
|   uCEFGeolocationCallback in '..\source\uCEFGeolocationCallback.pas', | ||||
|   uCEFContextMenuParams in '..\source\uCEFContextMenuParams.pas', | ||||
|   uCEFMenuModel in '..\source\uCEFMenuModel.pas', | ||||
|   uCEFBrowserProcessHandler in '..\source\uCEFBrowserProcessHandler.pas', | ||||
| @@ -123,7 +121,6 @@ contains | ||||
|   uCEFWebPluginInfoVisitor in '..\source\uCEFWebPluginInfoVisitor.pas', | ||||
|   uCEFWebPluginUnstableCallback in '..\source\uCEFWebPluginUnstableCallback.pas', | ||||
|   uCEFEndTracingCallback in '..\source\uCEFEndTracingCallback.pas', | ||||
|   uCEFGetGeolocationCallback in '..\source\uCEFGetGeolocationCallback.pas', | ||||
|   uCEFFileDialogCallback in '..\source\uCEFFileDialogCallback.pas', | ||||
|   uCEFDragData in '..\source\uCEFDragData.pas', | ||||
|   uCEFResolveCallback in '..\source\uCEFResolveCallback.pas', | ||||
|   | ||||
| @@ -167,7 +167,6 @@ | ||||
|         <DCCReference Include="..\source\uCEFKeyboardHandler.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFDisplayHandler.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFDownloadHandler.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFGeolocationHandler.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFJsDialogHandler.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFLifeSpanHandler.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFRequestHandler.pas"/> | ||||
| @@ -204,7 +203,6 @@ | ||||
|         <DCCReference Include="..\source\uCEFDownloadItemCallback.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFAuthCallback.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFJsDialogCallback.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFGeolocationCallback.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFContextMenuParams.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFMenuModel.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFBrowserProcessHandler.pas"/> | ||||
| @@ -214,7 +212,6 @@ | ||||
|         <DCCReference Include="..\source\uCEFWebPluginInfoVisitor.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFWebPluginUnstableCallback.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFEndTracingCallback.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFGetGeolocationCallback.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFFileDialogCallback.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFDragData.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFResolveCallback.pas"/> | ||||
| @@ -294,9 +291,9 @@ | ||||
|                 <DeployFile LocalName="$(BDS)\Redist\iossimulator\libcgunwind.1.0.dylib" Class="DependencyModule"/> | ||||
|                 <DeployFile LocalName="..\..\..\..\..\..\..\Public\Documents\Embarcadero\Studio\17.0\Bpl\CEF4Delphi.bpl" Configuration="Debug" Class="ProjectOutput"/> | ||||
|                 <DeployFile LocalName="$(BDS)\Redist\iossimulator\libPCRE.dylib" Class="DependencyModule"/> | ||||
|                 <DeployFile LocalName="..\..\..\..\..\..\..\Public\Documents\Embarcadero\Studio\19.0\Bpl\CEF4Delphi.bpl" Configuration="Debug" Class="ProjectOutput"> | ||||
|                 <DeployFile LocalName="..\..\..\..\..\..\..\Public\Documents\Embarcadero\Studio\19.0\Bpl\CEF4Delphi_FMX.bpl" Configuration="Debug" Class="ProjectOutput"> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <RemoteName>CEF4Delphi.bpl</RemoteName> | ||||
|                         <RemoteName>CEF4Delphi_FMX.bpl</RemoteName> | ||||
|                         <Overwrite>true</Overwrite> | ||||
|                     </Platform> | ||||
|                 </DeployFile> | ||||
|   | ||||
| @@ -56,14 +56,14 @@ uses | ||||
|  | ||||
| const | ||||
|   CEF_SUPPORTED_VERSION_MAJOR   = 3; | ||||
|   CEF_SUPPORTED_VERSION_MINOR   = 3282; | ||||
|   CEF_SUPPORTED_VERSION_RELEASE = 1741; | ||||
|   CEF_SUPPORTED_VERSION_MINOR   = 3325; | ||||
|   CEF_SUPPORTED_VERSION_RELEASE = 1746; | ||||
|   CEF_SUPPORTED_VERSION_BUILD   = 0; | ||||
|  | ||||
|   CEF_CHROMEELF_VERSION_MAJOR   = 64; | ||||
|   CEF_CHROMEELF_VERSION_MAJOR   = 65; | ||||
|   CEF_CHROMEELF_VERSION_MINOR   = 0; | ||||
|   CEF_CHROMEELF_VERSION_RELEASE = 3282; | ||||
|   CEF_CHROMEELF_VERSION_BUILD   = 119; | ||||
|   CEF_CHROMEELF_VERSION_RELEASE = 3325; | ||||
|   CEF_CHROMEELF_VERSION_BUILD   = 146; | ||||
|  | ||||
|   LIBCEF_DLL                    = 'libcef.dll'; | ||||
|   CHROMEELF_DLL                 = 'chrome_elf.dll'; | ||||
| @@ -157,7 +157,6 @@ type | ||||
|       FOnWebKitInitialized           : TOnWebKitInitializedEvent; | ||||
|       FOnBrowserCreated              : TOnBrowserCreatedEvent; | ||||
|       FOnBrowserDestroyed            : TOnBrowserDestroyedEvent; | ||||
|       FOnBeforeNavigation            : TOnBeforeNavigationEvent; | ||||
|       FOnContextCreated              : TOnContextCreatedEvent; | ||||
|       FOnContextReleased             : TOnContextReleasedEvent; | ||||
|       FOnUncaughtException           : TOnUncaughtExceptionEvent; | ||||
| @@ -191,7 +190,6 @@ type | ||||
|       function  Load_cef_crash_util_h : boolean; | ||||
|       function  Load_cef_drag_data_capi_h : boolean; | ||||
|       function  Load_cef_file_util_capi_h : boolean; | ||||
|       function  Load_cef_geolocation_capi_h : boolean; | ||||
|       function  Load_cef_image_capi_h : boolean; | ||||
|       function  Load_cef_menu_model_capi_h : boolean; | ||||
|       function  Load_cef_origin_whitelist_capi_h : boolean; | ||||
| @@ -273,7 +271,6 @@ type | ||||
|       procedure   Internal_OnWebKitInitialized; | ||||
|       procedure   Internal_OnBrowserCreated(const browser: ICefBrowser); | ||||
|       procedure   Internal_OnBrowserDestroyed(const browser: ICefBrowser); | ||||
|       procedure   Internal_OnBeforeNavigation(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; navigationType: TCefNavigationType; isRedirect: Boolean; var aStopNavigation : boolean); | ||||
|       procedure   Internal_OnContextCreated(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context); | ||||
|       procedure   Internal_OnContextReleased(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context); | ||||
|       procedure   Internal_OnUncaughtException(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context; const exception: ICefV8Exception; const stackTrace: ICefV8StackTrace); | ||||
| @@ -376,7 +373,6 @@ type | ||||
|       property OnWebKitInitialized               : TOnWebKitInitializedEvent           read FOnWebKitInitialized               write FOnWebKitInitialized; | ||||
|       property OnBrowserCreated                  : TOnBrowserCreatedEvent              read FOnBrowserCreated                  write FOnBrowserCreated; | ||||
|       property OnBrowserDestroyed                : TOnBrowserDestroyedEvent            read FOnBrowserDestroyed                write FOnBrowserDestroyed; | ||||
|       property OnBeforeNavigation                : TOnBeforeNavigationEvent            read FOnBeforeNavigation                write FOnBeforeNavigation; | ||||
|       property OnContextCreated                  : TOnContextCreatedEvent              read FOnContextCreated                  write FOnContextCreated; | ||||
|       property OnContextReleased                 : TOnContextReleasedEvent             read FOnContextReleased                 write FOnContextReleased; | ||||
|       property OnUncaughtException               : TOnUncaughtExceptionEvent           read FOnUncaughtException               write FOnUncaughtException; | ||||
| @@ -486,7 +482,6 @@ begin | ||||
|   FOnWebKitInitialized           := nil; | ||||
|   FOnBrowserCreated              := nil; | ||||
|   FOnBrowserDestroyed            := nil; | ||||
|   FOnBeforeNavigation            := nil; | ||||
|   FOnContextCreated              := nil; | ||||
|   FOnContextReleased             := nil; | ||||
|   FOnUncaughtException           := nil; | ||||
| @@ -1177,14 +1172,6 @@ begin | ||||
|   if assigned(FOnBrowserDestroyed) then FOnBrowserDestroyed(browser); | ||||
| end; | ||||
|  | ||||
| procedure TCefApplication.Internal_OnBeforeNavigation(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; navigationType: TCefNavigationType; isRedirect: Boolean; var aStopNavigation : boolean); | ||||
| begin | ||||
|   if assigned(FOnBeforeNavigation) then | ||||
|     FOnBeforeNavigation(browser, frame, request, navigationType, isRedirect, aStopNavigation) | ||||
|    else | ||||
|     aStopNavigation := False; | ||||
| end; | ||||
|  | ||||
| procedure TCefApplication.Internal_OnContextCreated(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context); | ||||
| begin | ||||
|   if assigned(FOnContextCreated) then FOnContextCreated(browser, frame, context); | ||||
| @@ -1351,7 +1338,6 @@ begin | ||||
|                assigned(FOnWebKitInitialized)      or | ||||
|                assigned(FOnBrowserCreated)         or | ||||
|                assigned(FOnBrowserDestroyed)       or | ||||
|                assigned(FOnBeforeNavigation)       or | ||||
|                assigned(FOnContextCreated)         or | ||||
|                assigned(FOnContextReleased)        or | ||||
|                assigned(FOnUncaughtException)      or | ||||
| @@ -1405,7 +1391,6 @@ begin | ||||
|      Load_cef_crash_util_h and | ||||
|      Load_cef_drag_data_capi_h and | ||||
|      Load_cef_file_util_capi_h and | ||||
|      Load_cef_geolocation_capi_h and | ||||
|      Load_cef_image_capi_h and | ||||
|      Load_cef_menu_model_capi_h and | ||||
|      Load_cef_origin_whitelist_capi_h and | ||||
| @@ -1548,13 +1533,6 @@ begin | ||||
|             assigned(cef_load_crlsets_file); | ||||
| end; | ||||
|  | ||||
| function TCefApplication.Load_cef_geolocation_capi_h : boolean; | ||||
| begin | ||||
|   cef_get_geolocation := GetProcAddress(FLibHandle, 'cef_get_geolocation'); | ||||
|  | ||||
|   Result := assigned(cef_get_geolocation); | ||||
| end; | ||||
|  | ||||
| function TCefApplication.Load_cef_image_capi_h : boolean; | ||||
| begin | ||||
|   cef_image_create := GetProcAddress(FLibHandle, 'cef_image_create'); | ||||
|   | ||||
| @@ -144,10 +144,6 @@ type | ||||
|       FOnBeforeDownload               : TOnBeforeDownload; | ||||
|       FOnDownloadUpdated              : TOnDownloadUpdated; | ||||
|  | ||||
|       // ICefGeolocationHandler | ||||
|       FOnRequestGeolocationPermission : TOnRequestGeolocationPermission; | ||||
|       FOnCancelGeolocationPermission  : TOnCancelGeolocationPermission; | ||||
|  | ||||
|       // ICefJsDialogHandler | ||||
|       FOnJsdialog                     : TOnJsdialog; | ||||
|       FOnBeforeUnloadDialog           : TOnBeforeUnloadDialog; | ||||
| @@ -297,7 +293,6 @@ type | ||||
|       function  MustCreateKeyboardHandler : boolean; virtual; | ||||
|       function  MustCreateDisplayHandler : boolean; virtual; | ||||
|       function  MustCreateDownloadHandler : boolean; virtual; | ||||
|       function  MustCreateGeolocationHandler : boolean; virtual; | ||||
|       function  MustCreateJsDialogHandler : boolean; virtual; | ||||
|       function  MustCreateDragHandler : boolean; virtual; | ||||
|       function  MustCreateFindHandler : boolean; virtual; | ||||
| @@ -356,10 +351,6 @@ type | ||||
|       procedure doOnBeforeDownload(const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const suggestedName: ustring; const callback: ICefBeforeDownloadCallback); virtual; | ||||
|       procedure doOnDownloadUpdated(const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const callback: ICefDownloadItemCallback); virtual; | ||||
|  | ||||
|       // ICefGeolocationHandler | ||||
|       function  doOnRequestGeolocationPermission(const browser: ICefBrowser; const requestingUrl: ustring; requestId: Integer; const callback: ICefGeolocationCallback): Boolean; virtual; | ||||
|       procedure doOnCancelGeolocationPermission(const browser: ICefBrowser; requestId: Integer); virtual; | ||||
|  | ||||
|       // ICefJsDialogHandler | ||||
|       function  doOnJsdialog(const browser: ICefBrowser; const originUrl: ustring; dialogType: TCefJsDialogType; const messageText, defaultPromptText: ustring; const callback: ICefJsDialogCallback; out suppressMessage: Boolean): Boolean; virtual; | ||||
|       function  doOnBeforeUnloadDialog(const browser: ICefBrowser; const messageText: ustring; isReload: Boolean; const callback: ICefJsDialogCallback): Boolean; virtual; | ||||
| @@ -624,10 +615,6 @@ type | ||||
|       property OnBeforeDownload                 : TOnBeforeDownload                 read FOnBeforeDownload                 write FOnBeforeDownload; | ||||
|       property OnDownloadUpdated                : TOnDownloadUpdated                read FOnDownloadUpdated                write FOnDownloadUpdated; | ||||
|  | ||||
|       // ICefGeolocationHandler | ||||
|       property OnRequestGeolocationPermission   : TOnRequestGeolocationPermission   read FOnRequestGeolocationPermission   write FOnRequestGeolocationPermission; | ||||
|       property OnCancelGeolocationPermission    : TOnCancelGeolocationPermission    read FOnCancelGeolocationPermission    write FOnCancelGeolocationPermission; | ||||
|  | ||||
|       // ICefJsDialogHandler | ||||
|       property OnJsdialog                       : TOnJsdialog                       read FOnJsdialog                       write FOnJsdialog; | ||||
|       property OnBeforeUnloadDialog             : TOnBeforeUnloadDialog             read FOnBeforeUnloadDialog             write FOnBeforeUnloadDialog; | ||||
| @@ -845,7 +832,6 @@ begin | ||||
|                                                 MustCreateKeyboardHandler, | ||||
|                                                 MustCreateDisplayHandler, | ||||
|                                                 MustCreateDownloadHandler, | ||||
|                                                 MustCreateGeolocationHandler, | ||||
|                                                 MustCreateJsDialogHandler, | ||||
|                                                 True, | ||||
|                                                 FIsOSR, // Create the Render Handler in OSR mode only | ||||
| @@ -912,10 +898,6 @@ begin | ||||
|   FOnBeforeDownload               := nil; | ||||
|   FOnDownloadUpdated              := nil; | ||||
|  | ||||
|   // ICefGeolocationHandler | ||||
|   FOnRequestGeolocationPermission := nil; | ||||
|   FOnCancelGeolocationPermission  := nil; | ||||
|  | ||||
|   // ICefJsDialogHandler | ||||
|   FOnJsdialog                     := nil; | ||||
|   FOnBeforeUnloadDialog           := nil; | ||||
| @@ -2647,12 +2629,6 @@ begin | ||||
|             assigned(FOnDownloadUpdated); | ||||
| end; | ||||
|  | ||||
| function TChromium.MustCreateGeolocationHandler : boolean; | ||||
| begin | ||||
|   Result := assigned(FOnRequestGeolocationPermission) or | ||||
|             assigned(FOnCancelGeolocationPermission); | ||||
| end; | ||||
|  | ||||
| function TChromium.MustCreateJsDialogHandler : boolean; | ||||
| begin | ||||
|   Result := assigned(FOnJsdialog)           or | ||||
| @@ -2935,12 +2911,6 @@ begin | ||||
|   if Assigned(FOnBeforeUnloadDialog) then FOnBeforeUnloadDialog(Self, browser, messageText, isReload, callback, Result); | ||||
| end; | ||||
|  | ||||
| procedure TChromium.doOnCancelGeolocationPermission(const browser : ICefBrowser; requestId : Integer); | ||||
| begin | ||||
|   if Assigned(FOnCancelGeolocationPermission) then | ||||
|     FOnCancelGeolocationPermission(Self, browser, requestId); | ||||
| end; | ||||
|  | ||||
| function TChromium.doOnCertificateError(const browser    : ICefBrowser; | ||||
|                                               certError  : TCefErrorcode; | ||||
|                                         const requestUrl : ustring; | ||||
| @@ -3308,17 +3278,6 @@ begin | ||||
|   if Assigned(FOnRenderViewReady) then FOnRenderViewReady(Self, browser); | ||||
| end; | ||||
|  | ||||
| function TChromium.doOnRequestGeolocationPermission(const browser       : ICefBrowser; | ||||
|                                                     const requestingUrl : ustring; | ||||
|                                                           requestId     : Integer; | ||||
|                                                     const callback      : ICefGeolocationCallback): Boolean; | ||||
| begin | ||||
|   Result := False; | ||||
|  | ||||
|   if Assigned(FOnRequestGeolocationPermission) then | ||||
|     FOnRequestGeolocationPermission(Self, browser, requestingUrl, requestId, callback, Result); | ||||
| end; | ||||
|  | ||||
| procedure TChromium.doOnResetDialogState(const browser: ICefBrowser); | ||||
| begin | ||||
|   if Assigned(FOnResetDialogState) then FOnResetDialogState(Self, browser); | ||||
|   | ||||
| @@ -93,10 +93,6 @@ type | ||||
|   TOnBeforeDownload               = procedure(Sender: TObject; const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const suggestedName: ustring; const callback: ICefBeforeDownloadCallback) of object; | ||||
|   TOnDownloadUpdated              = procedure(Sender: TObject; const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const callback: ICefDownloadItemCallback) of object; | ||||
|  | ||||
|   // ICefGeolocationHandler | ||||
|   TOnRequestGeolocationPermission = procedure(Sender: TObject; const browser: ICefBrowser; const requestingUrl: ustring; requestId: Integer; const callback: ICefGeolocationCallback; out Result: Boolean) of object; | ||||
|   TOnCancelGeolocationPermission  = procedure(Sender: TObject; const browser: ICefBrowser; requestId: Integer) of object; | ||||
|  | ||||
|   // ICefJsDialogHandler | ||||
|   TOnJsdialog                     = procedure(Sender: TObject; const browser: ICefBrowser; const originUrl: ustring; dialogType: TCefJsDialogType; const messageText, defaultPromptText: ustring; const callback: ICefJsDialogCallback; out suppressMessage: Boolean; out Result: Boolean) of object; | ||||
|   TOnBeforeUnloadDialog           = procedure(Sender: TObject; const browser: ICefBrowser; const messageText: ustring; isReload: Boolean; const callback: ICefJsDialogCallback; out Result: Boolean) of object; | ||||
|   | ||||
| @@ -59,7 +59,6 @@ type | ||||
|       function GetDragHandler: ICefDragHandler; virtual; | ||||
|       function GetFindHandler: ICefFindHandler; virtual; | ||||
|       function GetFocusHandler: ICefFocusHandler; virtual; | ||||
|       function GetGeolocationHandler: ICefGeolocationHandler; virtual; | ||||
|       function GetJsdialogHandler: ICefJsdialogHandler; virtual; | ||||
|       function GetKeyboardHandler: ICefKeyboardHandler; virtual; | ||||
|       function GetLifeSpanHandler: ICefLifeSpanHandler; virtual; | ||||
| @@ -83,7 +82,6 @@ type | ||||
|       function GetDragHandler: ICefDragHandler; virtual; | ||||
|       function GetFindHandler: ICefFindHandler; virtual; | ||||
|       function GetFocusHandler: ICefFocusHandler; virtual; | ||||
|       function GetGeolocationHandler: ICefGeolocationHandler; virtual; | ||||
|       function GetJsdialogHandler: ICefJsdialogHandler; virtual; | ||||
|       function GetKeyboardHandler: ICefKeyboardHandler; virtual; | ||||
|       function GetLifeSpanHandler: ICefLifeSpanHandler; virtual; | ||||
| @@ -108,7 +106,6 @@ type | ||||
|       FKeyboardHandler    : ICefKeyboardHandler; | ||||
|       FDisplayHandler     : ICefDisplayHandler; | ||||
|       FDownloadHandler    : ICefDownloadHandler; | ||||
|       FGeolocationHandler : ICefGeolocationHandler; | ||||
|       FJsDialogHandler    : ICefJsDialogHandler; | ||||
|       FLifeSpanHandler    : ICefLifeSpanHandler; | ||||
|       FRenderHandler      : ICefRenderHandler; | ||||
| @@ -124,7 +121,6 @@ type | ||||
|       function  GetDragHandler: ICefDragHandler; override; | ||||
|       function  GetFindHandler: ICefFindHandler; override; | ||||
|       function  GetFocusHandler: ICefFocusHandler; override; | ||||
|       function  GetGeolocationHandler: ICefGeolocationHandler; override; | ||||
|       function  GetJsdialogHandler: ICefJsdialogHandler; override; | ||||
|       function  GetKeyboardHandler: ICefKeyboardHandler; override; | ||||
|       function  GetLifeSpanHandler: ICefLifeSpanHandler; override; | ||||
| @@ -138,9 +134,9 @@ type | ||||
|     public | ||||
|       constructor Create(const events: IChromiumEvents; | ||||
|                          aCreateLoadHandler, aCreateFocusHandler, aCreateContextMenuHandler, aCreateDialogHandler, | ||||
|                          aCreateKeyboardHandler, aCreateDisplayHandler, aCreateDownloadHandler, aCreateGeolocationHandler, | ||||
|                          aCreateJsDialogHandler, aCreateLifeSpanHandler, aCreateRenderHandler, aCreateRequestHandler, | ||||
|                          aCreateDragHandler, aCreateFindHandler : boolean); reintroduce; virtual; | ||||
|                          aCreateKeyboardHandler, aCreateDisplayHandler, aCreateDownloadHandler, aCreateJsDialogHandler, | ||||
|                          aCreateLifeSpanHandler, aCreateRenderHandler, aCreateRequestHandler, aCreateDragHandler, | ||||
|                          aCreateFindHandler : boolean); reintroduce; virtual; | ||||
|       procedure   BeforeDestruction; override; | ||||
|       procedure   RemoveReferences; override; | ||||
|   end; | ||||
| @@ -155,7 +151,7 @@ uses | ||||
|   {$ENDIF} | ||||
|   uCEFMiscFunctions, uCEFLibFunctions, uCEFProcessMessage, uCEFBrowser, uCEFLoadHandler, | ||||
|   uCEFFocusHandler, uCEFContextMenuHandler, uCEFDialogHandler, uCEFKeyboardHandler, | ||||
|   uCEFDisplayHandler, uCEFDownloadHandler, uCEFGeolocationHandler, uCEFJsDialogHandler, | ||||
|   uCEFDisplayHandler, uCEFDownloadHandler, uCEFJsDialogHandler, | ||||
|   uCEFLifeSpanHandler, uCEFRequestHandler, uCEFRenderHandler, uCEFDragHandler, | ||||
|   uCEFFindHandler, uCEFConstants, uCEFApplication; | ||||
|  | ||||
| @@ -207,11 +203,6 @@ begin | ||||
|   Result := nil; | ||||
| end; | ||||
|  | ||||
| function TCefClientRef.GetGeolocationHandler: ICefGeolocationHandler; | ||||
| begin | ||||
|   Result := nil; | ||||
| end; | ||||
|  | ||||
| function TCefClientRef.GetJsdialogHandler: ICefJsDialogHandler; | ||||
| begin | ||||
|   Result := nil; | ||||
| @@ -300,12 +291,6 @@ begin | ||||
|     Result := CefGetData(GetFocusHandler); | ||||
| end; | ||||
|  | ||||
| function cef_client_own_get_geolocation_handler(self: PCefClient): PCefGeolocationHandler; stdcall; | ||||
| begin | ||||
|   with TCefClientOwn(CefGetObject(self)) do | ||||
|     Result := CefGetData(GetGeolocationHandler); | ||||
| end; | ||||
|  | ||||
| function cef_client_own_get_jsdialog_handler(self: PCefClient): PCefJsDialogHandler; stdcall; | ||||
| begin | ||||
|   with TCefClientOwn(CefGetObject(self)) do | ||||
| @@ -362,7 +347,6 @@ begin | ||||
|       get_drag_handler            := cef_client_own_get_drag_handler; | ||||
|       get_find_handler            := cef_client_own_get_find_handler; | ||||
|       get_focus_handler           := cef_client_own_get_focus_handler; | ||||
|       get_geolocation_handler     := cef_client_own_get_geolocation_handler; | ||||
|       get_jsdialog_handler        := cef_client_own_get_jsdialog_handler; | ||||
|       get_keyboard_handler        := cef_client_own_get_keyboard_handler; | ||||
|       get_life_span_handler       := cef_client_own_get_life_span_handler; | ||||
| @@ -408,11 +392,6 @@ begin | ||||
|   Result := nil; | ||||
| end; | ||||
|  | ||||
| function TCefClientOwn.GetGeolocationHandler: ICefGeolocationHandler; | ||||
| begin | ||||
|   Result := nil; | ||||
| end; | ||||
|  | ||||
| function TCefClientOwn.GetJsdialogHandler: ICefJsDialogHandler; | ||||
| begin | ||||
|   Result := nil; | ||||
| @@ -467,7 +446,6 @@ constructor TCustomClientHandler.Create(const events                     : IChro | ||||
|                                               aCreateKeyboardHandler     : boolean; | ||||
|                                               aCreateDisplayHandler      : boolean; | ||||
|                                               aCreateDownloadHandler     : boolean; | ||||
|                                               aCreateGeolocationHandler  : boolean; | ||||
|                                               aCreateJsDialogHandler     : boolean; | ||||
|                                               aCreateLifeSpanHandler     : boolean; | ||||
|                                               aCreateRenderHandler       : boolean; | ||||
| @@ -490,7 +468,6 @@ begin | ||||
|       if aCreateKeyboardHandler    then FKeyboardHandler    := TCustomKeyboardHandler.Create(FEvents); | ||||
|       if aCreateDisplayHandler     then FDisplayHandler     := TCustomDisplayHandler.Create(FEvents); | ||||
|       if aCreateDownloadHandler    then FDownloadHandler    := TCustomDownloadHandler.Create(FEvents); | ||||
|       if aCreateGeolocationHandler then FGeolocationHandler := TCustomGeolocationHandler.Create(FEvents); | ||||
|       if aCreateJsDialogHandler    then FJsDialogHandler    := TCustomJsDialogHandler.Create(FEvents); | ||||
|       if aCreateLifeSpanHandler    then FLifeSpanHandler    := TCustomLifeSpanHandler.Create(FEvents); | ||||
|       if aCreateRenderHandler      then FRenderHandler      := TCustomRenderHandler.Create(FEvents); | ||||
| @@ -518,7 +495,6 @@ begin | ||||
|   if (FKeyboardHandler    <> nil) then FKeyboardHandler.RemoveReferences; | ||||
|   if (FDisplayHandler     <> nil) then FDisplayHandler.RemoveReferences; | ||||
|   if (FDownloadHandler    <> nil) then FDownloadHandler.RemoveReferences; | ||||
|   if (FGeolocationHandler <> nil) then FGeolocationHandler.RemoveReferences; | ||||
|   if (FJsDialogHandler    <> nil) then FJsDialogHandler.RemoveReferences; | ||||
|   if (FLifeSpanHandler    <> nil) then FLifeSpanHandler.RemoveReferences; | ||||
|   if (FRequestHandler     <> nil) then FRequestHandler.RemoveReferences; | ||||
| @@ -536,7 +512,6 @@ begin | ||||
|   FKeyboardHandler    := nil; | ||||
|   FDisplayHandler     := nil; | ||||
|   FDownloadHandler    := nil; | ||||
|   FGeolocationHandler := nil; | ||||
|   FJsDialogHandler    := nil; | ||||
|   FLifeSpanHandler    := nil; | ||||
|   FRequestHandler     := nil; | ||||
| @@ -581,11 +556,6 @@ begin | ||||
|   Result := FFocusHandler; | ||||
| end; | ||||
|  | ||||
| function TCustomClientHandler.GetGeolocationHandler: ICefGeolocationHandler; | ||||
| begin | ||||
|   Result := FGeolocationHandler; | ||||
| end; | ||||
|  | ||||
| function TCustomClientHandler.GetJsdialogHandler: ICefJsDialogHandler; | ||||
| begin | ||||
|   Result := FJsDialogHandler; | ||||
|   | ||||
| @@ -1,78 +0,0 @@ | ||||
| // ************************************************************************ | ||||
| // ***************************** CEF4Delphi ******************************* | ||||
| // ************************************************************************ | ||||
| // | ||||
| // CEF4Delphi is based on DCEF3 which uses CEF3 to embed a chromium-based | ||||
| // browser in Delphi applications. | ||||
| // | ||||
| // The original license of DCEF3 still applies to CEF4Delphi. | ||||
| // | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
| // ************************************************************************ | ||||
| (* | ||||
|  *                       Delphi Chromium Embedded 3 | ||||
|  * | ||||
|  * Usage allowed under the restrictions of the Lesser GNU General Public License | ||||
|  * or alternatively the restrictions of the Mozilla Public License 1.1 | ||||
|  * | ||||
|  * Software distributed under the License is distributed on an "AS IS" basis, | ||||
|  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for | ||||
|  * the specific language governing rights and limitations under the License. | ||||
|  * | ||||
|  * Unit owner : Henri Gourvest <hgourvest@gmail.com> | ||||
|  * Web site   : http://www.progdigy.com | ||||
|  * Repository : http://code.google.com/p/delphichromiumembedded/ | ||||
|  * Group      : http://groups.google.com/group/delphichromiumembedded | ||||
|  * | ||||
|  * Embarcadero Technologies, Inc is not permitted to use or redistribute | ||||
|  * this source code without explicit permission. | ||||
|  * | ||||
|  *) | ||||
|  | ||||
| unit uCEFGeolocationCallback; | ||||
|  | ||||
| {$IFNDEF CPUX64} | ||||
|   {$ALIGN ON} | ||||
|   {$MINENUMSIZE 4} | ||||
| {$ENDIF} | ||||
|  | ||||
| {$I cef.inc} | ||||
|  | ||||
| interface | ||||
|  | ||||
| uses | ||||
|   uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes; | ||||
|  | ||||
| type | ||||
|   TCefGeolocationCallbackRef = class(TCefBaseRefCountedRef, ICefGeolocationCallback) | ||||
|   protected | ||||
|     procedure Cont(allow: Boolean); | ||||
|   public | ||||
|     class function UnWrap(data: Pointer): ICefGeolocationCallback; | ||||
|   end; | ||||
|  | ||||
| implementation | ||||
|  | ||||
| uses | ||||
|   uCEFMiscFunctions, uCEFLibFunctions; | ||||
|  | ||||
| procedure TCefGeolocationCallbackRef.Cont(allow: Boolean); | ||||
| begin | ||||
|   PCefGeolocationCallback(FData).cont(PCefGeolocationCallback(FData), Ord(allow)); | ||||
| end; | ||||
|  | ||||
| class function TCefGeolocationCallbackRef.UnWrap(data: Pointer): ICefGeolocationCallback; | ||||
| begin | ||||
|   if data <> nil then | ||||
|     Result := Create(data) as ICefGeolocationCallback else | ||||
|     Result := nil; | ||||
| end; | ||||
|  | ||||
|  | ||||
| end. | ||||
| @@ -1,172 +0,0 @@ | ||||
| // ************************************************************************ | ||||
| // ***************************** CEF4Delphi ******************************* | ||||
| // ************************************************************************ | ||||
| // | ||||
| // CEF4Delphi is based on DCEF3 which uses CEF3 to embed a chromium-based | ||||
| // browser in Delphi applications. | ||||
| // | ||||
| // The original license of DCEF3 still applies to CEF4Delphi. | ||||
| // | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
| // ************************************************************************ | ||||
| (* | ||||
|  *                       Delphi Chromium Embedded 3 | ||||
|  * | ||||
|  * Usage allowed under the restrictions of the Lesser GNU General Public License | ||||
|  * or alternatively the restrictions of the Mozilla Public License 1.1 | ||||
|  * | ||||
|  * Software distributed under the License is distributed on an "AS IS" basis, | ||||
|  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for | ||||
|  * the specific language governing rights and limitations under the License. | ||||
|  * | ||||
|  * Unit owner : Henri Gourvest <hgourvest@gmail.com> | ||||
|  * Web site   : http://www.progdigy.com | ||||
|  * Repository : http://code.google.com/p/delphichromiumembedded/ | ||||
|  * Group      : http://groups.google.com/group/delphichromiumembedded | ||||
|  * | ||||
|  * Embarcadero Technologies, Inc is not permitted to use or redistribute | ||||
|  * this source code without explicit permission. | ||||
|  * | ||||
|  *) | ||||
|  | ||||
| unit uCEFGeolocationHandler; | ||||
|  | ||||
| {$IFNDEF CPUX64} | ||||
|   {$ALIGN ON} | ||||
|   {$MINENUMSIZE 4} | ||||
| {$ENDIF} | ||||
|  | ||||
| {$I cef.inc} | ||||
|  | ||||
| interface | ||||
|  | ||||
| uses | ||||
|   uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes; | ||||
|  | ||||
| type | ||||
|   TCefGeolocationHandlerOwn = class(TCefBaseRefCountedOwn, ICefGeolocationHandler) | ||||
|     protected | ||||
|       function  OnRequestGeolocationPermission(const browser: ICefBrowser; const requestingUrl: ustring; requestId: Integer; const callback: ICefGeolocationCallback): Boolean; virtual; | ||||
|       procedure OnCancelGeolocationPermission(const browser: ICefBrowser; requestId: Integer); virtual; | ||||
|  | ||||
|       procedure RemoveReferences; virtual; | ||||
|  | ||||
|     public | ||||
|       constructor Create; virtual; | ||||
|   end; | ||||
|  | ||||
|   TCustomGeolocationHandler = class(TCefGeolocationHandlerOwn) | ||||
|     protected | ||||
|       FEvents : Pointer; | ||||
|  | ||||
|       function  OnRequestGeolocationPermission(const browser: ICefBrowser; const requestingUrl: ustring; requestId: Integer; const callback: ICefGeolocationCallback): Boolean; override; | ||||
|       procedure OnCancelGeolocationPermission(const browser: ICefBrowser; requestId: Integer); override; | ||||
|  | ||||
|       procedure RemoveReferences; override; | ||||
|  | ||||
|     public | ||||
|       constructor Create(const events: Pointer); reintroduce; virtual; | ||||
|       destructor  Destroy; override; | ||||
|   end; | ||||
|  | ||||
| implementation | ||||
|  | ||||
| uses | ||||
|   {$IFDEF DELPHI16_UP} | ||||
|   System.SysUtils, | ||||
|   {$ELSE} | ||||
|   SysUtils, | ||||
|   {$ENDIF} | ||||
|   uCEFMiscFunctions, uCEFLibFunctions, uCEFBrowser, uCEFGeolocationCallback; | ||||
|  | ||||
| function cef_geolocation_handler_on_request_geolocation_permission(self: PCefGeolocationHandler; | ||||
|   browser: PCefBrowser; const requesting_url: PCefString; request_id: Integer; | ||||
|   callback: PCefGeolocationCallback): Integer; stdcall; | ||||
| begin | ||||
|   with TCefGeolocationHandlerOwn(CefGetObject(self)) do | ||||
|     Result := Ord(OnRequestGeolocationPermission(TCefBrowserRef.UnWrap(browser), CefString(requesting_url), | ||||
|       request_id, TCefGeolocationCallbackRef.UnWrap(callback))); | ||||
| end; | ||||
|  | ||||
| procedure cef_geolocation_handler_on_cancel_geolocation_permission(self: PCefGeolocationHandler; | ||||
|   browser: PCefBrowser; request_id: Integer); stdcall; | ||||
| begin | ||||
|   with TCefGeolocationHandlerOwn(CefGetObject(self)) do | ||||
|     OnCancelGeolocationPermission(TCefBrowserRef.UnWrap(browser), request_id); | ||||
| end; | ||||
|  | ||||
| // TCefGeolocationHandlerOwn | ||||
|  | ||||
| constructor TCefGeolocationHandlerOwn.Create; | ||||
| begin | ||||
|   inherited CreateData(SizeOf(TCefGeolocationHandler)); | ||||
|  | ||||
|   with PCefGeolocationHandler(FData)^ do | ||||
|     begin | ||||
|       on_request_geolocation_permission := cef_geolocation_handler_on_request_geolocation_permission; | ||||
|       on_cancel_geolocation_permission  := cef_geolocation_handler_on_cancel_geolocation_permission; | ||||
|     end; | ||||
| end; | ||||
|  | ||||
|  | ||||
| function TCefGeolocationHandlerOwn.OnRequestGeolocationPermission( | ||||
|   const browser: ICefBrowser; const requestingUrl: ustring; requestId: Integer; | ||||
|   const callback: ICefGeolocationCallback): Boolean; | ||||
| begin | ||||
|   Result := False; | ||||
| end; | ||||
|  | ||||
| procedure TCefGeolocationHandlerOwn.OnCancelGeolocationPermission(const browser: ICefBrowser; requestId: Integer); | ||||
| begin | ||||
|  | ||||
| end; | ||||
|  | ||||
| procedure TCefGeolocationHandlerOwn.RemoveReferences; | ||||
| begin | ||||
|   // | ||||
| end; | ||||
|  | ||||
| // TCustomGeolocationHandler | ||||
|  | ||||
| constructor TCustomGeolocationHandler.Create(const events: Pointer); | ||||
| begin | ||||
|   inherited Create; | ||||
|  | ||||
|   FEvents := events; | ||||
| end; | ||||
|  | ||||
| destructor TCustomGeolocationHandler.Destroy; | ||||
| begin | ||||
|   RemoveReferences; | ||||
|  | ||||
|   inherited Destroy; | ||||
| end; | ||||
|  | ||||
| procedure TCustomGeolocationHandler.RemoveReferences; | ||||
| begin | ||||
|   FEvents := nil; | ||||
| end; | ||||
|  | ||||
| procedure TCustomGeolocationHandler.OnCancelGeolocationPermission(const browser: ICefBrowser; requestId: Integer); | ||||
| begin | ||||
|   if (FEvents <> nil) then IChromiumEvents(FEvents).doOnCancelGeolocationPermission(browser, requestId); | ||||
| end; | ||||
|  | ||||
| function TCustomGeolocationHandler.OnRequestGeolocationPermission(const browser       : ICefBrowser; | ||||
|                                                                   const requestingUrl : ustring; | ||||
|                                                                         requestId     : Integer; | ||||
|                                                                   const callback      : ICefGeolocationCallback): Boolean; | ||||
| begin | ||||
|   if (FEvents <> nil) then | ||||
|     Result := IChromiumEvents(FEvents).doOnRequestGeolocationPermission(browser, requestingUrl, requestId, callback) | ||||
|    else | ||||
|     Result := inherited OnRequestGeolocationPermission(browser, requestingUrl, requestId, callback); | ||||
| end; | ||||
|  | ||||
| end. | ||||
| @@ -1,115 +0,0 @@ | ||||
| // ************************************************************************ | ||||
| // ***************************** CEF4Delphi ******************************* | ||||
| // ************************************************************************ | ||||
| // | ||||
| // CEF4Delphi is based on DCEF3 which uses CEF3 to embed a chromium-based | ||||
| // browser in Delphi applications. | ||||
| // | ||||
| // The original license of DCEF3 still applies to CEF4Delphi. | ||||
| // | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
| // ************************************************************************ | ||||
| (* | ||||
|  *                       Delphi Chromium Embedded 3 | ||||
|  * | ||||
|  * Usage allowed under the restrictions of the Lesser GNU General Public License | ||||
|  * or alternatively the restrictions of the Mozilla Public License 1.1 | ||||
|  * | ||||
|  * Software distributed under the License is distributed on an "AS IS" basis, | ||||
|  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for | ||||
|  * the specific language governing rights and limitations under the License. | ||||
|  * | ||||
|  * Unit owner : Henri Gourvest <hgourvest@gmail.com> | ||||
|  * Web site   : http://www.progdigy.com | ||||
|  * Repository : http://code.google.com/p/delphichromiumembedded/ | ||||
|  * Group      : http://groups.google.com/group/delphichromiumembedded | ||||
|  * | ||||
|  * Embarcadero Technologies, Inc is not permitted to use or redistribute | ||||
|  * this source code without explicit permission. | ||||
|  * | ||||
|  *) | ||||
|  | ||||
| unit uCEFGetGeolocationCallback; | ||||
|  | ||||
| {$IFNDEF CPUX64} | ||||
|   {$ALIGN ON} | ||||
|   {$MINENUMSIZE 4} | ||||
| {$ENDIF} | ||||
|  | ||||
| {$I cef.inc} | ||||
|  | ||||
| interface | ||||
|  | ||||
| uses | ||||
|   uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes; | ||||
|  | ||||
| type | ||||
|   TCefGetGeolocationCallbackOwn = class(TCefBaseRefCountedOwn, ICefGetGeolocationCallback) | ||||
|     protected | ||||
|       procedure OnLocationUpdate(const position: PCefGeoposition); virtual; | ||||
|  | ||||
|     public | ||||
|       constructor Create; virtual; | ||||
|   end; | ||||
|  | ||||
|   TOnLocationUpdate = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const position: PCefGeoposition); | ||||
|  | ||||
|   TCefFastGetGeolocationCallback = class(TCefGetGeolocationCallbackOwn) | ||||
|     protected | ||||
|       FCallback: TOnLocationUpdate; | ||||
|  | ||||
|       procedure OnLocationUpdate(const position: PCefGeoposition); override; | ||||
|  | ||||
|     public | ||||
|       constructor Create(const callback: TOnLocationUpdate); reintroduce; | ||||
|   end; | ||||
|  | ||||
| implementation | ||||
|  | ||||
| uses | ||||
|   uCEFMiscFunctions, uCEFLibFunctions; | ||||
|  | ||||
| procedure cef_get_geolocation_callback_on_location_update( | ||||
|   self: PCefGetGeolocationCallback; const position: PCefGeoposition); stdcall; | ||||
| begin | ||||
|   with TCefGetGeolocationCallbackOwn(CefGetObject(self)) do | ||||
|     OnLocationUpdate(position); | ||||
| end; | ||||
|  | ||||
| // TCefGetGeolocationCallbackOwn | ||||
|  | ||||
| constructor TCefGetGeolocationCallbackOwn.Create; | ||||
| begin | ||||
|   inherited CreateData(SizeOf(TCefGetGeolocationCallback)); | ||||
|   with PCefGetGeolocationCallback(FData)^ do | ||||
|     on_location_update := cef_get_geolocation_callback_on_location_update; | ||||
| end; | ||||
|  | ||||
| procedure TCefGetGeolocationCallbackOwn.OnLocationUpdate( | ||||
|   const position: PCefGeoposition); | ||||
| begin | ||||
|  | ||||
| end; | ||||
|  | ||||
| // TCefFastGetGeolocationCallback | ||||
|  | ||||
| constructor TCefFastGetGeolocationCallback.Create( | ||||
|   const callback: TOnLocationUpdate); | ||||
| begin | ||||
|   inherited Create; | ||||
|   FCallback := callback; | ||||
| end; | ||||
|  | ||||
| procedure TCefFastGetGeolocationCallback.OnLocationUpdate( | ||||
|   const position: PCefGeoposition); | ||||
| begin | ||||
|   FCallback(position); | ||||
| end; | ||||
|  | ||||
| end. | ||||
| @@ -119,7 +119,6 @@ type | ||||
|   TOnWebKitInitializedEvent          = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure() {$IFNDEF DELPHI12_UP}of object{$ENDIF}; | ||||
|   TOnBrowserCreatedEvent             = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const browser: ICefBrowser) {$IFNDEF DELPHI12_UP}of object{$ENDIF}; | ||||
|   TOnBrowserDestroyedEvent           = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const browser: ICefBrowser) {$IFNDEF DELPHI12_UP}of object{$ENDIF}; | ||||
|   TOnBeforeNavigationEvent           = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; navigationType: TCefNavigationType; isRedirect: Boolean; var aStopNavigation : boolean) {$IFNDEF DELPHI12_UP}of object{$ENDIF}; | ||||
|   TOnContextCreatedEvent             = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context) {$IFNDEF DELPHI12_UP}of object{$ENDIF}; | ||||
|   TOnContextReleasedEvent            = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context) {$IFNDEF DELPHI12_UP}of object{$ENDIF}; | ||||
|   TOnUncaughtExceptionEvent          = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context; const exception: ICefV8Exception; const stackTrace: ICefV8StackTrace) {$IFNDEF DELPHI12_UP}of object{$ENDIF}; | ||||
| @@ -418,6 +417,7 @@ type | ||||
|     property Url        : ustring     read GetUrl; | ||||
|     property Browser    : ICefBrowser read GetBrowser; | ||||
|     property Parent     : ICefFrame   read GetParent; | ||||
|     property Identifier : int64       read GetIdentifier; | ||||
|   end; | ||||
|  | ||||
|  | ||||
| @@ -883,7 +883,6 @@ type | ||||
|     procedure OnBrowserCreated(const browser: ICefBrowser); | ||||
|     procedure OnBrowserDestroyed(const browser: ICefBrowser); | ||||
|     function  GetLoadHandler : ICefLoadHandler; | ||||
|     function  OnBeforeNavigation(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; navigationType: TCefNavigationType; isRedirect: Boolean): Boolean; | ||||
|     procedure OnContextCreated(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context); | ||||
|     procedure OnContextReleased(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context); | ||||
|     procedure OnUncaughtException(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context; const exception: ICefV8Exception; const stackTrace: ICefV8StackTrace); | ||||
| @@ -1364,19 +1363,6 @@ type | ||||
|     procedure RemoveReferences; // custom procedure to clear all references | ||||
|   end; | ||||
|  | ||||
|   ICefGeolocationCallback = interface(ICefBaseRefCounted) | ||||
|   ['{272B8E4F-4AE4-4F14-BC4E-5924FA0C149D}'] | ||||
|     procedure Cont(allow: Boolean); | ||||
|   end; | ||||
|  | ||||
|   ICefGeolocationHandler = interface(ICefBaseRefCounted) | ||||
|   ['{1178EE62-BAE7-4E44-932B-EAAC7A18191C}'] | ||||
|     function  OnRequestGeolocationPermission(const browser: ICefBrowser; const requestingUrl: ustring; requestId: Integer; const callback: ICefGeolocationCallback): Boolean; | ||||
|     procedure OnCancelGeolocationPermission(const browser: ICefBrowser; requestId: Integer); | ||||
|  | ||||
|     procedure RemoveReferences; // custom procedure to clear all references | ||||
|   end; | ||||
|  | ||||
|   ICefRenderHandler = interface(ICefBaseRefCounted) | ||||
|   ['{1FC1C22B-085A-4741-9366-5249B88EC410}'] | ||||
|     procedure GetAccessibilityHandler(var aAccessibilityHandler : ICefAccessibilityHandler); | ||||
| @@ -1402,7 +1388,6 @@ type | ||||
|     function GetDisplayHandler: ICefDisplayHandler; | ||||
|     function GetDownloadHandler: ICefDownloadHandler; | ||||
|     function GetFocusHandler: ICefFocusHandler; | ||||
|     function GetGeolocationHandler: ICefGeolocationHandler; | ||||
|     function GetJsdialogHandler: ICefJsdialogHandler; | ||||
|     function GetKeyboardHandler: ICefKeyboardHandler; | ||||
|     function GetLifeSpanHandler: ICefLifeSpanHandler; | ||||
| @@ -1460,11 +1445,6 @@ type | ||||
|     procedure OnEndTracingComplete(const tracingFile: ustring); | ||||
|   end; | ||||
|  | ||||
|   ICefGetGeolocationCallback = interface(ICefBaseRefCounted) | ||||
|   ['{ACB82FD9-3FFD-43F9-BF1A-A4849BF5B814}'] | ||||
|     procedure OnLocationUpdate(const position: PCefGeoposition); | ||||
|   end; | ||||
|  | ||||
|   ICefFileDialogCallback = interface(ICefBaseRefCounted) | ||||
|   ['{1AF659AB-4522-4E39-9C52-184000D8E3C7}'] | ||||
|     procedure Cont(selectedAcceptFilter: Integer; const filePaths: TStrings); | ||||
| @@ -1777,10 +1757,6 @@ type | ||||
|     procedure doOnBeforeDownload(const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const suggestedName: ustring; const callback: ICefBeforeDownloadCallback); | ||||
|     procedure doOnDownloadUpdated(const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const callback: ICefDownloadItemCallback); | ||||
|  | ||||
|     // ICefGeolocationHandler | ||||
|     function  doOnRequestGeolocationPermission(const browser: ICefBrowser; const requestingUrl: ustring; requestId: Integer; const callback: ICefGeolocationCallback): Boolean; | ||||
|     procedure doOnCancelGeolocationPermission(const browser: ICefBrowser; requestId: Integer); | ||||
|  | ||||
|     // ICefJsDialogHandler | ||||
|     function  doOnJsdialog(const browser: ICefBrowser; const originUrl: ustring; dialogType: TCefJsDialogType; const messageText, defaultPromptText: ustring; const callback: ICefJsDialogCallback; out suppressMessage: Boolean): Boolean; | ||||
|     function  doOnBeforeUnloadDialog(const browser: ICefBrowser; const messageText: ustring; isReload: Boolean; const callback: ICefJsDialogCallback): Boolean; | ||||
|   | ||||
| @@ -94,9 +94,6 @@ var | ||||
|   cef_zip_directory                      : function(const src_dir, dest_file : PCefString; include_hidden_files : integer): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF}; | ||||
|   cef_load_crlsets_file                  : procedure(const path : PCefString); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF}; | ||||
|  | ||||
|   // /include/capi/cef_geolocation_capi.h | ||||
|   cef_get_geolocation : function(callback: PCefGetGeolocationCallback): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF}; | ||||
|  | ||||
|   // /include/capi/cef_image_capi.h | ||||
|   cef_image_create : function : PCefImage; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF}; | ||||
|  | ||||
|   | ||||
| @@ -53,7 +53,7 @@ uses | ||||
|   {$ELSE} | ||||
|   Windows, Classes, SysUtils, Controls, ActiveX, Math, | ||||
|   {$ENDIF} | ||||
|   uCEFTypes, uCEFInterfaces, uCEFLibFunctions, uCEFResourceHandler, uCEFGetGeolocationCallback, | ||||
|   uCEFTypes, uCEFInterfaces, uCEFLibFunctions, uCEFResourceHandler, | ||||
|   uCEFRegisterCDMCallback; | ||||
|  | ||||
| const | ||||
| @@ -192,8 +192,6 @@ procedure LogicalToDevice(var aRect : TCEFRect; const aDeviceScaleFactor : doubl | ||||
| function GetScreenDPI : integer; | ||||
| function GetDeviceScaleFactor : single; | ||||
|  | ||||
| function CefGetGeolocation(const aCallbackFunction : TOnLocationUpdate) : boolean; | ||||
|  | ||||
| procedure CefRegisterWidevineCdm(const path: ustring; const callback: ICefRegisterCdmCallback); | ||||
| procedure CefFastRegisterWidevineCdm(const path: ustring; const callback: TCefRegisterCDMProc); | ||||
|  | ||||
| @@ -1238,14 +1236,6 @@ begin | ||||
|   cef_load_crlsets_file(@TempPath); | ||||
| end; | ||||
|  | ||||
| function CefGetGeolocation(const aCallbackFunction : TOnLocationUpdate) : boolean; | ||||
| var | ||||
|   TempGeoCallBack : ICefGetGeolocationCallback; | ||||
| begin | ||||
|   TempGeoCallBack := TCefFastGetGeolocationCallback.Create(aCallbackFunction); | ||||
|   Result          := (cef_get_geolocation(TempGeoCallBack.Wrap) <> 0); | ||||
| end; | ||||
|  | ||||
| function CefIsKeyDown(aWparam : WPARAM) : boolean; | ||||
| begin | ||||
|   Result := (GetKeyState(aWparam) < 0); | ||||
|   | ||||
| @@ -63,7 +63,6 @@ type | ||||
|       procedure OnBrowserCreated(const browser: ICefBrowser); virtual; abstract; | ||||
|       procedure OnBrowserDestroyed(const browser: ICefBrowser); virtual; abstract; | ||||
|       function  GetLoadHandler: ICefLoadHandler; virtual; | ||||
|       function  OnBeforeNavigation(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; navigationType: TCefNavigationType; isRedirect: Boolean): Boolean; virtual; | ||||
|       procedure OnContextCreated(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context); virtual; abstract; | ||||
|       procedure OnContextReleased(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context); virtual; abstract; | ||||
|       procedure OnUncaughtException(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context; const exception: ICefV8Exception; const stackTrace: ICefV8StackTrace); virtual; abstract; | ||||
| @@ -84,7 +83,6 @@ type | ||||
|       procedure OnWebKitInitialized; override; | ||||
|       procedure OnBrowserCreated(const browser: ICefBrowser); override; | ||||
|       procedure OnBrowserDestroyed(const browser: ICefBrowser); override; | ||||
|       function  OnBeforeNavigation(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; navigationType: TCefNavigationType; isRedirect: Boolean): Boolean; override; | ||||
|       procedure OnContextCreated(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context); override; | ||||
|       procedure OnContextReleased(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context); override; | ||||
|       procedure OnUncaughtException(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context; const exception: ICefV8Exception; const stackTrace: ICefV8StackTrace); override; | ||||
| @@ -157,27 +155,6 @@ begin | ||||
|     Result := nil; | ||||
| end; | ||||
|  | ||||
| function cef_render_process_handler_on_before_navigation(self            : PCefRenderProcessHandler; | ||||
|                                                          browser         : PCefBrowser; | ||||
|                                                          frame           : PCefFrame; | ||||
|                                                          request         : PCefRequest; | ||||
|                                                          navigation_type : TCefNavigationType; | ||||
|                                                          is_redirect     : Integer): Integer; stdcall; | ||||
| var | ||||
|   TempObject : TObject; | ||||
| begin | ||||
|   TempObject := CefGetObject(self); | ||||
|  | ||||
|   if (TempObject <> nil) and (TempObject is TCefRenderProcessHandlerOwn) then | ||||
|     Result := Ord(TCefRenderProcessHandlerOwn(TempObject).OnBeforeNavigation(TCefBrowserRef.UnWrap(browser), | ||||
|                                                                              TCefFrameRef.UnWrap(frame), | ||||
|                                                                              TCefRequestRef.UnWrap(request), | ||||
|                                                                              navigation_type, | ||||
|                                                                              is_redirect <> 0)) | ||||
|    else | ||||
|     Result := 0; | ||||
| end; | ||||
|  | ||||
| procedure cef_render_process_handler_on_context_created(self    : PCefRenderProcessHandler; | ||||
|                                                         browser : PCefBrowser; | ||||
|                                                         frame   : PCefFrame; | ||||
| @@ -274,7 +251,6 @@ begin | ||||
|       on_browser_created          := cef_render_process_handler_on_browser_created; | ||||
|       on_browser_destroyed        := cef_render_process_handler_on_browser_destroyed; | ||||
|       get_load_handler            := cef_render_process_handler_get_load_handler; | ||||
|       on_before_navigation        := cef_render_process_handler_on_before_navigation; | ||||
|       on_context_created          := cef_render_process_handler_on_context_created; | ||||
|       on_context_released         := cef_render_process_handler_on_context_released; | ||||
|       on_uncaught_exception       := cef_render_process_handler_on_uncaught_exception; | ||||
| @@ -288,15 +264,6 @@ begin | ||||
|   Result := nil; | ||||
| end; | ||||
|  | ||||
| function TCefRenderProcessHandlerOwn.OnBeforeNavigation(const browser        : ICefBrowser; | ||||
|                                                         const frame          : ICefFrame; | ||||
|                                                         const request        : ICefRequest; | ||||
|                                                               navigationType : TCefNavigationType; | ||||
|                                                               isRedirect     : Boolean): Boolean; | ||||
| begin | ||||
|   Result := False; | ||||
| end; | ||||
|  | ||||
| function TCefRenderProcessHandlerOwn.OnProcessMessageReceived(const browser       : ICefBrowser; | ||||
|                                                                     sourceProcess : TCefProcessId; | ||||
|                                                               const aMessage      : ICefProcessMessage): Boolean; | ||||
| @@ -347,17 +314,6 @@ begin | ||||
|   if (FCefApp <> nil) then FCefApp.Internal_OnBrowserDestroyed(browser); | ||||
| end; | ||||
|  | ||||
| function  TCefCustomRenderProcessHandler.OnBeforeNavigation(const browser        : ICefBrowser; | ||||
|                                                             const frame          : ICefFrame; | ||||
|                                                             const request        : ICefRequest; | ||||
|                                                                   navigationType : TCefNavigationType; | ||||
|                                                                   isRedirect     : Boolean): Boolean; | ||||
| begin | ||||
|   Result := inherited OnBeforeNavigation(browser, frame, request, navigationType, isRedirect); | ||||
|  | ||||
|   if (FCefApp <> nil) then FCefApp.Internal_OnBeforeNavigation(browser, frame, request, navigationType, isRedirect, Result); | ||||
| end; | ||||
|  | ||||
| procedure TCefCustomRenderProcessHandler.OnContextCreated(const browser : ICefBrowser; | ||||
|                                                           const frame   : ICefFrame; | ||||
|                                                           const context : ICefv8Context); | ||||
|   | ||||
| @@ -123,8 +123,6 @@ type | ||||
|   PCefStreamWriter = ^TCefStreamWriter; | ||||
|   PCefFindHandler = ^TCefFindHandler; | ||||
|   PCefFocusHandler = ^TCefFocusHandler; | ||||
|   PCefGeolocationHandler = ^TCefGeolocationHandler; | ||||
|   PCefGeolocationCallback = ^TCefGeolocationCallback; | ||||
|   PCefJsDialogHandler = ^TCefJsDialogHandler; | ||||
|   PCefJsDialogCallback = ^TCefJsDialogCallback; | ||||
|   PCefKeyboardHandler = ^TCefKeyboardHandler; | ||||
| @@ -191,8 +189,6 @@ type | ||||
|   PCefWebPluginInfoVisitor = ^TCefWebPluginInfoVisitor; | ||||
|   PCefWebPluginUnstableCallback = ^TCefWebPluginUnstableCallback; | ||||
|   PCefRegisterCDMCallback = ^TCefRegisterCDMCallback; | ||||
|   PCefGetGeolocationCallback = ^TCefGetGeolocationCallback; | ||||
|   PCefGeoposition = ^TCefGeoposition; | ||||
|   PCefTaskRunner = ^TCefTaskRunner; | ||||
|   PCefEndTracingCallback = ^TCefEndTracingCallback; | ||||
|   PCefRequestContextSettings = ^TCefRequestContextSettings; | ||||
| @@ -845,14 +841,6 @@ type | ||||
|     DOM_EVENT_PHASE_BUBBLING | ||||
|   ); | ||||
|  | ||||
|   // /include/internal/cef_types.h (cef_geoposition_error_code_t) | ||||
|   TCefGeopositionErrorCode = ( | ||||
|     GEOPOSITON_ERROR_NONE, | ||||
|     GEOPOSITON_ERROR_PERMISSION_DENIED, | ||||
|     GEOPOSITON_ERROR_POSITION_UNAVAILABLE, | ||||
|     GEOPOSITON_ERROR_TIMEOUT | ||||
|   ); | ||||
|  | ||||
|   // /include/internal/cef_types.h (cef_button_state_t) | ||||
|   TCefButtonState = ( | ||||
|     CEF_BUTTON_STATE_NORMAL, | ||||
| @@ -1134,19 +1122,6 @@ type | ||||
|     cont: procedure(self: PCefJsDialogCallback; success: Integer; const user_input: PCefString); stdcall; | ||||
|   end; | ||||
|  | ||||
|   // /include/capi/cef_geolocation_handler_capi.h (cef_geolocation_handler_t) | ||||
|   TCefGeolocationHandler = record | ||||
|     base: TCefBaseRefCounted; | ||||
|     on_request_geolocation_permission: function(self: PCefGeolocationHandler; browser: PCefBrowser; const requesting_url: PCefString; request_id: Integer; callback: PCefGeolocationCallback): Integer; stdcall; | ||||
|     on_cancel_geolocation_permission: procedure(self: PCefGeolocationHandler; browser: PCefBrowser; request_id: Integer); stdcall; | ||||
|   end; | ||||
|  | ||||
|   // /include/capi/cef_geolocation_handler_capi.h (cef_geolocation_callback_t) | ||||
|   TCefGeolocationCallback = record | ||||
|     base: TCefBaseRefCounted; | ||||
|     cont: procedure(self: PCefGeolocationCallback; allow: Integer); stdcall; | ||||
|   end; | ||||
|  | ||||
|   // /include/internal/cef_types.h (cef_key_event_t) | ||||
|   TCefKeyEvent = record | ||||
|     kind: TCefKeyEventType; | ||||
| @@ -1439,26 +1414,6 @@ type | ||||
|     base: TCefBaseRefCounted; | ||||
|     on_cdm_registration_complete: procedure(self:PCefRegisterCDMCallback; result: TCefCDMRegistrationError; const error_message: PCefString); stdcall; | ||||
|   end; | ||||
|  | ||||
|   // /include/capi/cef_geolocation_capi.h (cef_get_geolocation_callback_t) | ||||
|   TCefGetGeolocationCallback = record | ||||
|     base: TCefBaseRefCounted; | ||||
|     on_location_update: procedure(self: PCefGetGeolocationCallback; const position: Pcefgeoposition); stdcall; | ||||
|   end; | ||||
|  | ||||
|   // /include/internal/cef_types.h (cef_geoposition_t) | ||||
|   TCefGeoposition = record | ||||
|     latitude: Double; | ||||
|     longitude: Double; | ||||
|     altitude: Double; | ||||
|     accuracy: Double; | ||||
|     altitude_accuracy: Double; | ||||
|     heading: Double; | ||||
|     speed: Double; | ||||
|     timestamp: TCefTime; | ||||
|     error_code: TCefGeopositionErrorCode; | ||||
|     error_message: TCefString; | ||||
|   end; | ||||
|  | ||||
|   // /include/capi/cef_thread_capi.h (cef_thread_t) | ||||
|   TCefThread = record | ||||
| @@ -1543,7 +1498,6 @@ type | ||||
|     on_web_kit_initialized: procedure(self: PCefRenderProcessHandler); stdcall; | ||||
|     on_browser_created: procedure(self: PCefRenderProcessHandler; browser: PCefBrowser); stdcall; | ||||
|     on_browser_destroyed: procedure(self: PCefRenderProcessHandler; browser: PCefBrowser); stdcall; | ||||
|     get_load_handler: function(self: PCefRenderProcessHandler): PCefLoadHandler; stdcall; | ||||
|     get_load_handler: function(self: PCefRenderProcessHandler): PCefLoadHandler; stdcall; | ||||
|     on_context_created: procedure(self: PCefRenderProcessHandler; browser: PCefBrowser; frame: PCefFrame; context: PCefv8Context); stdcall; | ||||
|     on_context_released: procedure(self: PCefRenderProcessHandler; browser: PCefBrowser; frame: PCefFrame; context: PCefv8Context); stdcall; | ||||
| @@ -2449,7 +2403,6 @@ type | ||||
|     get_download_handler: function(self: PCefClient): PCefDownloadHandler; stdcall; | ||||
|     get_drag_handler: function(self: PCefClient): PCefDragHandler; stdcall; | ||||
|     get_find_handler: function(self: PCefClient): PCefFindHandler; stdcall; | ||||
|     get_focus_handler: function(self: PCefClient): PCefFocusHandler; stdcall; | ||||
|     get_focus_handler: function(self: PCefClient): PCefFocusHandler; stdcall; | ||||
|     get_jsdialog_handler: function(self: PCefClient): PCefJsDialogHandler; stdcall; | ||||
|     get_keyboard_handler: function(self: PCefClient): PCefKeyboardHandler; stdcall; | ||||
|   | ||||
| @@ -77,6 +77,8 @@ type | ||||
|       property  TabStop; | ||||
|       property  TabOrder; | ||||
|       property  Visible; | ||||
|       property  ShowHint; | ||||
|       property  Hint; | ||||
|   end; | ||||
|  | ||||
| implementation | ||||
|   | ||||
| @@ -137,10 +137,6 @@ type | ||||
|       FOnBeforeDownload               : TOnBeforeDownload; | ||||
|       FOnDownloadUpdated              : TOnDownloadUpdated; | ||||
|  | ||||
|       // ICefGeolocationHandler | ||||
|       FOnRequestGeolocationPermission : TOnRequestGeolocationPermission; | ||||
|       FOnCancelGeolocationPermission  : TOnCancelGeolocationPermission; | ||||
|  | ||||
|       // ICefJsDialogHandler | ||||
|       FOnJsdialog                     : TOnJsdialog; | ||||
|       FOnBeforeUnloadDialog           : TOnBeforeUnloadDialog; | ||||
| @@ -287,7 +283,6 @@ type | ||||
|       function  MustCreateKeyboardHandler : boolean; virtual; | ||||
|       function  MustCreateDisplayHandler : boolean; virtual; | ||||
|       function  MustCreateDownloadHandler : boolean; virtual; | ||||
|       function  MustCreateGeolocationHandler : boolean; virtual; | ||||
|       function  MustCreateJsDialogHandler : boolean; virtual; | ||||
|       function  MustCreateDragHandler : boolean; virtual; | ||||
|       function  MustCreateFindHandler : boolean; virtual; | ||||
| @@ -336,10 +331,6 @@ type | ||||
|       procedure doOnBeforeDownload(const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const suggestedName: ustring; const callback: ICefBeforeDownloadCallback); virtual; | ||||
|       procedure doOnDownloadUpdated(const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const callback: ICefDownloadItemCallback); virtual; | ||||
|  | ||||
|       // ICefGeolocationHandler | ||||
|       function  doOnRequestGeolocationPermission(const browser: ICefBrowser; const requestingUrl: ustring; requestId: Integer; const callback: ICefGeolocationCallback): Boolean; virtual; | ||||
|       procedure doOnCancelGeolocationPermission(const browser: ICefBrowser; requestId: Integer); virtual; | ||||
|  | ||||
|       // ICefJsDialogHandler | ||||
|       function  doOnJsdialog(const browser: ICefBrowser; const originUrl: ustring; dialogType: TCefJsDialogType; const messageText, defaultPromptText: ustring; const callback: ICefJsDialogCallback; out suppressMessage: Boolean): Boolean; virtual; | ||||
|       function  doOnBeforeUnloadDialog(const browser: ICefBrowser; const messageText: ustring; isReload: Boolean; const callback: ICefJsDialogCallback): Boolean; virtual; | ||||
| @@ -595,10 +586,6 @@ type | ||||
|       property OnBeforeDownload                 : TOnBeforeDownload                 read FOnBeforeDownload                 write FOnBeforeDownload; | ||||
|       property OnDownloadUpdated                : TOnDownloadUpdated                read FOnDownloadUpdated                write FOnDownloadUpdated; | ||||
|  | ||||
|       // ICefGeolocationHandler | ||||
|       property OnRequestGeolocationPermission   : TOnRequestGeolocationPermission   read FOnRequestGeolocationPermission   write FOnRequestGeolocationPermission; | ||||
|       property OnCancelGeolocationPermission    : TOnCancelGeolocationPermission    read FOnCancelGeolocationPermission    write FOnCancelGeolocationPermission; | ||||
|  | ||||
|       // ICefJsDialogHandler | ||||
|       property OnJsdialog                       : TOnJsdialog                       read FOnJsdialog                       write FOnJsdialog; | ||||
|       property OnBeforeUnloadDialog             : TOnBeforeUnloadDialog             read FOnBeforeUnloadDialog             write FOnBeforeUnloadDialog; | ||||
| @@ -796,7 +783,6 @@ begin | ||||
|                                                 MustCreateKeyboardHandler, | ||||
|                                                 MustCreateDisplayHandler, | ||||
|                                                 MustCreateDownloadHandler, | ||||
|                                                 MustCreateGeolocationHandler, | ||||
|                                                 MustCreateJsDialogHandler, | ||||
|                                                 True, | ||||
|                                                 True, // FMX always uses the OSR mode | ||||
| @@ -863,10 +849,6 @@ begin | ||||
|   FOnBeforeDownload               := nil; | ||||
|   FOnDownloadUpdated              := nil; | ||||
|  | ||||
|   // ICefGeolocationHandler | ||||
|   FOnRequestGeolocationPermission := nil; | ||||
|   FOnCancelGeolocationPermission  := nil; | ||||
|  | ||||
|   // ICefJsDialogHandler | ||||
|   FOnJsdialog                     := nil; | ||||
|   FOnBeforeUnloadDialog           := nil; | ||||
| @@ -2412,12 +2394,6 @@ begin | ||||
|             assigned(FOnDownloadUpdated); | ||||
| end; | ||||
|  | ||||
| function TFMXChromium.MustCreateGeolocationHandler : boolean; | ||||
| begin | ||||
|   Result := assigned(FOnRequestGeolocationPermission) or | ||||
|             assigned(FOnCancelGeolocationPermission); | ||||
| end; | ||||
|  | ||||
| function TFMXChromium.MustCreateJsDialogHandler : boolean; | ||||
| begin | ||||
|   Result := assigned(FOnJsdialog)           or | ||||
| @@ -2637,12 +2613,6 @@ begin | ||||
|   if Assigned(FOnBeforeUnloadDialog) then FOnBeforeUnloadDialog(Self, browser, messageText, isReload, callback, Result); | ||||
| end; | ||||
|  | ||||
| procedure TFMXChromium.doOnCancelGeolocationPermission(const browser : ICefBrowser; requestId : Integer); | ||||
| begin | ||||
|   if Assigned(FOnCancelGeolocationPermission) then | ||||
|     FOnCancelGeolocationPermission(Self, browser, requestId); | ||||
| end; | ||||
|  | ||||
| function TFMXChromium.doOnCertificateError(const browser    : ICefBrowser; | ||||
|                                                  certError  : TCefErrorcode; | ||||
|                                            const requestUrl : ustring; | ||||
| @@ -3010,17 +2980,6 @@ begin | ||||
|   if Assigned(FOnRenderViewReady) then FOnRenderViewReady(Self, browser); | ||||
| end; | ||||
|  | ||||
| function TFMXChromium.doOnRequestGeolocationPermission(const browser       : ICefBrowser; | ||||
|                                                        const requestingUrl : ustring; | ||||
|                                                              requestId     : Integer; | ||||
|                                                        const callback      : ICefGeolocationCallback): Boolean; | ||||
| begin | ||||
|   Result := False; | ||||
|  | ||||
|   if Assigned(FOnRequestGeolocationPermission) then | ||||
|     FOnRequestGeolocationPermission(Self, browser, requestingUrl, requestId, callback, Result); | ||||
| end; | ||||
|  | ||||
| procedure TFMXChromium.doOnResetDialogState(const browser: ICefBrowser); | ||||
| begin | ||||
|   if Assigned(FOnResetDialogState) then FOnResetDialogState(Self, browser); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user