1
0
mirror of https://github.com/salvadordf/CEF4Delphi.git synced 2025-06-02 21:57:37 +02:00

Update to CEF 3.3325.1746.ge81cdf2

This commit is contained in:
Salvador Díaz Fau 2018-03-08 11:47:04 +01:00
parent 381f43394b
commit 368479b0eb
33 changed files with 30 additions and 3364 deletions

View File

@ -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

View File

@ -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.

View File

@ -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>

View File

@ -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}

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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>

View File

@ -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}

View File

@ -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

View File

@ -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.

View File

@ -22,6 +22,7 @@ object Form1: TForm1
Height = 594 Height = 594
Align = alClient Align = alClient
TabOrder = 0 TabOrder = 0
ShowHint = False
OnAfterCreated = ChromiumWindow1AfterCreated OnAfterCreated = ChromiumWindow1AfterCreated
end end
object AddressPnl: TPanel object AddressPnl: TPanel

View File

@ -27,8 +27,6 @@ object ChildForm: TChildForm
Height = 394 Height = 394
Align = alClient Align = alClient
TabOrder = 0 TabOrder = 0
ExplicitWidth = 400
ExplicitHeight = 300
end end
object Chromium1: TChromium object Chromium1: TChromium
OnPreKeyEvent = Chromium1PreKeyEvent OnPreKeyEvent = Chromium1PreKeyEvent

View File

@ -75,7 +75,6 @@ contains
uCEFKeyboardHandler in '..\source\uCEFKeyboardHandler.pas', uCEFKeyboardHandler in '..\source\uCEFKeyboardHandler.pas',
uCEFDisplayHandler in '..\source\uCEFDisplayHandler.pas', uCEFDisplayHandler in '..\source\uCEFDisplayHandler.pas',
uCEFDownloadHandler in '..\source\uCEFDownloadHandler.pas', uCEFDownloadHandler in '..\source\uCEFDownloadHandler.pas',
uCEFGeolocationHandler in '..\source\uCEFGeolocationHandler.pas',
uCEFJsDialogHandler in '..\source\uCEFJsDialogHandler.pas', uCEFJsDialogHandler in '..\source\uCEFJsDialogHandler.pas',
uCEFLifeSpanHandler in '..\source\uCEFLifeSpanHandler.pas', uCEFLifeSpanHandler in '..\source\uCEFLifeSpanHandler.pas',
uCEFRequestHandler in '..\source\uCEFRequestHandler.pas', uCEFRequestHandler in '..\source\uCEFRequestHandler.pas',
@ -112,7 +111,6 @@ contains
uCEFDownloadItemCallback in '..\source\uCEFDownloadItemCallback.pas', uCEFDownloadItemCallback in '..\source\uCEFDownloadItemCallback.pas',
uCEFAuthCallback in '..\source\uCEFAuthCallback.pas', uCEFAuthCallback in '..\source\uCEFAuthCallback.pas',
uCEFJsDialogCallback in '..\source\uCEFJsDialogCallback.pas', uCEFJsDialogCallback in '..\source\uCEFJsDialogCallback.pas',
uCEFGeolocationCallback in '..\source\uCEFGeolocationCallback.pas',
uCEFContextMenuParams in '..\source\uCEFContextMenuParams.pas', uCEFContextMenuParams in '..\source\uCEFContextMenuParams.pas',
uCEFMenuModel in '..\source\uCEFMenuModel.pas', uCEFMenuModel in '..\source\uCEFMenuModel.pas',
uCEFBrowserProcessHandler in '..\source\uCEFBrowserProcessHandler.pas', uCEFBrowserProcessHandler in '..\source\uCEFBrowserProcessHandler.pas',
@ -122,7 +120,6 @@ contains
uCEFWebPluginInfoVisitor in '..\source\uCEFWebPluginInfoVisitor.pas', uCEFWebPluginInfoVisitor in '..\source\uCEFWebPluginInfoVisitor.pas',
uCEFWebPluginUnstableCallback in '..\source\uCEFWebPluginUnstableCallback.pas', uCEFWebPluginUnstableCallback in '..\source\uCEFWebPluginUnstableCallback.pas',
uCEFEndTracingCallback in '..\source\uCEFEndTracingCallback.pas', uCEFEndTracingCallback in '..\source\uCEFEndTracingCallback.pas',
uCEFGetGeolocationCallback in '..\source\uCEFGetGeolocationCallback.pas',
uCEFFileDialogCallback in '..\source\uCEFFileDialogCallback.pas', uCEFFileDialogCallback in '..\source\uCEFFileDialogCallback.pas',
uCEFDragData in '..\source\uCEFDragData.pas', uCEFDragData in '..\source\uCEFDragData.pas',
uCEFResolveCallback in '..\source\uCEFResolveCallback.pas', uCEFResolveCallback in '..\source\uCEFResolveCallback.pas',

View File

@ -166,7 +166,6 @@
<DCCReference Include="..\source\uCEFKeyboardHandler.pas"/> <DCCReference Include="..\source\uCEFKeyboardHandler.pas"/>
<DCCReference Include="..\source\uCEFDisplayHandler.pas"/> <DCCReference Include="..\source\uCEFDisplayHandler.pas"/>
<DCCReference Include="..\source\uCEFDownloadHandler.pas"/> <DCCReference Include="..\source\uCEFDownloadHandler.pas"/>
<DCCReference Include="..\source\uCEFGeolocationHandler.pas"/>
<DCCReference Include="..\source\uCEFJsDialogHandler.pas"/> <DCCReference Include="..\source\uCEFJsDialogHandler.pas"/>
<DCCReference Include="..\source\uCEFLifeSpanHandler.pas"/> <DCCReference Include="..\source\uCEFLifeSpanHandler.pas"/>
<DCCReference Include="..\source\uCEFRequestHandler.pas"/> <DCCReference Include="..\source\uCEFRequestHandler.pas"/>
@ -203,7 +202,6 @@
<DCCReference Include="..\source\uCEFDownloadItemCallback.pas"/> <DCCReference Include="..\source\uCEFDownloadItemCallback.pas"/>
<DCCReference Include="..\source\uCEFAuthCallback.pas"/> <DCCReference Include="..\source\uCEFAuthCallback.pas"/>
<DCCReference Include="..\source\uCEFJsDialogCallback.pas"/> <DCCReference Include="..\source\uCEFJsDialogCallback.pas"/>
<DCCReference Include="..\source\uCEFGeolocationCallback.pas"/>
<DCCReference Include="..\source\uCEFContextMenuParams.pas"/> <DCCReference Include="..\source\uCEFContextMenuParams.pas"/>
<DCCReference Include="..\source\uCEFMenuModel.pas"/> <DCCReference Include="..\source\uCEFMenuModel.pas"/>
<DCCReference Include="..\source\uCEFBrowserProcessHandler.pas"/> <DCCReference Include="..\source\uCEFBrowserProcessHandler.pas"/>
@ -213,7 +211,6 @@
<DCCReference Include="..\source\uCEFWebPluginInfoVisitor.pas"/> <DCCReference Include="..\source\uCEFWebPluginInfoVisitor.pas"/>
<DCCReference Include="..\source\uCEFWebPluginUnstableCallback.pas"/> <DCCReference Include="..\source\uCEFWebPluginUnstableCallback.pas"/>
<DCCReference Include="..\source\uCEFEndTracingCallback.pas"/> <DCCReference Include="..\source\uCEFEndTracingCallback.pas"/>
<DCCReference Include="..\source\uCEFGetGeolocationCallback.pas"/>
<DCCReference Include="..\source\uCEFFileDialogCallback.pas"/> <DCCReference Include="..\source\uCEFFileDialogCallback.pas"/>
<DCCReference Include="..\source\uCEFDragData.pas"/> <DCCReference Include="..\source\uCEFDragData.pas"/>
<DCCReference Include="..\source\uCEFResolveCallback.pas"/> <DCCReference Include="..\source\uCEFResolveCallback.pas"/>

View File

