You've already forked CEF4Delphi
							
							
				mirror of
				https://github.com/salvadordf/CEF4Delphi.git
				synced 2025-10-30 23:07:52 +02:00 
			
		
		
		
	Added a separate JavaScript Extension demo for clarity
This commit is contained in:
		
							
								
								
									
										8
									
								
								demos/JSExtension/00-DeleteDCUs.bat
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								demos/JSExtension/00-DeleteDCUs.bat
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| del /s /q *.dcu | ||||
| del /s /q *.dcp | ||||
| del /s /q *.bpl | ||||
| del /s /q *.bpi | ||||
| del /s /q *.hpp | ||||
| del /s /q *.exe | ||||
| del /s /q *.log | ||||
| del /s /q *.~* | ||||
							
								
								
									
										104
									
								
								demos/JSExtension/JSExtension.dpr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										104
									
								
								demos/JSExtension/JSExtension.dpr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,104 @@ | ||||
| // ************************************************************************ | ||||
| // ***************************** 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. | ||||
|  * | ||||
|  *) | ||||
|  | ||||
| program JSExtension; | ||||
|  | ||||
| {$I cef.inc} | ||||
|  | ||||
| uses | ||||
|   {$IFDEF DELPHI16_UP} | ||||
|   WinApi.Windows, | ||||
|   Vcl.Forms, | ||||
|   {$ELSE} | ||||
|   Forms, | ||||
|   Windows, | ||||
|   {$ENDIF } | ||||
|   uCEFApplication, | ||||
|   uCEFRenderProcessHandler, | ||||
|   uCEFInterfaces, | ||||
|   uCEFv8Handler, | ||||
|   uJSExtension in 'uJSExtension.pas' {JSExtensionFrm}, | ||||
|   uTestExtension in 'uTestExtension.pas', | ||||
|   uSimpleTextViewer in 'uSimpleTextViewer.pas' {SimpleTextViewerFrm}; | ||||
|  | ||||
| {$R *.res} | ||||
|  | ||||
| // CEF3 needs to set the LARGEADDRESSAWARE flag which allows 32-bit processes to use up to 3GB of RAM. | ||||
| {$SetPEFlags IMAGE_FILE_LARGE_ADDRESS_AWARE} | ||||
|  | ||||
| var | ||||
|   TempProcessHandler : TCefCustomRenderProcessHandler; | ||||
|  | ||||
| procedure ProcessHandler_OnWebKitReady; | ||||
| begin | ||||
| {$IFDEF DELPHI14_UP} | ||||
|   // Registering the extension. Read this document for more details : | ||||
|   // https://bitbucket.org/chromiumembedded/cef/wiki/JavaScriptIntegration.md | ||||
|   TCefRTTIExtension.Register('myextension', TTestExtension); | ||||
| {$ENDIF} | ||||
| end; | ||||
|  | ||||
| begin | ||||
|   // You need a TCefCustomRenderProcessHandler to register the extension in the OnWebKitReady event | ||||
|   TempProcessHandler                := TCefCustomRenderProcessHandler.Create; | ||||
|   TempProcessHandler.OnWebKitReady  := ProcessHandler_OnWebKitReady; | ||||
|  | ||||
|   GlobalCEFApp                      := TCefApplication.Create; | ||||
|   GlobalCEFApp.RenderProcessHandler := TempProcessHandler as ICefRenderProcessHandler; | ||||
|  | ||||
|   // The directories are optional. | ||||
|   GlobalCEFApp.FrameworkDirPath     := 'cef'; | ||||
|   GlobalCEFApp.ResourcesDirPath     := 'cef'; | ||||
|   GlobalCEFApp.LocalesDirPath       := 'cef\locales'; | ||||
|   GlobalCEFApp.cache                := 'cef\cache'; | ||||
|   GlobalCEFApp.cookies              := 'cef\cookies'; | ||||
|   GlobalCEFApp.UserDataPath         := 'cef\User Data'; | ||||
|  | ||||
|  | ||||
|   if GlobalCEFApp.StartMainProcess then | ||||
|     begin | ||||
|       Application.Initialize; | ||||
|       {$IFDEF DELPHI11_UP} | ||||
|       Application.MainFormOnTaskbar := True; | ||||
|       {$ENDIF} | ||||
|       Application.CreateForm(TJSExtensionFrm, JSExtensionFrm); | ||||
|       Application.CreateForm(TSimpleTextViewerFrm, SimpleTextViewerFrm); | ||||
|       Application.Run; | ||||
|     end; | ||||
|  | ||||
|   GlobalCEFApp.Free; | ||||
| end. | ||||
							
								
								
									
										541
									
								
								demos/JSExtension/JSExtension.dproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										541
									
								
								demos/JSExtension/JSExtension.dproj
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,541 @@ | ||||
| <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||
|     <PropertyGroup> | ||||
|         <ProjectGuid>{7AA32B92-A408-42CB-A571-383721053FFA}</ProjectGuid> | ||||
|         <ProjectVersion>18.0</ProjectVersion> | ||||
|         <FrameworkType>VCL</FrameworkType> | ||||
|         <MainSource>JSExtension.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_Locale>3082</VerInfo_Locale> | ||||
|         <Icon_MainIcon>$(BDS)\bin\delphi_PROJECTICON.ico</Icon_MainIcon> | ||||
|         <SanitizedProjectName>JSExtension</SanitizedProjectName> | ||||
|         <DCC_Namespace>System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace)</DCC_Namespace> | ||||
|         <VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys> | ||||
|         <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)'!=''"> | ||||
|         <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;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;svn;Intraweb;DBXOracleDriver;inetdb;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;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;GR32_RSXE5;bindcomp;appanalytics;DBXInformixDriver;bindcompvcl;frxDB23;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> | ||||
|         <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File> | ||||
|         <VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys> | ||||
|         <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo> | ||||
|     </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> | ||||
|     </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)'!=''"> | ||||
|         <AppEnableHighDPI>true</AppEnableHighDPI> | ||||
|         <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes> | ||||
|         <VerInfo_Locale>1033</VerInfo_Locale> | ||||
|         <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo> | ||||
|         <DCC_RemoteDebug>false</DCC_RemoteDebug> | ||||
|     </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="uJSExtension.pas"> | ||||
|             <Form>JSExtensionFrm</Form> | ||||
|         </DCCReference> | ||||
|         <DCCReference Include="uTestExtension.pas"/> | ||||
|         <DCCReference Include="uSimpleTextViewer.pas"> | ||||
|             <Form>SimpleTextViewerFrm</Form> | ||||
|             <FormType>dfm</FormType> | ||||
|         </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">JSExtension.dpr</Source> | ||||
|                 </Source> | ||||
|                 <Excluded_Packages> | ||||
|                     <Excluded_Packages Name="$(BDSBIN)\dcloffice2k230.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages> | ||||
|                     <Excluded_Packages Name="$(BDSBIN)\dclofficexp230.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages> | ||||
|                 </Excluded_Packages> | ||||
|             </Delphi.Personality> | ||||
|             <Deployment Version="2"> | ||||
|                 <DeployFile LocalName="JSExtension.exe" Configuration="Debug" Class="ProjectOutput"> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <RemoteName>JSExtension.exe</RemoteName> | ||||
|                         <Overwrite>true</Overwrite> | ||||
|                     </Platform> | ||||
|                 </DeployFile> | ||||
|                 <DeployClass Name="DependencyModule"> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <Operation>0</Operation> | ||||
|                         <Extensions>.dll;.bpl</Extensions> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.dylib</Extensions> | ||||
|                     </Platform> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents\MacOS</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.dylib</Extensions> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.dylib</Extensions> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.dylib</Extensions> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectOSXResource"> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents\Resources</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="AndroidClassesDexFile"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>classes</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="AdditionalDebugSymbols"> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <RemoteDir>Contents\MacOS</RemoteDir> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents\MacOS</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="iPad_Launch768"> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="Android_LauncherIcon144"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable-xxhdpi</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="AndroidLibnativeMipsFile"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>library\lib\mips</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Required="true" Name="ProjectOutput"> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents\MacOS</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>library\lib\armeabi-v7a</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="DependencyFramework"> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents\MacOS</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.framework</Extensions> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="iPhone_Launch640"> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="iPad_Launch1024"> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectiOSDeviceDebug"> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="AndroidLibnativeX86File"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>library\lib\x86</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="iPhone_Launch320"> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectiOSInfoPList"> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="AndroidLibnativeArmeabiFile"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>library\lib\armeabi</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="DebugSymbols"> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents\MacOS</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="iPad_Launch1536"> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <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_LauncherIcon96"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable-xhdpi</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="iPhone_Launch640x1136"> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectiOSEntitlements"> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <RemoteDir>../</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <RemoteDir>../</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="AndroidGDBServer"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>library\lib\armeabi-v7a</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectOSXInfoPList"> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectOSXEntitlements"> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>../</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="iPad_Launch2048"> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="AndroidSplashStyles"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\values</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="AndroidSplashImageDef"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectiOSResource"> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectAndroidManifest"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="Android_DefaultAppIcon"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="File"> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents\Resources\StartUp\</RemoteDir> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="Android"> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>0</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="AndroidServiceOutput"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>library\lib\armeabi-v7a</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Required="true" Name="DependencyPackage"> | ||||
|                     <Platform Name="Win32"> | ||||
|                         <Operation>0</Operation> | ||||
|                         <Extensions>.bpl</Extensions> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.dylib</Extensions> | ||||
|                     </Platform> | ||||
|                     <Platform Name="OSX32"> | ||||
|                         <RemoteDir>Contents\MacOS</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.dylib</Extensions> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.dylib</Extensions> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSSimulator"> | ||||
|                         <Operation>1</Operation> | ||||
|                         <Extensions>.dylib</Extensions> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="Android_LauncherIcon48"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable-mdpi</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="Android_LauncherIcon36"> | ||||
|                     <Platform Name="Android"> | ||||
|                         <RemoteDir>res\drawable-ldpi</RemoteDir> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                 </DeployClass> | ||||
|                 <DeployClass Name="ProjectiOSDeviceResourceRules"> | ||||
|                     <Platform Name="iOSDevice64"> | ||||
|                         <Operation>1</Operation> | ||||
|                     </Platform> | ||||
|                     <Platform Name="iOSDevice32"> | ||||
|                         <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="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> | ||||
							
								
								
									
										14
									
								
								demos/JSExtension/JSExtension.dproj.local
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								demos/JSExtension/JSExtension.dproj.local
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <BorlandProject> | ||||
| 	<Transactions> | ||||
|     <Transaction>2017/07/15 09:50:55.000.277,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas</Transaction> | ||||
|     <Transaction>2017/07/25 21:43:25.930,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas</Transaction> | ||||
|     <Transaction>2017/07/25 21:43:40.982,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\JSExtension\Unit1.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas</Transaction> | ||||
|     <Transaction>2017/07/25 21:43:40.982,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\JSExtension\Unit1.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.dfm</Transaction> | ||||
|     <Transaction>2017/07/25 21:43:48.560,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\JSExtension\JSExtension.dproj=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Project1.dproj</Transaction> | ||||
|     <Transaction>2017/07/25 21:44:09.830,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\JSExtension\Unit1.pas=</Transaction> | ||||
|     <Transaction>2017/07/25 21:44:16.573,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\JSExtension\uJSExtension.pas</Transaction> | ||||
|     <Transaction>2017/07/25 21:48:00.759,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\JSExtension\uTestExtension.pas</Transaction> | ||||
|     <Transaction>2017/07/25 22:14:06.097,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\JSExtension\uSimpleTextViewer.pas</Transaction> | ||||
|   </Transactions> | ||||
| </BorlandProject> | ||||
							
								
								
									
										822
									
								
								demos/JSExtension/JSExtension.dsk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										822
									
								
								demos/JSExtension/JSExtension.dsk
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,822 @@ | ||||
| [Closed Files] | ||||
| File_0=TSourceModule,'c:\program files\embarcadero\studio\17.0\source\rtl\common\System.Generics.Collections.pas',0,1,1121,1,1143,0,0,, | ||||
| File_1=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromium.pas',0,1,1403,1,1425,0,0,, | ||||
| File_2=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\JSExtension\Unit1.pas',0,1,1,1,1,0,0,, | ||||
| File_3=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFTask.pas',0,1,156,3,83,0,0,, | ||||
| File_4=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uHelloScheme.pas',0,1,116,20,133,0,0,, | ||||
| File_5=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uTestExtension.pas',0,1,16,1,45,0,0,, | ||||
| File_6=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uSimpleTextViewer.pas',0,1,1,51,31,0,0,, | ||||
| File_7=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFMiscFunctions.pas',0,1,647,1,680,0,0,, | ||||
| File_8=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFApplication.pas',0,1,524,99,559,0,0,, | ||||
|  | ||||
| [Modules] | ||||
| Module0=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\JSExtension\uJSExtension.pas | ||||
| Module1=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uMiniBrowser.pas | ||||
| Module2=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\JSExtension\JSExtension.dproj | ||||
| Module3=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\JSExtension\uSimpleTextViewer.pas | ||||
| Module4=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\JSExtension\uTestExtension.pas | ||||
| Module5=default.htm | ||||
| Count=6 | ||||
| EditWindowCount=1 | ||||
|  | ||||
| [C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\JSExtension\uJSExtension.pas] | ||||
| ModuleType=TSourceModule | ||||
| FormState=1 | ||||
| FormOnTop=0 | ||||
|  | ||||
| [C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uMiniBrowser.pas] | ||||
| ModuleType=TSourceModule | ||||
| FormState=1 | ||||
| FormOnTop=1 | ||||
|  | ||||
| [C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\JSExtension\JSExtension.dproj] | ||||
| ModuleType=TBaseProject | ||||
|  | ||||
| [C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\JSExtension\uSimpleTextViewer.pas] | ||||
| ModuleType=TSourceModule | ||||
| FormState=1 | ||||
| FormOnTop=0 | ||||
|  | ||||
| [C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\JSExtension\uTestExtension.pas] | ||||
| ModuleType=TSourceModule | ||||
| FormState=0 | ||||
| FormOnTop=0 | ||||
|  | ||||
| [default.htm] | ||||
| ModuleType=TURLModule | ||||
|  | ||||
| [EditWindow0] | ||||
| ViewCount=6 | ||||
| CurrentEditView=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\JSExtension\uJSExtension.pas | ||||
| View0=0 | ||||
| View1=1 | ||||
| View2=2 | ||||
| View3=3 | ||||
| View4=4 | ||||
| View5=5 | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=1 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=0 | ||||
| Width=10000 | ||||
| Height=9428 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=10000 | ||||
| ClientHeight=9428 | ||||
| DockedToMainForm=1 | ||||
| BorlandEditorCodeExplorer=BorlandEditorCodeExplorer@EditWindow0 | ||||
| TopPanelSize=0 | ||||
| LeftPanelSize=0 | ||||
| RightPanelSize=2000 | ||||
| RightPanelClients=DockSite2,DockSite4 | ||||
| RightPanelData=000008000101000000001E1500000000000001D00700000000000001000000004312000009000000446F636B53697465320100000000511D000009000000446F636B5369746534FFFFFFFF | ||||
| BottomPanelSize=1551 | ||||
| BottomPanelClients=DockSite1,MessageView | ||||
| BottomPanelData=0000080001020100000009000000446F636B53697465313B36000000000000020F0600000000000001000000003B3600000F0000004D65737361676556696577466F726DFFFFFFFF | ||||
| BottomMiddlePanelSize=0 | ||||
| BottomMiddlePanelClients=DockSite0,GraphDrawingModel | ||||
| BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F306000000000000FFFFFFFF | ||||
| TabDockLeftClients=DockSite3=0,PropertyInspector=1 | ||||
|  | ||||
| [View0] | ||||
| CustomEditViewType=TWelcomePageView | ||||
| WelcomePageURL=bds:/default.htm | ||||
|  | ||||
| [View1] | ||||
| CustomEditViewType=TEditView | ||||
| Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\JSExtension\uJSExtension.pas | ||||
| CursorX=60 | ||||
| CursorY=236 | ||||
| TopLine=15 | ||||
| LeftCol=1 | ||||
| Elisions= | ||||
| Bookmarks= | ||||
| EditViewName=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\JSExtension\uJSExtension.pas | ||||
|  | ||||
| [View2] | ||||
| CustomEditViewType=TEditView | ||||
| Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uMiniBrowser.pas | ||||
| CursorX=16 | ||||
| CursorY=519 | ||||
| TopLine=496 | ||||
| LeftCol=1 | ||||
| Elisions= | ||||
| Bookmarks= | ||||
| EditViewName=Borland.FormDesignerView | ||||
|  | ||||
| [View3] | ||||
| CustomEditViewType=TEditView | ||||
| Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\JSExtension\JSExtension.dpr | ||||
| CursorX=66 | ||||
| CursorY=91 | ||||
| TopLine=41 | ||||
| LeftCol=1 | ||||
| Elisions= | ||||
| Bookmarks= | ||||
| EditViewName=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\JSExtension\JSExtension.dpr | ||||
|  | ||||
| [View4] | ||||
| CustomEditViewType=TEditView | ||||
| Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\JSExtension\uSimpleTextViewer.pas | ||||
| CursorX=22 | ||||
| CursorY=25 | ||||
| TopLine=1 | ||||
| LeftCol=1 | ||||
| Elisions= | ||||
| Bookmarks= | ||||
| EditViewName=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\JSExtension\uSimpleTextViewer.pas | ||||
|  | ||||
| [View5] | ||||
| CustomEditViewType=TEditView | ||||
| Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\JSExtension\uTestExtension.pas | ||||
| CursorX=48 | ||||
| CursorY=81 | ||||
| TopLine=46 | ||||
| LeftCol=1 | ||||
| Elisions= | ||||
| Bookmarks= | ||||
| EditViewName=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\JSExtension\uTestExtension.pas | ||||
|  | ||||
| [Watches] | ||||
| Count=0 | ||||
|  | ||||
| [WatchWindow] | ||||
| WatchColumnWidth=120 | ||||
| WatchShowColumnHeaders=1 | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=1 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=0 | ||||
| Width=3820 | ||||
| Height=1043 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=3820 | ||||
| ClientHeight=1043 | ||||
| TBDockHeight=213 | ||||
| LRDockWidth=13602 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
|  | ||||
| [Breakpoints] | ||||
| Count=0 | ||||
|  | ||||
| [EmbarcaderoWin32Debugger_AddressBreakpoints] | ||||
| Count=0 | ||||
|  | ||||
| [EmbarcaderoWin64Debugger_AddressBreakpoints] | ||||
| Count=0 | ||||
|  | ||||
| [Main Window] | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=1 | ||||
| Docked=0 | ||||
| State=2 | ||||
| Left=148 | ||||
| Top=269 | ||||
| Width=8930 | ||||
| Height=8520 | ||||
| MaxLeft=-8 | ||||
| MaxTop=-11 | ||||
| MaxWidth=8930 | ||||
| MaxHeight=8520 | ||||
| ClientWidth=10000 | ||||
| ClientHeight=9753 | ||||
| BottomPanelSize=9121 | ||||
| BottomPanelClients=EditWindow0 | ||||
| BottomPanelData=0000080000000000000000000000000000000000000000000000000100000000000000000C0000004564697457696E646F775F30FFFFFFFF | ||||
|  | ||||
| [ProjectManager] | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=1 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=0 | ||||
| Width=2000 | ||||
| Height=4226 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=2000 | ||||
| ClientHeight=4226 | ||||
| TBDockHeight=5897 | ||||
| LRDockWidth=2352 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
|  | ||||
| [MessageView] | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=1 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=23 | ||||
| Width=10000 | ||||
| Height=1345 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=10000 | ||||
| ClientHeight=1345 | ||||
| TBDockHeight=1345 | ||||
| LRDockWidth=2773 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
|  | ||||
| [ToolForm] | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=1 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=0 | ||||
| Width=2000 | ||||
| Height=2668 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=2000 | ||||
| ClientHeight=2668 | ||||
| TBDockHeight=7152 | ||||
| LRDockWidth=2000 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
|  | ||||
| [ClipboardHistory] | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=0 | ||||
| Docked=0 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=0 | ||||
| Width=1906 | ||||
| Height=4989 | ||||
| MaxLeft=-8 | ||||
| MaxTop=-11 | ||||
| ClientWidth=1781 | ||||
| ClientHeight=4563 | ||||
| TBDockHeight=4989 | ||||
| LRDockWidth=1906 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
|  | ||||
| [ProjectStatistics] | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=0 | ||||
| Docked=0 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=0 | ||||
| Width=2062 | ||||
| Height=5740 | ||||
| MaxLeft=-8 | ||||
| MaxTop=-11 | ||||
| ClientWidth=1938 | ||||
| ClientHeight=5314 | ||||
| TBDockHeight=5740 | ||||
| LRDockWidth=2062 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
|  | ||||
| [ClassBrowserTool] | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=0 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=-8 | ||||
| Top=-30 | ||||
| Width=1844 | ||||
| Height=3139 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=1844 | ||||
| ClientHeight=3139 | ||||
| TBDockHeight=3139 | ||||
| LRDockWidth=1844 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
|  | ||||
| [MetricsView] | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=1 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=0 | ||||
| Width=2336 | ||||
| Height=1177 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=2336 | ||||
| ClientHeight=1177 | ||||
| TBDockHeight=4832 | ||||
| LRDockWidth=3562 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
|  | ||||
| [QAView] | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=1 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=0 | ||||
| Width=2336 | ||||
| Height=1177 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=2336 | ||||
| ClientHeight=1177 | ||||
| TBDockHeight=4832 | ||||
| LRDockWidth=3562 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
|  | ||||
| [PropertyInspector] | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=0 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=78 | ||||
| Top=386 | ||||
| Width=1898 | ||||
| Height=7119 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=1773 | ||||
| ClientHeight=6693 | ||||
| TBDockHeight=7119 | ||||
| LRDockWidth=1898 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
| SplitPos=111 | ||||
|  | ||||
| [PropInspDesignerSelection] | ||||
| ArrangeBy=Name | ||||
| SelectedItem=Name,CustomHint | ||||
| ExpandedItems=Anchors=0,BorderIcons=0,Constraints=0,LiveBindings=0,"LiveBindings Designer=0",Margins=0,Font=0,GlassFrame=0,HorzScrollBar=0,Padding=0,StyleElements=0,Touch=0,VertScrollBar=0,BevelEdges=0,ImageMargins=0 | ||||
|  | ||||
| [frmDesignPreview] | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=1 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=0 | ||||
| Width=2000 | ||||
| Height=6816 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=2000 | ||||
| ClientHeight=6816 | ||||
| TBDockHeight=5964 | ||||
| LRDockWidth=2508 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
|  | ||||
| [TFileExplorerForm] | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=0 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=-946 | ||||
| Top=1 | ||||
| Width=2844 | ||||
| Height=6200 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=2844 | ||||
| ClientHeight=6200 | ||||
| TBDockHeight=6200 | ||||
| LRDockWidth=2844 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
|  | ||||
| [TemplateView] | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=0 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=-1152 | ||||
| Top=243 | ||||
| Width=273 | ||||
| Height=359 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=273 | ||||
| ClientHeight=359 | ||||
| TBDockHeight=359 | ||||
| LRDockWidth=273 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
| Name=120 | ||||
| Description=334 | ||||
| filter=1 | ||||
|  | ||||
| [DebugLogView] | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=1 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=0 | ||||
| Width=3820 | ||||
| Height=1043 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=3820 | ||||
| ClientHeight=1043 | ||||
| TBDockHeight=415 | ||||
| LRDockWidth=4953 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
|  | ||||
| [ThreadStatusWindow] | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=1 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=0 | ||||
| Width=3820 | ||||
| Height=1043 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=3820 | ||||
| ClientHeight=1043 | ||||
| TBDockHeight=213 | ||||
| LRDockWidth=7406 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
| Column0Width=145 | ||||
| Column1Width=100 | ||||
| Column2Width=115 | ||||
| Column3Width=250 | ||||
|  | ||||
| [LocalVarsWindow] | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=1 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=0 | ||||
| Width=3820 | ||||
| Height=1043 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=3820 | ||||
| ClientHeight=1043 | ||||
| TBDockHeight=1536 | ||||
| LRDockWidth=3484 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
|  | ||||
| [CallStackWindow] | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=1 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=0 | ||||
| Width=3820 | ||||
| Height=1043 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=3820 | ||||
| ClientHeight=1043 | ||||
| TBDockHeight=2063 | ||||
| LRDockWidth=3484 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
|  | ||||
| [FindReferencsForm] | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=1 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=0 | ||||
| Width=2336 | ||||
| Height=942 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=2336 | ||||
| ClientHeight=942 | ||||
| TBDockHeight=2321 | ||||
| LRDockWidth=2820 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
|  | ||||
| [RefactoringForm] | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=1 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=0 | ||||
| Width=2336 | ||||
| Height=1177 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=2336 | ||||
| ClientHeight=1177 | ||||
| TBDockHeight=3206 | ||||
| LRDockWidth=2820 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
|  | ||||
| [ToDo List] | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=1 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=0 | ||||
| Width=2336 | ||||
| Height=1177 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=2336 | ||||
| ClientHeight=1177 | ||||
| TBDockHeight=1155 | ||||
| LRDockWidth=3680 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
| Column0Width=314 | ||||
| Column1Width=30 | ||||
| Column2Width=150 | ||||
| Column3Width=172 | ||||
| Column4Width=129 | ||||
| SortOrder=4 | ||||
| ShowHints=1 | ||||
| ShowChecked=1 | ||||
|  | ||||
| [DataExplorerContainer] | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=1 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=0 | ||||
| Width=2000 | ||||
| Height=6816 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=2000 | ||||
| ClientHeight=6816 | ||||
| TBDockHeight=4888 | ||||
| LRDockWidth=7148 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
|  | ||||
| [GraphDrawingModel] | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=0 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=249 | ||||
| Top=709 | ||||
| Width=2859 | ||||
| Height=3206 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=2859 | ||||
| ClientHeight=3206 | ||||
| TBDockHeight=3206 | ||||
| LRDockWidth=2859 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
|  | ||||
| [BreakpointWindow] | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=1 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=0 | ||||
| Width=3820 | ||||
| Height=1043 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=3820 | ||||
| ClientHeight=1043 | ||||
| TBDockHeight=1547 | ||||
| LRDockWidth=8742 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
| Column0Width=200 | ||||
| Column1Width=75 | ||||
| Column2Width=200 | ||||
| Column3Width=200 | ||||
| Column4Width=200 | ||||
| Column5Width=75 | ||||
| Column6Width=75 | ||||
|  | ||||
| [StructureView] | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=1 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=0 | ||||
| Width=1773 | ||||
| Height=6693 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=1773 | ||||
| ClientHeight=6693 | ||||
| TBDockHeight=3677 | ||||
| LRDockWidth=1898 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
|  | ||||
| [ModelViewTool] | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=1 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=0 | ||||
| Width=2000 | ||||
| Height=6816 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=2000 | ||||
| ClientHeight=6816 | ||||
| TBDockHeight=4888 | ||||
| LRDockWidth=5305 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
|  | ||||
| [BorlandEditorCodeExplorer@EditWindow0] | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=0 | ||||
| Docked=0 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=0 | ||||
| Width=1828 | ||||
| Height=6177 | ||||
| MaxLeft=-8 | ||||
| MaxTop=-11 | ||||
| ClientWidth=1703 | ||||
| ClientHeight=5751 | ||||
| TBDockHeight=6177 | ||||
| LRDockWidth=1828 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
|  | ||||
| [DockHosts] | ||||
| DockHostCount=5 | ||||
|  | ||||
| [DockSite0] | ||||
| HostDockSite=DockBottomCenterPanel | ||||
| DockSiteType=1 | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=0 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=0 | ||||
| Width=2336 | ||||
| Height=1480 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=2336 | ||||
| ClientHeight=1480 | ||||
| TBDockHeight=1480 | ||||
| LRDockWidth=2336 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
| TabPosition=1 | ||||
| ActiveTabID=RefactoringForm | ||||
| TabDockClients=RefactoringForm,FindReferencsForm,ToDo List,MetricsView,QAView | ||||
|  | ||||
| [DockSite1] | ||||
| HostDockSite=DockBottomPanel | ||||
| DockSiteType=1 | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=0 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=23 | ||||
| Width=3820 | ||||
| Height=1345 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=3820 | ||||
| ClientHeight=1345 | ||||
| TBDockHeight=1345 | ||||
| LRDockWidth=3820 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
| TabPosition=1 | ||||
| ActiveTabID=DebugLogView | ||||
| TabDockClients=DebugLogView,BreakpointWindow,ThreadStatusWindow,CallStackWindow,WatchWindow,LocalVarsWindow | ||||
|  | ||||
| [DockSite2] | ||||
| HostDockSite=DockRightPanel | ||||
| DockSiteType=1 | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=1 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=23 | ||||
| Width=2000 | ||||
| Height=4529 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=2000 | ||||
| ClientHeight=4529 | ||||
| TBDockHeight=7119 | ||||
| LRDockWidth=2000 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
| TabPosition=1 | ||||
| ActiveTabID=ProjectManager | ||||
| TabDockClients=ProjectManager,ModelViewTool,DataExplorerContainer,frmDesignPreview,TFileExplorerForm | ||||
|  | ||||
| [DockSite3] | ||||
| HostDockSite=LeftDockTabSet | ||||
| DockSiteType=1 | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=0 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=0 | ||||
| Width=1898 | ||||
| Height=7119 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=1773 | ||||
| ClientHeight=6693 | ||||
| TBDockHeight=7119 | ||||
| LRDockWidth=1898 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
| TabPosition=1 | ||||
| ActiveTabID=StructureView | ||||
| TabDockClients=StructureView,ClassBrowserTool | ||||
|  | ||||
| [DockSite4] | ||||
| HostDockSite=DockRightPanel | ||||
| DockSiteType=1 | ||||
| PercentageSizes=1 | ||||
| Create=1 | ||||
| Visible=1 | ||||
| Docked=1 | ||||
| State=0 | ||||
| Left=0 | ||||
| Top=454 | ||||
| Width=2000 | ||||
| Height=2668 | ||||
| MaxLeft=-1 | ||||
| MaxTop=-1 | ||||
| ClientWidth=2000 | ||||
| ClientHeight=2668 | ||||
| TBDockHeight=7119 | ||||
| LRDockWidth=2000 | ||||
| Dockable=1 | ||||
| StayOnTop=0 | ||||
| TabPosition=1 | ||||
| ActiveTabID=ToolForm | ||||
| TabDockClients=ToolForm,TemplateView | ||||
|  | ||||
							
								
								
									
										
											BIN
										
									
								
								demos/JSExtension/JSExtension.identcache
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								demos/JSExtension/JSExtension.identcache
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								demos/JSExtension/JSExtension.res
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								demos/JSExtension/JSExtension.res
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										10
									
								
								demos/JSExtension/JSExtension.stat
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								demos/JSExtension/JSExtension.stat
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| [Stats] | ||||
| EditorSecs=1868 | ||||
| DesignerSecs=18 | ||||
| InspectorSecs=43 | ||||
| CompileSecs=55539 | ||||
| OtherSecs=137 | ||||
| StartTime=25/07/2017 22:09:15 | ||||
| RealKeys=0 | ||||
| EffectiveKeys=0 | ||||
| DebugSecs=222 | ||||
							
								
								
									
										88
									
								
								demos/JSExtension/uJSExtension.dfm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										88
									
								
								demos/JSExtension/uJSExtension.dfm
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,88 @@ | ||||
| object JSExtensionFrm: TJSExtensionFrm | ||||
|   Left = 0 | ||||
|   Top = 0 | ||||
|   Caption = 'JSExtension' | ||||
|   ClientHeight = 589 | ||||
|   ClientWidth = 978 | ||||
|   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 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 = 0 | ||||
|     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 = 570 | ||||
|     Width = 978 | ||||
|     Height = 19 | ||||
|     Panels = < | ||||
|       item | ||||
|         Width = 50 | ||||
|       end> | ||||
|     ExplicitLeft = 400 | ||||
|     ExplicitTop = 544 | ||||
|     ExplicitWidth = 0 | ||||
|   end | ||||
|   object CEFWindowParent1: TCEFWindowParent | ||||
|     Left = 0 | ||||
|     Top = 30 | ||||
|     Width = 978 | ||||
|     Height = 540 | ||||
|     Align = alClient | ||||
|     TabOrder = 2 | ||||
|     ExplicitLeft = -201 | ||||
|     ExplicitTop = -63 | ||||
|     ExplicitWidth = 1179 | ||||
|     ExplicitHeight = 652 | ||||
|   end | ||||
|   object Chromium1: TChromium | ||||
|     OnProcessMessageReceived = Chromium1ProcessMessageReceived | ||||
|     OnBeforeContextMenu = Chromium1BeforeContextMenu | ||||
|     OnContextMenuCommand = Chromium1ContextMenuCommand | ||||
|     OnAfterCreated = Chromium1AfterCreated | ||||
|     Left = 32 | ||||
|     Top = 224 | ||||
|   end | ||||
| end | ||||
							
								
								
									
										236
									
								
								demos/JSExtension/uJSExtension.pas
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										236
									
								
								demos/JSExtension/uJSExtension.pas
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,236 @@ | ||||
| // ************************************************************************ | ||||
| // ***************************** 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. | ||||
|  * | ||||
|  *) | ||||
|  | ||||
| unit uJSExtension; | ||||
|  | ||||
| {$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_CREATED        = WM_APP + $100; | ||||
|   MINIBROWSER_SHOWTEXTVIEWER = WM_APP + $105; | ||||
|  | ||||
|   MINIBROWSER_CONTEXTMENU_SETJSEVENT   = MENU_ID_USER_FIRST + 1; | ||||
|   MINIBROWSER_CONTEXTMENU_JSVISITDOM   = MENU_ID_USER_FIRST + 2; | ||||
|  | ||||
| type | ||||
|   TJSExtensionFrm = class(TForm) | ||||
|     NavControlPnl: TPanel; | ||||
|     Edit1: TEdit; | ||||
|     GoBtn: TButton; | ||||
|     StatusBar1: TStatusBar; | ||||
|     CEFWindowParent1: TCEFWindowParent; | ||||
|     Chromium1: TChromium; | ||||
|     procedure FormShow(Sender: TObject); | ||||
|     procedure GoBtnClick(Sender: TObject); | ||||
|     procedure Chromium1BeforeContextMenu(Sender: TObject; | ||||
|       const browser: ICefBrowser; const frame: ICefFrame; | ||||
|       const params: ICefContextMenuParams; const model: ICefMenuModel); | ||||
|     procedure Chromium1ContextMenuCommand(Sender: TObject; | ||||
|       const browser: ICefBrowser; const frame: ICefFrame; | ||||
|       const params: ICefContextMenuParams; commandId: Integer; | ||||
|       eventFlags: Cardinal; out Result: Boolean); | ||||
|     procedure Chromium1ProcessMessageReceived(Sender: TObject; | ||||
|       const browser: ICefBrowser; sourceProcess: TCefProcessId; | ||||
|       const message: ICefProcessMessage; out Result: Boolean); | ||||
|     procedure Chromium1AfterCreated(Sender: TObject; | ||||
|       const browser: ICefBrowser); | ||||
|   protected | ||||
|     FText : string; | ||||
|  | ||||
|     procedure BrowserCreatedMsg(var aMessage : TMessage); message MINIBROWSER_CREATED; | ||||
|     procedure ShowTextViewerMsg(var aMessage : TMessage); message MINIBROWSER_SHOWTEXTVIEWER; | ||||
|     procedure WMMove(var aMessage : TWMMove); message WM_MOVE; | ||||
|     procedure WMMoving(var aMessage : TMessage); message WM_MOVING; | ||||
|   public | ||||
|     { Public declarations } | ||||
|   end; | ||||
|  | ||||
| var | ||||
|   JSExtensionFrm: TJSExtensionFrm; | ||||
|  | ||||
| implementation | ||||
|  | ||||
| {$R *.dfm} | ||||
|  | ||||
| uses | ||||
|   uSimpleTextViewer; | ||||
|  | ||||
| // The CEF3 document describing extensions is here : | ||||
| // https://bitbucket.org/chromiumembedded/cef/wiki/JavaScriptIntegration.md | ||||
|  | ||||
| // This demo has a TTestExtension class that is registered in the OnWebKitReady event | ||||
| // of a custom ProcessHandler when the application is initializing. | ||||
|  | ||||
| // TTestExtension can send information back to the browser with a process message. | ||||
| // The TTestExtension.mouseover function do this by calling TCefv8ContextRef.Current.Browser.SendProcessMessage(PID_BROWSER, msg); | ||||
|  | ||||
| // TCefv8ContextRef.Current returns the v8 context for the frame that is currently executing JS, | ||||
| // TCefv8ContextRef.Current.Browser.SendProcessMessage should send a message to the right browser even | ||||
| // if you have created several browsers in one app. | ||||
|  | ||||
| // That message is received in the TChromium.OnProcessMessageReceived event. | ||||
| // Even if you create several TChromium objects you should have no problem because each of them will have its own | ||||
| // TChromium.OnProcessMessageReceived event to receive the messages from the extension. | ||||
|  | ||||
| procedure TJSExtensionFrm.GoBtnClick(Sender: TObject); | ||||
| begin | ||||
|   Chromium1.LoadURL(Edit1.Text); | ||||
| end; | ||||
|  | ||||
| procedure TJSExtensionFrm.Chromium1AfterCreated(Sender: TObject; | ||||
|   const browser: ICefBrowser); | ||||
| begin | ||||
|   PostMessage(Handle, MINIBROWSER_CREATED, 0, 0); | ||||
| end; | ||||
|  | ||||
| procedure TJSExtensionFrm.Chromium1BeforeContextMenu(Sender: TObject; | ||||
|   const browser: ICefBrowser; const frame: ICefFrame; | ||||
|   const params: ICefContextMenuParams; const model: ICefMenuModel); | ||||
| begin | ||||
|   // Adding some custom context menu entries | ||||
|   model.AddSeparator; | ||||
|   model.AddItem(MINIBROWSER_CONTEXTMENU_SETJSEVENT,  'Set mouseover event'); | ||||
|   model.AddItem(MINIBROWSER_CONTEXTMENU_JSVISITDOM,  'Visit DOM in JavaScript'); | ||||
| end; | ||||
|  | ||||
| procedure TJSExtensionFrm.Chromium1ContextMenuCommand(Sender: TObject; | ||||
|   const browser: ICefBrowser; const frame: ICefFrame; | ||||
|   const params: ICefContextMenuParams; commandId: Integer; | ||||
|   eventFlags: Cardinal; out Result: Boolean); | ||||
| begin | ||||
|   Result := False; | ||||
|  | ||||
|   // Here is the code executed for each custom context menu entry | ||||
|  | ||||
|   case commandId of | ||||
|     MINIBROWSER_CONTEXTMENU_SETJSEVENT : | ||||
|       if (browser <> nil) and (browser.MainFrame <> nil) then | ||||
|         browser.MainFrame.ExecuteJavaScript( | ||||
|           'document.body.addEventListener("mouseover", function(evt){'+ | ||||
|             'function getpath(n){'+ | ||||
|               'var ret = "<" + n.nodeName + ">";'+ | ||||
|               'if (n.parentNode){return getpath(n.parentNode) + ret} else '+ | ||||
|               'return ret'+ | ||||
|             '};'+ | ||||
|             'myextension.mouseover(getpath(evt.target))}'+   // This is the call from JavaScript to the extension with DELPHI code in uTestExtension.pas | ||||
|           ')', 'about:blank', 0); | ||||
|  | ||||
|     MINIBROWSER_CONTEXTMENU_JSVISITDOM : | ||||
|       if (browser <> nil) and (browser.MainFrame <> nil) then | ||||
|         browser.MainFrame.ExecuteJavaScript( | ||||
|           'var testhtml = document.body.innerHTML;' + | ||||
|           'myextension.sendresulttobrowser(testhtml, ''customname'');',  // This is the call from JavaScript to the extension with DELPHI code in uTestExtension.pas | ||||
|           'about:blank', 0); | ||||
|   end; | ||||
| end; | ||||
|  | ||||
| procedure TJSExtensionFrm.Chromium1ProcessMessageReceived(Sender: TObject; | ||||
|   const browser: ICefBrowser; sourceProcess: TCefProcessId; | ||||
|   const message: ICefProcessMessage; out Result: Boolean); | ||||
| begin | ||||
|   if (message = nil) or (message.ArgumentList = nil) then exit; | ||||
|  | ||||
|   // This function receives the messages with the JavaScript results | ||||
|  | ||||
|   // Many on 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 are defined in the extension or in JS code. | ||||
|  | ||||
|   if (message.Name = 'mouseover') then | ||||
|     begin | ||||
|       StatusBar1.Panels[0].Text := message.ArgumentList.GetString(0); // this doesn't create/destroy components | ||||
|       Result := True; | ||||
|     end | ||||
|    else | ||||
|     if (message.Name = 'customname') then | ||||
|       begin | ||||
|         FText := message.ArgumentList.GetString(0); | ||||
|         PostMessage(Handle, MINIBROWSER_SHOWTEXTVIEWER, 0, 0); | ||||
|         Result := True; | ||||
|       end | ||||
|      else | ||||
|       Result := False; | ||||
| end; | ||||
|  | ||||
| procedure TJSExtensionFrm.FormShow(Sender: TObject); | ||||
| begin | ||||
|   Chromium1.CreateBrowser(CEFWindowParent1, ''); | ||||
| end; | ||||
|  | ||||
| procedure TJSExtensionFrm.WMMove(var aMessage : TWMMove); | ||||
| begin | ||||
|   inherited; | ||||
|  | ||||
|   if (Chromium1 <> nil) then Chromium1.NotifyMoveOrResizeStarted; | ||||
| end; | ||||
|  | ||||
| procedure TJSExtensionFrm.WMMoving(var aMessage : TMessage); | ||||
| begin | ||||
|   inherited; | ||||
|  | ||||
|   if (Chromium1 <> nil) then Chromium1.NotifyMoveOrResizeStarted; | ||||
| end; | ||||
|  | ||||
| procedure TJSExtensionFrm.ShowTextViewerMsg(var aMessage : TMessage); | ||||
| begin | ||||
|   // This form will show the HTML received from JavaScript | ||||
|   SimpleTextViewerFrm.Memo1.Lines.Text := FText; | ||||
|   SimpleTextViewerFrm.ShowModal; | ||||
| end; | ||||
|  | ||||
| procedure TJSExtensionFrm.BrowserCreatedMsg(var aMessage : TMessage); | ||||
| begin | ||||
|   NavControlPnl.Enabled := True; | ||||
|   GoBtn.Click; | ||||
| end; | ||||
|  | ||||
| end. | ||||
							
								
								
									
										29
									
								
								demos/JSExtension/uSimpleTextViewer.dfm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								demos/JSExtension/uSimpleTextViewer.dfm
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,29 @@ | ||||
| object SimpleTextViewerFrm: TSimpleTextViewerFrm | ||||
|   Left = 0 | ||||
|   Top = 0 | ||||
|   BorderIcons = [biSystemMenu] | ||||
|   BorderStyle = bsSingle | ||||
|   Caption = 'Simple text viewer' | ||||
|   ClientHeight = 572 | ||||
|   ClientWidth = 694 | ||||
|   Color = clBtnFace | ||||
|   Font.Charset = DEFAULT_CHARSET | ||||
|   Font.Color = clWindowText | ||||
|   Font.Height = -11 | ||||
|   Font.Name = 'Tahoma' | ||||
|   Font.Style = [] | ||||
|   OldCreateOrder = False | ||||
|   Position = poScreenCenter | ||||
|   PixelsPerInch = 96 | ||||
|   TextHeight = 13 | ||||
|   object Memo1: TMemo | ||||
|     Left = 0 | ||||
|     Top = 0 | ||||
|     Width = 694 | ||||
|     Height = 572 | ||||
|     Align = alClient | ||||
|     ReadOnly = True | ||||
|     ScrollBars = ssBoth | ||||
|     TabOrder = 0 | ||||
|   end | ||||
| end | ||||
							
								
								
									
										31
									
								
								demos/JSExtension/uSimpleTextViewer.pas
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								demos/JSExtension/uSimpleTextViewer.pas
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,31 @@ | ||||
| unit uSimpleTextViewer; | ||||
|  | ||||
| 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; | ||||
|   {$ELSE} | ||||
|   Windows, Messages, SysUtils, Variants, Classes, Graphics, | ||||
|   Controls, Forms, Dialogs, StdCtrls; | ||||
|   {$ENDIF} | ||||
|  | ||||
|  | ||||
| type | ||||
|   TSimpleTextViewerFrm = class(TForm) | ||||
|     Memo1: TMemo; | ||||
|   private | ||||
|     { Private declarations } | ||||
|   public | ||||
|     { Public declarations } | ||||
|   end; | ||||
|  | ||||
| var | ||||
|   SimpleTextViewerFrm: TSimpleTextViewerFrm; | ||||
|  | ||||
| implementation | ||||
|  | ||||
| {$R *.dfm} | ||||
|  | ||||
| end. | ||||
							
								
								
									
										86
									
								
								demos/JSExtension/uTestExtension.pas
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								demos/JSExtension/uTestExtension.pas
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,86 @@ | ||||
| // ************************************************************************ | ||||
| // ***************************** 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. | ||||
|  * | ||||
|  *) | ||||
|  | ||||
| unit uTestExtension; | ||||
|  | ||||
| {$I cef.inc} | ||||
|  | ||||
| interface | ||||
|  | ||||
| uses | ||||
|   {$IFDEF DELPHI16_UP} | ||||
|   Winapi.Windows, | ||||
|   {$ELSE} | ||||
|   Windows, | ||||
|   {$ENDIF} | ||||
|   uCEFRenderProcessHandler, uCEFBrowserProcessHandler, uCEFInterfaces, uCEFProcessMessage, | ||||
|   uCEFv8Context, uCEFTypes, uCEFv8Handler; | ||||
|  | ||||
| type | ||||
|   TTestExtension = class | ||||
|     class procedure mouseover(const data: string); | ||||
|     class procedure sendresulttobrowser(const msgtext, msgname : string); | ||||
|   end; | ||||
|  | ||||
| implementation | ||||
|  | ||||
| uses | ||||
|   uCEFMiscFunctions, uCEFConstants; | ||||
|  | ||||
| class procedure TTestExtension.mouseover(const data: string); | ||||
| var | ||||
|   msg: ICefProcessMessage; | ||||
| begin | ||||
|   msg := TCefProcessMessageRef.New('mouseover'); | ||||
|   msg.ArgumentList.SetString(0, data); | ||||
|  | ||||
|   // Sending a message back to the browser. It'll be received in the TChromium.OnProcessMessageReceived event. | ||||
|   // TCefv8ContextRef.Current returns the v8 context for the frame that is currently executing Javascript. | ||||
|   TCefv8ContextRef.Current.Browser.SendProcessMessage(PID_BROWSER, msg); | ||||
| end; | ||||
|  | ||||
| class procedure TTestExtension.sendresulttobrowser(const msgtext, msgname : string); | ||||
| var | ||||
|   msg: ICefProcessMessage; | ||||
| begin | ||||
|   msg := TCefProcessMessageRef.New(msgname); | ||||
|   msg.ArgumentList.SetString(0, msgtext); | ||||
|  | ||||
|   TCefv8ContextRef.Current.Browser.SendProcessMessage(PID_BROWSER, msg); | ||||
| end; | ||||
|  | ||||
| end. | ||||
		Reference in New Issue
	
	Block a user