@ -73,7 +73,6 @@ contains
uCEFKeyboardHandler in '..\source\uCEFKeyboardHandler.pas', uCEFKeyboardHandler in '..\source\uCEFKeyboardHandler.pas',
uCEFDisplayHandler in '..\source\uCEFDisplayHandler.pas', uCEFDisplayHandler in '..\source\uCEFDisplayHandler.pas',
uCEFDownloadHandler in '..\source\uCEFDownloadHandler.pas', uCEFDownloadHandler in '..\source\uCEFDownloadHandler.pas',
uCEFGeolocationHandler in '..\source\uCEFGeolocationHandler.pas',
uCEFJsDialogHandler in '..\source\uCEFJsDialogHandler.pas', uCEFJsDialogHandler in '..\source\uCEFJsDialogHandler.pas',
uCEFLifeSpanHandler in '..\source\uCEFLifeSpanHandler.pas', uCEFLifeSpanHandler in '..\source\uCEFLifeSpanHandler.pas',
uCEFRequestHandler in '..\source\uCEFRequestHandler.pas', uCEFRequestHandler in '..\source\uCEFRequestHandler.pas',
@ -110,7 +109,6 @@ contains
uCEFDownloadItemCallback in '..\source\uCEFDownloadItemCallback.pas', uCEFDownloadItemCallback in '..\source\uCEFDownloadItemCallback.pas',
uCEFAuthCallback in '..\source\uCEFAuthCallback.pas', uCEFAuthCallback in '..\source\uCEFAuthCallback.pas',
uCEFJsDialogCallback in '..\source\uCEFJsDialogCallback.pas', uCEFJsDialogCallback in '..\source\uCEFJsDialogCallback.pas',
uCEFGeolocationCallback in '..\source\uCEFGeolocationCallback.pas',
uCEFContextMenuParams in '..\source\uCEFContextMenuParams.pas', uCEFContextMenuParams in '..\source\uCEFContextMenuParams.pas',
uCEFMenuModel in '..\source\uCEFMenuModel.pas', uCEFMenuModel in '..\source\uCEFMenuModel.pas',
uCEFBrowserProcessHandler in '..\source\uCEFBrowserProcessHandler.pas', uCEFBrowserProcessHandler in '..\source\uCEFBrowserProcessHandler.pas',
@ -120,7 +118,6 @@ contains
uCEFWebPluginInfoVisitor in '..\source\uCEFWebPluginInfoVisitor.pas', uCEFWebPluginInfoVisitor in '..\source\uCEFWebPluginInfoVisitor.pas',
uCEFWebPluginUnstableCallback in '..\source\uCEFWebPluginUnstableCallback.pas', uCEFWebPluginUnstableCallback in '..\source\uCEFWebPluginUnstableCallback.pas',
uCEFEndTracingCallback in '..\source\uCEFEndTracingCallback.pas', uCEFEndTracingCallback in '..\source\uCEFEndTracingCallback.pas',
uCEFGetGeolocationCallback in '..\source\uCEFGetGeolocationCallback.pas',
uCEFFileDialogCallback in '..\source\uCEFFileDialogCallback.pas', uCEFFileDialogCallback in '..\source\uCEFFileDialogCallback.pas',
uCEFDragData in '..\source\uCEFDragData.pas', uCEFDragData in '..\source\uCEFDragData.pas',
uCEFResolveCallback in '..\source\uCEFResolveCallback.pas', uCEFResolveCallback in '..\source\uCEFResolveCallback.pas',

View File

@ -76,7 +76,6 @@ contains
uCEFKeyboardHandler in '..\source\uCEFKeyboardHandler.pas', uCEFKeyboardHandler in '..\source\uCEFKeyboardHandler.pas',
uCEFDisplayHandler in '..\source\uCEFDisplayHandler.pas', uCEFDisplayHandler in '..\source\uCEFDisplayHandler.pas',
uCEFDownloadHandler in '..\source\uCEFDownloadHandler.pas', uCEFDownloadHandler in '..\source\uCEFDownloadHandler.pas',
uCEFGeolocationHandler in '..\source\uCEFGeolocationHandler.pas',
uCEFJsDialogHandler in '..\source\uCEFJsDialogHandler.pas', uCEFJsDialogHandler in '..\source\uCEFJsDialogHandler.pas',
uCEFLifeSpanHandler in '..\source\uCEFLifeSpanHandler.pas', uCEFLifeSpanHandler in '..\source\uCEFLifeSpanHandler.pas',
uCEFRequestHandler in '..\source\uCEFRequestHandler.pas', uCEFRequestHandler in '..\source\uCEFRequestHandler.pas',
@ -113,7 +112,6 @@ contains
uCEFDownloadItemCallback in '..\source\uCEFDownloadItemCallback.pas', uCEFDownloadItemCallback in '..\source\uCEFDownloadItemCallback.pas',
uCEFAuthCallback in '..\source\uCEFAuthCallback.pas', uCEFAuthCallback in '..\source\uCEFAuthCallback.pas',
uCEFJsDialogCallback in '..\source\uCEFJsDialogCallback.pas', uCEFJsDialogCallback in '..\source\uCEFJsDialogCallback.pas',
uCEFGeolocationCallback in '..\source\uCEFGeolocationCallback.pas',
uCEFContextMenuParams in '..\source\uCEFContextMenuParams.pas', uCEFContextMenuParams in '..\source\uCEFContextMenuParams.pas',
uCEFMenuModel in '..\source\uCEFMenuModel.pas', uCEFMenuModel in '..\source\uCEFMenuModel.pas',
uCEFBrowserProcessHandler in '..\source\uCEFBrowserProcessHandler.pas', uCEFBrowserProcessHandler in '..\source\uCEFBrowserProcessHandler.pas',
@ -123,7 +121,6 @@ contains
uCEFWebPluginInfoVisitor in '..\source\uCEFWebPluginInfoVisitor.pas', uCEFWebPluginInfoVisitor in '..\source\uCEFWebPluginInfoVisitor.pas',
uCEFWebPluginUnstableCallback in '..\source\uCEFWebPluginUnstableCallback.pas', uCEFWebPluginUnstableCallback in '..\source\uCEFWebPluginUnstableCallback.pas',
uCEFEndTracingCallback in '..\source\uCEFEndTracingCallback.pas', uCEFEndTracingCallback in '..\source\uCEFEndTracingCallback.pas',
uCEFGetGeolocationCallback in '..\source\uCEFGetGeolocationCallback.pas',
uCEFFileDialogCallback in '..\source\uCEFFileDialogCallback.pas', uCEFFileDialogCallback in '..\source\uCEFFileDialogCallback.pas',
uCEFDragData in '..\source\uCEFDragData.pas', uCEFDragData in '..\source\uCEFDragData.pas',
uCEFResolveCallback in '..\source\uCEFResolveCallback.pas', uCEFResolveCallback in '..\source\uCEFResolveCallback.pas',

View File

@ -167,7 +167,6 @@
<DCCReference Include="..\source\uCEFKeyboardHandler.pas"/> <DCCReference Include="..\source\uCEFKeyboardHandler.pas"/>
<DCCReference Include="..\source\uCEFDisplayHandler.pas"/> <DCCReference Include="..\source\uCEFDisplayHandler.pas"/>
<DCCReference Include="..\source\uCEFDownloadHandler.pas"/> <DCCReference Include="..\source\uCEFDownloadHandler.pas"/>
<DCCReference Include="..\source\uCEFGeolocationHandler.pas"/>
<DCCReference Include="..\source\uCEFJsDialogHandler.pas"/> <DCCReference Include="..\source\uCEFJsDialogHandler.pas"/>
<DCCReference Include="..\source\uCEFLifeSpanHandler.pas"/> <DCCReference Include="..\source\uCEFLifeSpanHandler.pas"/>
<DCCReference Include="..\source\uCEFRequestHandler.pas"/> <DCCReference Include="..\source\uCEFRequestHandler.pas"/>
@ -204,7 +203,6 @@
<DCCReference Include="..\source\uCEFDownloadItemCallback.pas"/> <DCCReference Include="..\source\uCEFDownloadItemCallback.pas"/>
<DCCReference Include="..\source\uCEFAuthCallback.pas"/> <DCCReference Include="..\source\uCEFAuthCallback.pas"/>
<DCCReference Include="..\source\uCEFJsDialogCallback.pas"/> <DCCReference Include="..\source\uCEFJsDialogCallback.pas"/>
<DCCReference Include="..\source\uCEFGeolocationCallback.pas"/>
<DCCReference Include="..\source\uCEFContextMenuParams.pas"/> <DCCReference Include="..\source\uCEFContextMenuParams.pas"/>
<DCCReference Include="..\source\uCEFMenuModel.pas"/> <DCCReference Include="..\source\uCEFMenuModel.pas"/>
<DCCReference Include="..\source\uCEFBrowserProcessHandler.pas"/> <DCCReference Include="..\source\uCEFBrowserProcessHandler.pas"/>
@ -214,7 +212,6 @@
<DCCReference Include="..\source\uCEFWebPluginInfoVisitor.pas"/> <DCCReference Include="..\source\uCEFWebPluginInfoVisitor.pas"/>
<DCCReference Include="..\source\uCEFWebPluginUnstableCallback.pas"/> <DCCReference Include="..\source\uCEFWebPluginUnstableCallback.pas"/>
<DCCReference Include="..\source\uCEFEndTracingCallback.pas"/> <DCCReference Include="..\source\uCEFEndTracingCallback.pas"/>
<DCCReference Include="..\source\uCEFGetGeolocationCallback.pas"/>
<DCCReference Include="..\source\uCEFFileDialogCallback.pas"/> <DCCReference Include="..\source\uCEFFileDialogCallback.pas"/>
<DCCReference Include="..\source\uCEFDragData.pas"/> <DCCReference Include="..\source\uCEFDragData.pas"/>
<DCCReference Include="..\source\uCEFResolveCallback.pas"/> <DCCReference Include="..\source\uCEFResolveCallback.pas"/>
@ -294,9 +291,9 @@
<DeployFile LocalName="$(BDS)\Redist\iossimulator\libcgunwind.1.0.dylib" Class="DependencyModule"/> <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="..\..\..\..\..\..\..\Public\Documents\Embarcadero\Studio\17.0\Bpl\CEF4Delphi.bpl" Configuration="Debug" Class="ProjectOutput"/>
<DeployFile LocalName="$(BDS)\Redist\iossimulator\libPCRE.dylib" Class="DependencyModule"/> <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"> <Platform Name="Win32">
<RemoteName>CEF4Delphi.bpl</RemoteName> <RemoteName>CEF4Delphi_FMX.bpl</RemoteName>
<Overwrite>true</Overwrite> <Overwrite>true</Overwrite>
</Platform> </Platform>
</DeployFile> </DeployFile>

View File

@ -56,14 +56,14 @@ uses
const const
CEF_SUPPORTED_VERSION_MAJOR = 3; CEF_SUPPORTED_VERSION_MAJOR = 3;
CEF_SUPPORTED_VERSION_MINOR = 3282; CEF_SUPPORTED_VERSION_MINOR = 3325;
CEF_SUPPORTED_VERSION_RELEASE = 1741; CEF_SUPPORTED_VERSION_RELEASE = 1746;
CEF_SUPPORTED_VERSION_BUILD = 0; CEF_SUPPORTED_VERSION_BUILD = 0;
CEF_CHROMEELF_VERSION_MAJOR = 64; CEF_CHROMEELF_VERSION_MAJOR = 65;
CEF_CHROMEELF_VERSION_MINOR = 0; CEF_CHROMEELF_VERSION_MINOR = 0;
CEF_CHROMEELF_VERSION_RELEASE = 3282; CEF_CHROMEELF_VERSION_RELEASE = 3325;
CEF_CHROMEELF_VERSION_BUILD = 119; CEF_CHROMEELF_VERSION_BUILD = 146;
LIBCEF_DLL = 'libcef.dll'; LIBCEF_DLL = 'libcef.dll';
CHROMEELF_DLL = 'chrome_elf.dll'; CHROMEELF_DLL = 'chrome_elf.dll';
@ -157,7 +157,6 @@ type
FOnWebKitInitialized : TOnWebKitInitializedEvent; FOnWebKitInitialized : TOnWebKitInitializedEvent;
FOnBrowserCreated : TOnBrowserCreatedEvent; FOnBrowserCreated : TOnBrowserCreatedEvent;
FOnBrowserDestroyed : TOnBrowserDestroyedEvent; FOnBrowserDestroyed : TOnBrowserDestroyedEvent;
FOnBeforeNavigation : TOnBeforeNavigationEvent;
FOnContextCreated : TOnContextCreatedEvent; FOnContextCreated : TOnContextCreatedEvent;
FOnContextReleased : TOnContextReleasedEvent; FOnContextReleased : TOnContextReleasedEvent;
FOnUncaughtException : TOnUncaughtExceptionEvent; FOnUncaughtException : TOnUncaughtExceptionEvent;
@ -191,7 +190,6 @@ type
function Load_cef_crash_util_h : boolean; function Load_cef_crash_util_h : boolean;
function Load_cef_drag_data_capi_h : boolean; function Load_cef_drag_data_capi_h : boolean;
function Load_cef_file_util_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_image_capi_h : boolean;
function Load_cef_menu_model_capi_h : boolean; function Load_cef_menu_model_capi_h : boolean;
function Load_cef_origin_whitelist_capi_h : boolean; function Load_cef_origin_whitelist_capi_h : boolean;
@ -273,7 +271,6 @@ type
procedure Internal_OnWebKitInitialized; procedure Internal_OnWebKitInitialized;
procedure Internal_OnBrowserCreated(const browser: ICefBrowser); procedure Internal_OnBrowserCreated(const browser: ICefBrowser);
procedure Internal_OnBrowserDestroyed(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_OnContextCreated(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context);
procedure Internal_OnContextReleased(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); 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 OnWebKitInitialized : TOnWebKitInitializedEvent read FOnWebKitInitialized write FOnWebKitInitialized;
property OnBrowserCreated : TOnBrowserCreatedEvent read FOnBrowserCreated write FOnBrowserCreated; property OnBrowserCreated : TOnBrowserCreatedEvent read FOnBrowserCreated write FOnBrowserCreated;
property OnBrowserDestroyed : TOnBrowserDestroyedEvent read FOnBrowserDestroyed write FOnBrowserDestroyed; property OnBrowserDestroyed : TOnBrowserDestroyedEvent read FOnBrowserDestroyed write FOnBrowserDestroyed;
property OnBeforeNavigation : TOnBeforeNavigationEvent read FOnBeforeNavigation write FOnBeforeNavigation;
property OnContextCreated : TOnContextCreatedEvent read FOnContextCreated write FOnContextCreated; property OnContextCreated : TOnContextCreatedEvent read FOnContextCreated write FOnContextCreated;
property OnContextReleased : TOnContextReleasedEvent read FOnContextReleased write FOnContextReleased; property OnContextReleased : TOnContextReleasedEvent read FOnContextReleased write FOnContextReleased;
property OnUncaughtException : TOnUncaughtExceptionEvent read FOnUncaughtException write FOnUncaughtException; property OnUncaughtException : TOnUncaughtExceptionEvent read FOnUncaughtException write FOnUncaughtException;
@ -486,7 +482,6 @@ begin
FOnWebKitInitialized := nil; FOnWebKitInitialized := nil;
FOnBrowserCreated := nil; FOnBrowserCreated := nil;
FOnBrowserDestroyed := nil; FOnBrowserDestroyed := nil;
FOnBeforeNavigation := nil;
FOnContextCreated := nil; FOnContextCreated := nil;
FOnContextReleased := nil; FOnContextReleased := nil;
FOnUncaughtException := nil; FOnUncaughtException := nil;
@ -1177,14 +1172,6 @@ begin
if assigned(FOnBrowserDestroyed) then FOnBrowserDestroyed(browser); if assigned(FOnBrowserDestroyed) then FOnBrowserDestroyed(browser);
end; 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); procedure TCefApplication.Internal_OnContextCreated(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context);
begin begin
if assigned(FOnContextCreated) then FOnContextCreated(browser, frame, context); if assigned(FOnContextCreated) then FOnContextCreated(browser, frame, context);
@ -1351,7 +1338,6 @@ begin
assigned(FOnWebKitInitialized) or assigned(FOnWebKitInitialized) or
assigned(FOnBrowserCreated) or assigned(FOnBrowserCreated) or
assigned(FOnBrowserDestroyed) or assigned(FOnBrowserDestroyed) or
assigned(FOnBeforeNavigation) or
assigned(FOnContextCreated) or assigned(FOnContextCreated) or
assigned(FOnContextReleased) or assigned(FOnContextReleased) or
assigned(FOnUncaughtException) or assigned(FOnUncaughtException) or
@ -1405,7 +1391,6 @@ begin
Load_cef_crash_util_h and Load_cef_crash_util_h and
Load_cef_drag_data_capi_h and Load_cef_drag_data_capi_h and
Load_cef_file_util_capi_h and Load_cef_file_util_capi_h and
Load_cef_geolocation_capi_h and
Load_cef_image_capi_h and Load_cef_image_capi_h and
Load_cef_menu_model_capi_h and Load_cef_menu_model_capi_h and
Load_cef_origin_whitelist_capi_h and Load_cef_origin_whitelist_capi_h and
@ -1548,13 +1533,6 @@ begin
assigned(cef_load_crlsets_file); assigned(cef_load_crlsets_file);
end; 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; function TCefApplication.Load_cef_image_capi_h : boolean;
begin begin
cef_image_create := GetProcAddress(FLibHandle, 'cef_image_create'); cef_image_create := GetProcAddress(FLibHandle, 'cef_image_create');

View File

@ -144,10 +144,6 @@ type
FOnBeforeDownload : TOnBeforeDownload; FOnBeforeDownload : TOnBeforeDownload;
FOnDownloadUpdated : TOnDownloadUpdated; FOnDownloadUpdated : TOnDownloadUpdated;
// ICefGeolocationHandler
FOnRequestGeolocationPermission : TOnRequestGeolocationPermission;
FOnCancelGeolocationPermission : TOnCancelGeolocationPermission;
// ICefJsDialogHandler // ICefJsDialogHandler
FOnJsdialog : TOnJsdialog; FOnJsdialog : TOnJsdialog;
FOnBeforeUnloadDialog : TOnBeforeUnloadDialog; FOnBeforeUnloadDialog : TOnBeforeUnloadDialog;
@ -297,7 +293,6 @@ type
function MustCreateKeyboardHandler : boolean; virtual; function MustCreateKeyboardHandler : boolean; virtual;
function MustCreateDisplayHandler : boolean; virtual; function MustCreateDisplayHandler : boolean; virtual;
function MustCreateDownloadHandler : boolean; virtual; function MustCreateDownloadHandler : boolean; virtual;
function MustCreateGeolocationHandler : boolean; virtual;
function MustCreateJsDialogHandler : boolean; virtual; function MustCreateJsDialogHandler : boolean; virtual;
function MustCreateDragHandler : boolean; virtual; function MustCreateDragHandler : boolean; virtual;
function MustCreateFindHandler : 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 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; 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 // ICefJsDialogHandler
function doOnJsdialog(const browser: ICefBrowser; const originUrl: ustring; dialogType: TCefJsDialogType; const messageText, defaultPromptText: ustring; const callback: ICefJsDialogCallback; out suppressMessage: Boolean): Boolean; virtual; 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; 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 OnBeforeDownload : TOnBeforeDownload read FOnBeforeDownload write FOnBeforeDownload;
property OnDownloadUpdated : TOnDownloadUpdated read FOnDownloadUpdated write FOnDownloadUpdated; property OnDownloadUpdated : TOnDownloadUpdated read FOnDownloadUpdated write FOnDownloadUpdated;
// ICefGeolocationHandler
property OnRequestGeolocationPermission : TOnRequestGeolocationPermission read FOnRequestGeolocationPermission write FOnRequestGeolocationPermission;
property OnCancelGeolocationPermission : TOnCancelGeolocationPermission read FOnCancelGeolocationPermission write FOnCancelGeolocationPermission;
// ICefJsDialogHandler // ICefJsDialogHandler
property OnJsdialog : TOnJsdialog read FOnJsdialog write FOnJsdialog; property OnJsdialog : TOnJsdialog read FOnJsdialog write FOnJsdialog;
property OnBeforeUnloadDialog : TOnBeforeUnloadDialog read FOnBeforeUnloadDialog write FOnBeforeUnloadDialog; property OnBeforeUnloadDialog : TOnBeforeUnloadDialog read FOnBeforeUnloadDialog write FOnBeforeUnloadDialog;
@ -845,7 +832,6 @@ begin
MustCreateKeyboardHandler, MustCreateKeyboardHandler,
MustCreateDisplayHandler, MustCreateDisplayHandler,
MustCreateDownloadHandler, MustCreateDownloadHandler,
MustCreateGeolocationHandler,
MustCreateJsDialogHandler, MustCreateJsDialogHandler,
True, True,
FIsOSR, // Create the Render Handler in OSR mode only FIsOSR, // Create the Render Handler in OSR mode only
@ -912,10 +898,6 @@ begin
FOnBeforeDownload := nil; FOnBeforeDownload := nil;
FOnDownloadUpdated := nil; FOnDownloadUpdated := nil;
// ICefGeolocationHandler
FOnRequestGeolocationPermission := nil;
FOnCancelGeolocationPermission := nil;
// ICefJsDialogHandler // ICefJsDialogHandler
FOnJsdialog := nil; FOnJsdialog := nil;
FOnBeforeUnloadDialog := nil; FOnBeforeUnloadDialog := nil;
@ -2647,12 +2629,6 @@ begin
assigned(FOnDownloadUpdated); assigned(FOnDownloadUpdated);
end; end;
function TChromium.MustCreateGeolocationHandler : boolean;
begin
Result := assigned(FOnRequestGeolocationPermission) or
assigned(FOnCancelGeolocationPermission);
end;
function TChromium.MustCreateJsDialogHandler : boolean; function TChromium.MustCreateJsDialogHandler : boolean;
begin begin
Result := assigned(FOnJsdialog) or Result := assigned(FOnJsdialog) or
@ -2935,12 +2911,6 @@ begin
if Assigned(FOnBeforeUnloadDialog) then FOnBeforeUnloadDialog(Self, browser, messageText, isReload, callback, Result); if Assigned(FOnBeforeUnloadDialog) then FOnBeforeUnloadDialog(Self, browser, messageText, isReload, callback, Result);
end; 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; function TChromium.doOnCertificateError(const browser : ICefBrowser;
certError : TCefErrorcode; certError : TCefErrorcode;
const requestUrl : ustring; const requestUrl : ustring;
@ -3308,17 +3278,6 @@ begin
if Assigned(FOnRenderViewReady) then FOnRenderViewReady(Self, browser); if Assigned(FOnRenderViewReady) then FOnRenderViewReady(Self, browser);
end; 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); procedure TChromium.doOnResetDialogState(const browser: ICefBrowser);
begin begin
if Assigned(FOnResetDialogState) then FOnResetDialogState(Self, browser); if Assigned(FOnResetDialogState) then FOnResetDialogState(Self, browser);

View File

@ -93,10 +93,6 @@ type
TOnBeforeDownload = procedure(Sender: TObject; const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const suggestedName: ustring; const callback: ICefBeforeDownloadCallback) of object; 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; 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 // 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; 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; TOnBeforeUnloadDialog = procedure(Sender: TObject; const browser: ICefBrowser; const messageText: ustring; isReload: Boolean; const callback: ICefJsDialogCallback; out Result: Boolean) of object;

View File

@ -59,7 +59,6 @@ type
function GetDragHandler: ICefDragHandler; virtual; function GetDragHandler: ICefDragHandler; virtual;
function GetFindHandler: ICefFindHandler; virtual; function GetFindHandler: ICefFindHandler; virtual;
function GetFocusHandler: ICefFocusHandler; virtual; function GetFocusHandler: ICefFocusHandler; virtual;
function GetGeolocationHandler: ICefGeolocationHandler; virtual;
function GetJsdialogHandler: ICefJsdialogHandler; virtual; function GetJsdialogHandler: ICefJsdialogHandler; virtual;
function GetKeyboardHandler: ICefKeyboardHandler; virtual; function GetKeyboardHandler: ICefKeyboardHandler; virtual;
function GetLifeSpanHandler: ICefLifeSpanHandler; virtual; function GetLifeSpanHandler: ICefLifeSpanHandler; virtual;
@ -83,7 +82,6 @@ type
function GetDragHandler: ICefDragHandler; virtual; function GetDragHandler: ICefDragHandler; virtual;
function GetFindHandler: ICefFindHandler; virtual; function GetFindHandler: ICefFindHandler; virtual;
function GetFocusHandler: ICefFocusHandler; virtual; function GetFocusHandler: ICefFocusHandler; virtual;
function GetGeolocationHandler: ICefGeolocationHandler; virtual;
function GetJsdialogHandler: ICefJsdialogHandler; virtual; function GetJsdialogHandler: ICefJsdialogHandler; virtual;
function GetKeyboardHandler: ICefKeyboardHandler; virtual; function GetKeyboardHandler: ICefKeyboardHandler; virtual;
function GetLifeSpanHandler: ICefLifeSpanHandler; virtual; function GetLifeSpanHandler: ICefLifeSpanHandler; virtual;
@ -108,7 +106,6 @@ type
FKeyboardHandler : ICefKeyboardHandler; FKeyboardHandler : ICefKeyboardHandler;
FDisplayHandler : ICefDisplayHandler; FDisplayHandler : ICefDisplayHandler;
FDownloadHandler : ICefDownloadHandler; FDownloadHandler : ICefDownloadHandler;
FGeolocationHandler : ICefGeolocationHandler;
FJsDialogHandler : ICefJsDialogHandler; FJsDialogHandler : ICefJsDialogHandler;
FLifeSpanHandler : ICefLifeSpanHandler; FLifeSpanHandler : ICefLifeSpanHandler;
FRenderHandler : ICefRenderHandler; FRenderHandler : ICefRenderHandler;
@ -124,7 +121,6 @@ type
function GetDragHandler: ICefDragHandler; override; function GetDragHandler: ICefDragHandler; override;
function GetFindHandler: ICefFindHandler; override; function GetFindHandler: ICefFindHandler; override;
function GetFocusHandler: ICefFocusHandler; override; function GetFocusHandler: ICefFocusHandler; override;
function GetGeolocationHandler: ICefGeolocationHandler; override;
function GetJsdialogHandler: ICefJsdialogHandler; override; function GetJsdialogHandler: ICefJsdialogHandler; override;
function GetKeyboardHandler: ICefKeyboardHandler; override; function GetKeyboardHandler: ICefKeyboardHandler; override;
function GetLifeSpanHandler: ICefLifeSpanHandler; override; function GetLifeSpanHandler: ICefLifeSpanHandler; override;
@ -138,9 +134,9 @@ type
public public
constructor Create(const events: IChromiumEvents; constructor Create(const events: IChromiumEvents;
aCreateLoadHandler, aCreateFocusHandler, aCreateContextMenuHandler, aCreateDialogHandler, aCreateLoadHandler, aCreateFocusHandler, aCreateContextMenuHandler, aCreateDialogHandler,
aCreateKeyboardHandler, aCreateDisplayHandler, aCreateDownloadHandler, aCreateGeolocationHandler, aCreateKeyboardHandler, aCreateDisplayHandler, aCreateDownloadHandler, aCreateJsDialogHandler,
aCreateJsDialogHandler, aCreateLifeSpanHandler, aCreateRenderHandler, aCreateRequestHandler, aCreateLifeSpanHandler, aCreateRenderHandler, aCreateRequestHandler, aCreateDragHandler,
aCreateDragHandler, aCreateFindHandler : boolean); reintroduce; virtual; aCreateFindHandler : boolean); reintroduce; virtual;
procedure BeforeDestruction; override; procedure BeforeDestruction; override;
procedure RemoveReferences; override; procedure RemoveReferences; override;
end; end;
@ -155,7 +151,7 @@ uses
{$ENDIF} {$ENDIF}
uCEFMiscFunctions, uCEFLibFunctions, uCEFProcessMessage, uCEFBrowser, uCEFLoadHandler, uCEFMiscFunctions, uCEFLibFunctions, uCEFProcessMessage, uCEFBrowser, uCEFLoadHandler,
uCEFFocusHandler, uCEFContextMenuHandler, uCEFDialogHandler, uCEFKeyboardHandler, uCEFFocusHandler, uCEFContextMenuHandler, uCEFDialogHandler, uCEFKeyboardHandler,
uCEFDisplayHandler, uCEFDownloadHandler, uCEFGeolocationHandler, uCEFJsDialogHandler, uCEFDisplayHandler, uCEFDownloadHandler, uCEFJsDialogHandler,
uCEFLifeSpanHandler, uCEFRequestHandler, uCEFRenderHandler, uCEFDragHandler, uCEFLifeSpanHandler, uCEFRequestHandler, uCEFRenderHandler, uCEFDragHandler,
uCEFFindHandler, uCEFConstants, uCEFApplication; uCEFFindHandler, uCEFConstants, uCEFApplication;
@ -207,11 +203,6 @@ begin
Result := nil; Result := nil;
end; end;
function TCefClientRef.GetGeolocationHandler: ICefGeolocationHandler;
begin
Result := nil;
end;
function TCefClientRef.GetJsdialogHandler: ICefJsDialogHandler; function TCefClientRef.GetJsdialogHandler: ICefJsDialogHandler;
begin begin
Result := nil; Result := nil;
@ -300,12 +291,6 @@ begin
Result := CefGetData(GetFocusHandler); Result := CefGetData(GetFocusHandler);
end; 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; function cef_client_own_get_jsdialog_handler(self: PCefClient): PCefJsDialogHandler; stdcall;
begin begin
with TCefClientOwn(CefGetObject(self)) do with TCefClientOwn(CefGetObject(self)) do
@ -362,7 +347,6 @@ begin
get_drag_handler := cef_client_own_get_drag_handler; get_drag_handler := cef_client_own_get_drag_handler;
get_find_handler := cef_client_own_get_find_handler; get_find_handler := cef_client_own_get_find_handler;
get_focus_handler := cef_client_own_get_focus_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_jsdialog_handler := cef_client_own_get_jsdialog_handler;
get_keyboard_handler := cef_client_own_get_keyboard_handler; get_keyboard_handler := cef_client_own_get_keyboard_handler;
get_life_span_handler := cef_client_own_get_life_span_handler; get_life_span_handler := cef_client_own_get_life_span_handler;
@ -408,11 +392,6 @@ begin
Result := nil; Result := nil;
end; end;
function TCefClientOwn.GetGeolocationHandler: ICefGeolocationHandler;
begin
Result := nil;
end;
function TCefClientOwn.GetJsdialogHandler: ICefJsDialogHandler; function TCefClientOwn.GetJsdialogHandler: ICefJsDialogHandler;
begin begin
Result := nil; Result := nil;
@ -467,7 +446,6 @@ constructor TCustomClientHandler.Create(const events : IChro
aCreateKeyboardHandler : boolean; aCreateKeyboardHandler : boolean;
aCreateDisplayHandler : boolean; aCreateDisplayHandler : boolean;
aCreateDownloadHandler : boolean; aCreateDownloadHandler : boolean;
aCreateGeolocationHandler : boolean;
aCreateJsDialogHandler : boolean; aCreateJsDialogHandler : boolean;
aCreateLifeSpanHandler : boolean; aCreateLifeSpanHandler : boolean;
aCreateRenderHandler : boolean; aCreateRenderHandler : boolean;
@ -490,7 +468,6 @@ begin
if aCreateKeyboardHandler then FKeyboardHandler := TCustomKeyboardHandler.Create(FEvents); if aCreateKeyboardHandler then FKeyboardHandler := TCustomKeyboardHandler.Create(FEvents);
if aCreateDisplayHandler then FDisplayHandler := TCustomDisplayHandler.Create(FEvents); if aCreateDisplayHandler then FDisplayHandler := TCustomDisplayHandler.Create(FEvents);
if aCreateDownloadHandler then FDownloadHandler := TCustomDownloadHandler.Create(FEvents); if aCreateDownloadHandler then FDownloadHandler := TCustomDownloadHandler.Create(FEvents);
if aCreateGeolocationHandler then FGeolocationHandler := TCustomGeolocationHandler.Create(FEvents);
if aCreateJsDialogHandler then FJsDialogHandler := TCustomJsDialogHandler.Create(FEvents); if aCreateJsDialogHandler then FJsDialogHandler := TCustomJsDialogHandler.Create(FEvents);
if aCreateLifeSpanHandler then FLifeSpanHandler := TCustomLifeSpanHandler.Create(FEvents); if aCreateLifeSpanHandler then FLifeSpanHandler := TCustomLifeSpanHandler.Create(FEvents);
if aCreateRenderHandler then FRenderHandler := TCustomRenderHandler.Create(FEvents); if aCreateRenderHandler then FRenderHandler := TCustomRenderHandler.Create(FEvents);
@ -518,7 +495,6 @@ begin
if (FKeyboardHandler <> nil) then FKeyboardHandler.RemoveReferences; if (FKeyboardHandler <> nil) then FKeyboardHandler.RemoveReferences;
if (FDisplayHandler <> nil) then FDisplayHandler.RemoveReferences; if (FDisplayHandler <> nil) then FDisplayHandler.RemoveReferences;
if (FDownloadHandler <> nil) then FDownloadHandler.RemoveReferences; if (FDownloadHandler <> nil) then FDownloadHandler.RemoveReferences;
if (FGeolocationHandler <> nil) then FGeolocationHandler.RemoveReferences;
if (FJsDialogHandler <> nil) then FJsDialogHandler.RemoveReferences; if (FJsDialogHandler <> nil) then FJsDialogHandler.RemoveReferences;
if (FLifeSpanHandler <> nil) then FLifeSpanHandler.RemoveReferences; if (FLifeSpanHandler <> nil) then FLifeSpanHandler.RemoveReferences;
if (FRequestHandler <> nil) then FRequestHandler.RemoveReferences; if (FRequestHandler <> nil) then FRequestHandler.RemoveReferences;
@ -536,7 +512,6 @@ begin
FKeyboardHandler := nil; FKeyboardHandler := nil;
FDisplayHandler := nil; FDisplayHandler := nil;
FDownloadHandler := nil; FDownloadHandler := nil;
FGeolocationHandler := nil;
FJsDialogHandler := nil; FJsDialogHandler := nil;
FLifeSpanHandler := nil; FLifeSpanHandler := nil;
FRequestHandler := nil; FRequestHandler := nil;
@ -581,11 +556,6 @@ begin
Result := FFocusHandler; Result := FFocusHandler;
end; end;
function TCustomClientHandler.GetGeolocationHandler: ICefGeolocationHandler;
begin
Result := FGeolocationHandler;
end;
function TCustomClientHandler.GetJsdialogHandler: ICefJsDialogHandler; function TCustomClientHandler.GetJsdialogHandler: ICefJsDialogHandler;
begin begin
Result := FJsDialogHandler; Result := FJsDialogHandler;

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -119,7 +119,6 @@ type
TOnWebKitInitializedEvent = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure() {$IFNDEF DELPHI12_UP}of object{$ENDIF}; 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}; 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}; 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}; 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}; 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}; 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};
@ -387,7 +386,7 @@ type
ICefFrame = interface(ICefBaseRefCounted) ICefFrame = interface(ICefBaseRefCounted)
['{8FD3D3A6-EA3A-4A72-8501-0276BD5C3D1D}'] ['{8FD3D3A6-EA3A-4A72-8501-0276BD5C3D1D}']
function IsValid: Boolean; function IsValid: Boolean;
procedure Undo; procedure Undo;
procedure Redo; procedure Redo;
procedure Cut; procedure Cut;
@ -404,20 +403,21 @@ type
procedure LoadUrl(const url: ustring); procedure LoadUrl(const url: ustring);
procedure LoadString(const str, url: ustring); procedure LoadString(const str, url: ustring);
procedure ExecuteJavaScript(const code, scriptUrl: ustring; startLine: Integer); procedure ExecuteJavaScript(const code, scriptUrl: ustring; startLine: Integer);
function IsMain: Boolean; function IsMain: Boolean;
function IsFocused: Boolean; function IsFocused: Boolean;
function GetName: ustring; function GetName: ustring;
function GetIdentifier: Int64; function GetIdentifier: Int64;
function GetParent: ICefFrame; function GetParent: ICefFrame;
function GetUrl: ustring; function GetUrl: ustring;
function GetBrowser: ICefBrowser; function GetBrowser: ICefBrowser;
function GetV8Context: ICefv8Context; function GetV8Context: ICefv8Context;
procedure VisitDom(const visitor: ICefDomVisitor); procedure VisitDom(const visitor: ICefDomVisitor);
procedure VisitDomProc(const proc: TCefDomVisitorProc); procedure VisitDomProc(const proc: TCefDomVisitorProc);
property Name: ustring read GetName; property Name : ustring read GetName;
property Url: ustring read GetUrl; property Url : ustring read GetUrl;
property Browser: ICefBrowser read GetBrowser; property Browser : ICefBrowser read GetBrowser;
property Parent: ICefFrame read GetParent; property Parent : ICefFrame read GetParent;
property Identifier : int64 read GetIdentifier;
end; end;
@ -883,7 +883,6 @@ type
procedure OnBrowserCreated(const browser: ICefBrowser); procedure OnBrowserCreated(const browser: ICefBrowser);
procedure OnBrowserDestroyed(const browser: ICefBrowser); procedure OnBrowserDestroyed(const browser: ICefBrowser);
function GetLoadHandler : ICefLoadHandler; 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 OnContextCreated(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context);
procedure OnContextReleased(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); 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 procedure RemoveReferences; // custom procedure to clear all references
end; 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) ICefRenderHandler = interface(ICefBaseRefCounted)
['{1FC1C22B-085A-4741-9366-5249B88EC410}'] ['{1FC1C22B-085A-4741-9366-5249B88EC410}']
procedure GetAccessibilityHandler(var aAccessibilityHandler : ICefAccessibilityHandler); procedure GetAccessibilityHandler(var aAccessibilityHandler : ICefAccessibilityHandler);
@ -1402,7 +1388,6 @@ type
function GetDisplayHandler: ICefDisplayHandler; function GetDisplayHandler: ICefDisplayHandler;
function GetDownloadHandler: ICefDownloadHandler; function GetDownloadHandler: ICefDownloadHandler;
function GetFocusHandler: ICefFocusHandler; function GetFocusHandler: ICefFocusHandler;
function GetGeolocationHandler: ICefGeolocationHandler;
function GetJsdialogHandler: ICefJsdialogHandler; function GetJsdialogHandler: ICefJsdialogHandler;
function GetKeyboardHandler: ICefKeyboardHandler; function GetKeyboardHandler: ICefKeyboardHandler;
function GetLifeSpanHandler: ICefLifeSpanHandler; function GetLifeSpanHandler: ICefLifeSpanHandler;
@ -1460,11 +1445,6 @@ type
procedure OnEndTracingComplete(const tracingFile: ustring); procedure OnEndTracingComplete(const tracingFile: ustring);
end; end;
ICefGetGeolocationCallback = interface(ICefBaseRefCounted)
['{ACB82FD9-3FFD-43F9-BF1A-A4849BF5B814}']
procedure OnLocationUpdate(const position: PCefGeoposition);
end;
ICefFileDialogCallback = interface(ICefBaseRefCounted) ICefFileDialogCallback = interface(ICefBaseRefCounted)
['{1AF659AB-4522-4E39-9C52-184000D8E3C7}'] ['{1AF659AB-4522-4E39-9C52-184000D8E3C7}']
procedure Cont(selectedAcceptFilter: Integer; const filePaths: TStrings); 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 doOnBeforeDownload(const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const suggestedName: ustring; const callback: ICefBeforeDownloadCallback);
procedure doOnDownloadUpdated(const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const callback: ICefDownloadItemCallback); 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 // ICefJsDialogHandler
function doOnJsdialog(const browser: ICefBrowser; const originUrl: ustring; dialogType: TCefJsDialogType; const messageText, defaultPromptText: ustring; const callback: ICefJsDialogCallback; out suppressMessage: Boolean): Boolean; 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; function doOnBeforeUnloadDialog(const browser: ICefBrowser; const messageText: ustring; isReload: Boolean; const callback: ICefJsDialogCallback): Boolean;

View File

@ -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_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}; 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 // /include/capi/cef_image_capi.h
cef_image_create : function : PCefImage; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF}; cef_image_create : function : PCefImage; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};

View File

@ -53,7 +53,7 @@ uses
{$ELSE} {$ELSE}
Windows, Classes, SysUtils, Controls, ActiveX, Math, Windows, Classes, SysUtils, Controls, ActiveX, Math,
{$ENDIF} {$ENDIF}
uCEFTypes, uCEFInterfaces, uCEFLibFunctions, uCEFResourceHandler, uCEFGetGeolocationCallback, uCEFTypes, uCEFInterfaces, uCEFLibFunctions, uCEFResourceHandler,
uCEFRegisterCDMCallback; uCEFRegisterCDMCallback;
const const
@ -192,8 +192,6 @@ procedure LogicalToDevice(var aRect : TCEFRect; const aDeviceScaleFactor : doubl
function GetScreenDPI : integer; function GetScreenDPI : integer;
function GetDeviceScaleFactor : single; function GetDeviceScaleFactor : single;
function CefGetGeolocation(const aCallbackFunction : TOnLocationUpdate) : boolean;
procedure CefRegisterWidevineCdm(const path: ustring; const callback: ICefRegisterCdmCallback); procedure CefRegisterWidevineCdm(const path: ustring; const callback: ICefRegisterCdmCallback);
procedure CefFastRegisterWidevineCdm(const path: ustring; const callback: TCefRegisterCDMProc); procedure CefFastRegisterWidevineCdm(const path: ustring; const callback: TCefRegisterCDMProc);
@ -1238,14 +1236,6 @@ begin
cef_load_crlsets_file(@TempPath); cef_load_crlsets_file(@TempPath);
end; 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; function CefIsKeyDown(aWparam : WPARAM) : boolean;
begin begin
Result := (GetKeyState(aWparam) < 0); Result := (GetKeyState(aWparam) < 0);

View File

@ -63,7 +63,6 @@ type
procedure OnBrowserCreated(const browser: ICefBrowser); virtual; abstract; procedure OnBrowserCreated(const browser: ICefBrowser); virtual; abstract;
procedure OnBrowserDestroyed(const browser: ICefBrowser); virtual; abstract; procedure OnBrowserDestroyed(const browser: ICefBrowser); virtual; abstract;
function GetLoadHandler: ICefLoadHandler; virtual; 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 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 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; 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 OnWebKitInitialized; override;
procedure OnBrowserCreated(const browser: ICefBrowser); override; procedure OnBrowserCreated(const browser: ICefBrowser); override;
procedure OnBrowserDestroyed(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 OnContextCreated(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context); override;
procedure OnContextReleased(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; 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; Result := nil;
end; 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; procedure cef_render_process_handler_on_context_created(self : PCefRenderProcessHandler;
browser : PCefBrowser; browser : PCefBrowser;
frame : PCefFrame; frame : PCefFrame;
@ -274,7 +251,6 @@ begin
on_browser_created := cef_render_process_handler_on_browser_created; on_browser_created := cef_render_process_handler_on_browser_created;
on_browser_destroyed := cef_render_process_handler_on_browser_destroyed; on_browser_destroyed := cef_render_process_handler_on_browser_destroyed;
get_load_handler := cef_render_process_handler_get_load_handler; 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_created := cef_render_process_handler_on_context_created;
on_context_released := cef_render_process_handler_on_context_released; on_context_released := cef_render_process_handler_on_context_released;
on_uncaught_exception := cef_render_process_handler_on_uncaught_exception; on_uncaught_exception := cef_render_process_handler_on_uncaught_exception;
@ -288,15 +264,6 @@ begin
Result := nil; Result := nil;
end; 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; function TCefRenderProcessHandlerOwn.OnProcessMessageReceived(const browser : ICefBrowser;
sourceProcess : TCefProcessId; sourceProcess : TCefProcessId;
const aMessage : ICefProcessMessage): Boolean; const aMessage : ICefProcessMessage): Boolean;
@ -347,17 +314,6 @@ begin
if (FCefApp <> nil) then FCefApp.Internal_OnBrowserDestroyed(browser); if (FCefApp <> nil) then FCefApp.Internal_OnBrowserDestroyed(browser);
end; 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; procedure TCefCustomRenderProcessHandler.OnContextCreated(const browser : ICefBrowser;
const frame : ICefFrame; const frame : ICefFrame;
const context : ICefv8Context); const context : ICefv8Context);

View File

@ -123,8 +123,6 @@ type
PCefStreamWriter = ^TCefStreamWriter; PCefStreamWriter = ^TCefStreamWriter;
PCefFindHandler = ^TCefFindHandler; PCefFindHandler = ^TCefFindHandler;
PCefFocusHandler = ^TCefFocusHandler; PCefFocusHandler = ^TCefFocusHandler;
PCefGeolocationHandler = ^TCefGeolocationHandler;
PCefGeolocationCallback = ^TCefGeolocationCallback;
PCefJsDialogHandler = ^TCefJsDialogHandler; PCefJsDialogHandler = ^TCefJsDialogHandler;
PCefJsDialogCallback = ^TCefJsDialogCallback; PCefJsDialogCallback = ^TCefJsDialogCallback;
PCefKeyboardHandler = ^TCefKeyboardHandler; PCefKeyboardHandler = ^TCefKeyboardHandler;
@ -191,8 +189,6 @@ type
PCefWebPluginInfoVisitor = ^TCefWebPluginInfoVisitor; PCefWebPluginInfoVisitor = ^TCefWebPluginInfoVisitor;
PCefWebPluginUnstableCallback = ^TCefWebPluginUnstableCallback; PCefWebPluginUnstableCallback = ^TCefWebPluginUnstableCallback;
PCefRegisterCDMCallback = ^TCefRegisterCDMCallback; PCefRegisterCDMCallback = ^TCefRegisterCDMCallback;
PCefGetGeolocationCallback = ^TCefGetGeolocationCallback;
PCefGeoposition = ^TCefGeoposition;
PCefTaskRunner = ^TCefTaskRunner; PCefTaskRunner = ^TCefTaskRunner;
PCefEndTracingCallback = ^TCefEndTracingCallback; PCefEndTracingCallback = ^TCefEndTracingCallback;
PCefRequestContextSettings = ^TCefRequestContextSettings; PCefRequestContextSettings = ^TCefRequestContextSettings;
@ -845,14 +841,6 @@ type
DOM_EVENT_PHASE_BUBBLING 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) // /include/internal/cef_types.h (cef_button_state_t)
TCefButtonState = ( TCefButtonState = (
CEF_BUTTON_STATE_NORMAL, CEF_BUTTON_STATE_NORMAL,
@ -1134,19 +1122,6 @@ type
cont: procedure(self: PCefJsDialogCallback; success: Integer; const user_input: PCefString); stdcall; cont: procedure(self: PCefJsDialogCallback; success: Integer; const user_input: PCefString); stdcall;
end; 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) // /include/internal/cef_types.h (cef_key_event_t)
TCefKeyEvent = record TCefKeyEvent = record
kind: TCefKeyEventType; kind: TCefKeyEventType;
@ -1439,26 +1414,6 @@ type
on_cdm_registration_complete: procedure(self:PCefRegisterCDMCallback; result: TCefCDMRegistrationError; const error_message: PCefString); stdcall; on_cdm_registration_complete: procedure(self:PCefRegisterCDMCallback; result: TCefCDMRegistrationError; const error_message: PCefString); stdcall;
end; 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) // /include/capi/cef_thread_capi.h (cef_thread_t)
TCefThread = record TCefThread = record
base: TCefBaseRefCounted; base: TCefBaseRefCounted;
@ -1543,7 +1498,6 @@ type
on_browser_created: procedure(self: PCefRenderProcessHandler; browser: PCefBrowser); stdcall; on_browser_created: procedure(self: PCefRenderProcessHandler; browser: PCefBrowser); stdcall;
on_browser_destroyed: 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_before_navigation: function(self: PCefRenderProcessHandler; browser: PCefBrowser; frame: PCefFrame; request: PCefRequest; navigation_type: TCefNavigationType; is_redirect: Integer): Integer; stdcall;
on_context_created: procedure(self: PCefRenderProcessHandler; browser: PCefBrowser; frame: PCefFrame; context: PCefv8Context); 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; on_context_released: procedure(self: PCefRenderProcessHandler; browser: PCefBrowser; frame: PCefFrame; context: PCefv8Context); stdcall;
on_uncaught_exception: procedure(self: PCefRenderProcessHandler; browser: PCefBrowser; frame: PCefFrame; context: PCefv8Context; exception: PCefV8Exception; stackTrace: PCefV8StackTrace); stdcall; on_uncaught_exception: procedure(self: PCefRenderProcessHandler; browser: PCefBrowser; frame: PCefFrame; context: PCefv8Context; exception: PCefV8Exception; stackTrace: PCefV8StackTrace); stdcall;
@ -2449,7 +2403,6 @@ type
get_drag_handler: function(self: PCefClient): PCefDragHandler; stdcall; get_drag_handler: function(self: PCefClient): PCefDragHandler; stdcall;
get_find_handler: function(self: PCefClient): PCefFindHandler; 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_geolocation_handler: function(self: PCefClient): PCefGeolocationHandler; stdcall;
get_jsdialog_handler: function(self: PCefClient): PCefJsDialogHandler; stdcall; get_jsdialog_handler: function(self: PCefClient): PCefJsDialogHandler; stdcall;
get_keyboard_handler: function(self: PCefClient): PCefKeyboardHandler; stdcall; get_keyboard_handler: function(self: PCefClient): PCefKeyboardHandler; stdcall;
get_life_span_handler: function(self: PCefClient): PCefLifeSpanHandler; stdcall; get_life_span_handler: function(self: PCefClient): PCefLifeSpanHandler; stdcall;

View File

@ -77,6 +77,8 @@ type
property TabStop; property TabStop;
property TabOrder; property TabOrder;
property Visible; property Visible;
property ShowHint;
property Hint;
end; end;
implementation implementation

View File

@ -137,10 +137,6 @@ type
FOnBeforeDownload : TOnBeforeDownload; FOnBeforeDownload : TOnBeforeDownload;
FOnDownloadUpdated : TOnDownloadUpdated; FOnDownloadUpdated : TOnDownloadUpdated;
// ICefGeolocationHandler
FOnRequestGeolocationPermission : TOnRequestGeolocationPermission;
FOnCancelGeolocationPermission : TOnCancelGeolocationPermission;
// ICefJsDialogHandler // ICefJsDialogHandler
FOnJsdialog : TOnJsdialog; FOnJsdialog : TOnJsdialog;
FOnBeforeUnloadDialog : TOnBeforeUnloadDialog; FOnBeforeUnloadDialog : TOnBeforeUnloadDialog;
@ -287,7 +283,6 @@ type
function MustCreateKeyboardHandler : boolean; virtual; function MustCreateKeyboardHandler : boolean; virtual;
function MustCreateDisplayHandler : boolean; virtual; function MustCreateDisplayHandler : boolean; virtual;
function MustCreateDownloadHandler : boolean; virtual; function MustCreateDownloadHandler : boolean; virtual;
function MustCreateGeolocationHandler : boolean; virtual;
function MustCreateJsDialogHandler : boolean; virtual; function MustCreateJsDialogHandler : boolean; virtual;
function MustCreateDragHandler : boolean; virtual; function MustCreateDragHandler : boolean; virtual;
function MustCreateFindHandler : 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 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; 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 // ICefJsDialogHandler
function doOnJsdialog(const browser: ICefBrowser; const originUrl: ustring; dialogType: TCefJsDialogType; const messageText, defaultPromptText: ustring; const callback: ICefJsDialogCallback; out suppressMessage: Boolean): Boolean; virtual; 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; 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 OnBeforeDownload : TOnBeforeDownload read FOnBeforeDownload write FOnBeforeDownload;
property OnDownloadUpdated : TOnDownloadUpdated read FOnDownloadUpdated write FOnDownloadUpdated; property OnDownloadUpdated : TOnDownloadUpdated read FOnDownloadUpdated write FOnDownloadUpdated;
// ICefGeolocationHandler
property OnRequestGeolocationPermission : TOnRequestGeolocationPermission read FOnRequestGeolocationPermission write FOnRequestGeolocationPermission;
property OnCancelGeolocationPermission : TOnCancelGeolocationPermission read FOnCancelGeolocationPermission write FOnCancelGeolocationPermission;
// ICefJsDialogHandler // ICefJsDialogHandler
property OnJsdialog : TOnJsdialog read FOnJsdialog write FOnJsdialog; property OnJsdialog : TOnJsdialog read FOnJsdialog write FOnJsdialog;
property OnBeforeUnloadDialog : TOnBeforeUnloadDialog read FOnBeforeUnloadDialog write FOnBeforeUnloadDialog; property OnBeforeUnloadDialog : TOnBeforeUnloadDialog read FOnBeforeUnloadDialog write FOnBeforeUnloadDialog;
@ -796,7 +783,6 @@ begin
MustCreateKeyboardHandler, MustCreateKeyboardHandler,
MustCreateDisplayHandler, MustCreateDisplayHandler,
MustCreateDownloadHandler, MustCreateDownloadHandler,
MustCreateGeolocationHandler,
MustCreateJsDialogHandler, MustCreateJsDialogHandler,
True, True,
True, // FMX always uses the OSR mode True, // FMX always uses the OSR mode
@ -863,10 +849,6 @@ begin
FOnBeforeDownload := nil; FOnBeforeDownload := nil;
FOnDownloadUpdated := nil; FOnDownloadUpdated := nil;
// ICefGeolocationHandler
FOnRequestGeolocationPermission := nil;
FOnCancelGeolocationPermission := nil;
// ICefJsDialogHandler // ICefJsDialogHandler
FOnJsdialog := nil; FOnJsdialog := nil;
FOnBeforeUnloadDialog := nil; FOnBeforeUnloadDialog := nil;
@ -951,7 +933,7 @@ begin
(FBrowser = nil) and (FBrowser = nil) and
(FBrowserId = 0) and (FBrowserId = 0) and
(GlobalCEFApp <> nil) and (GlobalCEFApp <> nil) and
GlobalCEFApp.GlobalContextInitialized and GlobalCEFApp.GlobalContextInitialized and
CreateClientHandler then CreateClientHandler then
begin begin
GetSettings(FBrowserSettings); GetSettings(FBrowserSettings);
@ -2412,12 +2394,6 @@ begin
assigned(FOnDownloadUpdated); assigned(FOnDownloadUpdated);
end; end;
function TFMXChromium.MustCreateGeolocationHandler : boolean;
begin
Result := assigned(FOnRequestGeolocationPermission) or
assigned(FOnCancelGeolocationPermission);
end;
function TFMXChromium.MustCreateJsDialogHandler : boolean; function TFMXChromium.MustCreateJsDialogHandler : boolean;
begin begin
Result := assigned(FOnJsdialog) or Result := assigned(FOnJsdialog) or
@ -2637,12 +2613,6 @@ begin
if Assigned(FOnBeforeUnloadDialog) then FOnBeforeUnloadDialog(Self, browser, messageText, isReload, callback, Result); if Assigned(FOnBeforeUnloadDialog) then FOnBeforeUnloadDialog(Self, browser, messageText, isReload, callback, Result);
end; 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; function TFMXChromium.doOnCertificateError(const browser : ICefBrowser;
certError : TCefErrorcode; certError : TCefErrorcode;
const requestUrl : ustring; const requestUrl : ustring;
@ -3010,17 +2980,6 @@ begin
if Assigned(FOnRenderViewReady) then FOnRenderViewReady(Self, browser); if Assigned(FOnRenderViewReady) then FOnRenderViewReady(Self, browser);
end; 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); procedure TFMXChromium.doOnResetDialogState(const browser: ICefBrowser);
begin begin
if Assigned(FOnResetDialogState) then FOnResetDialogState(Self, browser); if Assigned(FOnResetDialogState) then FOnResetDialogState(Self, browser);