You've already forked CEF4Delphi
							
							
				mirror of
				https://github.com/salvadordf/CEF4Delphi.git
				synced 2025-10-30 23:07:52 +02:00 
			
		
		
		
	Improved demos
- Bug fix #33 : Drag and drop is now supported in OSR mode. - Improved keyboard handling in OSR mode. - MiniBrowser demo : The DOM visitor and the Javascript extensions now send customized results to the main form - Fixed some CEF3 variable definitions.
This commit is contained in:
		| @@ -58,14 +58,14 @@ begin | |||||||
|   GlobalCEFApp := TCefApplication.Create; |   GlobalCEFApp := TCefApplication.Create; | ||||||
|  |  | ||||||
|   // In case you want to use custom directories for the CEF3 binaries, cache, cookies and user data. |   // In case you want to use custom directories for the CEF3 binaries, cache, cookies and user data. | ||||||
|  | { | ||||||
|   GlobalCEFApp.FrameworkDirPath     := 'cef'; |   GlobalCEFApp.FrameworkDirPath     := 'cef'; | ||||||
|   GlobalCEFApp.ResourcesDirPath     := 'cef'; |   GlobalCEFApp.ResourcesDirPath     := 'cef'; | ||||||
|   GlobalCEFApp.LocalesDirPath       := 'cef\locales'; |   GlobalCEFApp.LocalesDirPath       := 'cef\locales'; | ||||||
|   GlobalCEFApp.cache                := 'cef\cache'; |   GlobalCEFApp.cache                := 'cef\cache'; | ||||||
|   GlobalCEFApp.cookies              := 'cef\cookies'; |   GlobalCEFApp.cookies              := 'cef\cookies'; | ||||||
|   GlobalCEFApp.UserDataPath         := 'cef\User Data'; |   GlobalCEFApp.UserDataPath         := 'cef\User Data'; | ||||||
|  | } | ||||||
|  |  | ||||||
|   if GlobalCEFApp.StartMainProcess then |   if GlobalCEFApp.StartMainProcess then | ||||||
|     begin |     begin | ||||||
|   | |||||||
| @@ -134,12 +134,27 @@ | |||||||
|                         <Overwrite>true</Overwrite> |                         <Overwrite>true</Overwrite> | ||||||
|                     </Platform> |                     </Platform> | ||||||
|                 </DeployFile> |                 </DeployFile> | ||||||
|                 <DeployClass Name="ProjectiOSDeviceResourceRules"> |                 <DeployClass Name="DependencyModule"> | ||||||
|  |                     <Platform Name="Win32"> | ||||||
|  |                         <Operation>0</Operation> | ||||||
|  |                         <Extensions>.dll;.bpl</Extensions> | ||||||
|  |                     </Platform> | ||||||
|                     <Platform Name="iOSDevice64"> |                     <Platform Name="iOSDevice64"> | ||||||
|                         <Operation>1</Operation> |                         <Operation>1</Operation> | ||||||
|  |                         <Extensions>.dylib</Extensions> | ||||||
|  |                     </Platform> | ||||||
|  |                     <Platform Name="OSX32"> | ||||||
|  |                         <RemoteDir>Contents\MacOS</RemoteDir> | ||||||
|  |                         <Operation>1</Operation> | ||||||
|  |                         <Extensions>.dylib</Extensions> | ||||||
|                     </Platform> |                     </Platform> | ||||||
|                     <Platform Name="iOSDevice32"> |                     <Platform Name="iOSDevice32"> | ||||||
|                         <Operation>1</Operation> |                         <Operation>1</Operation> | ||||||
|  |                         <Extensions>.dylib</Extensions> | ||||||
|  |                     </Platform> | ||||||
|  |                     <Platform Name="iOSSimulator"> | ||||||
|  |                         <Operation>1</Operation> | ||||||
|  |                         <Extensions>.dylib</Extensions> | ||||||
|                     </Platform> |                     </Platform> | ||||||
|                 </DeployClass> |                 </DeployClass> | ||||||
|                 <DeployClass Name="ProjectOSXResource"> |                 <DeployClass Name="ProjectOSXResource"> | ||||||
| @@ -493,27 +508,12 @@ | |||||||
|                         <Operation>1</Operation> |                         <Operation>1</Operation> | ||||||
|                     </Platform> |                     </Platform> | ||||||
|                 </DeployClass> |                 </DeployClass> | ||||||
|                 <DeployClass Name="DependencyModule"> |                 <DeployClass Name="ProjectiOSDeviceResourceRules"> | ||||||
|                     <Platform Name="Win32"> |  | ||||||
|                         <Operation>0</Operation> |  | ||||||
|                         <Extensions>.dll;.bpl</Extensions> |  | ||||||
|                     </Platform> |  | ||||||
|                     <Platform Name="iOSDevice64"> |                     <Platform Name="iOSDevice64"> | ||||||
|                         <Operation>1</Operation> |                         <Operation>1</Operation> | ||||||
|                         <Extensions>.dylib</Extensions> |  | ||||||
|                     </Platform> |  | ||||||
|                     <Platform Name="OSX32"> |  | ||||||
|                         <RemoteDir>Contents\MacOS</RemoteDir> |  | ||||||
|                         <Operation>1</Operation> |  | ||||||
|                         <Extensions>.dylib</Extensions> |  | ||||||
|                     </Platform> |                     </Platform> | ||||||
|                     <Platform Name="iOSDevice32"> |                     <Platform Name="iOSDevice32"> | ||||||
|                         <Operation>1</Operation> |                         <Operation>1</Operation> | ||||||
|                         <Extensions>.dylib</Extensions> |  | ||||||
|                     </Platform> |  | ||||||
|                     <Platform Name="iOSSimulator"> |  | ||||||
|                         <Operation>1</Operation> |  | ||||||
|                         <Extensions>.dylib</Extensions> |  | ||||||
|                     </Platform> |                     </Platform> | ||||||
|                 </DeployClass> |                 </DeployClass> | ||||||
|                 <ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/> |                 <ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/> | ||||||
|   | |||||||
| @@ -2,9 +2,9 @@ | |||||||
| <BorlandProject> | <BorlandProject> | ||||||
| 	<Transactions> | 	<Transactions> | ||||||
|     <Transaction>2017/07/01 10:31:40.000.157,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas</Transaction> |     <Transaction>2017/07/01 10:31:40.000.157,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas</Transaction> | ||||||
|     <Transaction>2017/07/01 10:33:03.000.262,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\uMainForm.pas</Transaction> |     <Transaction>2017/07/01 10:33:03.000.262,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\uMainForm.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas</Transaction> | ||||||
|     <Transaction>2017/07/01 10:33:03.000.262,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\uMainForm.dfm</Transaction> |     <Transaction>2017/07/01 10:33:03.000.262,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\uMainForm.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.dfm</Transaction> | ||||||
|     <Transaction>2017/07/01 10:33:13.000.749,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Project1.dproj=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\CRBrowser.dproj</Transaction> |     <Transaction>2017/07/01 10:33:13.000.749,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\CRBrowser.dproj=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Project1.dproj</Transaction> | ||||||
|     <Transaction>2017/07/01 10:54:08.000.543,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\uCustomResourceHandler.pas</Transaction> |     <Transaction>2017/07/01 10:54:08.000.543,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\uCustomResourceHandler.pas</Transaction> | ||||||
|   </Transactions> |   </Transactions> | ||||||
| </BorlandProject> | </BorlandProject> | ||||||
|   | |||||||
| @@ -1,46 +1,32 @@ | |||||||
| [Closed Files] | [Closed Files] | ||||||
| File_0=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromium.pas',0,1,710,103,739,0,0,, | File_0=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\uMainForm.pas',0,1,10,72,115,0,0,, | ||||||
| File_1=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromiumWindow.pas',0,1,29,31,76,0,0,, | File_1=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\uCustomResourceHandler.pas',0,1,87,56,139,0,0,, | ||||||
| File_2=TSourceModule,'c:\program files\embarcadero\studio\17.0\source\rtl\common\System.Classes.pas',0,1,46,18,75,0,0,, | File_2=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromium.pas',0,1,710,103,739,0,0,, | ||||||
| File_3=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFResourceHandler.pas',0,1,34,1,38,0,0,, | File_3=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromiumWindow.pas',0,1,29,31,76,0,0,, | ||||||
| File_4=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromiumEvents.pas',0,3,68,3,97,0,0,, | File_4=TSourceModule,'c:\program files\embarcadero\studio\17.0\source\rtl\common\System.Classes.pas',0,1,46,18,75,0,0,, | ||||||
| File_5=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\SimpleBrowser\uSimpleBrowser.pas',0,1,1,1,1,0,0,, | File_5=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFResourceHandler.pas',0,1,34,1,38,0,0,, | ||||||
| File_6=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uHelloScheme.pas',0,1,97,28,54,0,0,, | File_6=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromiumEvents.pas',0,3,68,3,97,0,0,, | ||||||
| File_7=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uMiniBrowser.pas',0,1,67,21,84,0,0,, | File_7=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\SimpleBrowser\uSimpleBrowser.pas',0,1,1,1,1,0,0,, | ||||||
| File_8=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uTestExtension.pas',0,1,28,1,1,0,0,, | File_8=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uHelloScheme.pas',0,1,97,28,54,0,0,, | ||||||
| File_9=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFInterfaces.pas',0,1,738,28,775,0,0,, | File_9=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uMiniBrowser.pas',0,1,67,21,84,0,0,, | ||||||
|  |  | ||||||
| [Modules] | [Modules] | ||||||
| Module0=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\uCustomResourceHandler.pas | Module0=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\CRBrowser.dproj | ||||||
| Module1=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\CRBrowser.dproj | Module1=default.htm | ||||||
| Module2=default.htm | Count=2 | ||||||
| Module3=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\uMainForm.pas |  | ||||||
| Count=4 |  | ||||||
| EditWindowCount=1 | EditWindowCount=1 | ||||||
|  |  | ||||||
| [C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\uCustomResourceHandler.pas] |  | ||||||
| ModuleType=TSourceModule |  | ||||||
| FormState=0 |  | ||||||
| FormOnTop=0 |  | ||||||
|  |  | ||||||
| [C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\CRBrowser.dproj] | [C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\CRBrowser.dproj] | ||||||
| ModuleType=TBaseProject | ModuleType=TBaseProject | ||||||
|  |  | ||||||
| [default.htm] | [default.htm] | ||||||
| ModuleType=TURLModule | ModuleType=TURLModule | ||||||
|  |  | ||||||
| [C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\uMainForm.pas] |  | ||||||
| ModuleType=TSourceModule |  | ||||||
| FormState=1 |  | ||||||
| FormOnTop=0 |  | ||||||
|  |  | ||||||
| [EditWindow0] | [EditWindow0] | ||||||
| ViewCount=4 | ViewCount=2 | ||||||
| CurrentEditView=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\uCustomResourceHandler.pas | CurrentEditView=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\CRBrowser.dpr | ||||||
| View0=0 | View0=0 | ||||||
| View1=1 | View1=1 | ||||||
| View2=2 |  | ||||||
| View3=3 |  | ||||||
| PercentageSizes=1 | PercentageSizes=1 | ||||||
| Create=1 | Create=1 | ||||||
| Visible=1 | Visible=1 | ||||||
| @@ -59,15 +45,16 @@ BorlandEditorCodeExplorer=BorlandEditorCodeExplorer@EditWindow0 | |||||||
| TopPanelSize=0 | TopPanelSize=0 | ||||||
| LeftPanelSize=0 | LeftPanelSize=0 | ||||||
| RightPanelSize=2000 | RightPanelSize=2000 | ||||||
| RightPanelClients=DockSite2,DockSite4 | RightPanelClients=DockSite2 | ||||||
| RightPanelData=00000800010100000000AA1900000000000001D00700000000000001000000004312000009000000446F636B53697465320100000000A123000009000000446F636B5369746534FFFFFFFF | RightPanelData=00000800010100000000AA1900000000000001D0070000000000000100000000A123000009000000446F636B5369746532FFFFFFFF | ||||||
| BottomPanelSize=0 | BottomPanelSize=0 | ||||||
| BottomPanelClients=DockSite1,MessageView | BottomPanelClients=DockSite1,MessageView | ||||||
| BottomPanelData=0000080001020200000009000000446F636B53697465310F0000004D65737361676556696577466F726D3B3600000000000002C305000000000000FFFFFFFF | BottomPanelData=0000080001020200000009000000446F636B53697465310F0000004D65737361676556696577466F726D3B3600000000000002820F000000000000FFFFFFFF | ||||||
| BottomMiddlePanelSize=0 | BottomMiddlePanelSize=0 | ||||||
| BottomMiddlePanelClients=DockSite0,GraphDrawingModel | BottomMiddlePanelClients=DockSite0,GraphDrawingModel | ||||||
| BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F306000000000000FFFFFFFF | BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F306000000000000FFFFFFFF | ||||||
| TabDockLeftClients=PropertyInspector=0,DockSite3=1 | TabDockLeftClients=DockSite3=0,PropertyInspector=1 | ||||||
|  | TabDockRightClients=DockSite4=0 | ||||||
|  |  | ||||||
| [View0] | [View0] | ||||||
| CustomEditViewType=TWelcomePageView | CustomEditViewType=TWelcomePageView | ||||||
| @@ -77,35 +64,13 @@ WelcomePageURL=bds:/default.htm | |||||||
| CustomEditViewType=TEditView | CustomEditViewType=TEditView | ||||||
| Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\CRBrowser.dpr | Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\CRBrowser.dpr | ||||||
| CursorX=1 | CursorX=1 | ||||||
| CursorY=68 | CursorY=61 | ||||||
| TopLine=31 | TopLine=31 | ||||||
| LeftCol=1 | LeftCol=1 | ||||||
| Elisions= | Elisions= | ||||||
| Bookmarks= | Bookmarks= | ||||||
| EditViewName=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\CRBrowser.dpr | EditViewName=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\CRBrowser.dpr | ||||||
|  |  | ||||||
| [View2] |  | ||||||
| CustomEditViewType=TEditView |  | ||||||
| Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\uMainForm.pas |  | ||||||
| CursorX=72 |  | ||||||
| CursorY=115 |  | ||||||
| TopLine=10 |  | ||||||
| LeftCol=1 |  | ||||||
| Elisions= |  | ||||||
| Bookmarks= |  | ||||||
| EditViewName=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\uMainForm.pas |  | ||||||
|  |  | ||||||
| [View3] |  | ||||||
| CustomEditViewType=TEditView |  | ||||||
| Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\uCustomResourceHandler.pas |  | ||||||
| CursorX=56 |  | ||||||
| CursorY=139 |  | ||||||
| TopLine=87 |  | ||||||
| LeftCol=1 |  | ||||||
| Elisions= |  | ||||||
| Bookmarks= |  | ||||||
| EditViewName=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\uCustomResourceHandler.pas |  | ||||||
|  |  | ||||||
| [Watches] | [Watches] | ||||||
| Count=0 | Count=0 | ||||||
|  |  | ||||||
| @@ -120,11 +85,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=213 | TBDockHeight=213 | ||||||
| LRDockWidth=13602 | LRDockWidth=13602 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -168,11 +133,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=4226 | Height=8868 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=4226 | ClientHeight=8868 | ||||||
| TBDockHeight=5897 | TBDockHeight=5897 | ||||||
| LRDockWidth=2352 | LRDockWidth=2352 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -187,12 +152,12 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=23 | Top=23 | ||||||
| Width=2773 | Width=2773 | ||||||
| Height=1267 | Height=3845 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2773 | ClientWidth=2773 | ||||||
| ClientHeight=1267 | ClientHeight=3845 | ||||||
| TBDockHeight=1267 | TBDockHeight=3845 | ||||||
| LRDockWidth=2773 | LRDockWidth=2773 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
| @@ -205,12 +170,12 @@ Docked=1 | |||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=1875 | ||||||
| Height=4339 | Height=6693 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=1875 | ||||||
| ClientHeight=4339 | ClientHeight=6693 | ||||||
| TBDockHeight=7152 | TBDockHeight=7152 | ||||||
| LRDockWidth=2000 | LRDockWidth=2000 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -323,13 +288,13 @@ Width=1898 | |||||||
| Height=7164 | Height=7164 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=1898 | ClientWidth=1773 | ||||||
| ClientHeight=7164 | ClientHeight=6738 | ||||||
| TBDockHeight=7164 | TBDockHeight=7164 | ||||||
| LRDockWidth=1898 | LRDockWidth=1898 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
| SplitPos=111 | SplitPos=136 | ||||||
|  |  | ||||||
| [frmDesignPreview] | [frmDesignPreview] | ||||||
| PercentageSizes=1 | PercentageSizes=1 | ||||||
| @@ -375,8 +340,8 @@ Create=1 | |||||||
| Visible=0 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=-1152 | Left=-8 | ||||||
| Top=243 | Top=287 | ||||||
| Width=273 | Width=273 | ||||||
| Height=359 | Height=359 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| @@ -400,11 +365,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=415 | TBDockHeight=415 | ||||||
| LRDockWidth=4953 | LRDockWidth=4953 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -419,11 +384,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=213 | TBDockHeight=213 | ||||||
| LRDockWidth=7406 | LRDockWidth=7406 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -442,11 +407,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=1536 | TBDockHeight=1536 | ||||||
| LRDockWidth=3484 | LRDockWidth=3484 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -461,11 +426,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=2063 | TBDockHeight=2063 | ||||||
| LRDockWidth=3484 | LRDockWidth=3484 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -583,11 +548,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=1547 | TBDockHeight=1547 | ||||||
| LRDockWidth=8742 | LRDockWidth=8742 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -695,12 +660,12 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=23 | Top=23 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1424 | Height=874 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1424 | ClientHeight=874 | ||||||
| TBDockHeight=1424 | TBDockHeight=874 | ||||||
| LRDockWidth=3820 | LRDockWidth=3820 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
| @@ -719,11 +684,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=23 | Top=23 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=4529 | Height=9170 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=4529 | ClientHeight=9170 | ||||||
| TBDockHeight=7119 | TBDockHeight=7119 | ||||||
| LRDockWidth=2000 | LRDockWidth=2000 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -757,21 +722,21 @@ ActiveTabID=StructureView | |||||||
| TabDockClients=StructureView,ClassBrowserTool | TabDockClients=StructureView,ClassBrowserTool | ||||||
|  |  | ||||||
| [DockSite4] | [DockSite4] | ||||||
| HostDockSite=DockRightPanel | HostDockSite=RightTabDock | ||||||
| DockSiteType=1 | DockSiteType=1 | ||||||
| PercentageSizes=1 | PercentageSizes=1 | ||||||
| Create=1 | Create=1 | ||||||
| Visible=1 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=454 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=4339 | Height=7119 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=1875 | ||||||
| ClientHeight=4339 | ClientHeight=6693 | ||||||
| TBDockHeight=7119 | TBDockHeight=7119 | ||||||
| LRDockWidth=2000 | LRDockWidth=2000 | ||||||
| Dockable=1 | Dockable=1 | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| [Stats] | [Stats] | ||||||
| EditorSecs=425 | EditorSecs=443 | ||||||
| DesignerSecs=9 | DesignerSecs=9 | ||||||
| InspectorSecs=14 | InspectorSecs=14 | ||||||
| CompileSecs=40629 | CompileSecs=40629 | ||||||
|   | |||||||
| @@ -2,11 +2,11 @@ | |||||||
| <BorlandProject> | <BorlandProject> | ||||||
| 	<Transactions> | 	<Transactions> | ||||||
|     <Transaction>2017/05/21 18:54:00.000.243,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas</Transaction> |     <Transaction>2017/05/21 18:54:00.000.243,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas</Transaction> | ||||||
|     <Transaction>2017/05/21 18:54:33.000.390,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\uMainForm.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.dfm</Transaction> |     <Transaction>2017/05/21 18:54:33.000.390,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\uMainForm.pas</Transaction> | ||||||
|     <Transaction>2017/05/21 18:54:33.000.390,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\uMainForm.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas</Transaction> |     <Transaction>2017/05/21 18:54:33.000.390,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\uMainForm.dfm</Transaction> | ||||||
|     <Transaction>2017/05/21 18:54:43.000.194,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\FullScreenBrowser\Project1.dproj=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Project1.dproj</Transaction> |     <Transaction>2017/05/21 18:54:43.000.194,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Project1.dproj=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\FullScreenBrowser\Project1.dproj</Transaction> | ||||||
|     <Transaction>2017/05/21 18:54:50.000.736,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\FullScreenBrowser\uMainForm.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\uMainForm.pas</Transaction> |     <Transaction>2017/05/21 18:54:50.000.736,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\uMainForm.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\FullScreenBrowser\uMainForm.dfm</Transaction> | ||||||
|     <Transaction>2017/05/21 18:54:50.000.736,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\FullScreenBrowser\uMainForm.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\uMainForm.dfm</Transaction> |     <Transaction>2017/05/21 18:54:50.000.736,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\uMainForm.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\FullScreenBrowser\uMainForm.pas</Transaction> | ||||||
|     <Transaction>2017/05/21 19:04:55.000.900,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\FullScreenBrowser\FullScreenBrowser.dproj=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\FullScreenBrowser\Project1.dproj</Transaction> |     <Transaction>2017/05/21 19:04:55.000.900,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\FullScreenBrowser\Project1.dproj=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\FullScreenBrowser\FullScreenBrowser.dproj</Transaction> | ||||||
|   </Transactions> |   </Transactions> | ||||||
| </BorlandProject> | </BorlandProject> | ||||||
|   | |||||||
| @@ -52,15 +52,16 @@ BorlandEditorCodeExplorer=BorlandEditorCodeExplorer@EditWindow0 | |||||||
| TopPanelSize=0 | TopPanelSize=0 | ||||||
| LeftPanelSize=0 | LeftPanelSize=0 | ||||||
| RightPanelSize=2000 | RightPanelSize=2000 | ||||||
| RightPanelClients=DockSite2,DockSite4 | RightPanelClients=DockSite2 | ||||||
| RightPanelData=00000800010100000000551500000000000001D00700000000000001000000004312000009000000446F636B536974653201000000009D1D000009000000446F636B5369746534FFFFFFFF | RightPanelData=00000800010100000000AA1900000000000001D0070000000000000100000000A123000009000000446F636B5369746532FFFFFFFF | ||||||
| BottomPanelSize=1475 | BottomPanelSize=0 | ||||||
| BottomPanelClients=DockSite1,MessageView | BottomPanelClients=DockSite1,MessageView | ||||||
| BottomPanelData=0000080001020100000009000000446F636B53697465313B3600000000000002C30500000000000001000000003B3600000F0000004D65737361676556696577466F726DFFFFFFFF | BottomPanelData=0000080001020200000009000000446F636B53697465310F0000004D65737361676556696577466F726D3B3600000000000002820F000000000000FFFFFFFF | ||||||
| BottomMiddlePanelSize=0 | BottomMiddlePanelSize=0 | ||||||
| BottomMiddlePanelClients=DockSite0,GraphDrawingModel | BottomMiddlePanelClients=DockSite0,GraphDrawingModel | ||||||
| BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F306000000000000FFFFFFFF | BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F306000000000000FFFFFFFF | ||||||
| TabDockLeftClients=PropertyInspector=0,DockSite3=1 | TabDockLeftClients=DockSite3=0,PropertyInspector=1 | ||||||
|  | TabDockRightClients=DockSite4=0 | ||||||
|  |  | ||||||
| [View0] | [View0] | ||||||
| CustomEditViewType=TWelcomePageView | CustomEditViewType=TWelcomePageView | ||||||
| @@ -102,11 +103,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=213 | TBDockHeight=213 | ||||||
| LRDockWidth=13602 | LRDockWidth=13602 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -150,11 +151,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=4226 | Height=8868 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=4226 | ClientHeight=8868 | ||||||
| TBDockHeight=5897 | TBDockHeight=5897 | ||||||
| LRDockWidth=2352 | LRDockWidth=2352 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -163,18 +164,18 @@ StayOnTop=0 | |||||||
| [MessageView] | [MessageView] | ||||||
| PercentageSizes=1 | PercentageSizes=1 | ||||||
| Create=1 | Create=1 | ||||||
| Visible=1 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=23 | Top=23 | ||||||
| Width=10000 | Width=2773 | ||||||
| Height=1267 | Height=3845 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=10000 | ClientWidth=2773 | ||||||
| ClientHeight=1267 | ClientHeight=3845 | ||||||
| TBDockHeight=1267 | TBDockHeight=3845 | ||||||
| LRDockWidth=2773 | LRDockWidth=2773 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
| @@ -187,12 +188,12 @@ Docked=1 | |||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=1875 | ||||||
| Height=2747 | Height=6693 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=1875 | ||||||
| ClientHeight=2747 | ClientHeight=6693 | ||||||
| TBDockHeight=7152 | TBDockHeight=7152 | ||||||
| LRDockWidth=2000 | LRDockWidth=2000 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -242,8 +243,8 @@ Create=1 | |||||||
| Visible=0 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=-148 | Left=-8 | ||||||
| Top=-137 | Top=-30 | ||||||
| Width=1844 | Width=1844 | ||||||
| Height=3139 | Height=3139 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| @@ -299,19 +300,19 @@ Create=1 | |||||||
| Visible=0 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=78 | ||||||
| Top=362 | Top=386 | ||||||
| Width=1898 | Width=1898 | ||||||
| Height=5370 | Height=7164 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=1898 | ClientWidth=1773 | ||||||
| ClientHeight=5370 | ClientHeight=6738 | ||||||
| TBDockHeight=7164 | TBDockHeight=7164 | ||||||
| LRDockWidth=1898 | LRDockWidth=1898 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
| SplitPos=111 | SplitPos=136 | ||||||
|  |  | ||||||
| [frmDesignPreview] | [frmDesignPreview] | ||||||
| PercentageSizes=1 | PercentageSizes=1 | ||||||
| @@ -322,11 +323,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=6861 | Height=6816 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=6861 | ClientHeight=6816 | ||||||
| TBDockHeight=5964 | TBDockHeight=5964 | ||||||
| LRDockWidth=2508 | LRDockWidth=2508 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -338,8 +339,8 @@ Create=1 | |||||||
| Visible=0 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=-898 | Left=-946 | ||||||
| Top=-137 | Top=1 | ||||||
| Width=2844 | Width=2844 | ||||||
| Height=6200 | Height=6200 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| @@ -357,8 +358,8 @@ Create=1 | |||||||
| Visible=0 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=-1026 | Left=-8 | ||||||
| Top=-137 | Top=287 | ||||||
| Width=273 | Width=273 | ||||||
| Height=359 | Height=359 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| @@ -382,11 +383,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=415 | TBDockHeight=415 | ||||||
| LRDockWidth=4953 | LRDockWidth=4953 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -401,11 +402,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=213 | TBDockHeight=213 | ||||||
| LRDockWidth=7406 | LRDockWidth=7406 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -424,11 +425,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=1536 | TBDockHeight=1536 | ||||||
| LRDockWidth=3484 | LRDockWidth=3484 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -443,11 +444,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=2063 | TBDockHeight=2063 | ||||||
| LRDockWidth=3484 | LRDockWidth=3484 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -462,11 +463,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2336 | Width=2336 | ||||||
| Height=1177 | Height=942 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2336 | ClientWidth=2336 | ||||||
| ClientHeight=1177 | ClientHeight=942 | ||||||
| TBDockHeight=2321 | TBDockHeight=2321 | ||||||
| LRDockWidth=2820 | LRDockWidth=2820 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -527,11 +528,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=6861 | Height=6816 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=6861 | ClientHeight=6816 | ||||||
| TBDockHeight=4888 | TBDockHeight=4888 | ||||||
| LRDockWidth=7148 | LRDockWidth=7148 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -543,8 +544,8 @@ Create=1 | |||||||
| Visible=0 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=249 | ||||||
| Top=0 | Top=709 | ||||||
| Width=2859 | Width=2859 | ||||||
| Height=3206 | Height=3206 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| @@ -565,11 +566,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=1547 | TBDockHeight=1547 | ||||||
| LRDockWidth=8742 | LRDockWidth=8742 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -590,12 +591,12 @@ Docked=1 | |||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=1898 | Width=1773 | ||||||
| Height=9170 | Height=6738 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=1898 | ClientWidth=1773 | ||||||
| ClientHeight=9170 | ClientHeight=6738 | ||||||
| TBDockHeight=3677 | TBDockHeight=3677 | ||||||
| LRDockWidth=1898 | LRDockWidth=1898 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -610,11 +611,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=6861 | Height=6816 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=6861 | ClientHeight=6816 | ||||||
| TBDockHeight=4888 | TBDockHeight=4888 | ||||||
| LRDockWidth=5305 | LRDockWidth=5305 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -675,14 +676,14 @@ Visible=0 | |||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=23 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1424 | Height=874 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1424 | ClientHeight=874 | ||||||
| TBDockHeight=1424 | TBDockHeight=874 | ||||||
| LRDockWidth=3820 | LRDockWidth=3820 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
| @@ -701,12 +702,12 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=23 | Top=23 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=4529 | Height=9170 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=4529 | ClientHeight=9170 | ||||||
| TBDockHeight=7164 | TBDockHeight=7119 | ||||||
| LRDockWidth=2000 | LRDockWidth=2000 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
| @@ -723,13 +724,13 @@ Visible=0 | |||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=23 | Top=0 | ||||||
| Width=1898 | Width=1898 | ||||||
| Height=9170 | Height=7164 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=1898 | ClientWidth=1773 | ||||||
| ClientHeight=9170 | ClientHeight=6738 | ||||||
| TBDockHeight=7164 | TBDockHeight=7164 | ||||||
| LRDockWidth=1898 | LRDockWidth=1898 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -739,22 +740,22 @@ ActiveTabID=StructureView | |||||||
| TabDockClients=StructureView,ClassBrowserTool | TabDockClients=StructureView,ClassBrowserTool | ||||||
|  |  | ||||||
| [DockSite4] | [DockSite4] | ||||||
| HostDockSite=DockRightPanel | HostDockSite=RightTabDock | ||||||
| DockSiteType=1 | DockSiteType=1 | ||||||
| PercentageSizes=1 | PercentageSizes=1 | ||||||
| Create=1 | Create=1 | ||||||
| Visible=1 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=454 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=2747 | Height=7119 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=1875 | ||||||
| ClientHeight=2747 | ClientHeight=6693 | ||||||
| TBDockHeight=7164 | TBDockHeight=7119 | ||||||
| LRDockWidth=2000 | LRDockWidth=2000 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
|   | |||||||
| @@ -3,7 +3,7 @@ EditorSecs=34 | |||||||
| DesignerSecs=1 | DesignerSecs=1 | ||||||
| InspectorSecs=1 | InspectorSecs=1 | ||||||
| CompileSecs=1 | CompileSecs=1 | ||||||
| OtherSecs=2 | OtherSecs=3 | ||||||
| StartTime=01/06/2017 10:25:13 | StartTime=01/06/2017 10:25:13 | ||||||
| RealKeys=0 | RealKeys=0 | ||||||
| EffectiveKeys=0 | EffectiveKeys=0 | ||||||
|   | |||||||
| @@ -42,10 +42,14 @@ program MiniBrowser; | |||||||
|  |  | ||||||
| uses | uses | ||||||
|   {$IFDEF DELPHI16_UP} |   {$IFDEF DELPHI16_UP} | ||||||
|   Vcl.Forms, WinApi.Windows, System.SysUtils, |   Vcl.Forms, | ||||||
|  |   WinApi.Windows, | ||||||
|  |   System.SysUtils, | ||||||
|   {$ELSE} |   {$ELSE} | ||||||
|   Forms, Windows, SysUtils, |   Forms, | ||||||
|   {$ENDIF} |   Windows, | ||||||
|  |   SysUtils, | ||||||
|  |   {$ENDIF } | ||||||
|   uCEFApplication, |   uCEFApplication, | ||||||
|   uCEFMiscFunctions, |   uCEFMiscFunctions, | ||||||
|   uCEFSchemeRegistrar, |   uCEFSchemeRegistrar, | ||||||
| @@ -57,10 +61,12 @@ uses | |||||||
|   uCEFConstants, |   uCEFConstants, | ||||||
|   uCEFTypes, |   uCEFTypes, | ||||||
|   uCEFTask, |   uCEFTask, | ||||||
|  |   uCEFProcessMessage, | ||||||
|   uMiniBrowser in 'uMiniBrowser.pas' {MiniBrowserFrm}, |   uMiniBrowser in 'uMiniBrowser.pas' {MiniBrowserFrm}, | ||||||
|   uTestExtension in 'uTestExtension.pas', |   uTestExtension in 'uTestExtension.pas', | ||||||
|   uHelloScheme in 'uHelloScheme.pas', |   uHelloScheme in 'uHelloScheme.pas', | ||||||
|   uPreferences in 'uPreferences.pas' {PreferencesFrm}; |   uPreferences in 'uPreferences.pas' {PreferencesFrm}, | ||||||
|  |   uSimpleTextViewer in 'uSimpleTextViewer.pas' {SimpleTextViewerFrm}; | ||||||
|  |  | ||||||
| {$R *.res} | {$R *.res} | ||||||
|  |  | ||||||
| @@ -121,7 +127,9 @@ begin | |||||||
|   end; |   end; | ||||||
| end; | end; | ||||||
|  |  | ||||||
| procedure DOMVisitor_OnDocAvailable(const document: ICefDomDocument); | procedure DOMVisitor_OnDocAvailable(const browser: ICefBrowser; const document: ICefDomDocument); | ||||||
|  | var | ||||||
|  |   msg: ICefProcessMessage; | ||||||
| begin | begin | ||||||
|   // This function is called from a different process. |   // This function is called from a different process. | ||||||
|   // document is only valid inside this function. |   // document is only valid inside this function. | ||||||
| @@ -133,12 +141,19 @@ begin | |||||||
|  |  | ||||||
|   // Simple DOM searches |   // Simple DOM searches | ||||||
|   SimpleNodeSearch(document); |   SimpleNodeSearch(document); | ||||||
|  |  | ||||||
|  |   // Sending back some custom results to the browser process | ||||||
|  |   // Notice that the 'domvisitor' message name needs to be recognized in | ||||||
|  |   // Chromium1ProcessMessageReceived | ||||||
|  |   msg := TCefProcessMessageRef.New('domvisitor'); | ||||||
|  |   msg.ArgumentList.SetString(0, 'document.Title : ' + document.Title); | ||||||
|  |   browser.SendProcessMessage(PID_BROWSER, msg); | ||||||
| end; | end; | ||||||
|  |  | ||||||
| procedure ProcessHandler_OnCustomMessage(const browser: ICefBrowser; sourceProcess: TCefProcessId; const message: ICefProcessMessage); | procedure ProcessHandler_OnCustomMessage(const browser: ICefBrowser; sourceProcess: TCefProcessId; const message: ICefProcessMessage); | ||||||
| var | var | ||||||
|   TempFrame : ICefFrame; |   TempFrame : ICefFrame; | ||||||
|   TempVisitor : TCefFastDomVisitor; |   TempVisitor : TCefFastDomVisitor2; | ||||||
| begin | begin | ||||||
|   if (browser <> nil) then |   if (browser <> nil) then | ||||||
|     begin |     begin | ||||||
| @@ -146,7 +161,7 @@ begin | |||||||
|  |  | ||||||
|       if (TempFrame <> nil) then |       if (TempFrame <> nil) then | ||||||
|         begin |         begin | ||||||
|           TempVisitor := TCefFastDomVisitor.Create(DOMVisitor_OnDocAvailable); |           TempVisitor := TCefFastDomVisitor2.Create(browser, DOMVisitor_OnDocAvailable); | ||||||
|           TempFrame.VisitDom(TempVisitor); |           TempFrame.VisitDom(TempVisitor); | ||||||
|         end; |         end; | ||||||
|     end; |     end; | ||||||
| @@ -214,8 +229,9 @@ begin | |||||||
|       Application.MainFormOnTaskbar := True; |       Application.MainFormOnTaskbar := True; | ||||||
|       {$ENDIF} |       {$ENDIF} | ||||||
|       Application.CreateForm(TMiniBrowserFrm, MiniBrowserFrm); |       Application.CreateForm(TMiniBrowserFrm, MiniBrowserFrm); | ||||||
|       Application.CreateForm(TPreferencesFrm, PreferencesFrm); |   Application.CreateForm(TPreferencesFrm, PreferencesFrm); | ||||||
|       Application.Run; |   Application.CreateForm(TSimpleTextViewerFrm, SimpleTextViewerFrm); | ||||||
|  |   Application.Run; | ||||||
|     end; |     end; | ||||||
|  |  | ||||||
|   GlobalCEFApp.Free; |   GlobalCEFApp.Free; | ||||||
|   | |||||||
| @@ -106,6 +106,10 @@ | |||||||
|         <DCCReference Include="uPreferences.pas"> |         <DCCReference Include="uPreferences.pas"> | ||||||
|             <Form>PreferencesFrm</Form> |             <Form>PreferencesFrm</Form> | ||||||
|         </DCCReference> |         </DCCReference> | ||||||
|  |         <DCCReference Include="uSimpleTextViewer.pas"> | ||||||
|  |             <Form>SimpleTextViewerFrm</Form> | ||||||
|  |             <FormType>dfm</FormType> | ||||||
|  |         </DCCReference> | ||||||
|         <BuildConfiguration Include="Release"> |         <BuildConfiguration Include="Release"> | ||||||
|             <Key>Cfg_2</Key> |             <Key>Cfg_2</Key> | ||||||
|             <CfgParent>Base</CfgParent> |             <CfgParent>Base</CfgParent> | ||||||
|   | |||||||
| @@ -2,16 +2,19 @@ | |||||||
| <BorlandProject> | <BorlandProject> | ||||||
| 	<Transactions> | 	<Transactions> | ||||||
|     <Transaction>2017/02/11 10:15:32.000.980,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas</Transaction> |     <Transaction>2017/02/11 10:15:32.000.980,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas</Transaction> | ||||||
|     <Transaction>2017/02/11 10:16:27.000.174,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uMiniBrowser.pas</Transaction> |     <Transaction>2017/02/11 10:16:27.000.174,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uMiniBrowser.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.dfm</Transaction> | ||||||
|     <Transaction>2017/02/11 10:16:27.000.174,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uMiniBrowser.dfm</Transaction> |     <Transaction>2017/02/11 10:16:27.000.174,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uMiniBrowser.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas</Transaction> | ||||||
|     <Transaction>2017/02/11 10:16:37.000.392,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Project1.dproj=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\MiniBrowser.dproj</Transaction> |     <Transaction>2017/02/11 10:16:37.000.392,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\MiniBrowser.dproj=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Project1.dproj</Transaction> | ||||||
|     <Transaction>2017/02/11 17:10:26.000.471,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\Unit1.pas</Transaction> |     <Transaction>2017/02/11 17:10:26.000.471,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\Unit1.pas</Transaction> | ||||||
|     <Transaction>2017/02/11 17:11:01.000.244,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uTestExtension.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\Unit1.pas</Transaction> |     <Transaction>2017/02/11 17:11:01.000.244,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\Unit1.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uTestExtension.pas</Transaction> | ||||||
|     <Transaction>2017/03/12 17:11:11.000.786,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uFileScheme.pas</Transaction> |     <Transaction>2017/03/12 17:11:11.000.786,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uFileScheme.pas</Transaction> | ||||||
|     <Transaction>2017/03/13 19:22:41.000.994,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uFileScheme.pas=</Transaction> |     <Transaction>2017/03/13 19:22:41.000.994,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uFileScheme.pas=</Transaction> | ||||||
|     <Transaction>2017/03/13 19:23:05.000.371,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uHelloScheme.pas</Transaction> |     <Transaction>2017/03/13 19:23:05.000.371,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uHelloScheme.pas</Transaction> | ||||||
|     <Transaction>2017/03/15 12:39:07.000.741,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\Unit1.pas</Transaction> |     <Transaction>2017/03/15 12:39:07.000.741,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\Unit1.pas</Transaction> | ||||||
|     <Transaction>2017/03/15 12:40:51.000.061,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uPreferences.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\Unit1.pas</Transaction> |     <Transaction>2017/03/15 12:40:51.000.061,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\Unit1.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uPreferences.dfm</Transaction> | ||||||
|     <Transaction>2017/03/15 12:40:51.000.061,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uPreferences.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\Unit1.dfm</Transaction> |     <Transaction>2017/03/15 12:40:51.000.061,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\Unit1.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uPreferences.pas</Transaction> | ||||||
|  |     <Transaction>2017/07/14 11:54:07.000.560,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\Unit1.pas</Transaction> | ||||||
|  |     <Transaction>2017/07/14 11:57:42.000.778,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uSimpleTextViewer.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\Unit1.pas</Transaction> | ||||||
|  |     <Transaction>2017/07/14 11:57:42.000.778,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uSimpleTextViewer.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\Unit1.dfm</Transaction> | ||||||
|   </Transactions> |   </Transactions> | ||||||
| </BorlandProject> | </BorlandProject> | ||||||
|   | |||||||
| @@ -1,32 +1,39 @@ | |||||||
| [Closed Files] | [Closed Files] | ||||||
| File_0=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uHelloScheme.pas',0,1,97,28,54,0,0,, | File_0=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uPreferences.pas',0,1,38,17,84,0,0,, | ||||||
| File_1=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uMiniBrowser.pas',0,1,67,21,84,0,0,, | File_1=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uTestExtension.pas',0,1,49,33,81,0,0,, | ||||||
| File_2=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromium.pas',0,1,533,111,562,0,0,, | File_2=TSourceModule,'c:\program files\embarcadero\studio\17.0\SOURCE\VCL\Vcl.Menus.pas',0,1,318,3,287,0,0,, | ||||||
| File_3=TSourceModule,'c:\program files\embarcadero\studio\17.0\source\rtl\common\System.Classes.pas',0,1,866,3,766,0,0,, | File_3=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uSimpleTextViewer.pas',0,1,1,23,1,0,0,, | ||||||
| File_4=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uTestExtension.pas',0,1,28,1,1,0,0,, | File_4=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFInterfaces.pas',0,1,1142,14,1168,0,0,, | ||||||
| File_5=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFInterfaces.pas',0,1,738,28,775,0,0,, | File_5=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFMiscFunctions.pas',0,1,488,5,496,0,0,, | ||||||
| File_6=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uPreferences.pas',0,1,38,18,54,0,0,, | File_6=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFTypes.pas',0,1,34,59,37,0,0,, | ||||||
| File_7=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFApplication.pas',0,1,268,48,304,0,0,, | File_7=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFDomVisitor.pas',0,1,109,3,135,0,0,, | ||||||
| File_8=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFDomNode.pas',0,1,34,1,1,0,0,, | File_8=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFFrame.pas',0,1,204,31,234,0,0,, | ||||||
| File_9=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFDomDocument.pas',0,1,25,1,1,0,0,, | File_9=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uHelloScheme.pas',0,1,97,28,54,0,0,, | ||||||
|  |  | ||||||
| [Modules] | [Modules] | ||||||
| Module0=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\MiniBrowser.dproj | Module0=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\MiniBrowser.dproj | ||||||
| Module1=default.htm | Module1=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uMiniBrowser.pas | ||||||
| Count=2 | Module2=default.htm | ||||||
|  | Count=3 | ||||||
| EditWindowCount=1 | EditWindowCount=1 | ||||||
|  |  | ||||||
| [C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\MiniBrowser.dproj] | [C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\MiniBrowser.dproj] | ||||||
| ModuleType=TBaseProject | ModuleType=TBaseProject | ||||||
|  |  | ||||||
|  | [C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uMiniBrowser.pas] | ||||||
|  | ModuleType=TSourceModule | ||||||
|  | FormState=1 | ||||||
|  | FormOnTop=0 | ||||||
|  |  | ||||||
| [default.htm] | [default.htm] | ||||||
| ModuleType=TURLModule | ModuleType=TURLModule | ||||||
|  |  | ||||||
| [EditWindow0] | [EditWindow0] | ||||||
| ViewCount=2 | ViewCount=3 | ||||||
| CurrentEditView=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\MiniBrowser.dpr | CurrentEditView=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\MiniBrowser.dpr | ||||||
| View0=0 | View0=0 | ||||||
| View1=1 | View1=1 | ||||||
|  | View2=2 | ||||||
| PercentageSizes=1 | PercentageSizes=1 | ||||||
| Create=1 | Create=1 | ||||||
| Visible=1 | Visible=1 | ||||||
| @@ -45,15 +52,16 @@ BorlandEditorCodeExplorer=BorlandEditorCodeExplorer@EditWindow0 | |||||||
| TopPanelSize=0 | TopPanelSize=0 | ||||||
| LeftPanelSize=0 | LeftPanelSize=0 | ||||||
| RightPanelSize=2000 | RightPanelSize=2000 | ||||||
| RightPanelClients=DockSite2,DockSite4 | RightPanelClients=DockSite2 | ||||||
| RightPanelData=00000800010100000000551500000000000001D00700000000000001000000004312000009000000446F636B536974653201000000009D1D000009000000446F636B5369746534FFFFFFFF | RightPanelData=00000800010100000000AA1900000000000001D0070000000000000100000000A123000009000000446F636B5369746532FFFFFFFF | ||||||
| BottomPanelSize=1475 | BottomPanelSize=0 | ||||||
| BottomPanelClients=DockSite1,MessageView | BottomPanelClients=DockSite1,MessageView | ||||||
| BottomPanelData=0000080001020100000009000000446F636B53697465313B3600000000000002C30500000000000001000000003B3600000F0000004D65737361676556696577466F726DFFFFFFFF | BottomPanelData=0000080001020200000009000000446F636B53697465310F0000004D65737361676556696577466F726D3B3600000000000002820F000000000000FFFFFFFF | ||||||
| BottomMiddlePanelSize=0 | BottomMiddlePanelSize=0 | ||||||
| BottomMiddlePanelClients=DockSite0,GraphDrawingModel | BottomMiddlePanelClients=DockSite0,GraphDrawingModel | ||||||
| BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F306000000000000FFFFFFFF | BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F306000000000000FFFFFFFF | ||||||
| TabDockLeftClients=PropertyInspector=0,DockSite3=1 | TabDockLeftClients=DockSite3=0,PropertyInspector=1 | ||||||
|  | TabDockRightClients=DockSite4=0 | ||||||
|  |  | ||||||
| [View0] | [View0] | ||||||
| CustomEditViewType=TWelcomePageView | CustomEditViewType=TWelcomePageView | ||||||
| @@ -62,14 +70,25 @@ WelcomePageURL=bds:/default.htm | |||||||
| [View1] | [View1] | ||||||
| CustomEditViewType=TEditView | CustomEditViewType=TEditView | ||||||
| Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\MiniBrowser.dpr | Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\MiniBrowser.dpr | ||||||
| CursorX=19 | CursorX=2 | ||||||
| CursorY=47 | CursorY=205 | ||||||
| TopLine=24 | TopLine=156 | ||||||
| LeftCol=1 | LeftCol=1 | ||||||
| Elisions= | Elisions= | ||||||
| Bookmarks= | Bookmarks= | ||||||
| EditViewName=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\MiniBrowser.dpr | EditViewName=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\MiniBrowser.dpr | ||||||
|  |  | ||||||
|  | [View2] | ||||||
|  | CustomEditViewType=TEditView | ||||||
|  | Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uMiniBrowser.pas | ||||||
|  | CursorX=23 | ||||||
|  | CursorY=94 | ||||||
|  | TopLine=76 | ||||||
|  | LeftCol=1 | ||||||
|  | Elisions= | ||||||
|  | Bookmarks={1,476,42}{2,565,17}{3,303,29} | ||||||
|  | EditViewName=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uMiniBrowser.pas | ||||||
|  |  | ||||||
| [Watches] | [Watches] | ||||||
| Count=0 | Count=0 | ||||||
|  |  | ||||||
| @@ -84,11 +103,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=213 | TBDockHeight=213 | ||||||
| LRDockWidth=13602 | LRDockWidth=13602 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -132,11 +151,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=4226 | Height=8868 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=4226 | ClientHeight=8868 | ||||||
| TBDockHeight=5897 | TBDockHeight=5897 | ||||||
| LRDockWidth=2352 | LRDockWidth=2352 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -145,18 +164,18 @@ StayOnTop=0 | |||||||
| [MessageView] | [MessageView] | ||||||
| PercentageSizes=1 | PercentageSizes=1 | ||||||
| Create=1 | Create=1 | ||||||
| Visible=1 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=23 | Top=23 | ||||||
| Width=10000 | Width=2773 | ||||||
| Height=1267 | Height=3845 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=10000 | ClientWidth=2773 | ||||||
| ClientHeight=1267 | ClientHeight=3845 | ||||||
| TBDockHeight=1267 | TBDockHeight=3845 | ||||||
| LRDockWidth=2773 | LRDockWidth=2773 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
| @@ -169,12 +188,12 @@ Docked=1 | |||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=1875 | ||||||
| Height=2747 | Height=6693 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=1875 | ||||||
| ClientHeight=2747 | ClientHeight=6693 | ||||||
| TBDockHeight=7152 | TBDockHeight=7152 | ||||||
| LRDockWidth=2000 | LRDockWidth=2000 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -224,8 +243,8 @@ Create=1 | |||||||
| Visible=0 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=-148 | Left=-8 | ||||||
| Top=-137 | Top=-30 | ||||||
| Width=1844 | Width=1844 | ||||||
| Height=3139 | Height=3139 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| @@ -281,19 +300,19 @@ Create=1 | |||||||
| Visible=0 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=78 | ||||||
| Top=362 | Top=386 | ||||||
| Width=1898 | Width=1898 | ||||||
| Height=5370 | Height=7164 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=1898 | ClientWidth=1773 | ||||||
| ClientHeight=5370 | ClientHeight=6738 | ||||||
| TBDockHeight=7164 | TBDockHeight=7164 | ||||||
| LRDockWidth=1898 | LRDockWidth=1898 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
| SplitPos=111 | SplitPos=136 | ||||||
|  |  | ||||||
| [frmDesignPreview] | [frmDesignPreview] | ||||||
| PercentageSizes=1 | PercentageSizes=1 | ||||||
| @@ -304,11 +323,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=6861 | Height=6816 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=6861 | ClientHeight=6816 | ||||||
| TBDockHeight=5964 | TBDockHeight=5964 | ||||||
| LRDockWidth=2508 | LRDockWidth=2508 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -320,8 +339,8 @@ Create=1 | |||||||
| Visible=0 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=-898 | Left=-946 | ||||||
| Top=-137 | Top=1 | ||||||
| Width=2844 | Width=2844 | ||||||
| Height=6200 | Height=6200 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| @@ -339,8 +358,8 @@ Create=1 | |||||||
| Visible=0 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=-1026 | Left=-8 | ||||||
| Top=-137 | Top=287 | ||||||
| Width=273 | Width=273 | ||||||
| Height=359 | Height=359 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| @@ -364,11 +383,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=415 | TBDockHeight=415 | ||||||
| LRDockWidth=4953 | LRDockWidth=4953 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -383,11 +402,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=213 | TBDockHeight=213 | ||||||
| LRDockWidth=7406 | LRDockWidth=7406 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -406,11 +425,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=1536 | TBDockHeight=1536 | ||||||
| LRDockWidth=3484 | LRDockWidth=3484 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -425,11 +444,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=2063 | TBDockHeight=2063 | ||||||
| LRDockWidth=3484 | LRDockWidth=3484 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -444,11 +463,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2336 | Width=2336 | ||||||
| Height=1177 | Height=942 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2336 | ClientWidth=2336 | ||||||
| ClientHeight=1177 | ClientHeight=942 | ||||||
| TBDockHeight=2321 | TBDockHeight=2321 | ||||||
| LRDockWidth=2820 | LRDockWidth=2820 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -509,11 +528,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=6861 | Height=6816 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=6861 | ClientHeight=6816 | ||||||
| TBDockHeight=4888 | TBDockHeight=4888 | ||||||
| LRDockWidth=7148 | LRDockWidth=7148 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -525,8 +544,8 @@ Create=1 | |||||||
| Visible=0 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=249 | ||||||
| Top=0 | Top=709 | ||||||
| Width=2859 | Width=2859 | ||||||
| Height=3206 | Height=3206 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| @@ -547,11 +566,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=1547 | TBDockHeight=1547 | ||||||
| LRDockWidth=8742 | LRDockWidth=8742 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -572,12 +591,12 @@ Docked=1 | |||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=1898 | Width=1773 | ||||||
| Height=9170 | Height=6738 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=1898 | ClientWidth=1773 | ||||||
| ClientHeight=9170 | ClientHeight=6738 | ||||||
| TBDockHeight=3677 | TBDockHeight=3677 | ||||||
| LRDockWidth=1898 | LRDockWidth=1898 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -592,11 +611,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=6861 | Height=6816 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=6861 | ClientHeight=6816 | ||||||
| TBDockHeight=4888 | TBDockHeight=4888 | ||||||
| LRDockWidth=5305 | LRDockWidth=5305 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -657,14 +676,14 @@ Visible=0 | |||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=23 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1424 | Height=874 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1424 | ClientHeight=874 | ||||||
| TBDockHeight=1424 | TBDockHeight=874 | ||||||
| LRDockWidth=3820 | LRDockWidth=3820 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
| @@ -683,12 +702,12 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=23 | Top=23 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=4529 | Height=9170 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=4529 | ClientHeight=9170 | ||||||
| TBDockHeight=7164 | TBDockHeight=7119 | ||||||
| LRDockWidth=2000 | LRDockWidth=2000 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
| @@ -705,13 +724,13 @@ Visible=0 | |||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=23 | Top=0 | ||||||
| Width=1898 | Width=1898 | ||||||
| Height=9170 | Height=7164 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=1898 | ClientWidth=1773 | ||||||
| ClientHeight=9170 | ClientHeight=6738 | ||||||
| TBDockHeight=7164 | TBDockHeight=7164 | ||||||
| LRDockWidth=1898 | LRDockWidth=1898 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -721,22 +740,22 @@ ActiveTabID=StructureView | |||||||
| TabDockClients=StructureView,ClassBrowserTool | TabDockClients=StructureView,ClassBrowserTool | ||||||
|  |  | ||||||
| [DockSite4] | [DockSite4] | ||||||
| HostDockSite=DockRightPanel | HostDockSite=RightTabDock | ||||||
| DockSiteType=1 | DockSiteType=1 | ||||||
| PercentageSizes=1 | PercentageSizes=1 | ||||||
| Create=1 | Create=1 | ||||||
| Visible=1 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=454 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=2747 | Height=7119 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=1875 | ||||||
| ClientHeight=2747 | ClientHeight=6693 | ||||||
| TBDockHeight=7164 | TBDockHeight=7119 | ||||||
| LRDockWidth=2000 | LRDockWidth=2000 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
|   | |||||||
										
											Binary file not shown.
										
									
								
							| @@ -1,10 +1,10 @@ | |||||||
| [Stats] | [Stats] | ||||||
| EditorSecs=37012 | EditorSecs=41029 | ||||||
| DesignerSecs=2134 | DesignerSecs=2210 | ||||||
| InspectorSecs=1589 | InspectorSecs=1739 | ||||||
| CompileSecs=2027164 | CompileSecs=2144912 | ||||||
| OtherSecs=6328 | OtherSecs=6512 | ||||||
| StartTime=11/02/2017 10:51:15 | StartTime=11/02/2017 10:51:15 | ||||||
| RealKeys=0 | RealKeys=0 | ||||||
| EffectiveKeys=0 | EffectiveKeys=0 | ||||||
| DebugSecs=29279 | DebugSecs=31352 | ||||||
|   | |||||||
| @@ -53,11 +53,12 @@ uses | |||||||
|   uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants; |   uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants; | ||||||
|  |  | ||||||
| const | const | ||||||
|   MINIBROWSER_CREATED       = WM_APP + $100; |   MINIBROWSER_CREATED        = WM_APP + $100; | ||||||
|   MINIBROWSER_SHOWDEVTOOLS  = WM_APP + $101; |   MINIBROWSER_SHOWDEVTOOLS   = WM_APP + $101; | ||||||
|   MINIBROWSER_HIDEDEVTOOLS  = WM_APP + $102; |   MINIBROWSER_HIDEDEVTOOLS   = WM_APP + $102; | ||||||
|   MINIBROWSER_COPYHTML      = WM_APP + $103; |   MINIBROWSER_COPYHTML       = WM_APP + $103; | ||||||
|   MINIBROWSER_VISITDOM      = WM_APP + $104; |   MINIBROWSER_VISITDOM       = WM_APP + $104; | ||||||
|  |   MINIBROWSER_SHOWTEXTVIEWER = WM_APP + $105; | ||||||
|  |  | ||||||
|   MINIBROWSER_HOMEPAGE = 'https://www.google.com'; |   MINIBROWSER_HOMEPAGE = 'https://www.google.com'; | ||||||
|  |  | ||||||
| @@ -71,6 +72,7 @@ const | |||||||
|   MINIBROWSER_CONTEXTMENU_JSPRINTDOC   = MENU_ID_USER_FIRST + 8; |   MINIBROWSER_CONTEXTMENU_JSPRINTDOC   = MENU_ID_USER_FIRST + 8; | ||||||
|   MINIBROWSER_CONTEXTMENU_REGSCHEME    = MENU_ID_USER_FIRST + 9; |   MINIBROWSER_CONTEXTMENU_REGSCHEME    = MENU_ID_USER_FIRST + 9; | ||||||
|   MINIBROWSER_CONTEXTMENU_CLEARFACT    = MENU_ID_USER_FIRST + 10; |   MINIBROWSER_CONTEXTMENU_CLEARFACT    = MENU_ID_USER_FIRST + 10; | ||||||
|  |   MINIBROWSER_CONTEXTMENU_JSVISITDOM   = MENU_ID_USER_FIRST + 11; | ||||||
|  |  | ||||||
| type | type | ||||||
|   TMiniBrowserFrm = class(TForm) |   TMiniBrowserFrm = class(TForm) | ||||||
| @@ -124,10 +126,6 @@ type | |||||||
|     procedure Chromium1BeforeContextMenu(Sender: TObject; |     procedure Chromium1BeforeContextMenu(Sender: TObject; | ||||||
|       const browser: ICefBrowser; const frame: ICefFrame; |       const browser: ICefBrowser; const frame: ICefFrame; | ||||||
|       const params: ICefContextMenuParams; const model: ICefMenuModel); |       const params: ICefContextMenuParams; const model: ICefMenuModel); | ||||||
|     procedure Chromium1ContextMenuCommand(Sender: TObject; |  | ||||||
|       const browser: ICefBrowser; const frame: ICefFrame; |  | ||||||
|       const params: ICefContextMenuParams; commandId: Integer; |  | ||||||
|       eventFlags: TCefEventFlags; out Result: Boolean); |  | ||||||
|     procedure Chromium1ProcessMessageReceived(Sender: TObject; |     procedure Chromium1ProcessMessageReceived(Sender: TObject; | ||||||
|       const browser: ICefBrowser; sourceProcess: TCefProcessId; |       const browser: ICefBrowser; sourceProcess: TCefProcessId; | ||||||
|       const message: ICefProcessMessage; out Result: Boolean); |       const message: ICefProcessMessage; out Result: Boolean); | ||||||
| @@ -156,8 +154,14 @@ type | |||||||
|     procedure ApplicationEvents1Message(var Msg: tagMSG; |     procedure ApplicationEvents1Message(var Msg: tagMSG; | ||||||
|       var Handled: Boolean); |       var Handled: Boolean); | ||||||
|     procedure Openfile1Click(Sender: TObject); |     procedure Openfile1Click(Sender: TObject); | ||||||
|  |     procedure Chromium1ContextMenuCommand(Sender: TObject; | ||||||
|  |       const browser: ICefBrowser; const frame: ICefFrame; | ||||||
|  |       const params: ICefContextMenuParams; commandId: Integer; | ||||||
|  |       eventFlags: Cardinal; out Result: Boolean); | ||||||
|  |  | ||||||
|   protected |   protected | ||||||
|  |     FText : string; | ||||||
|  |  | ||||||
|     procedure AddURL(const aURL : string); |     procedure AddURL(const aURL : string); | ||||||
|  |  | ||||||
|     procedure ShowDevTools(aPoint : TPoint); overload; |     procedure ShowDevTools(aPoint : TPoint); overload; | ||||||
| @@ -172,9 +176,12 @@ type | |||||||
|     procedure HideDevToolsMsg(var aMessage : TMessage); message MINIBROWSER_HIDEDEVTOOLS; |     procedure HideDevToolsMsg(var aMessage : TMessage); message MINIBROWSER_HIDEDEVTOOLS; | ||||||
|     procedure CopyHTMLMsg(var aMessage : TMessage); message MINIBROWSER_COPYHTML; |     procedure CopyHTMLMsg(var aMessage : TMessage); message MINIBROWSER_COPYHTML; | ||||||
|     procedure VisitDOMMsg(var aMessage : TMessage); message MINIBROWSER_VISITDOM; |     procedure VisitDOMMsg(var aMessage : TMessage); message MINIBROWSER_VISITDOM; | ||||||
|  |     procedure ShowTextViewerMsg(var aMessage : TMessage); message MINIBROWSER_SHOWTEXTVIEWER; | ||||||
|     procedure WMMove(var aMessage : TWMMove); message WM_MOVE; |     procedure WMMove(var aMessage : TWMMove); message WM_MOVE; | ||||||
|     procedure WMMoving(var aMessage : TMessage); message WM_MOVING; |     procedure WMMoving(var aMessage : TMessage); message WM_MOVING; | ||||||
|  |  | ||||||
|   public |   public | ||||||
|  |     procedure ShowStatusText(const aText : string); | ||||||
|  |  | ||||||
|   end; |   end; | ||||||
|  |  | ||||||
| @@ -186,7 +193,7 @@ implementation | |||||||
| {$R *.dfm} | {$R *.dfm} | ||||||
|  |  | ||||||
| uses | uses | ||||||
|   uPreferences, uCEFProcessMessage, uCEFSchemeHandlerFactory, uHelloScheme; |   uPreferences, uCEFProcessMessage, uCEFSchemeHandlerFactory, uHelloScheme, uSimpleTextViewer; | ||||||
|  |  | ||||||
| procedure TMiniBrowserFrm.BackBtnClick(Sender: TObject); | procedure TMiniBrowserFrm.BackBtnClick(Sender: TObject); | ||||||
| begin | begin | ||||||
| @@ -233,7 +240,8 @@ begin | |||||||
|   model.AddItem(MINIBROWSER_CONTEXTMENU_SHOWJSALERT, 'Show JS Alert'); |   model.AddItem(MINIBROWSER_CONTEXTMENU_SHOWJSALERT, 'Show JS Alert'); | ||||||
|   model.AddItem(MINIBROWSER_CONTEXTMENU_SETJSEVENT,  'Set mouseover event'); |   model.AddItem(MINIBROWSER_CONTEXTMENU_SETJSEVENT,  'Set mouseover event'); | ||||||
|   model.AddItem(MINIBROWSER_CONTEXTMENU_COPYHTML,    'Copy HTML to clipboard'); |   model.AddItem(MINIBROWSER_CONTEXTMENU_COPYHTML,    'Copy HTML to clipboard'); | ||||||
|   model.AddItem(MINIBROWSER_CONTEXTMENU_VISITDOM,    'Visit DOM'); |   model.AddItem(MINIBROWSER_CONTEXTMENU_VISITDOM,    'Visit DOM in CEF'); | ||||||
|  |   model.AddItem(MINIBROWSER_CONTEXTMENU_JSVISITDOM,  'Visit DOM in JavaScript'); | ||||||
|   model.AddItem(MINIBROWSER_CONTEXTMENU_JSWRITEDOC,  'Modify HTML document'); |   model.AddItem(MINIBROWSER_CONTEXTMENU_JSWRITEDOC,  'Modify HTML document'); | ||||||
|   model.AddItem(MINIBROWSER_CONTEXTMENU_JSPRINTDOC,  'Print using Javascript'); |   model.AddItem(MINIBROWSER_CONTEXTMENU_JSPRINTDOC,  'Print using Javascript'); | ||||||
|   model.AddItem(MINIBROWSER_CONTEXTMENU_REGSCHEME,   'Register scheme'); |   model.AddItem(MINIBROWSER_CONTEXTMENU_REGSCHEME,   'Register scheme'); | ||||||
| @@ -248,7 +256,7 @@ end; | |||||||
| procedure TMiniBrowserFrm.Chromium1ContextMenuCommand(Sender: TObject; | procedure TMiniBrowserFrm.Chromium1ContextMenuCommand(Sender: TObject; | ||||||
|   const browser: ICefBrowser; const frame: ICefFrame; |   const browser: ICefBrowser; const frame: ICefFrame; | ||||||
|   const params: ICefContextMenuParams; commandId: Integer; |   const params: ICefContextMenuParams; commandId: Integer; | ||||||
|   eventFlags: TCefEventFlags; out Result: Boolean); |   eventFlags: Cardinal; out Result: Boolean); | ||||||
| var | var | ||||||
|   TempParam : WParam; |   TempParam : WParam; | ||||||
|   TempFactory: ICefSchemeHandlerFactory; |   TempFactory: ICefSchemeHandlerFactory; | ||||||
| @@ -287,6 +295,13 @@ begin | |||||||
|     MINIBROWSER_CONTEXTMENU_VISITDOM : |     MINIBROWSER_CONTEXTMENU_VISITDOM : | ||||||
|       PostMessage(Handle, MINIBROWSER_VISITDOM, 0, 0); |       PostMessage(Handle, MINIBROWSER_VISITDOM, 0, 0); | ||||||
|  |  | ||||||
|  |     MINIBROWSER_CONTEXTMENU_JSVISITDOM : | ||||||
|  |       if (browser <> nil) and (browser.MainFrame <> nil) then | ||||||
|  |         browser.MainFrame.ExecuteJavaScript( | ||||||
|  |           'var testhtml = document.body.innerHTML;' + | ||||||
|  |           'myextension.sendresulttobrowser(testhtml, ''customname'');', | ||||||
|  |           'about:blank', 0); | ||||||
|  |  | ||||||
|     MINIBROWSER_CONTEXTMENU_JSWRITEDOC : |     MINIBROWSER_CONTEXTMENU_JSWRITEDOC : | ||||||
|       if (browser <> nil) and (browser.MainFrame <> nil) then |       if (browser <> nil) and (browser.MainFrame <> nil) then | ||||||
|         browser.MainFrame.ExecuteJavaScript( |         browser.MainFrame.ExecuteJavaScript( | ||||||
| @@ -442,20 +457,42 @@ procedure TMiniBrowserFrm.Chromium1ProcessMessageReceived(Sender: TObject; | |||||||
|   const browser: ICefBrowser; sourceProcess: TCefProcessId; |   const browser: ICefBrowser; sourceProcess: TCefProcessId; | ||||||
|   const message: ICefProcessMessage; out Result: Boolean); |   const message: ICefProcessMessage; out Result: Boolean); | ||||||
| begin | begin | ||||||
|   if (message <> nil) and (message.Name = 'mouseover') and (message.ArgumentList <> nil) then |   if (message = nil) or (message.ArgumentList = nil) then exit; | ||||||
|  |  | ||||||
|  |   if (message.Name = 'mouseover') then | ||||||
|     begin |     begin | ||||||
|       // Message received from the extension |       // Message received from the extension | ||||||
|       StatusBar1.Panels[0].Text := message.ArgumentList.GetString(0); |       ShowStatusText(message.ArgumentList.GetString(0)); | ||||||
|       Result                    := True; |       Result := True; | ||||||
|     end |     end | ||||||
|    else |    else | ||||||
|     Result := False; |     if (message.Name = 'domvisitor') then | ||||||
|  |       begin | ||||||
|  |         // Message received from the DOMVISITOR in CEF | ||||||
|  |         ShowStatusText(message.ArgumentList.GetString(0)); | ||||||
|  |         Result := True; | ||||||
|  |       end | ||||||
|  |      else | ||||||
|  |     if (message.Name = 'customname') then | ||||||
|  |       begin | ||||||
|  |         // Message received from the Javascript DOM visitor | ||||||
|  |         FText := message.ArgumentList.GetString(0); | ||||||
|  |         PostMessage(Handle, MINIBROWSER_SHOWTEXTVIEWER, 0, 0); | ||||||
|  |         Result := True; | ||||||
|  |       end | ||||||
|  |      else | ||||||
|  |       Result := False; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | procedure TMiniBrowserFrm.ShowStatusText(const aText : string); | ||||||
|  | begin | ||||||
|  |   StatusBar1.Panels[0].Text := aText; | ||||||
| end; | end; | ||||||
|  |  | ||||||
| procedure TMiniBrowserFrm.Chromium1StatusMessage(Sender: TObject; | procedure TMiniBrowserFrm.Chromium1StatusMessage(Sender: TObject; | ||||||
|   const browser: ICefBrowser; const value: ustring); |   const browser: ICefBrowser; const value: ustring); | ||||||
| begin | begin | ||||||
|   StatusBar1.Panels[0].Text := value; |   ShowStatusText(value); | ||||||
| end; | end; | ||||||
|  |  | ||||||
| procedure TMiniBrowserFrm.Chromium1TextResultAvailable(Sender: TObject; const aText: string); | procedure TMiniBrowserFrm.Chromium1TextResultAvailable(Sender: TObject; const aText: string); | ||||||
| @@ -591,6 +628,12 @@ begin | |||||||
|   Chromium1.SendProcessMessage(PID_RENDERER, TempMsg); |   Chromium1.SendProcessMessage(PID_RENDERER, TempMsg); | ||||||
| end; | end; | ||||||
|  |  | ||||||
|  | procedure TMiniBrowserFrm.ShowTextViewerMsg(var aMessage : TMessage); | ||||||
|  | begin | ||||||
|  |   SimpleTextViewerFrm.Memo1.Lines.Text := FText; | ||||||
|  |   SimpleTextViewerFrm.ShowModal; | ||||||
|  | end; | ||||||
|  |  | ||||||
| procedure TMiniBrowserFrm.WMMove(var aMessage : TWMMove); | procedure TMiniBrowserFrm.WMMove(var aMessage : TWMMove); | ||||||
| begin | begin | ||||||
|   inherited; |   inherited; | ||||||
|   | |||||||
							
								
								
									
										31
									
								
								demos/MiniBrowser/uSimpleTextViewer.dfm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								demos/MiniBrowser/uSimpleTextViewer.dfm
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,31 @@ | |||||||
|  | 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 | ||||||
|  |     ExplicitWidth = 611 | ||||||
|  |     ExplicitHeight = 495 | ||||||
|  |   end | ||||||
|  | end | ||||||
							
								
								
									
										25
									
								
								demos/MiniBrowser/uSimpleTextViewer.pas
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								demos/MiniBrowser/uSimpleTextViewer.pas
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | |||||||
|  | unit uSimpleTextViewer; | ||||||
|  |  | ||||||
|  | interface | ||||||
|  |  | ||||||
|  | uses | ||||||
|  |   Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, | ||||||
|  |   Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls; | ||||||
|  |  | ||||||
|  | type | ||||||
|  |   TSimpleTextViewerFrm = class(TForm) | ||||||
|  |     Memo1: TMemo; | ||||||
|  |   private | ||||||
|  |     { Private declarations } | ||||||
|  |   public | ||||||
|  |     { Public declarations } | ||||||
|  |   end; | ||||||
|  |  | ||||||
|  | var | ||||||
|  |   SimpleTextViewerFrm: TSimpleTextViewerFrm; | ||||||
|  |  | ||||||
|  | implementation | ||||||
|  |  | ||||||
|  | {$R *.dfm} | ||||||
|  |  | ||||||
|  | end. | ||||||
| @@ -53,10 +53,14 @@ uses | |||||||
| type | type | ||||||
|   TTestExtension = class |   TTestExtension = class | ||||||
|     class procedure mouseover(const data: string); |     class procedure mouseover(const data: string); | ||||||
|  |     class procedure sendresulttobrowser(const msgtext, msgname : string); | ||||||
|   end; |   end; | ||||||
|  |  | ||||||
| implementation | implementation | ||||||
|  |  | ||||||
|  | uses | ||||||
|  |   uCEFMiscFunctions, uCEFConstants; | ||||||
|  |  | ||||||
| class procedure TTestExtension.mouseover(const data: string); | class procedure TTestExtension.mouseover(const data: string); | ||||||
| var | var | ||||||
|   msg: ICefProcessMessage; |   msg: ICefProcessMessage; | ||||||
| @@ -69,4 +73,14 @@ begin | |||||||
|   TCefv8ContextRef.Current.Browser.SendProcessMessage(PID_BROWSER, msg); |   TCefv8ContextRef.Current.Browser.SendProcessMessage(PID_BROWSER, msg); | ||||||
| end; | 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. | end. | ||||||
|   | |||||||
| @@ -2,8 +2,8 @@ | |||||||
| <BorlandProject> | <BorlandProject> | ||||||
| 	<Transactions> | 	<Transactions> | ||||||
|     <Transaction>2017/01/22 14:37:05.000.577,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas</Transaction> |     <Transaction>2017/01/22 14:37:05.000.577,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas</Transaction> | ||||||
|     <Transaction>2017/01/22 14:41:11.000.096,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi demos\SimpleBrowser\uSimpleBrowser.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.dfm</Transaction> |     <Transaction>2017/01/22 14:41:11.000.096,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi demos\SimpleBrowser\uSimpleBrowser.pas</Transaction> | ||||||
|     <Transaction>2017/01/22 14:41:11.000.096,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi demos\SimpleBrowser\uSimpleBrowser.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas</Transaction> |     <Transaction>2017/01/22 14:41:11.000.096,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi demos\SimpleBrowser\uSimpleBrowser.dfm</Transaction> | ||||||
|     <Transaction>2017/01/22 14:41:18.000.226,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi demos\SimpleBrowser\SimpleBrowser.dproj=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Project1.dproj</Transaction> |     <Transaction>2017/01/22 14:41:18.000.226,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Project1.dproj=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi demos\SimpleBrowser\SimpleBrowser.dproj</Transaction> | ||||||
|   </Transactions> |   </Transactions> | ||||||
| </BorlandProject> | </BorlandProject> | ||||||
|   | |||||||
| @@ -52,15 +52,16 @@ BorlandEditorCodeExplorer=BorlandEditorCodeExplorer@EditWindow0 | |||||||
| TopPanelSize=0 | TopPanelSize=0 | ||||||
| LeftPanelSize=0 | LeftPanelSize=0 | ||||||
| RightPanelSize=2000 | RightPanelSize=2000 | ||||||
| RightPanelClients=DockSite2,DockSite4 | RightPanelClients=DockSite2 | ||||||
| RightPanelData=00000800010100000000551500000000000001D00700000000000001000000004312000009000000446F636B536974653201000000009D1D000009000000446F636B5369746534FFFFFFFF | RightPanelData=00000800010100000000AA1900000000000001D0070000000000000100000000A123000009000000446F636B5369746532FFFFFFFF | ||||||
| BottomPanelSize=1475 | BottomPanelSize=0 | ||||||
| BottomPanelClients=DockSite1,MessageView | BottomPanelClients=DockSite1,MessageView | ||||||
| BottomPanelData=0000080001020100000009000000446F636B53697465313B3600000000000002C30500000000000001000000003B3600000F0000004D65737361676556696577466F726DFFFFFFFF | BottomPanelData=0000080001020200000009000000446F636B53697465310F0000004D65737361676556696577466F726D3B3600000000000002820F000000000000FFFFFFFF | ||||||
| BottomMiddlePanelSize=0 | BottomMiddlePanelSize=0 | ||||||
| BottomMiddlePanelClients=DockSite0,GraphDrawingModel | BottomMiddlePanelClients=DockSite0,GraphDrawingModel | ||||||
| BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F306000000000000FFFFFFFF | BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F306000000000000FFFFFFFF | ||||||
| TabDockLeftClients=PropertyInspector=0,DockSite3=1 | TabDockLeftClients=DockSite3=0,PropertyInspector=1 | ||||||
|  | TabDockRightClients=DockSite4=0 | ||||||
|  |  | ||||||
| [View0] | [View0] | ||||||
| CustomEditViewType=TWelcomePageView | CustomEditViewType=TWelcomePageView | ||||||
| @@ -102,11 +103,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=213 | TBDockHeight=213 | ||||||
| LRDockWidth=13602 | LRDockWidth=13602 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -150,11 +151,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=4226 | Height=8868 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=4226 | ClientHeight=8868 | ||||||
| TBDockHeight=5897 | TBDockHeight=5897 | ||||||
| LRDockWidth=2352 | LRDockWidth=2352 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -163,18 +164,18 @@ StayOnTop=0 | |||||||
| [MessageView] | [MessageView] | ||||||
| PercentageSizes=1 | PercentageSizes=1 | ||||||
| Create=1 | Create=1 | ||||||
| Visible=1 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=23 | Top=23 | ||||||
| Width=10000 | Width=2773 | ||||||
| Height=1267 | Height=3845 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=10000 | ClientWidth=2773 | ||||||
| ClientHeight=1267 | ClientHeight=3845 | ||||||
| TBDockHeight=1267 | TBDockHeight=3845 | ||||||
| LRDockWidth=2773 | LRDockWidth=2773 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
| @@ -187,12 +188,12 @@ Docked=1 | |||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=1875 | ||||||
| Height=2747 | Height=6693 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=1875 | ||||||
| ClientHeight=2747 | ClientHeight=6693 | ||||||
| TBDockHeight=7152 | TBDockHeight=7152 | ||||||
| LRDockWidth=2000 | LRDockWidth=2000 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -242,8 +243,8 @@ Create=1 | |||||||
| Visible=0 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=-148 | Left=-8 | ||||||
| Top=-137 | Top=-30 | ||||||
| Width=1844 | Width=1844 | ||||||
| Height=3139 | Height=3139 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| @@ -299,19 +300,19 @@ Create=1 | |||||||
| Visible=0 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=78 | ||||||
| Top=362 | Top=386 | ||||||
| Width=1898 | Width=1898 | ||||||
| Height=5370 | Height=7164 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=1898 | ClientWidth=1773 | ||||||
| ClientHeight=5370 | ClientHeight=6738 | ||||||
| TBDockHeight=7164 | TBDockHeight=7164 | ||||||
| LRDockWidth=1898 | LRDockWidth=1898 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
| SplitPos=111 | SplitPos=136 | ||||||
|  |  | ||||||
| [frmDesignPreview] | [frmDesignPreview] | ||||||
| PercentageSizes=1 | PercentageSizes=1 | ||||||
| @@ -322,11 +323,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=6861 | Height=6816 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=6861 | ClientHeight=6816 | ||||||
| TBDockHeight=5964 | TBDockHeight=5964 | ||||||
| LRDockWidth=2508 | LRDockWidth=2508 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -338,8 +339,8 @@ Create=1 | |||||||
| Visible=0 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=-898 | Left=-946 | ||||||
| Top=-137 | Top=1 | ||||||
| Width=2844 | Width=2844 | ||||||
| Height=6200 | Height=6200 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| @@ -357,8 +358,8 @@ Create=1 | |||||||
| Visible=0 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=-1026 | Left=-8 | ||||||
| Top=-137 | Top=287 | ||||||
| Width=273 | Width=273 | ||||||
| Height=359 | Height=359 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| @@ -382,11 +383,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=415 | TBDockHeight=415 | ||||||
| LRDockWidth=4953 | LRDockWidth=4953 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -401,11 +402,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=213 | TBDockHeight=213 | ||||||
| LRDockWidth=7406 | LRDockWidth=7406 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -424,11 +425,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=1536 | TBDockHeight=1536 | ||||||
| LRDockWidth=3484 | LRDockWidth=3484 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -443,11 +444,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=2063 | TBDockHeight=2063 | ||||||
| LRDockWidth=3484 | LRDockWidth=3484 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -462,11 +463,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2336 | Width=2336 | ||||||
| Height=1177 | Height=942 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2336 | ClientWidth=2336 | ||||||
| ClientHeight=1177 | ClientHeight=942 | ||||||
| TBDockHeight=2321 | TBDockHeight=2321 | ||||||
| LRDockWidth=2820 | LRDockWidth=2820 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -527,11 +528,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=6861 | Height=6816 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=6861 | ClientHeight=6816 | ||||||
| TBDockHeight=4888 | TBDockHeight=4888 | ||||||
| LRDockWidth=7148 | LRDockWidth=7148 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -543,8 +544,8 @@ Create=1 | |||||||
| Visible=0 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=249 | ||||||
| Top=0 | Top=709 | ||||||
| Width=2859 | Width=2859 | ||||||
| Height=3206 | Height=3206 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| @@ -565,11 +566,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=1547 | TBDockHeight=1547 | ||||||
| LRDockWidth=8742 | LRDockWidth=8742 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -590,12 +591,12 @@ Docked=1 | |||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=1898 | Width=1773 | ||||||
| Height=9170 | Height=6738 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=1898 | ClientWidth=1773 | ||||||
| ClientHeight=9170 | ClientHeight=6738 | ||||||
| TBDockHeight=3677 | TBDockHeight=3677 | ||||||
| LRDockWidth=1898 | LRDockWidth=1898 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -610,11 +611,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=6861 | Height=6816 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=6861 | ClientHeight=6816 | ||||||
| TBDockHeight=4888 | TBDockHeight=4888 | ||||||
| LRDockWidth=5305 | LRDockWidth=5305 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -675,14 +676,14 @@ Visible=0 | |||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=23 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1424 | Height=874 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1424 | ClientHeight=874 | ||||||
| TBDockHeight=1424 | TBDockHeight=874 | ||||||
| LRDockWidth=3820 | LRDockWidth=3820 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
| @@ -701,12 +702,12 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=23 | Top=23 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=4529 | Height=9170 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=4529 | ClientHeight=9170 | ||||||
| TBDockHeight=7164 | TBDockHeight=7119 | ||||||
| LRDockWidth=2000 | LRDockWidth=2000 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
| @@ -723,13 +724,13 @@ Visible=0 | |||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=23 | Top=0 | ||||||
| Width=1898 | Width=1898 | ||||||
| Height=9170 | Height=7164 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=1898 | ClientWidth=1773 | ||||||
| ClientHeight=9170 | ClientHeight=6738 | ||||||
| TBDockHeight=7164 | TBDockHeight=7164 | ||||||
| LRDockWidth=1898 | LRDockWidth=1898 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -739,22 +740,22 @@ ActiveTabID=StructureView | |||||||
| TabDockClients=StructureView,ClassBrowserTool | TabDockClients=StructureView,ClassBrowserTool | ||||||
|  |  | ||||||
| [DockSite4] | [DockSite4] | ||||||
| HostDockSite=DockRightPanel | HostDockSite=RightTabDock | ||||||
| DockSiteType=1 | DockSiteType=1 | ||||||
| PercentageSizes=1 | PercentageSizes=1 | ||||||
| Create=1 | Create=1 | ||||||
| Visible=1 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=454 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=2747 | Height=7119 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=1875 | ||||||
| ClientHeight=2747 | ClientHeight=6693 | ||||||
| TBDockHeight=7164 | TBDockHeight=7119 | ||||||
| LRDockWidth=2000 | LRDockWidth=2000 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
|   | |||||||
										
											Binary file not shown.
										
									
								
							| @@ -3,7 +3,7 @@ EditorSecs=4647 | |||||||
| DesignerSecs=301 | DesignerSecs=301 | ||||||
| InspectorSecs=137 | InspectorSecs=137 | ||||||
| CompileSecs=326894 | CompileSecs=326894 | ||||||
| OtherSecs=1036 | OtherSecs=1037 | ||||||
| StartTime=22/01/2017 14:51:01 | StartTime=22/01/2017 14:51:01 | ||||||
| RealKeys=0 | RealKeys=0 | ||||||
| EffectiveKeys=0 | EffectiveKeys=0 | ||||||
|   | |||||||
| @@ -46,6 +46,7 @@ uses | |||||||
|   Forms, Windows, |   Forms, Windows, | ||||||
|   {$ENDIF} |   {$ENDIF} | ||||||
|   uCEFApplication, |   uCEFApplication, | ||||||
|  |   uCEFTypes, | ||||||
|   uSimpleOSRBrowser in 'uSimpleOSRBrowser.pas' {Form1}; |   uSimpleOSRBrowser in 'uSimpleOSRBrowser.pas' {Form1}; | ||||||
|  |  | ||||||
| {$R *.res} | {$R *.res} | ||||||
| @@ -56,6 +57,8 @@ uses | |||||||
| begin | begin | ||||||
|   GlobalCEFApp                            := TCefApplication.Create; |   GlobalCEFApp                            := TCefApplication.Create; | ||||||
|   GlobalCEFApp.WindowlessRenderingEnabled := True; |   GlobalCEFApp.WindowlessRenderingEnabled := True; | ||||||
|  |   GlobalCEFApp.AddCustomCommandLine('--disable-gpu'); | ||||||
|  |   GlobalCEFApp.AddCustomCommandLine('--disable-gpu-compositing'); | ||||||
|  |  | ||||||
|   // In case you want to use custom directories for the CEF3 binaries, cache, cookies and user data. |   // In case you want to use custom directories for the CEF3 binaries, cache, cookies and user data. | ||||||
| { | { | ||||||
| @@ -66,7 +69,6 @@ begin | |||||||
|   GlobalCEFApp.cookies              := 'cef\cookies'; |   GlobalCEFApp.cookies              := 'cef\cookies'; | ||||||
|   GlobalCEFApp.UserDataPath         := 'cef\User Data'; |   GlobalCEFApp.UserDataPath         := 'cef\User Data'; | ||||||
| } | } | ||||||
|  |  | ||||||
|   if GlobalCEFApp.StartMainProcess then |   if GlobalCEFApp.StartMainProcess then | ||||||
|     begin |     begin | ||||||
|       Application.Initialize; |       Application.Initialize; | ||||||
|   | |||||||
| @@ -2,8 +2,8 @@ | |||||||
| <BorlandProject> | <BorlandProject> | ||||||
| 	<Transactions> | 	<Transactions> | ||||||
|     <Transaction>2017/01/22 17:26:58.000.836,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas</Transaction> |     <Transaction>2017/01/22 17:26:58.000.836,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas</Transaction> | ||||||
|     <Transaction>2017/01/22 17:28:20.000.762,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi demos\SimpleOSRBrowser\uSimpleOSRBrowser.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas</Transaction> |     <Transaction>2017/01/22 17:28:20.000.762,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi demos\SimpleOSRBrowser\uSimpleOSRBrowser.pas</Transaction> | ||||||
|     <Transaction>2017/01/22 17:28:20.000.762,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi demos\SimpleOSRBrowser\uSimpleOSRBrowser.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.dfm</Transaction> |     <Transaction>2017/01/22 17:28:20.000.762,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi demos\SimpleOSRBrowser\uSimpleOSRBrowser.dfm</Transaction> | ||||||
|     <Transaction>2017/01/22 17:28:25.000.780,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi demos\SimpleOSRBrowser\SimpleOSRBrowser.dproj=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Project1.dproj</Transaction> |     <Transaction>2017/01/22 17:28:25.000.780,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Project1.dproj=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi demos\SimpleOSRBrowser\SimpleOSRBrowser.dproj</Transaction> | ||||||
|   </Transactions> |   </Transactions> | ||||||
| </BorlandProject> | </BorlandProject> | ||||||
|   | |||||||
| @@ -1,14 +1,14 @@ | |||||||
| [Closed Files] | [Closed Files] | ||||||
| File_0=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\SimpleOSRBrowser\uSimpleOSRBrowser.pas',0,1,260,54,289,0,0,, | File_0=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\SimpleOSRBrowser\uSimpleOSRBrowser.pas',0,1,102,90,177,0,0,,{1,338,1}{2,392,43} | ||||||
| File_1=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromium.pas',0,1,338,30,360,0,0,, | File_1=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFMiscFunctions.pas',0,1,1111,61,1007,0,0,, | ||||||
| File_2=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFApplication.pas',0,1,10,21,38,0,0,, | File_2=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFDragAndDropMgr.pas',0,1,94,1,702,0,0,, | ||||||
| File_3=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFMiscFunctions.pas',0,1,34,23,38,0,0,, | File_3=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromium.pas',0,1,2780,29,2804,0,0,, | ||||||
| File_4=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromiumWindow.pas',0,1,35,24,60,0,0,, | File_4=TSourceModule,'c:\program files\embarcadero\studio\17.0\source\rtl\win\Winapi.Windows.pas',0,1,21523,35,21547,0,0,, | ||||||
| File_5=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFInterfaces.pas',0,1,219,63,249,0,0,, | File_5=TSourceModule,'c:\program files\embarcadero\studio\17.0\SOURCE\VCL\Vcl.Controls.pas',0,1,2509,46,2537,0,0,, | ||||||
| File_6=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uMiniBrowser.pas',0,1,416,36,438,0,0,, | File_6=TSourceModule,'c:\program files\embarcadero\studio\17.0\SOURCE\VCL\Vcl.ExtCtrls.pas',0,1,237,30,245,0,0,, | ||||||
| File_7=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFBrowser.pas',0,1,208,111,219,0,0,, | File_7=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uOLEDragAndDrop.pas',0,1,16,21,38,0,0,, | ||||||
| File_8=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\SimpleBrowser\uSimpleBrowser.pas',0,1,71,13,84,0,0,, | File_8=TSourceModule,'V:\3071\tests\cefclient\browser\osr_dragdrop_win.cc',0,1,355,64,383,0,0,, | ||||||
| File_9=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\BriskBard\uBriskBardMainForm.pas',0,1,50,11,57,0,0,, | File_9=TSourceModule,'V:\3071\tests\cefclient\browser\osr_window_win.cc',0,1,962,45,989,0,0,, | ||||||
|  |  | ||||||
| [Modules] | [Modules] | ||||||
| Module0=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\SimpleOSRBrowser\SimpleOSRBrowser.dproj | Module0=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\SimpleOSRBrowser\SimpleOSRBrowser.dproj | ||||||
| @@ -46,10 +46,10 @@ TopPanelSize=0 | |||||||
| LeftPanelSize=0 | LeftPanelSize=0 | ||||||
| RightPanelSize=2000 | RightPanelSize=2000 | ||||||
| RightPanelClients=DockSite2 | RightPanelClients=DockSite2 | ||||||
| RightPanelData=00000800010100000000551500000000000001D00700000000000001000000009D1D000009000000446F636B5369746532FFFFFFFF | RightPanelData=00000800010100000000AA1900000000000001D0070000000000000100000000A123000009000000446F636B5369746532FFFFFFFF | ||||||
| BottomPanelSize=1475 | BottomPanelSize=0 | ||||||
| BottomPanelClients=DockSite1,MessageView | BottomPanelClients=DockSite1,MessageView | ||||||
| BottomPanelData=0000080001020100000009000000446F636B53697465313B3600000000000002C30500000000000001000000003B3600000F0000004D65737361676556696577466F726DFFFFFFFF | BottomPanelData=0000080001020200000009000000446F636B53697465310F0000004D65737361676556696577466F726D3B3600000000000002820F000000000000FFFFFFFF | ||||||
| BottomMiddlePanelSize=0 | BottomMiddlePanelSize=0 | ||||||
| BottomMiddlePanelClients=DockSite0,GraphDrawingModel | BottomMiddlePanelClients=DockSite0,GraphDrawingModel | ||||||
| BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F306000000000000FFFFFFFF | BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F306000000000000FFFFFFFF | ||||||
| @@ -64,8 +64,8 @@ WelcomePageURL=bds:/default.htm | |||||||
| CustomEditViewType=TEditView | CustomEditViewType=TEditView | ||||||
| Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\SimpleOSRBrowser\SimpleOSRBrowser.dpr | Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\SimpleOSRBrowser\SimpleOSRBrowser.dpr | ||||||
| CursorX=2 | CursorX=2 | ||||||
| CursorY=68 | CursorY=64 | ||||||
| TopLine=28 | TopLine=31 | ||||||
| LeftCol=1 | LeftCol=1 | ||||||
| Elisions= | Elisions= | ||||||
| Bookmarks= | Bookmarks= | ||||||
| @@ -85,11 +85,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=964 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=964 | ClientHeight=572 | ||||||
| TBDockHeight=213 | TBDockHeight=213 | ||||||
| LRDockWidth=13602 | LRDockWidth=13602 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -133,11 +133,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=7276 | Height=8868 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=7276 | ClientHeight=8868 | ||||||
| TBDockHeight=5897 | TBDockHeight=5897 | ||||||
| LRDockWidth=2352 | LRDockWidth=2352 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -146,18 +146,18 @@ StayOnTop=0 | |||||||
| [MessageView] | [MessageView] | ||||||
| PercentageSizes=1 | PercentageSizes=1 | ||||||
| Create=1 | Create=1 | ||||||
| Visible=1 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=23 | Top=23 | ||||||
| Width=10000 | Width=2773 | ||||||
| Height=1267 | Height=3845 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=10000 | ClientWidth=2773 | ||||||
| ClientHeight=1267 | ClientHeight=3845 | ||||||
| TBDockHeight=1267 | TBDockHeight=3845 | ||||||
| LRDockWidth=2773 | LRDockWidth=2773 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
| @@ -294,7 +294,7 @@ TBDockHeight=7164 | |||||||
| LRDockWidth=1898 | LRDockWidth=1898 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
| SplitPos=111 | SplitPos=136 | ||||||
|  |  | ||||||
| [frmDesignPreview] | [frmDesignPreview] | ||||||
| PercentageSizes=1 | PercentageSizes=1 | ||||||
| @@ -365,11 +365,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=964 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=964 | ClientHeight=572 | ||||||
| TBDockHeight=415 | TBDockHeight=415 | ||||||
| LRDockWidth=4953 | LRDockWidth=4953 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -384,11 +384,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=964 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=964 | ClientHeight=572 | ||||||
| TBDockHeight=213 | TBDockHeight=213 | ||||||
| LRDockWidth=7406 | LRDockWidth=7406 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -407,11 +407,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=964 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=964 | ClientHeight=572 | ||||||
| TBDockHeight=1536 | TBDockHeight=1536 | ||||||
| LRDockWidth=3484 | LRDockWidth=3484 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -426,11 +426,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=964 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=964 | ClientHeight=572 | ||||||
| TBDockHeight=2063 | TBDockHeight=2063 | ||||||
| LRDockWidth=3484 | LRDockWidth=3484 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -548,11 +548,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=964 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=964 | ClientHeight=572 | ||||||
| TBDockHeight=1547 | TBDockHeight=1547 | ||||||
| LRDockWidth=8742 | LRDockWidth=8742 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -660,12 +660,12 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=23 | Top=23 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1267 | Height=874 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1267 | ClientHeight=874 | ||||||
| TBDockHeight=1267 | TBDockHeight=874 | ||||||
| LRDockWidth=3820 | LRDockWidth=3820 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
| @@ -684,11 +684,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=23 | Top=23 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=7578 | Height=9170 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=7578 | ClientHeight=9170 | ||||||
| TBDockHeight=7119 | TBDockHeight=7119 | ||||||
| LRDockWidth=2000 | LRDockWidth=2000 | ||||||
| Dockable=1 | Dockable=1 | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| [Stats] | [Stats] | ||||||
| EditorSecs=3911 | EditorSecs=25695 | ||||||
| DesignerSecs=253 | DesignerSecs=383 | ||||||
| InspectorSecs=1 | InspectorSecs=181 | ||||||
| CompileSecs=331279 | CompileSecs=1179317 | ||||||
| OtherSecs=710 | OtherSecs=2960 | ||||||
| StartTime=22/01/2017 17:35:20 | StartTime=22/01/2017 17:35:20 | ||||||
| RealKeys=0 | RealKeys=0 | ||||||
| EffectiveKeys=0 | EffectiveKeys=0 | ||||||
| DebugSecs=1815 | DebugSecs=15914 | ||||||
|   | |||||||
| @@ -2,8 +2,8 @@ object Form1: TForm1 | |||||||
|   Left = 0 |   Left = 0 | ||||||
|   Top = 0 |   Top = 0 | ||||||
|   Caption = 'Simple OSR Browser' |   Caption = 'Simple OSR Browser' | ||||||
|   ClientHeight = 712 |   ClientHeight = 716 | ||||||
|   ClientWidth = 984 |   ClientWidth = 992 | ||||||
|   Color = clBtnFace |   Color = clBtnFace | ||||||
|   Font.Charset = DEFAULT_CHARSET |   Font.Charset = DEFAULT_CHARSET | ||||||
|   Font.Color = clWindowText |   Font.Color = clWindowText | ||||||
| @@ -13,37 +13,28 @@ object Form1: TForm1 | |||||||
|   OldCreateOrder = False |   OldCreateOrder = False | ||||||
|   Position = poScreenCenter |   Position = poScreenCenter | ||||||
|   OnAfterMonitorDpiChanged = FormAfterMonitorDpiChanged |   OnAfterMonitorDpiChanged = FormAfterMonitorDpiChanged | ||||||
|  |   OnCreate = FormCreate | ||||||
|  |   OnDestroy = FormDestroy | ||||||
|  |   OnHide = FormHide | ||||||
|   OnShow = FormShow |   OnShow = FormShow | ||||||
|   PixelsPerInch = 96 |   PixelsPerInch = 96 | ||||||
|   TextHeight = 13 |   TextHeight = 13 | ||||||
|   object Panel1: TPanel |   object NavControlPnl: TPanel | ||||||
|     Left = 0 |     Left = 0 | ||||||
|     Top = 0 |     Top = 0 | ||||||
|     Width = 984 |     Width = 992 | ||||||
|     Height = 30 |     Height = 30 | ||||||
|     Align = alTop |     Align = alTop | ||||||
|     BevelOuter = bvNone |     BevelOuter = bvNone | ||||||
|  |     Enabled = False | ||||||
|     Padding.Left = 5 |     Padding.Left = 5 | ||||||
|     Padding.Top = 5 |     Padding.Top = 5 | ||||||
|     Padding.Right = 5 |     Padding.Right = 5 | ||||||
|     Padding.Bottom = 5 |     Padding.Bottom = 5 | ||||||
|     ShowCaption = False |     ShowCaption = False | ||||||
|     TabOrder = 0 |     TabOrder = 1 | ||||||
|     ExplicitWidth = 677 |     object GoBtn: TButton | ||||||
|     object Edit1: TEdit |       Left = 956 | ||||||
|       Left = 5 |  | ||||||
|       Top = 5 |  | ||||||
|       Width = 943 |  | ||||||
|       Height = 20 |  | ||||||
|       Margins.Right = 5 |  | ||||||
|       Align = alClient |  | ||||||
|       TabOrder = 0 |  | ||||||
|       Text = 'http://www.google.com' |  | ||||||
|       ExplicitWidth = 636 |  | ||||||
|       ExplicitHeight = 21 |  | ||||||
|     end |  | ||||||
|     object Button1: TButton |  | ||||||
|       Left = 948 |  | ||||||
|       Top = 5 |       Top = 5 | ||||||
|       Width = 31 |       Width = 31 | ||||||
|       Height = 20 |       Height = 20 | ||||||
| @@ -51,26 +42,51 @@ object Form1: TForm1 | |||||||
|       Align = alRight |       Align = alRight | ||||||
|       Caption = 'Go' |       Caption = 'Go' | ||||||
|       TabOrder = 1 |       TabOrder = 1 | ||||||
|       OnClick = Button1Click |       OnClick = GoBtnClick | ||||||
|       ExplicitLeft = 641 |     end | ||||||
|  |     object ComboBox1: TComboBox | ||||||
|  |       Left = 5 | ||||||
|  |       Top = 5 | ||||||
|  |       Width = 951 | ||||||
|  |       Height = 21 | ||||||
|  |       Align = alClient | ||||||
|  |       ItemIndex = 0 | ||||||
|  |       TabOrder = 0 | ||||||
|  |       Text = 'https://www.google.com' | ||||||
|  |       Items.Strings = ( | ||||||
|  |         'https://www.google.com' | ||||||
|  |         'https://html5demos.com/drag') | ||||||
|     end |     end | ||||||
|   end |   end | ||||||
|   object PaintBox: TPaintBox32 |   object Panel1: TPanel | ||||||
|     Left = 0 |     Left = 0 | ||||||
|     Top = 30 |     Top = 30 | ||||||
|     Width = 984 |     Width = 992 | ||||||
|     Height = 682 |     Height = 686 | ||||||
|     Align = alClient |     Align = alClient | ||||||
|     TabOrder = 1 |     BevelOuter = bvNone | ||||||
|     OnMouseDown = PaintBoxMouseDown |     ShowCaption = False | ||||||
|     OnMouseMove = PaintBoxMouseMove |     TabOrder = 0 | ||||||
|     OnMouseUp = PaintBoxMouseUp |     TabStop = True | ||||||
|     OnMouseWheel = PaintBoxMouseWheel |     OnEnter = Panel1Enter | ||||||
|     OnResize = PaintBoxResize |     OnExit = Panel1Exit | ||||||
|     ExplicitWidth = 677 |     object PaintBox: TPaintBox32 | ||||||
|     ExplicitHeight = 548 |       Left = 0 | ||||||
|  |       Top = 0 | ||||||
|  |       Width = 992 | ||||||
|  |       Height = 686 | ||||||
|  |       Align = alClient | ||||||
|  |       TabOrder = 0 | ||||||
|  |       OnClick = PaintBoxClick | ||||||
|  |       OnMouseDown = PaintBoxMouseDown | ||||||
|  |       OnMouseMove = PaintBoxMouseMove | ||||||
|  |       OnMouseUp = PaintBoxMouseUp | ||||||
|  |       OnMouseWheel = PaintBoxMouseWheel | ||||||
|  |       OnResize = PaintBoxResize | ||||||
|  |     end | ||||||
|   end |   end | ||||||
|   object chrmosr: TChromium |   object chrmosr: TChromium | ||||||
|  |     OnAfterCreated = chrmosrAfterCreated | ||||||
|     OnGetRootScreenRect = chrmosrGetRootScreenRect |     OnGetRootScreenRect = chrmosrGetRootScreenRect | ||||||
|     OnGetViewRect = chrmosrGetViewRect |     OnGetViewRect = chrmosrGetViewRect | ||||||
|     OnGetScreenPoint = chrmosrGetScreenPoint |     OnGetScreenPoint = chrmosrGetScreenPoint | ||||||
|   | |||||||
| @@ -52,52 +52,49 @@ uses | |||||||
|   GR32_Image, // You need the Graphics32 components for this demo available at http://graphics32.org |   GR32_Image, // You need the Graphics32 components for this demo available at http://graphics32.org | ||||||
|   uCEFChromium, uCEFTypes, uCEFInterfaces; |   uCEFChromium, uCEFTypes, uCEFInterfaces; | ||||||
|  |  | ||||||
|  | const | ||||||
|  |   MINIBROWSER_CREATED       = WM_APP + $100; | ||||||
|  |  | ||||||
| type | type | ||||||
|   TForm1 = class(TForm) |   TForm1 = class(TForm) | ||||||
|     Panel1: TPanel; |     NavControlPnl: TPanel; | ||||||
|     Edit1: TEdit; |     GoBtn: TButton; | ||||||
|     Button1: TButton; |  | ||||||
|     PaintBox: TPaintBox32; |  | ||||||
|     chrmosr: TChromium; |     chrmosr: TChromium; | ||||||
|     AppEvents: TApplicationEvents; |     AppEvents: TApplicationEvents; | ||||||
|  |     Panel1: TPanel;    // This is just a quick and dirty hack to receive some events that the PaintBox can't receive. | ||||||
|  |     PaintBox: TPaintBox32; | ||||||
|  |     ComboBox1: TComboBox; | ||||||
|     procedure FormShow(Sender: TObject); |     procedure FormShow(Sender: TObject); | ||||||
|     procedure PaintBoxResize(Sender: TObject); |     procedure PaintBoxResize(Sender: TObject); | ||||||
|     procedure PaintBoxMouseDown(Sender: TObject; Button: TMouseButton; |     procedure PaintBoxMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); | ||||||
|       Shift: TShiftState; X, Y: Integer); |  | ||||||
|     procedure AppEventsMessage(var Msg: tagMSG; var Handled: Boolean); |     procedure AppEventsMessage(var Msg: tagMSG; var Handled: Boolean); | ||||||
|     procedure PaintBoxMouseUp(Sender: TObject; Button: TMouseButton; |     procedure PaintBoxMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); | ||||||
|       Shift: TShiftState; X, Y: Integer); |     procedure PaintBoxMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); | ||||||
|     procedure PaintBoxMouseMove(Sender: TObject; Shift: TShiftState; X, |     procedure chrmosrPaint(Sender: TObject; const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer); | ||||||
|       Y: Integer); |     procedure chrmosrGetRootScreenRect(Sender: TObject; const browser: ICefBrowser; rect: PCefRect; out Result: Boolean); | ||||||
|     procedure chrmosrPaint(Sender: TObject; const browser: ICefBrowser; |     procedure chrmosrCursorChange(Sender: TObject; const browser: ICefBrowser; cursor: HICON; cursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo); | ||||||
|       kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; |     procedure PaintBoxMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean); | ||||||
|       const dirtyRects: PCefRectArray; const buffer: Pointer; width, |     procedure GoBtnClick(Sender: TObject); | ||||||
|       height: Integer); |     procedure chrmosrGetViewRect(Sender: TObject; const browser: ICefBrowser; rect: PCefRect; out Result: Boolean); | ||||||
|     procedure chrmosrGetRootScreenRect(Sender: TObject; |     procedure chrmosrGetScreenPoint(Sender: TObject; const browser: ICefBrowser; viewX, viewY: Integer; screenX, screenY: PInteger; out Result: Boolean); | ||||||
|       const browser: ICefBrowser; rect: PCefRect; out Result: Boolean); |     procedure FormAfterMonitorDpiChanged(Sender: TObject; OldDPI, NewDPI: Integer); | ||||||
|     procedure chrmosrCursorChange(Sender: TObject; |     procedure chrmosrPopupShow(Sender: TObject; const browser: ICefBrowser; show: Boolean); | ||||||
|       const browser: ICefBrowser; cursor: HICON; |     procedure chrmosrPopupSize(Sender: TObject; const browser: ICefBrowser; const rect: PCefRect); | ||||||
|       cursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo); |     procedure chrmosrAfterCreated(Sender: TObject; const browser: ICefBrowser); | ||||||
|     procedure PaintBoxMouseWheel(Sender: TObject; Shift: TShiftState; |     procedure Panel1Enter(Sender: TObject); | ||||||
|       WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean); |     procedure Panel1Exit(Sender: TObject); | ||||||
|     procedure Button1Click(Sender: TObject); |     procedure FormHide(Sender: TObject); | ||||||
|     procedure chrmosrGetViewRect(Sender: TObject; |     procedure FormCreate(Sender: TObject); | ||||||
|       const browser: ICefBrowser; rect: PCefRect; out Result: Boolean); |     procedure PaintBoxClick(Sender: TObject); | ||||||
|     procedure chrmosrGetScreenPoint(Sender: TObject; |     procedure FormDestroy(Sender: TObject); | ||||||
|       const browser: ICefBrowser; viewX, viewY: Integer; screenX, |  | ||||||
|       screenY: PInteger; out Result: Boolean); |  | ||||||
|     procedure FormAfterMonitorDpiChanged(Sender: TObject; OldDPI, |  | ||||||
|       NewDPI: Integer); |  | ||||||
|     procedure chrmosrPopupShow(Sender: TObject; const browser: ICefBrowser; |  | ||||||
|       show: Boolean); |  | ||||||
|     procedure chrmosrPopupSize(Sender: TObject; const browser: ICefBrowser; |  | ||||||
|       const rect: PCefRect); |  | ||||||
|   private |   private | ||||||
|     function getModifiers(Shift: TShiftState): TCefEventFlags; |     function  getModifiers(Shift: TShiftState): TCefEventFlags; | ||||||
|     function GetButton(Button: TMouseButton): TCefMouseButtonType; |     function  GetButton(Button: TMouseButton): TCefMouseButtonType; | ||||||
|  |  | ||||||
|     procedure WMMove(var aMessage : TWMMove); message WM_MOVE; |     procedure WMMove(var aMessage : TWMMove); message WM_MOVE; | ||||||
|     procedure WMMoving(var aMessage : TMessage); message WM_MOVING; |     procedure WMMoving(var aMessage : TMessage); message WM_MOVING; | ||||||
|  |     procedure BrowserCreatedMsg(var aMessage : TMessage); message MINIBROWSER_CREATED; | ||||||
|  |  | ||||||
|   public |   public | ||||||
|     { Public declarations } |     { Public declarations } | ||||||
| @@ -111,77 +108,154 @@ implementation | |||||||
| {$R *.dfm} | {$R *.dfm} | ||||||
|  |  | ||||||
| uses | uses | ||||||
|   uCEFMiscFunctions; |   uCEFMiscFunctions, uCEFConstants; | ||||||
|  |  | ||||||
| procedure TForm1.AppEventsMessage(var Msg: tagMSG; var Handled: Boolean); | procedure TForm1.AppEventsMessage(var Msg: tagMSG; var Handled: Boolean); | ||||||
| var | var | ||||||
|   event: TCefKeyEvent; |   TempEvent : TCefKeyEvent; | ||||||
| begin | begin | ||||||
|   case Msg.message of |   case Msg.message of | ||||||
|     WM_CHAR: |     WM_SYSCHAR : | ||||||
|      begin |       if (Panel1.Focused or chrmosr.FrameIsFocused) and | ||||||
|        FillChar(event, SizeOf(TCefKeyEvent), 0); |          (Msg.wParam in [VK_BACK..VK_HELP]) then | ||||||
|        event.kind := KEYEVENT_CHAR; |         begin | ||||||
|        event.windows_key_code := Msg.wParam; |           TempEvent.kind                    := KEYEVENT_CHAR; | ||||||
|        event.native_key_code := Msg.lParam; |           TempEvent.modifiers               := GetCefKeyboardModifiers(Msg.wParam, Msg.lParam); | ||||||
|        chrmosr.SendKeyEvent(@event); |           TempEvent.windows_key_code        := Msg.wParam; | ||||||
|      end; |           TempEvent.native_key_code         := Msg.lParam; | ||||||
|  |           TempEvent.is_system_key           := ord(True); | ||||||
|  |           TempEvent.character               := #0; | ||||||
|  |           TempEvent.unmodified_character    := #0; | ||||||
|  |           TempEvent.focus_on_editable_field := ord(False); | ||||||
|  |  | ||||||
|  |           chrmosr.SendKeyEvent(@TempEvent); | ||||||
|  |           Handled := True; | ||||||
|  |         end; | ||||||
|  |  | ||||||
|  |     WM_SYSKEYDOWN : | ||||||
|  |       if (Panel1.Focused or chrmosr.FrameIsFocused) and | ||||||
|  |          (Msg.wParam in [VK_BACK..VK_HELP]) then | ||||||
|  |         begin | ||||||
|  |           TempEvent.kind                    := KEYEVENT_RAWKEYDOWN; | ||||||
|  |           TempEvent.modifiers               := GetCefKeyboardModifiers(Msg.wParam, Msg.lParam); | ||||||
|  |           TempEvent.windows_key_code        := Msg.wParam; | ||||||
|  |           TempEvent.native_key_code         := Msg.lParam; | ||||||
|  |           TempEvent.is_system_key           := ord(True); | ||||||
|  |           TempEvent.character               := #0; | ||||||
|  |           TempEvent.unmodified_character    := #0; | ||||||
|  |           TempEvent.focus_on_editable_field := ord(False); | ||||||
|  |  | ||||||
|  |           chrmosr.SendKeyEvent(@TempEvent); | ||||||
|  |           Handled := True; | ||||||
|  |         end; | ||||||
|  |  | ||||||
|  |     WM_SYSKEYUP : | ||||||
|  |       if (Panel1.Focused or chrmosr.FrameIsFocused) and | ||||||
|  |          (Msg.wParam in [VK_BACK..VK_HELP]) then | ||||||
|  |         begin | ||||||
|  |           TempEvent.kind                    := KEYEVENT_KEYUP; | ||||||
|  |           TempEvent.modifiers               := GetCefKeyboardModifiers(Msg.wParam, Msg.lParam); | ||||||
|  |           TempEvent.windows_key_code        := Msg.wParam; | ||||||
|  |           TempEvent.native_key_code         := Msg.lParam; | ||||||
|  |           TempEvent.is_system_key           := ord(True); | ||||||
|  |           TempEvent.character               := #0; | ||||||
|  |           TempEvent.unmodified_character    := #0; | ||||||
|  |           TempEvent.focus_on_editable_field := ord(False); | ||||||
|  |  | ||||||
|  |           chrmosr.SendKeyEvent(@TempEvent); | ||||||
|  |           Handled := True; | ||||||
|  |         end; | ||||||
|  |  | ||||||
|  |     WM_KEYDOWN : | ||||||
|  |       if (Panel1.Focused or chrmosr.FrameIsFocused) and | ||||||
|  |          (Msg.wParam in [VK_BACK..VK_HELP]) then | ||||||
|  |         begin | ||||||
|  |           TempEvent.kind                    := KEYEVENT_RAWKEYDOWN; | ||||||
|  |           TempEvent.modifiers               := GetCefKeyboardModifiers(Msg.wParam, Msg.lParam); | ||||||
|  |           TempEvent.windows_key_code        := Msg.wParam; | ||||||
|  |           TempEvent.native_key_code         := Msg.lParam; | ||||||
|  |           TempEvent.is_system_key           := ord(False); | ||||||
|  |           TempEvent.character               := #0; | ||||||
|  |           TempEvent.unmodified_character    := #0; | ||||||
|  |           TempEvent.focus_on_editable_field := ord(False); | ||||||
|  |  | ||||||
|  |           chrmosr.SendKeyEvent(@TempEvent); | ||||||
|  |           Handled := True; | ||||||
|  |         end; | ||||||
|  |  | ||||||
|  |     WM_KEYUP : | ||||||
|  |       if (Panel1.Focused or chrmosr.FrameIsFocused) and | ||||||
|  |          (Msg.wParam in [VK_BACK..VK_HELP]) then | ||||||
|  |         begin | ||||||
|  |           TempEvent.kind                    := KEYEVENT_KEYUP; | ||||||
|  |           TempEvent.modifiers               := GetCefKeyboardModifiers(Msg.wParam, Msg.lParam); | ||||||
|  |           TempEvent.windows_key_code        := Msg.wParam; | ||||||
|  |           TempEvent.native_key_code         := Msg.lParam; | ||||||
|  |           TempEvent.is_system_key           := ord(False); | ||||||
|  |           TempEvent.character               := #0; | ||||||
|  |           TempEvent.unmodified_character    := #0; | ||||||
|  |           TempEvent.focus_on_editable_field := ord(False); | ||||||
|  |  | ||||||
|  |           chrmosr.SendKeyEvent(@TempEvent); | ||||||
|  |           Handled := True; | ||||||
|  |         end; | ||||||
|  |  | ||||||
|  |     WM_CHAR : | ||||||
|  |       if Panel1.Focused or chrmosr.FrameIsFocused then | ||||||
|  |         begin | ||||||
|  |           TempEvent.kind                    := KEYEVENT_CHAR; | ||||||
|  |           TempEvent.modifiers               := GetCefKeyboardModifiers(Msg.wParam, Msg.lParam); | ||||||
|  |           TempEvent.windows_key_code        := Msg.wParam; | ||||||
|  |           TempEvent.native_key_code         := Msg.lParam; | ||||||
|  |           TempEvent.is_system_key           := ord(False); | ||||||
|  |           TempEvent.character               := #0; | ||||||
|  |           TempEvent.unmodified_character    := #0; | ||||||
|  |           TempEvent.focus_on_editable_field := ord(False); | ||||||
|  |  | ||||||
|  |           chrmosr.SendKeyEvent(@TempEvent); | ||||||
|  |           Handled := True; | ||||||
|  |         end; | ||||||
|   end; |   end; | ||||||
| end; | end; | ||||||
|  |  | ||||||
| procedure TForm1.Button1Click(Sender: TObject); | procedure TForm1.GoBtnClick(Sender: TObject); | ||||||
| begin | begin | ||||||
|   chrmosr.LoadURL(Edit1.Text); |   chrmosr.LoadURL(ComboBox1.Text); | ||||||
| end; | end; | ||||||
|  |  | ||||||
| procedure TForm1.chrmosrCursorChange(Sender: TObject; | procedure TForm1.chrmosrAfterCreated(Sender: TObject; const browser: ICefBrowser); | ||||||
|   const browser: ICefBrowser; cursor: HICON; cursorType: TCefCursorType; |  | ||||||
|   const customCursorInfo: PCefCursorInfo); |  | ||||||
| begin | begin | ||||||
|   case cursorType of |   PostMessage(Handle, MINIBROWSER_CREATED, 0, 0); | ||||||
|     CT_POINTER: PaintBox.Cursor := crArrow; |  | ||||||
|     CT_CROSS: PaintBox.Cursor:= crCross; |  | ||||||
|     CT_HAND: PaintBox.Cursor := crHandPoint; |  | ||||||
|     CT_IBEAM: PaintBox.Cursor := crIBeam; |  | ||||||
|     CT_WAIT: PaintBox.Cursor := crHourGlass; |  | ||||||
|     CT_HELP: PaintBox.Cursor := crHelp; |  | ||||||
|     CT_EASTRESIZE: PaintBox.Cursor := crSizeWE; |  | ||||||
|     CT_NORTHRESIZE: PaintBox.Cursor := crSizeNS; |  | ||||||
|     CT_NORTHEASTRESIZE: PaintBox.Cursor:= crSizeNESW; |  | ||||||
|     CT_NORTHWESTRESIZE: PaintBox.Cursor:= crSizeNWSE; |  | ||||||
|     CT_SOUTHRESIZE: PaintBox.Cursor:= crSizeNS; |  | ||||||
|     CT_SOUTHEASTRESIZE: PaintBox.Cursor:= crSizeNWSE; |  | ||||||
|     CT_SOUTHWESTRESIZE: PaintBox.Cursor:= crSizeNESW; |  | ||||||
|     CT_WESTRESIZE: PaintBox.Cursor := crSizeWE; |  | ||||||
|     CT_NORTHSOUTHRESIZE: PaintBox.Cursor:= crSizeNS; |  | ||||||
|     CT_EASTWESTRESIZE: PaintBox.Cursor := crSizeWE; |  | ||||||
|     CT_NORTHEASTSOUTHWESTRESIZE: PaintBox.Cursor:= crSizeNESW; |  | ||||||
|     CT_NORTHWESTSOUTHEASTRESIZE: PaintBox.Cursor:= crSizeNWSE; |  | ||||||
|     CT_COLUMNRESIZE: PaintBox.Cursor:= crHSplit; |  | ||||||
|     CT_ROWRESIZE: PaintBox.Cursor:= crVSplit; |  | ||||||
|     CT_MOVE: PaintBox.Cursor := crSizeAll; |  | ||||||
|     CT_PROGRESS: PaintBox.Cursor := crAppStart; |  | ||||||
|     CT_NODROP: PaintBox.Cursor:= crNo; |  | ||||||
|     CT_NONE: PaintBox.Cursor:= crNone; |  | ||||||
|     CT_NOTALLOWED: PaintBox.Cursor:= crNo; |  | ||||||
|   else |  | ||||||
|     PaintBox.Cursor := crArrow; |  | ||||||
|   end; |  | ||||||
| end; | end; | ||||||
|  |  | ||||||
| procedure TForm1.chrmosrGetRootScreenRect(Sender: TObject; | procedure TForm1.chrmosrCursorChange(Sender : TObject; | ||||||
|   const browser: ICefBrowser; rect: PCefRect; out Result: Boolean); |                                      const browser          : ICefBrowser; | ||||||
|  |                                            cursor           : HICON; | ||||||
|  |                                            cursorType       : TCefCursorType; | ||||||
|  |                                      const customCursorInfo : PCefCursorInfo); | ||||||
| begin | begin | ||||||
|   rect.x := 0; |   PaintBox.Cursor := GefCursorToWindowsCursor(cursorType); | ||||||
|   rect.y := 0; | end; | ||||||
|   rect.width := PaintBox.Width; |  | ||||||
|  | procedure TForm1.chrmosrGetRootScreenRect(Sender : TObject; | ||||||
|  |                                           const browser : ICefBrowser; | ||||||
|  |                                                 rect    : PCefRect; | ||||||
|  |                                           out   Result  : Boolean); | ||||||
|  | begin | ||||||
|  |   rect.x      := 0; | ||||||
|  |   rect.y      := 0; | ||||||
|  |   rect.width  := PaintBox.Width; | ||||||
|   rect.height := PaintBox.Height; |   rect.height := PaintBox.Height; | ||||||
|   Result := True; |   Result      := True; | ||||||
| end; | end; | ||||||
|  |  | ||||||
| procedure TForm1.chrmosrGetScreenPoint(Sender: TObject; | procedure TForm1.chrmosrGetScreenPoint(Sender : TObject; | ||||||
|   const browser: ICefBrowser; viewX, viewY: Integer; screenX, |                                        const browser : ICefBrowser; | ||||||
|   screenY: PInteger; out Result: Boolean); |                                              viewX   : Integer; | ||||||
|  |                                              viewY   : Integer; | ||||||
|  |                                              screenX : PInteger; | ||||||
|  |                                              screenY : PInteger; | ||||||
|  |                                        out   Result  : Boolean); | ||||||
| var | var | ||||||
|   TempScreenPt, TempViewPt : TPoint; |   TempScreenPt, TempViewPt : TPoint; | ||||||
| begin | begin | ||||||
| @@ -193,8 +267,10 @@ begin | |||||||
|   Result       := True; |   Result       := True; | ||||||
| end; | end; | ||||||
|  |  | ||||||
| procedure TForm1.chrmosrGetViewRect(Sender: TObject; | procedure TForm1.chrmosrGetViewRect(Sender : TObject; | ||||||
|   const browser: ICefBrowser; rect: PCefRect; out Result: Boolean); |                                     const browser : ICefBrowser; | ||||||
|  |                                           rect    : PCefRect; | ||||||
|  |                                     out   Result  : Boolean); | ||||||
| begin | begin | ||||||
|   rect.x      := 0; |   rect.x      := 0; | ||||||
|   rect.y      := 0; |   rect.y      := 0; | ||||||
| @@ -203,10 +279,14 @@ begin | |||||||
|   Result      := True; |   Result      := True; | ||||||
| end; | end; | ||||||
|  |  | ||||||
| procedure TForm1.chrmosrPaint(Sender: TObject; const browser: ICefBrowser; | procedure TForm1.chrmosrPaint(Sender : TObject; | ||||||
|   kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; |                               const browser         : ICefBrowser; | ||||||
|   const dirtyRects: PCefRectArray; const buffer: Pointer; width, |                                     kind            : TCefPaintElementType; | ||||||
|   height: Integer); |                                     dirtyRectsCount : NativeUInt; | ||||||
|  |                               const dirtyRects      : PCefRectArray; | ||||||
|  |                               const buffer          : Pointer; | ||||||
|  |                                     width           : Integer; | ||||||
|  |                                     height          : Integer); | ||||||
| var | var | ||||||
|   src, dst: PByte; |   src, dst: PByte; | ||||||
|   offset, i, j, w: Integer; |   offset, i, j, w: Integer; | ||||||
| @@ -241,35 +321,38 @@ begin | |||||||
|     end; |     end; | ||||||
| end; | end; | ||||||
|  |  | ||||||
| procedure TForm1.chrmosrPopupShow(Sender: TObject; | procedure TForm1.chrmosrPopupShow(Sender : TObject; | ||||||
|   const browser: ICefBrowser; show: Boolean); |                                   const browser : ICefBrowser; | ||||||
|  |                                         show : Boolean); | ||||||
| begin | begin | ||||||
|   // TO DO : Needed to draw the "select" items |   // TO DO : Needed to draw the "select" items | ||||||
| end; | end; | ||||||
|  |  | ||||||
| procedure TForm1.chrmosrPopupSize(Sender: TObject; | procedure TForm1.chrmosrPopupSize(Sender : TObject; | ||||||
|   const browser: ICefBrowser; const rect: PCefRect); |                                   const browser : ICefBrowser; | ||||||
|  |                                   const rect    : PCefRect); | ||||||
| begin | begin | ||||||
|   // TO DO : Needed to draw the "select" items |   // TO DO : Needed to draw the "select" items | ||||||
| end; | end; | ||||||
|  |  | ||||||
| function TForm1.getModifiers(Shift: TShiftState): TCefEventFlags; | function TForm1.getModifiers(Shift: TShiftState): TCefEventFlags; | ||||||
| begin | begin | ||||||
|   Result := []; |   Result := EVENTFLAG_NONE; | ||||||
|   if ssShift in Shift then Include(Result, EVENTFLAG_SHIFT_DOWN); |  | ||||||
|   if ssAlt in Shift then Include(Result, EVENTFLAG_ALT_DOWN); |   if (ssShift  in Shift) then Result := Result or EVENTFLAG_SHIFT_DOWN; | ||||||
|   if ssCtrl in Shift then Include(Result, EVENTFLAG_CONTROL_DOWN); |   if (ssAlt    in Shift) then Result := Result or EVENTFLAG_ALT_DOWN; | ||||||
|   if ssLeft in Shift then Include(Result, EVENTFLAG_LEFT_MOUSE_BUTTON); |   if (ssCtrl   in Shift) then Result := Result or EVENTFLAG_CONTROL_DOWN; | ||||||
|   if ssRight in Shift then Include(Result, EVENTFLAG_RIGHT_MOUSE_BUTTON); |   if (ssLeft   in Shift) then Result := Result or EVENTFLAG_LEFT_MOUSE_BUTTON; | ||||||
|   if ssMiddle in Shift then Include(Result, EVENTFLAG_MIDDLE_MOUSE_BUTTON); |   if (ssRight  in Shift) then Result := Result or EVENTFLAG_RIGHT_MOUSE_BUTTON; | ||||||
|  |   if (ssMiddle in Shift) then Result := Result or EVENTFLAG_MIDDLE_MOUSE_BUTTON; | ||||||
| end; | end; | ||||||
|  |  | ||||||
| function TForm1.GetButton(Button: TMouseButton): TCefMouseButtonType; | function TForm1.GetButton(Button: TMouseButton): TCefMouseButtonType; | ||||||
| begin | begin | ||||||
|   case Button of |   case Button of | ||||||
|     TMouseButton.mbRight: Result := MBT_RIGHT; |     TMouseButton.mbRight  : Result := MBT_RIGHT; | ||||||
|     TMouseButton.mbMiddle: Result := MBT_MIDDLE; |     TMouseButton.mbMiddle : Result := MBT_MIDDLE; | ||||||
|     else  Result := MBT_LEFT; |     else                    Result := MBT_LEFT; | ||||||
|   end; |   end; | ||||||
| end; | end; | ||||||
|  |  | ||||||
| @@ -287,8 +370,13 @@ begin | |||||||
|   if (chrmosr <> nil) then chrmosr.NotifyMoveOrResizeStarted; |   if (chrmosr <> nil) then chrmosr.NotifyMoveOrResizeStarted; | ||||||
| end; | end; | ||||||
|  |  | ||||||
| procedure TForm1.FormAfterMonitorDpiChanged(Sender: TObject; OldDPI, | procedure TForm1.BrowserCreatedMsg(var aMessage : TMessage); | ||||||
|   NewDPI: Integer); | begin | ||||||
|  |   NavControlPnl.Enabled := True; | ||||||
|  |   GoBtn.Click; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | procedure TForm1.FormAfterMonitorDpiChanged(Sender: TObject; OldDPI, NewDPI: Integer); | ||||||
| begin | begin | ||||||
|   if (chrmosr <> nil) then |   if (chrmosr <> nil) then | ||||||
|     begin |     begin | ||||||
| @@ -297,61 +385,93 @@ begin | |||||||
|     end; |     end; | ||||||
| end; | end; | ||||||
|  |  | ||||||
| procedure TForm1.FormShow(Sender: TObject); | procedure TForm1.FormCreate(Sender: TObject); | ||||||
| begin | begin | ||||||
|   chrmosr.Options.BackgroundColor := CefColorSetARGB($FF, $FF, $FF, $FF); // opaque white background color |   chrmosr.Options.BackgroundColor := CefColorSetARGB($FF, $FF, $FF, $FF); // opaque white background color | ||||||
|   chrmosr.CreateBrowser(nil, ''); |   chrmosr.CreateBrowser(nil, ''); | ||||||
|  |   chrmosr.InitializeDragAndDrop(PaintBox); | ||||||
| end; | end; | ||||||
|  |  | ||||||
| procedure TForm1.PaintBoxMouseDown(Sender: TObject; Button: TMouseButton; | procedure TForm1.FormDestroy(Sender: TObject); | ||||||
|   Shift: TShiftState; X, Y: Integer); |  | ||||||
| var |  | ||||||
|   event: TCefMouseEvent; |  | ||||||
| begin | begin | ||||||
|   event.x := X; |   chrmosr.ShutdownDragAndDrop; | ||||||
|   event.y := Y; |  | ||||||
|   event.modifiers := getModifiers(Shift); |  | ||||||
|   chrmosr.SendMouseClickEvent(@event, GetButton(Button), False, 1); |  | ||||||
| end; | end; | ||||||
|  |  | ||||||
| procedure TForm1.PaintBoxMouseMove(Sender: TObject; Shift: TShiftState; X, | procedure TForm1.FormHide(Sender: TObject); | ||||||
|   Y: Integer); |  | ||||||
| var |  | ||||||
|   event: TCefMouseEvent; |  | ||||||
| begin | begin | ||||||
|   event.x := X; |   chrmosr.SendFocusEvent(False); | ||||||
|   event.y := Y; |   chrmosr.WasHidden(True); | ||||||
|   event.modifiers := getModifiers(Shift); |  | ||||||
|   chrmosr.SendMouseMoveEvent(@event, not PaintBox.MouseInControl); |  | ||||||
| end; | end; | ||||||
|  |  | ||||||
| procedure TForm1.PaintBoxMouseUp(Sender: TObject; Button: TMouseButton; | procedure TForm1.FormShow(Sender: TObject); | ||||||
|   Shift: TShiftState; X, Y: Integer); |  | ||||||
| var |  | ||||||
|   event: TCefMouseEvent; |  | ||||||
| begin | begin | ||||||
|   event.x := X; |   chrmosr.WasHidden(False); | ||||||
|   event.y := Y; |   chrmosr.SendFocusEvent(True); | ||||||
|   event.modifiers := getModifiers(Shift); |  | ||||||
|   chrmosr.SendMouseClickEvent(@event, GetButton(Button), True, 1); |  | ||||||
| end; | end; | ||||||
|  |  | ||||||
| procedure TForm1.PaintBoxMouseWheel(Sender: TObject; Shift: TShiftState; | procedure TForm1.PaintBoxClick(Sender: TObject); | ||||||
|   WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean); |  | ||||||
| var |  | ||||||
|   event: TCefMouseEvent; |  | ||||||
| begin | begin | ||||||
|   event.x := MousePos.X; |   Panel1.SetFocus; | ||||||
|   event.y := MousePos.Y; | end; | ||||||
|   event.modifiers := getModifiers(Shift); |  | ||||||
|   chrmosr.SendMouseWheelEvent(@event, 0, WheelDelta); | procedure TForm1.PaintBoxMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); | ||||||
|  | var | ||||||
|  |   TempEvent : TCefMouseEvent; | ||||||
|  | begin | ||||||
|  |   TempEvent.x         := X; | ||||||
|  |   TempEvent.y         := Y; | ||||||
|  |   TempEvent.modifiers := getModifiers(Shift); | ||||||
|  |   chrmosr.SendMouseClickEvent(@TempEvent, GetButton(Button), False, 1); | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | procedure TForm1.PaintBoxMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); | ||||||
|  | var | ||||||
|  |   TempEvent : TCefMouseEvent; | ||||||
|  | begin | ||||||
|  |   TempEvent.x         := X; | ||||||
|  |   TempEvent.y         := Y; | ||||||
|  |   TempEvent.modifiers := getModifiers(Shift); | ||||||
|  |   chrmosr.SendMouseMoveEvent(@TempEvent, not PaintBox.MouseInControl); | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | procedure TForm1.PaintBoxMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); | ||||||
|  | var | ||||||
|  |   TempEvent : TCefMouseEvent; | ||||||
|  | begin | ||||||
|  |   TempEvent.x         := X; | ||||||
|  |   TempEvent.y         := Y; | ||||||
|  |   TempEvent.modifiers := getModifiers(Shift); | ||||||
|  |   chrmosr.SendMouseClickEvent(@TempEvent, GetButton(Button), True, 1); | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | procedure TForm1.PaintBoxMouseWheel(Sender      : TObject; | ||||||
|  |                                     Shift       : TShiftState; | ||||||
|  |                                     WheelDelta  : Integer; | ||||||
|  |                                     MousePos    : TPoint; | ||||||
|  |                                     var Handled : Boolean); | ||||||
|  | var | ||||||
|  |   TempEvent : TCefMouseEvent; | ||||||
|  | begin | ||||||
|  |   TempEvent.x         := MousePos.X; | ||||||
|  |   TempEvent.y         := MousePos.Y; | ||||||
|  |   TempEvent.modifiers := getModifiers(Shift); | ||||||
|  |   chrmosr.SendMouseWheelEvent(@TempEvent, 0, WheelDelta); | ||||||
| end; | end; | ||||||
|  |  | ||||||
| procedure TForm1.PaintBoxResize(Sender: TObject); | procedure TForm1.PaintBoxResize(Sender: TObject); | ||||||
| begin | begin | ||||||
|   PaintBox.Buffer.SetSize(PaintBox.Width, PaintBox.Height); |   PaintBox.Buffer.SetSize(PaintBox.Width, PaintBox.Height); | ||||||
|   chrmosr.WasResized; |   chrmosr.WasResized; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | procedure TForm1.Panel1Enter(Sender: TObject); | ||||||
|  | begin | ||||||
|   chrmosr.SendFocusEvent(True); |   chrmosr.SendFocusEvent(True); | ||||||
| end; | end; | ||||||
|  |  | ||||||
|  | procedure TForm1.Panel1Exit(Sender: TObject); | ||||||
|  | begin | ||||||
|  |   chrmosr.SendFocusEvent(False); | ||||||
|  | end; | ||||||
|  |  | ||||||
| end. | end. | ||||||
|   | |||||||
| @@ -2,11 +2,11 @@ | |||||||
| <BorlandProject> | <BorlandProject> | ||||||
| 	<Transactions> | 	<Transactions> | ||||||
|     <Transaction>2017/05/21 15:39:53.000.029,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas</Transaction> |     <Transaction>2017/05/21 15:39:53.000.029,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas</Transaction> | ||||||
|     <Transaction>2017/05/21 15:40:36.000.672,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\ToolBoxBrowser\uMainForm.pas</Transaction> |     <Transaction>2017/05/21 15:40:36.000.672,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\ToolBoxBrowser\uMainForm.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas</Transaction> | ||||||
|     <Transaction>2017/05/21 15:40:36.000.672,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\ToolBoxBrowser\uMainForm.dfm</Transaction> |     <Transaction>2017/05/21 15:40:36.000.672,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\ToolBoxBrowser\uMainForm.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.dfm</Transaction> | ||||||
|     <Transaction>2017/05/21 15:40:43.000.627,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Project1.dproj=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\ToolBoxBrowser\ToolBoxBrowser.dproj</Transaction> |     <Transaction>2017/05/21 15:40:43.000.627,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\ToolBoxBrowser\ToolBoxBrowser.dproj=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Project1.dproj</Transaction> | ||||||
|     <Transaction>2017/05/21 15:44:20.000.154,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\ToolBoxBrowser\Unit2.pas</Transaction> |     <Transaction>2017/05/21 15:44:20.000.154,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\ToolBoxBrowser\Unit2.pas</Transaction> | ||||||
|     <Transaction>2017/05/21 15:46:19.000.247,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\ToolBoxBrowser\Unit2.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\ToolBoxBrowser\uChildForm.dfm</Transaction> |     <Transaction>2017/05/21 15:46:19.000.247,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\ToolBoxBrowser\uChildForm.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\ToolBoxBrowser\Unit2.pas</Transaction> | ||||||
|     <Transaction>2017/05/21 15:46:19.000.247,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\ToolBoxBrowser\Unit2.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\ToolBoxBrowser\uChildForm.pas</Transaction> |     <Transaction>2017/05/21 15:46:19.000.247,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\ToolBoxBrowser\uChildForm.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\ToolBoxBrowser\Unit2.dfm</Transaction> | ||||||
|   </Transactions> |   </Transactions> | ||||||
| </BorlandProject> | </BorlandProject> | ||||||
|   | |||||||
| @@ -45,15 +45,16 @@ BorlandEditorCodeExplorer=BorlandEditorCodeExplorer@EditWindow0 | |||||||
| TopPanelSize=0 | TopPanelSize=0 | ||||||
| LeftPanelSize=0 | LeftPanelSize=0 | ||||||
| RightPanelSize=2000 | RightPanelSize=2000 | ||||||
| RightPanelClients=DockSite2,DockSite4 | RightPanelClients=DockSite2 | ||||||
| RightPanelData=00000800010100000000551500000000000001D00700000000000001000000004312000009000000446F636B536974653201000000009D1D000009000000446F636B5369746534FFFFFFFF | RightPanelData=00000800010100000000AA1900000000000001D0070000000000000100000000A123000009000000446F636B5369746532FFFFFFFF | ||||||
| BottomPanelSize=1475 | BottomPanelSize=0 | ||||||
| BottomPanelClients=DockSite1,MessageView | BottomPanelClients=DockSite1,MessageView | ||||||
| BottomPanelData=0000080001020100000009000000446F636B53697465313B3600000000000002C30500000000000001000000003B3600000F0000004D65737361676556696577466F726DFFFFFFFF | BottomPanelData=0000080001020200000009000000446F636B53697465310F0000004D65737361676556696577466F726D3B3600000000000002820F000000000000FFFFFFFF | ||||||
| BottomMiddlePanelSize=0 | BottomMiddlePanelSize=0 | ||||||
| BottomMiddlePanelClients=DockSite0,GraphDrawingModel | BottomMiddlePanelClients=DockSite0,GraphDrawingModel | ||||||
| BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F306000000000000FFFFFFFF | BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F306000000000000FFFFFFFF | ||||||
| TabDockLeftClients=PropertyInspector=0,DockSite3=1 | TabDockLeftClients=DockSite3=0,PropertyInspector=1 | ||||||
|  | TabDockRightClients=DockSite4=0 | ||||||
|  |  | ||||||
| [View0] | [View0] | ||||||
| CustomEditViewType=TWelcomePageView | CustomEditViewType=TWelcomePageView | ||||||
| @@ -84,11 +85,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=213 | TBDockHeight=213 | ||||||
| LRDockWidth=13602 | LRDockWidth=13602 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -132,11 +133,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=4226 | Height=8868 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=4226 | ClientHeight=8868 | ||||||
| TBDockHeight=5897 | TBDockHeight=5897 | ||||||
| LRDockWidth=2352 | LRDockWidth=2352 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -145,18 +146,18 @@ StayOnTop=0 | |||||||
| [MessageView] | [MessageView] | ||||||
| PercentageSizes=1 | PercentageSizes=1 | ||||||
| Create=1 | Create=1 | ||||||
| Visible=1 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=23 | Top=23 | ||||||
| Width=10000 | Width=2773 | ||||||
| Height=1267 | Height=3845 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=10000 | ClientWidth=2773 | ||||||
| ClientHeight=1267 | ClientHeight=3845 | ||||||
| TBDockHeight=1267 | TBDockHeight=3845 | ||||||
| LRDockWidth=2773 | LRDockWidth=2773 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
| @@ -169,12 +170,12 @@ Docked=1 | |||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=1875 | ||||||
| Height=2747 | Height=6693 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=1875 | ||||||
| ClientHeight=2747 | ClientHeight=6693 | ||||||
| TBDockHeight=7152 | TBDockHeight=7152 | ||||||
| LRDockWidth=2000 | LRDockWidth=2000 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -224,8 +225,8 @@ Create=1 | |||||||
| Visible=0 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=-148 | Left=-8 | ||||||
| Top=-137 | Top=-30 | ||||||
| Width=1844 | Width=1844 | ||||||
| Height=3139 | Height=3139 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| @@ -281,19 +282,19 @@ Create=1 | |||||||
| Visible=0 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=78 | ||||||
| Top=362 | Top=386 | ||||||
| Width=1898 | Width=1898 | ||||||
| Height=5370 | Height=7164 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=1898 | ClientWidth=1773 | ||||||
| ClientHeight=5370 | ClientHeight=6738 | ||||||
| TBDockHeight=7164 | TBDockHeight=7164 | ||||||
| LRDockWidth=1898 | LRDockWidth=1898 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
| SplitPos=111 | SplitPos=136 | ||||||
|  |  | ||||||
| [frmDesignPreview] | [frmDesignPreview] | ||||||
| PercentageSizes=1 | PercentageSizes=1 | ||||||
| @@ -304,11 +305,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=6861 | Height=6816 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=6861 | ClientHeight=6816 | ||||||
| TBDockHeight=5964 | TBDockHeight=5964 | ||||||
| LRDockWidth=2508 | LRDockWidth=2508 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -320,8 +321,8 @@ Create=1 | |||||||
| Visible=0 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=-898 | Left=-946 | ||||||
| Top=-137 | Top=1 | ||||||
| Width=2844 | Width=2844 | ||||||
| Height=6200 | Height=6200 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| @@ -339,8 +340,8 @@ Create=1 | |||||||
| Visible=0 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=-1026 | Left=-8 | ||||||
| Top=-137 | Top=287 | ||||||
| Width=273 | Width=273 | ||||||
| Height=359 | Height=359 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| @@ -364,11 +365,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=415 | TBDockHeight=415 | ||||||
| LRDockWidth=4953 | LRDockWidth=4953 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -383,11 +384,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=213 | TBDockHeight=213 | ||||||
| LRDockWidth=7406 | LRDockWidth=7406 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -406,11 +407,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=1536 | TBDockHeight=1536 | ||||||
| LRDockWidth=3484 | LRDockWidth=3484 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -425,11 +426,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=2063 | TBDockHeight=2063 | ||||||
| LRDockWidth=3484 | LRDockWidth=3484 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -444,11 +445,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2336 | Width=2336 | ||||||
| Height=1177 | Height=942 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2336 | ClientWidth=2336 | ||||||
| ClientHeight=1177 | ClientHeight=942 | ||||||
| TBDockHeight=2321 | TBDockHeight=2321 | ||||||
| LRDockWidth=2820 | LRDockWidth=2820 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -509,11 +510,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=6861 | Height=6816 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=6861 | ClientHeight=6816 | ||||||
| TBDockHeight=4888 | TBDockHeight=4888 | ||||||
| LRDockWidth=7148 | LRDockWidth=7148 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -525,8 +526,8 @@ Create=1 | |||||||
| Visible=0 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=249 | ||||||
| Top=0 | Top=709 | ||||||
| Width=2859 | Width=2859 | ||||||
| Height=3206 | Height=3206 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| @@ -547,11 +548,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=1547 | TBDockHeight=1547 | ||||||
| LRDockWidth=8742 | LRDockWidth=8742 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -572,12 +573,12 @@ Docked=1 | |||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=1898 | Width=1773 | ||||||
| Height=9170 | Height=6738 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=1898 | ClientWidth=1773 | ||||||
| ClientHeight=9170 | ClientHeight=6738 | ||||||
| TBDockHeight=3677 | TBDockHeight=3677 | ||||||
| LRDockWidth=1898 | LRDockWidth=1898 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -592,11 +593,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=6861 | Height=6816 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=6861 | ClientHeight=6816 | ||||||
| TBDockHeight=4888 | TBDockHeight=4888 | ||||||
| LRDockWidth=5305 | LRDockWidth=5305 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -657,14 +658,14 @@ Visible=0 | |||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=23 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1424 | Height=874 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1424 | ClientHeight=874 | ||||||
| TBDockHeight=1424 | TBDockHeight=874 | ||||||
| LRDockWidth=3820 | LRDockWidth=3820 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
| @@ -683,12 +684,12 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=23 | Top=23 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=4529 | Height=9170 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=4529 | ClientHeight=9170 | ||||||
| TBDockHeight=7164 | TBDockHeight=7119 | ||||||
| LRDockWidth=2000 | LRDockWidth=2000 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
| @@ -705,13 +706,13 @@ Visible=0 | |||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=23 | Top=0 | ||||||
| Width=1898 | Width=1898 | ||||||
| Height=9170 | Height=7164 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=1898 | ClientWidth=1773 | ||||||
| ClientHeight=9170 | ClientHeight=6738 | ||||||
| TBDockHeight=7164 | TBDockHeight=7164 | ||||||
| LRDockWidth=1898 | LRDockWidth=1898 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -721,22 +722,22 @@ ActiveTabID=StructureView | |||||||
| TabDockClients=StructureView,ClassBrowserTool | TabDockClients=StructureView,ClassBrowserTool | ||||||
|  |  | ||||||
| [DockSite4] | [DockSite4] | ||||||
| HostDockSite=DockRightPanel | HostDockSite=RightTabDock | ||||||
| DockSiteType=1 | DockSiteType=1 | ||||||
| PercentageSizes=1 | PercentageSizes=1 | ||||||
| Create=1 | Create=1 | ||||||
| Visible=1 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=454 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=2747 | Height=7119 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=1875 | ||||||
| ClientHeight=2747 | ClientHeight=6693 | ||||||
| TBDockHeight=7164 | TBDockHeight=7119 | ||||||
| LRDockWidth=2000 | LRDockWidth=2000 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
|   | |||||||
| @@ -3,7 +3,7 @@ EditorSecs=684 | |||||||
| DesignerSecs=16 | DesignerSecs=16 | ||||||
| InspectorSecs=1 | InspectorSecs=1 | ||||||
| CompileSecs=22006 | CompileSecs=22006 | ||||||
| OtherSecs=57 | OtherSecs=58 | ||||||
| StartTime=21/05/2017 17:35:40 | StartTime=21/05/2017 17:35:40 | ||||||
| RealKeys=0 | RealKeys=0 | ||||||
| EffectiveKeys=0 | EffectiveKeys=0 | ||||||
|   | |||||||
| @@ -151,6 +151,8 @@ contains | |||||||
|   uCEFChromiumWindow in 'uCEFChromiumWindow.pas', |   uCEFChromiumWindow in 'uCEFChromiumWindow.pas', | ||||||
|   uCEFBaseRefCounted in 'uCEFBaseRefCounted.pas', |   uCEFBaseRefCounted in 'uCEFBaseRefCounted.pas', | ||||||
|   uCEFBaseScopedWrapper in 'uCEFBaseScopedWrapper.pas', |   uCEFBaseScopedWrapper in 'uCEFBaseScopedWrapper.pas', | ||||||
|   uCEFAccessibilityHandler in 'uCEFAccessibilityHandler.pas'; |   uCEFAccessibilityHandler in 'uCEFAccessibilityHandler.pas', | ||||||
|  |   uOLEDragAndDrop in 'uOLEDragAndDrop.pas', | ||||||
|  |   uCEFDragAndDropMgr in 'uCEFDragAndDropMgr.pas'; | ||||||
|  |  | ||||||
| end. | end. | ||||||
|   | |||||||
| @@ -210,6 +210,8 @@ | |||||||
|         <DCCReference Include="uCEFBaseRefCounted.pas"/> |         <DCCReference Include="uCEFBaseRefCounted.pas"/> | ||||||
|         <DCCReference Include="uCEFBaseScopedWrapper.pas"/> |         <DCCReference Include="uCEFBaseScopedWrapper.pas"/> | ||||||
|         <DCCReference Include="uCEFAccessibilityHandler.pas"/> |         <DCCReference Include="uCEFAccessibilityHandler.pas"/> | ||||||
|  |         <DCCReference Include="uOLEDragAndDrop.pas"/> | ||||||
|  |         <DCCReference Include="uCEFDragAndDropMgr.pas"/> | ||||||
|         <BuildConfiguration Include="Release"> |         <BuildConfiguration Include="Release"> | ||||||
|             <Key>Cfg_2</Key> |             <Key>Cfg_2</Key> | ||||||
|             <CfgParent>Base</CfgParent> |             <CfgParent>Base</CfgParent> | ||||||
|   | |||||||
| @@ -2,288 +2,289 @@ | |||||||
| <BorlandProject> | <BorlandProject> | ||||||
| 	<Transactions> | 	<Transactions> | ||||||
|     <Transaction>2016/11/03 13:34:24.000.622,=rtl.dcp</Transaction> |     <Transaction>2016/11/03 13:34:24.000.622,=rtl.dcp</Transaction> | ||||||
|     <Transaction>2016/11/03 13:36:50.000.899,C:\Program Files\Embarcadero\Studio\17.0\cef3\cef3.dproj=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Package1.dproj</Transaction> |     <Transaction>2016/11/03 13:36:50.000.899,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Package1.dproj=C:\Program Files\Embarcadero\Studio\17.0\cef3\cef3.dproj</Transaction> | ||||||
|     <Transaction>2016/11/03 13:37:44.000.301,=C:\Program Files\Embarcadero\Studio\17.0\cef3\ceferr.pas</Transaction> |     <Transaction>2016/11/03 13:37:44.000.301,=C:\Program Files\Embarcadero\Studio\17.0\cef3\ceferr.pas</Transaction> | ||||||
|     <Transaction>2016/11/03 13:37:45.000.236,=C:\Program Files\Embarcadero\Studio\17.0\cef3\cefreg.pas</Transaction> |  | ||||||
|     <Transaction>2016/11/03 13:37:45.000.074,=C:\Program Files\Embarcadero\Studio\17.0\cef3\cefgui.pas</Transaction> |     <Transaction>2016/11/03 13:37:45.000.074,=C:\Program Files\Embarcadero\Studio\17.0\cef3\cefgui.pas</Transaction> | ||||||
|     <Transaction>2016/11/03 13:37:45.000.219,=C:\Program Files\Embarcadero\Studio\17.0\cef3\ceflib.pas</Transaction> |     <Transaction>2016/11/03 13:37:45.000.219,=C:\Program Files\Embarcadero\Studio\17.0\cef3\ceflib.pas</Transaction> | ||||||
|  |     <Transaction>2016/11/03 13:37:45.000.236,=C:\Program Files\Embarcadero\Studio\17.0\cef3\cefreg.pas</Transaction> | ||||||
|     <Transaction>2016/11/03 13:37:47.000.876,=C:\Program Files\Embarcadero\Studio\17.0\cef3\cefvcl.pas</Transaction> |     <Transaction>2016/11/03 13:37:47.000.876,=C:\Program Files\Embarcadero\Studio\17.0\cef3\cefvcl.pas</Transaction> | ||||||
|     <Transaction>2016/11/03 13:42:03.000.211,=vcl.dcp</Transaction> |     <Transaction>2016/11/03 13:42:03.000.211,=vcl.dcp</Transaction> | ||||||
|     <Transaction>2016/11/03 14:22:14.000.293,C:\Program Files\Embarcadero\Studio\17.0\cef3\ceferr.pas=</Transaction> |     <Transaction>2016/11/03 14:22:14.000.293,C:\Program Files\Embarcadero\Studio\17.0\cef3\ceferr.pas=</Transaction> | ||||||
|     <Transaction>2016/11/03 14:22:31.000.065,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/03 14:22:31.000.065,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/03 14:23:07.000.607,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFConstants.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/03 14:23:07.000.607,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFConstants.pas</Transaction> | ||||||
|     <Transaction>2016/11/03 16:02:18.000.380,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/03 16:02:18.000.380,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/03 16:02:54.000.678,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFLibrary.pas</Transaction> |     <Transaction>2016/11/03 16:02:54.000.678,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFLibrary.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/03 19:41:00.000.323,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFLibrary.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFTypes.pas</Transaction> |     <Transaction>2016/11/03 19:41:00.000.323,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFTypes.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFLibrary.pas</Transaction> | ||||||
|     <Transaction>2016/11/03 19:41:47.000.437,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/03 19:41:47.000.437,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/03 19:42:09.000.623,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFInterfaces.pas</Transaction> |     <Transaction>2016/11/03 19:42:09.000.623,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFInterfaces.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/03 19:47:24.000.150,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/03 19:47:24.000.150,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/03 19:47:36.000.023,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFMiscFunctions.pas</Transaction> |     <Transaction>2016/11/03 19:47:36.000.023,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFMiscFunctions.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 09:38:54.000.499,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 09:38:54.000.499,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 09:39:27.000.208,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFLibFunctions.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 09:39:27.000.208,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFLibFunctions.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 10:17:03.000.353,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFHandlers.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\cefgui.pas</Transaction> |     <Transaction>2016/11/04 10:17:03.000.353,C:\Program Files\Embarcadero\Studio\17.0\cef3\cefgui.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFHandlers.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 10:19:09.000.192,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 10:19:09.000.192,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 10:19:19.000.721,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFApplication.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 10:19:19.000.721,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFApplication.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 10:28:32.000.523,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 10:28:32.000.523,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 10:28:45.000.314,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFBase.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 10:28:45.000.314,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFBase.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 10:53:47.000.492,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 10:53:47.000.492,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 10:54:04.000.082,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFSchemeRegistrar.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 10:54:04.000.082,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFSchemeRegistrar.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 10:57:19.000.058,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 10:57:19.000.058,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 10:57:35.000.208,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFCommandLine.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 10:57:35.000.208,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFCommandLine.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 11:12:13.000.709,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 11:12:13.000.709,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 11:12:22.000.981,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFClient.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 11:12:22.000.981,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFClient.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 11:18:45.000.858,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 11:18:45.000.858,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 11:19:23.000.685,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFProcessMessage.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 11:19:23.000.685,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFProcessMessage.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 11:22:59.000.325,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 11:22:59.000.325,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 11:23:09.000.748,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFBrowser.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 11:23:09.000.748,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFBrowser.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 11:30:13.000.870,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 11:30:13.000.870,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 11:30:22.000.479,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFListValue.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 11:30:22.000.479,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFListValue.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 11:33:29.000.686,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 11:33:29.000.686,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 11:33:40.000.124,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFBinaryValue.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 11:33:40.000.124,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFBinaryValue.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 11:36:10.000.379,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 11:36:10.000.379,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 11:36:37.000.046,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFValue.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 11:36:37.000.046,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFValue.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 11:40:42.000.080,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 11:40:42.000.080,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 11:41:02.000.855,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDictionaryValue.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 11:41:02.000.855,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDictionaryValue.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:04:55.000.807,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 12:04:55.000.807,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:05:21.000.299,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFFastDownloadImageCallback.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 12:05:21.000.299,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFFastDownloadImageCallback.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:05:37.000.607,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFFastDownloadImage.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFFastDownloadImageCallback.pas</Transaction> |     <Transaction>2016/11/04 12:05:37.000.607,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFFastDownloadImageCallback.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFFastDownloadImage.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:10:01.000.351,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDownloadImage.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFFastDownloadImage.pas</Transaction> |     <Transaction>2016/11/04 12:10:01.000.351,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFFastDownloadImage.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDownloadImage.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:10:25.000.976,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDownloadImageCallBack.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDownloadImage.pas</Transaction> |     <Transaction>2016/11/04 12:10:25.000.976,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDownloadImage.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDownloadImageCallBack.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:12:39.000.648,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 12:12:39.000.648,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:12:49.000.133,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFFrame.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 12:12:49.000.133,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFFrame.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:16:41.000.794,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 12:16:41.000.794,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:16:57.000.667,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFPDFPrintCallback.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 12:16:57.000.667,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFPDFPrintCallback.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:21:00.000.581,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 12:21:00.000.581,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:21:15.000.075,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFRunFileDialogCallback.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 12:21:15.000.075,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFRunFileDialogCallback.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:25:08.000.825,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 12:25:08.000.825,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:25:24.000.237,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFRequestContext.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 12:25:24.000.237,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFRequestContext.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:31:41.000.426,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 12:31:41.000.426,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:31:57.000.575,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFNavigationEntryVisitor.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 12:31:57.000.575,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFNavigationEntryVisitor.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:37:26.000.233,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 12:37:26.000.233,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:37:41.000.439,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFStringVisitor.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 12:37:41.000.439,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFStringVisitor.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:41:15.000.143,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 12:41:15.000.143,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:41:29.000.653,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFv8Context.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 12:41:29.000.653,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFv8Context.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:44:15.000.121,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 12:44:15.000.121,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:44:21.000.835,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDomVisitor.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 12:44:21.000.835,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDomVisitor.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:47:43.000.602,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 12:47:43.000.602,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:47:55.000.980,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFNavigationEntry.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 12:47:55.000.980,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFNavigationEntry.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:54:00.000.201,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 12:54:00.000.201,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:54:11.000.315,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFCookieManager.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 12:54:11.000.315,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFCookieManager.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:57:30.000.891,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 12:57:30.000.891,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 12:57:42.000.499,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFCompletionCallback.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 12:57:42.000.499,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFCompletionCallback.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 13:01:09.000.833,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 13:01:09.000.833,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 13:01:23.000.562,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFRequestContextHandler.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 13:01:23.000.562,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFRequestContextHandler.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 13:57:45.000.846,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 13:57:45.000.846,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 13:57:59.000.369,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFWebPluginInfo.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 13:57:59.000.369,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFWebPluginInfo.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 14:31:30.000.550,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 14:31:30.000.550,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 14:31:41.000.938,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDomDocument.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 14:31:41.000.938,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDomDocument.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 14:34:17.000.090,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 14:34:17.000.090,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 14:34:28.000.129,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDomNode.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 14:34:28.000.129,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDomNode.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 14:37:55.000.209,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 14:37:55.000.209,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 14:38:03.000.057,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFv8Value.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 14:38:03.000.057,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFv8Value.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 14:41:40.000.277,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 14:41:40.000.277,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 14:41:59.000.136,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFV8Accessor.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 14:41:59.000.136,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFV8Accessor.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 14:42:16.000.591,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFFastv8Accessor.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFV8Accessor.pas</Transaction> |     <Transaction>2016/11/04 14:42:16.000.591,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFV8Accessor.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFFastv8Accessor.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 14:42:25.000.676,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFv8Accessor.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFFastv8Accessor.pas</Transaction> |     <Transaction>2016/11/04 14:42:25.000.676,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFFastv8Accessor.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFv8Accessor.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 15:22:35.000.321,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromium.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\cefvcl.pas</Transaction> |     <Transaction>2016/11/04 15:22:35.000.321,C:\Program Files\Embarcadero\Studio\17.0\cef3\cefvcl.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromium.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 15:35:00.000.300,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 15:35:00.000.300,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 15:35:10.000.181,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFLoadHandler.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 15:35:10.000.181,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFLoadHandler.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 15:41:55.000.278,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 15:41:55.000.278,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 15:42:06.000.032,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFFocusHandler.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 15:42:06.000.032,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFFocusHandler.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 15:45:35.000.950,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 15:45:35.000.950,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 15:45:45.000.999,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFContextMenuHandler.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 15:45:45.000.999,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFContextMenuHandler.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 15:50:29.000.265,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 15:50:29.000.265,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 15:50:38.000.989,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDialogHandler.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 15:50:38.000.989,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDialogHandler.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 15:56:26.000.967,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 15:56:26.000.967,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 15:56:35.000.859,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFKeyboardHandler.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 15:56:35.000.859,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFKeyboardHandler.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 15:59:45.000.629,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 15:59:45.000.629,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 15:59:55.000.903,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDisplayHandler.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 15:59:55.000.903,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDisplayHandler.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:02:33.000.750,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:02:33.000.750,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:02:43.000.771,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDownloadHandler.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:02:43.000.771,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDownloadHandler.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:05:14.000.727,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:05:14.000.727,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:05:25.000.707,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFGeolocationHandler.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:05:25.000.707,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFGeolocationHandler.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:07:34.000.747,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:07:34.000.747,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:07:48.000.604,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFJsDialogHandler.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:07:48.000.604,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFJsDialogHandler.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:10:46.000.310,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:10:46.000.310,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:10:57.000.068,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFLifeSpanHandler.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:10:57.000.068,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFLifeSpanHandler.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:14:08.000.188,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:14:08.000.188,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:14:20.000.442,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFRequestHandler.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:14:20.000.442,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFRequestHandler.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:18:01.000.623,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:18:01.000.623,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:18:07.000.730,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFRenderHandler.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:18:07.000.730,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFRenderHandler.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:21:06.000.326,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:21:06.000.326,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:21:15.000.423,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDragHandler.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:21:15.000.423,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDragHandler.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:27:29.000.133,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFFindHandler.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFHandlers.pas</Transaction> |     <Transaction>2016/11/04 16:27:29.000.133,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFHandlers.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFFindHandler.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:29:59.000.889,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:29:59.000.889,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:30:12.000.364,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFPostData.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:30:12.000.364,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFPostData.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:32:14.000.814,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:32:14.000.814,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:32:25.000.911,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFPostDataElement.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:32:25.000.911,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFPostDataElement.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:33:41.000.767,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:33:41.000.767,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:33:51.000.107,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFRequest.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:33:51.000.107,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFRequest.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:35:36.000.010,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:35:36.000.010,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:35:50.000.837,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFStreamReader.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:35:50.000.837,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFStreamReader.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:37:53.000.753,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:37:53.000.753,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:38:01.000.643,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFWriteHandler.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:38:01.000.643,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFWriteHandler.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:39:57.000.905,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:39:57.000.905,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:40:04.000.132,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFStreamWriter.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:40:04.000.132,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFStreamWriter.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:41:56.000.888,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:41:56.000.888,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:42:13.000.418,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFv8StackFrame.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:42:13.000.418,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFv8StackFrame.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:43:23.000.259,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:43:23.000.259,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:43:31.000.890,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFv8StackTrace.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:43:31.000.890,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFv8StackTrace.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:45:02.000.388,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:45:02.000.388,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:45:15.000.769,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFv8Handler.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:45:15.000.769,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFv8Handler.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:47:31.000.384,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:47:31.000.384,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:47:43.000.976,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFRequestCallback.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:47:43.000.976,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFRequestCallback.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:48:49.000.916,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:48:49.000.916,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:49:13.000.169,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFCustomStreamReader.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:49:13.000.169,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFCustomStreamReader.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:52:24.000.501,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:52:24.000.501,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:54:53.000.505,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFCallback.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:54:53.000.505,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFCallback.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:57:17.000.239,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:57:17.000.239,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 16:57:26.000.077,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFResourceHandler.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 16:57:26.000.077,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFResourceHandler.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:00:50.000.674,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:00:50.000.674,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:00:59.000.259,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFSchemeHandlerFactory.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:00:59.000.259,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFSchemeHandlerFactory.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:03:15.000.546,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:03:15.000.546,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:05:49.000.016,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFTask.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:05:49.000.016,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFTask.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:10:43.000.387,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:10:43.000.387,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:10:57.000.795,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFTaskRunner.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:10:57.000.795,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFTaskRunner.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:11:52.000.079,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:11:52.000.079,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:11:59.000.503,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFStringMap.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:11:59.000.503,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFStringMap.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:13:03.000.928,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:13:03.000.928,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:13:12.000.687,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFStringMultimap.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:13:12.000.687,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFStringMultimap.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:15:01.000.582,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:15:01.000.582,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:15:12.000.909,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFXmlReader.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:15:12.000.909,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFXmlReader.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:16:26.000.528,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:16:26.000.528,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:16:34.000.014,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFZipReader.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:16:34.000.014,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFZipReader.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:17:43.000.074,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:17:43.000.074,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:17:51.000.944,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFResponse.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:17:51.000.944,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFResponse.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:29:30.000.463,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:29:30.000.463,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:29:40.000.733,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFCookieVisitor.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:29:40.000.733,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFCookieVisitor.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:32:01.000.224,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:32:01.000.224,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:32:07.000.583,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFV8Exception.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:32:07.000.583,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFV8Exception.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:34:32.000.893,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:34:32.000.893,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:34:39.000.833,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFResourceBundleHandler.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:34:39.000.833,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFResourceBundleHandler.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:38:58.000.648,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:38:58.000.648,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:39:04.000.466,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFSetCookieCallback.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:39:04.000.466,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFSetCookieCallback.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:40:44.000.949,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:40:44.000.949,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:40:57.000.165,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDeleteCookiesCallback.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:40:57.000.165,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDeleteCookiesCallback.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:43:27.000.412,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:43:27.000.412,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:43:42.000.253,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDownLoadItem.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:43:42.000.253,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDownLoadItem.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:45:13.000.508,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:45:13.000.508,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:45:19.000.703,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFBeforeDownloadCallback.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:45:19.000.703,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFBeforeDownloadCallback.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:46:27.000.140,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:46:27.000.140,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:46:38.000.480,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDownloadItemCallback.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:46:38.000.480,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDownloadItemCallback.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:49:03.000.980,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:49:03.000.980,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:49:13.000.577,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFAuthCallback.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:49:13.000.577,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFAuthCallback.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:50:22.000.655,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:50:22.000.655,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:50:32.000.879,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFJsDialogCallback.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:50:32.000.879,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFJsDialogCallback.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:51:12.000.076,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:51:12.000.076,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:51:18.000.891,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFGeolocationCallback.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:51:18.000.891,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFGeolocationCallback.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:52:26.000.379,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:52:26.000.379,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:52:38.000.008,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFContextMenuParams.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:52:38.000.008,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFContextMenuParams.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:53:51.000.704,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:53:51.000.704,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:53:59.000.469,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFMenuModel.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:53:59.000.469,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFMenuModel.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:55:42.000.326,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:55:42.000.326,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:55:54.000.047,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFBrowserProcessHandler.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:55:54.000.047,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFBrowserProcessHandler.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:57:33.000.807,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:57:33.000.807,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 17:57:44.000.320,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFRenderProcessHandler.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 17:57:44.000.320,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFRenderProcessHandler.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:01:03.000.908,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:01:03.000.908,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:01:16.000.502,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFUrlrequestClient.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:01:16.000.502,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFUrlrequestClient.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:03:22.000.002,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:03:22.000.002,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:03:36.000.694,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFUrlRequest.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:03:36.000.694,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFUrlRequest.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:04:54.000.070,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:04:54.000.070,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:05:01.000.724,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFWebPluginInfoVisitor.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:05:01.000.724,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFWebPluginInfoVisitor.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:08:01.000.312,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:08:01.000.312,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:08:10.000.190,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFWebPluginUnstableCallback.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:08:10.000.190,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFWebPluginUnstableCallback.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:09:22.000.047,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:09:22.000.047,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:09:32.000.833,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFEndTracingCallback.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:09:32.000.833,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFEndTracingCallback.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:10:56.000.167,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:10:56.000.167,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:11:03.000.863,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFGetGeolocationCallback.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:11:03.000.863,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFGetGeolocationCallback.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:11:49.000.619,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:11:49.000.619,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:11:58.000.315,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFFileDialogCallback.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:11:58.000.315,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFFileDialogCallback.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:13:17.000.596,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:13:17.000.596,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:13:28.000.975,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDragData.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:13:28.000.975,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFDragData.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:14:46.000.315,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:14:46.000.315,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:14:55.000.027,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFResolveCallback.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:14:55.000.027,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFResolveCallback.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:17:10.000.544,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:17:10.000.544,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:17:23.000.918,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFPrintSettings.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:17:23.000.918,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFPrintSettings.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:18:17.000.655,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:18:17.000.655,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:18:25.000.031,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFSslCertPrincipal.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:18:25.000.031,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFSslCertPrincipal.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:19:36.000.246,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:19:36.000.246,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:19:49.000.081,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFSslInfo.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:19:49.000.081,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFSslInfo.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:21:23.000.319,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:21:23.000.319,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:21:29.000.499,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFRunContextMenuCallback.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:21:29.000.499,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFRunContextMenuCallback.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:22:54.000.779,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:22:54.000.779,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:23:07.000.660,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFResourceBundle.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:23:07.000.660,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFResourceBundle.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:24:23.000.928,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:24:23.000.928,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:24:31.000.808,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFResponseFilter.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:24:31.000.808,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFResponseFilter.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:25:31.000.691,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:25:31.000.691,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:25:41.000.021,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFImage.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:25:41.000.021,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFImage.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:26:54.000.263,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:26:54.000.263,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:27:04.000.226,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFMenuModelDelegate.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/04 18:27:04.000.226,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFMenuModelDelegate.pas</Transaction> | ||||||
|     <Transaction>2016/11/04 18:28:19.000.494,C:\Program Files\Embarcadero\Studio\17.0\cef3\ceflib.pas=</Transaction> |     <Transaction>2016/11/04 18:28:19.000.494,C:\Program Files\Embarcadero\Studio\17.0\cef3\ceflib.pas=</Transaction> | ||||||
|     <Transaction>2016/11/04 18:31:57.000.277,C:\Program Files\Embarcadero\Studio\17.0\cef3\cefreg.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uRegister.pas</Transaction> |     <Transaction>2016/11/04 18:31:57.000.277,C:\Program Files\Embarcadero\Studio\17.0\cef3\uRegister.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\cefreg.pas</Transaction> | ||||||
|     <Transaction>2016/11/05 09:18:32.000.021,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/05 09:18:32.000.021,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/05 09:18:43.000.557,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFv8Types.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/05 09:18:43.000.557,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFv8Types.pas</Transaction> | ||||||
|     <Transaction>2016/11/05 09:41:11.000.609,C:\Program Files\Embarcadero\Studio\17.0\cef3\uRegister.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFRegisterComponents.pas</Transaction> |     <Transaction>2016/11/05 09:41:11.000.609,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFRegisterComponents.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uRegister.pas</Transaction> | ||||||
|     <Transaction>2016/11/06 17:42:31.000.412,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/06 17:42:31.000.412,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/06 17:42:57.000.570,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFCookieDeleterTask.pas</Transaction> |     <Transaction>2016/11/06 17:42:57.000.570,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFCookieDeleterTask.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/06 17:57:18.000.164,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFCookieDeleterTask.pas=</Transaction> |     <Transaction>2016/11/06 17:57:18.000.164,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFCookieDeleterTask.pas=</Transaction> | ||||||
|     <Transaction>2016/11/13 17:16:54.000.597,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/13 17:16:54.000.597,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/13 17:17:19.000.616,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumOSR.pas</Transaction> |     <Transaction>2016/11/13 17:17:19.000.616,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumOSR.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/13 18:46:07.000.526,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/13 18:46:07.000.526,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/13 18:52:50.000.372,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumDevTools.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/13 18:52:50.000.372,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumDevTools.pas</Transaction> | ||||||
|     <Transaction>2016/11/14 14:57:55.000.572,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumOSR.pas=</Transaction> |     <Transaction>2016/11/14 14:57:55.000.572,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumOSR.pas=</Transaction> | ||||||
|     <Transaction>2016/11/25 09:35:30.000.156,=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumOSR.pas</Transaction> |     <Transaction>2016/11/25 09:35:30.000.156,=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumOSR.pas</Transaction> | ||||||
|     <Transaction>2016/11/25 09:39:41.000.590,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumOSR.pas=</Transaction> |     <Transaction>2016/11/25 09:39:41.000.590,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumOSR.pas=</Transaction> | ||||||
|     <Transaction>2016/11/29 09:52:14.000.850,=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumOSR.pas</Transaction> |     <Transaction>2016/11/29 09:52:14.000.850,=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumOSR.pas</Transaction> | ||||||
|     <Transaction>2016/11/29 10:05:42.000.033,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/29 10:05:42.000.033,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/29 10:06:49.000.745,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumEvents.pas</Transaction> |     <Transaction>2016/11/29 10:06:49.000.745,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumEvents.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/29 10:08:16.000.524,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/29 10:08:16.000.524,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/29 10:10:28.000.078,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumOptions.pas</Transaction> |     <Transaction>2016/11/29 10:10:28.000.078,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumOptions.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/29 10:11:26.000.030,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/29 10:11:26.000.030,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/29 10:12:11.000.187,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumFontOptions.pas</Transaction> |     <Transaction>2016/11/29 10:12:11.000.187,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumFontOptions.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/29 10:14:39.000.549,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/29 10:14:39.000.549,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/29 10:15:46.000.466,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFPDFPrintOptions.pas</Transaction> |     <Transaction>2016/11/29 10:15:46.000.466,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFPDFPrintOptions.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/29 11:35:06.000.964,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumOSR.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumBase.pas</Transaction> |     <Transaction>2016/11/29 11:35:06.000.964,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumBase.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumOSR.pas</Transaction> | ||||||
|     <Transaction>2016/11/29 11:35:58.000.919,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromium.pas=</Transaction> |     <Transaction>2016/11/29 11:35:58.000.919,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromium.pas=</Transaction> | ||||||
|     <Transaction>2016/11/29 11:36:22.000.935,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumBase.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromium.pas</Transaction> |     <Transaction>2016/11/29 11:36:22.000.935,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromium.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumBase.pas</Transaction> | ||||||
|     <Transaction>2016/11/29 11:41:17.000.365,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumDevTools.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFWindowParent.pas</Transaction> |     <Transaction>2016/11/29 11:41:17.000.365,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFWindowParent.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumDevTools.pas</Transaction> | ||||||
|     <Transaction>2016/11/29 14:26:03.000.580,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/29 14:26:03.000.580,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/11/29 14:38:08.000.147,C:\Program Files\Embarcadero\Studio\17.0\cef3\TCEFChromiumWindow.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/11/29 14:38:08.000.147,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\TCEFChromiumWindow.pas</Transaction> | ||||||
|     <Transaction>2016/11/29 14:41:18.000.620,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumWindow.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\TCEFChromiumWindow.pas</Transaction> |     <Transaction>2016/11/29 14:41:18.000.620,C:\Program Files\Embarcadero\Studio\17.0\cef3\TCEFChromiumWindow.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumWindow.pas</Transaction> | ||||||
|     <Transaction>2016/11/29 15:48:26.000.475,=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromium2.pas</Transaction> |     <Transaction>2016/11/29 15:48:26.000.475,=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromium2.pas</Transaction> | ||||||
|     <Transaction>2016/11/29 16:29:04.000.712,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromium2.pas=</Transaction> |     <Transaction>2016/11/29 16:29:04.000.712,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromium2.pas=</Transaction> | ||||||
|     <Transaction>2016/12/14 09:31:37.000.825,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/12/14 09:31:37.000.825,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/12/14 09:43:37.000.496,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCefRegisterCDMCallback.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/12/14 09:43:37.000.496,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCefRegisterCDMCallback.pas</Transaction> | ||||||
|     <Transaction>2016/12/15 11:52:46.000.153,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/12/15 11:52:46.000.153,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/12/15 15:23:08.000.388,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/12/15 15:23:08.000.388,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/12/15 15:27:53.000.729,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFThread.pas</Transaction> |     <Transaction>2016/12/15 15:27:53.000.729,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFThread.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/12/15 16:33:21.000.646,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/12/15 16:33:21.000.646,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/12/15 16:33:59.000.530,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFv8Interceptor.pas</Transaction> |     <Transaction>2016/12/15 16:33:59.000.530,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFv8Interceptor.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/12/15 18:08:50.000.736,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/12/15 18:08:50.000.736,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/12/15 18:10:25.000.832,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFWaitableEvent.pas</Transaction> |     <Transaction>2016/12/15 18:10:25.000.832,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFWaitableEvent.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/12/16 09:51:23.000.585,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/12/16 09:51:23.000.585,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/12/16 09:53:31.000.858,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFX509CertPrincipal.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/12/16 09:53:31.000.858,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFX509CertPrincipal.pas</Transaction> | ||||||
|     <Transaction>2016/12/16 10:34:36.000.246,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/12/16 10:34:36.000.246,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/12/16 10:39:48.000.349,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFX509Certificate.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/12/16 10:39:48.000.349,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFX509Certificate.pas</Transaction> | ||||||
|     <Transaction>2016/12/16 11:11:31.000.335,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFSslCertPrincipal.pas=</Transaction> |     <Transaction>2016/12/16 11:11:31.000.335,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFSslCertPrincipal.pas=</Transaction> | ||||||
|     <Transaction>2016/12/16 12:46:25.000.699,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/12/16 12:46:25.000.699,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/12/16 12:51:53.000.173,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFSSLStatus.pas</Transaction> |     <Transaction>2016/12/16 12:51:53.000.173,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFSSLStatus.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/12/16 13:03:29.000.911,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> |     <Transaction>2016/12/16 13:03:29.000.911,=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2016/12/16 13:15:23.000.921,C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFSelectClientCertificateCallback.pas</Transaction> |     <Transaction>2016/12/16 13:15:23.000.921,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFSelectClientCertificateCallback.pas=C:\Program Files\Embarcadero\Studio\17.0\cef3\Unit1.pas</Transaction> | ||||||
|     <Transaction>2017/01/05 09:46:44.000.222,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumWindow.pas=</Transaction> |     <Transaction>2017/01/05 09:46:44.000.222,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumWindow.pas=</Transaction> | ||||||
|     <Transaction>2017/01/05 10:34:46.000.529,=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumWindow.pas</Transaction> |     <Transaction>2017/01/05 10:34:46.000.529,=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumWindow.pas</Transaction> | ||||||
|     <Transaction>2017/01/22 10:37:38.000.090,C:\Program Files\Embarcadero\Studio\17.0\cef3\cef3.dproj=C:\Program Files\Embarcadero\Studio\17.0\cef3\CEF4Delphi.dproj</Transaction> |     <Transaction>2017/01/22 10:37:38.000.090,C:\Program Files\Embarcadero\Studio\17.0\cef3\CEF4Delphi.dproj=C:\Program Files\Embarcadero\Studio\17.0\cef3\cef3.dproj</Transaction> | ||||||
|     <Transaction>2017/03/16 09:32:10.000.622,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFBaseRefCounted.pas</Transaction> |     <Transaction>2017/03/16 09:32:10.000.622,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFBaseRefCounted.pas</Transaction> | ||||||
|     <Transaction>2017/03/16 09:32:22.000.431,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFBaseScopedWrapper.pas</Transaction> |     <Transaction>2017/03/16 09:32:22.000.431,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFBaseScopedWrapper.pas</Transaction> | ||||||
|     <Transaction>2017/03/16 09:32:54.000.567,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFBase.pas=</Transaction> |     <Transaction>2017/03/16 09:32:54.000.567,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFBase.pas=</Transaction> | ||||||
|     <Transaction>2017/03/26 17:18:35.000.135,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\Unit1.pas</Transaction> |     <Transaction>2017/03/26 17:18:35.000.135,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\Unit1.pas</Transaction> | ||||||
|     <Transaction>2017/03/26 17:19:20.000.644,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\Unit1.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFDLLFunctions.pas</Transaction> |     <Transaction>2017/03/26 17:19:20.000.644,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFDLLFunctions.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\Unit1.pas</Transaction> | ||||||
|     <Transaction>2017/03/26 17:28:33.000.757,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFDLLFunctions.pas=</Transaction> |     <Transaction>2017/03/26 17:28:33.000.757,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFDLLFunctions.pas=</Transaction> | ||||||
|     <Transaction>2017/05/21 15:27:39.000.810,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\Unit1.pas</Transaction> |     <Transaction>2017/05/21 15:27:39.000.810,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\Unit1.pas</Transaction> | ||||||
|     <Transaction>2017/05/21 15:34:16.000.487,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromiumTool.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\Unit1.dfm</Transaction> |     <Transaction>2017/05/21 15:34:16.000.487,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\Unit1.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromiumTool.dfm</Transaction> | ||||||
|     <Transaction>2017/05/21 15:34:16.000.487,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromiumTool.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\Unit1.pas</Transaction> |     <Transaction>2017/05/21 15:34:16.000.487,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\Unit1.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromiumTool.pas</Transaction> | ||||||
|     <Transaction>2017/05/21 15:36:08.000.019,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromiumTool.pas=</Transaction> |     <Transaction>2017/05/21 15:36:08.000.019,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromiumTool.pas=</Transaction> | ||||||
|     <Transaction>2017/06/05 17:09:35.000.867,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\Unit1.pas</Transaction> |     <Transaction>2017/06/05 17:09:35.000.867,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\Unit1.pas</Transaction> | ||||||
|     <Transaction>2017/06/05 17:10:51.000.565,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFAccessibilityHandler.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\Unit1.pas</Transaction> |     <Transaction>2017/06/05 17:10:51.000.565,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\Unit1.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFAccessibilityHandler.pas</Transaction> | ||||||
|  |     <Transaction>2017/07/18 09:50:01.000.551,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFDragAndDrop.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uOLEDragAndDrop.pas</Transaction> | ||||||
|   </Transactions> |   </Transactions> | ||||||
| </BorlandProject> | </BorlandProject> | ||||||
|   | |||||||
| @@ -1,27 +1,62 @@ | |||||||
| [Closed Files] | [Closed Files] | ||||||
| File_0=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFLibFunctions.pas',0,1,46,123,95,0,0,, | File_0=TSourceModule,'c:\program files\embarcadero\studio\17.0\SOURCE\VCL\Vcl.Controls.pas',0,1,13129,37,13152,0,0,, | ||||||
| File_1=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFApplication.pas',0,1,52,44,917,0,0,, | File_1=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFConstants.pas',0,1,335,44,361,0,0,, | ||||||
| File_2=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFMiscFunctions.pas',0,1,952,39,987,0,0,, | File_2=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromiumEvents.pas',0,1,34,3,61,0,0,, | ||||||
| File_3=TSourceModule,'V:\3071_2\include\capi\cef_file_util_capi.h',0,1,1,49,38,0,0,, | File_3=TSourceModule,'c:\program files\embarcadero\studio\17.0\source\rtl\win\Winapi.ShlObj.pas',0,1,14252,1,14278,0,0,, | ||||||
| File_4=TSourceModule,'V:\3071\include\capi\cef_file_util_capi.h',0,1,1,1,1,0,0,, | File_4=TSourceModule,'V:\3071\tests\cefclient\browser\osr_dragdrop_win.cc',0,1,553,35,552,0,0,,{1 | ||||||
| File_5=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFClient.pas',0,1,599,83,622,0,0,, | File_5=TSourceModule,'C:\Program Files\Embarcadero\Studio\17.0\source\data\Data.DB.pas',0,1,2846,29,2870,0,0,, | ||||||
| File_6=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFConstants.pas',0,1,253,25,279,0,0,, | File_6=TSourceModule,'O:\GWDrgDrp\GWDragDemo\GWDragDemoAppInterface.pas',0,1,112,50,152,0,0,, | ||||||
| File_7=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFDomDocument.pas',0,1,46,1,1,0,0,, | File_7=TSourceModule,'O:\GWDrgDrp\GWDragDemo\GWDragSource.pas',0,1,540,29,568,0,0,, | ||||||
| File_8=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFInterfaces.pas',0,1,751,18,767,0,0,, | File_8=TSourceModule,'c:\program files\embarcadero\studio\17.0\source\rtl\win\Winapi.ActiveX.pas',0,1,131,3,155,0,0,, | ||||||
| File_9=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFTypes.pas',0,1,2276,92,2313,0,0,, | File_9=TSourceModule,'c:\program files\embarcadero\studio\17.0\source\rtl\win\Winapi.Windows.pas',0,1,23379,1,23403,0,0,, | ||||||
|  |  | ||||||
| [Modules] | [Modules] | ||||||
| Module0=default.htm | Module0=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFDragAndDropMgr.pas | ||||||
| Count=1 | Module1=default.htm | ||||||
|  | Module2=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFInterfaces.pas | ||||||
|  | Module3=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromium.pas | ||||||
|  | Module4=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uOLEDragAndDrop.pas | ||||||
|  | Module5=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFMiscFunctions.pas | ||||||
|  | Count=6 | ||||||
| EditWindowCount=1 | EditWindowCount=1 | ||||||
|  |  | ||||||
|  | [C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFDragAndDropMgr.pas] | ||||||
|  | ModuleType=TSourceModule | ||||||
|  | FormState=0 | ||||||
|  | FormOnTop=0 | ||||||
|  |  | ||||||
| [default.htm] | [default.htm] | ||||||
| ModuleType=TURLModule | ModuleType=TURLModule | ||||||
|  |  | ||||||
|  | [C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFInterfaces.pas] | ||||||
|  | ModuleType=TSourceModule | ||||||
|  | FormState=0 | ||||||
|  | FormOnTop=0 | ||||||
|  |  | ||||||
|  | [C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromium.pas] | ||||||
|  | ModuleType=TSourceModule | ||||||
|  | FormState=0 | ||||||
|  | FormOnTop=0 | ||||||
|  |  | ||||||
|  | [C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uOLEDragAndDrop.pas] | ||||||
|  | ModuleType=TSourceModule | ||||||
|  | FormState=0 | ||||||
|  | FormOnTop=0 | ||||||
|  |  | ||||||
|  | [C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFMiscFunctions.pas] | ||||||
|  | ModuleType=TSourceModule | ||||||
|  | FormState=0 | ||||||
|  | FormOnTop=0 | ||||||
|  |  | ||||||
| [EditWindow0] | [EditWindow0] | ||||||
| ViewCount=1 | ViewCount=6 | ||||||
| CurrentView=0 | CurrentEditView=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFDragAndDropMgr.pas | ||||||
| View0=0 | View0=0 | ||||||
|  | View1=1 | ||||||
|  | View2=2 | ||||||
|  | View3=3 | ||||||
|  | View4=4 | ||||||
|  | View5=5 | ||||||
| PercentageSizes=1 | PercentageSizes=1 | ||||||
| Create=1 | Create=1 | ||||||
| Visible=1 | Visible=1 | ||||||
| @@ -39,20 +74,76 @@ DockedToMainForm=1 | |||||||
| BorlandEditorCodeExplorer=BorlandEditorCodeExplorer@EditWindow0 | BorlandEditorCodeExplorer=BorlandEditorCodeExplorer@EditWindow0 | ||||||
| TopPanelSize=0 | TopPanelSize=0 | ||||||
| LeftPanelSize=0 | LeftPanelSize=0 | ||||||
| RightPanelSize=0 | RightPanelSize=2000 | ||||||
| BottomPanelSize=0 | RightPanelClients=DockSite2,DockSite4 | ||||||
|  | RightPanelData=00000800010100000000661600000000000001D0070000000000000100000000610A000009000000446F636B53697465320100000000191F000009000000446F636B5369746534FFFFFFFF | ||||||
|  | BottomPanelSize=1095 | ||||||
| BottomPanelClients=DockSite1,MessageView | BottomPanelClients=DockSite1,MessageView | ||||||
| BottomPanelData=0000080001020200000009000000446F636B53697465310F0000004D65737361676556696577466F726D1234000000000000022506000000000000FFFFFFFF | BottomPanelData=0000080001020100000009000000446F636B53697465313B3600000000000002470400000000000001000000003B3600000F0000004D65737361676556696577466F726DFFFFFFFF | ||||||
| BottomMiddlePanelSize=0 | BottomMiddlePanelSize=0 | ||||||
| BottomMiddlePanelClients=DockSite0,GraphDrawingModel | BottomMiddlePanelClients=DockSite0,GraphDrawingModel | ||||||
| BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F306000000000000FFFFFFFF | BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F306000000000000FFFFFFFF | ||||||
| TabDockLeftClients=PropertyInspector=0,DockSite3=1 | TabDockLeftClients=DockSite3=0,PropertyInspector=1 | ||||||
| TabDockRightClients=DockSite4=0,DockSite2=1 |  | ||||||
|  |  | ||||||
| [View0] | [View0] | ||||||
| CustomEditViewType=TWelcomePageView | CustomEditViewType=TWelcomePageView | ||||||
| WelcomePageURL=bds:/default.htm | WelcomePageURL=bds:/default.htm | ||||||
|  |  | ||||||
|  | [View1] | ||||||
|  | CustomEditViewType=TEditView | ||||||
|  | Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uOLEDragAndDrop.pas | ||||||
|  | CursorX=1 | ||||||
|  | CursorY=618 | ||||||
|  | TopLine=581 | ||||||
|  | LeftCol=1 | ||||||
|  | Elisions= | ||||||
|  | Bookmarks={1,502,1}{2,425,1}{3,425,1}{4,317,1} | ||||||
|  | EditViewName=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uOLEDragAndDrop.pas | ||||||
|  |  | ||||||
|  | [View2] | ||||||
|  | CustomEditViewType=TEditView | ||||||
|  | Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromium.pas | ||||||
|  | CursorX=31 | ||||||
|  | CursorY=2804 | ||||||
|  | TopLine=2795 | ||||||
|  | LeftCol=1 | ||||||
|  | Elisions= | ||||||
|  | Bookmarks={1,932,1}{2,2248,29}{4,692,1} | ||||||
|  | EditViewName=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromium.pas | ||||||
|  |  | ||||||
|  | [View3] | ||||||
|  | CustomEditViewType=TEditView | ||||||
|  | Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFDragAndDropMgr.pas | ||||||
|  | CursorX=74 | ||||||
|  | CursorY=694 | ||||||
|  | TopLine=667 | ||||||
|  | LeftCol=1 | ||||||
|  | Elisions= | ||||||
|  | Bookmarks={1,727,1}{2,55,13} | ||||||
|  | EditViewName=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFDragAndDropMgr.pas | ||||||
|  |  | ||||||
|  | [View4] | ||||||
|  | CustomEditViewType=TEditView | ||||||
|  | Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFInterfaces.pas | ||||||
|  | CursorX=53 | ||||||
|  | CursorY=1401 | ||||||
|  | TopLine=1371 | ||||||
|  | LeftCol=1 | ||||||
|  | Elisions= | ||||||
|  | Bookmarks= | ||||||
|  | EditViewName=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFInterfaces.pas | ||||||
|  |  | ||||||
|  | [View5] | ||||||
|  | CustomEditViewType=TEditView | ||||||
|  | Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFMiscFunctions.pas | ||||||
|  | CursorX=1 | ||||||
|  | CursorY=1135 | ||||||
|  | TopLine=1121 | ||||||
|  | LeftCol=1 | ||||||
|  | Elisions= | ||||||
|  | Bookmarks= | ||||||
|  | EditViewName=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFMiscFunctions.pas | ||||||
|  |  | ||||||
| [Watches] | [Watches] | ||||||
| Count=0 | Count=0 | ||||||
|  |  | ||||||
| @@ -67,11 +158,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=213 | TBDockHeight=213 | ||||||
| LRDockWidth=13602 | LRDockWidth=13602 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -115,11 +206,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=8845 | Height=2141 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=8845 | ClientHeight=2141 | ||||||
| TBDockHeight=5897 | TBDockHeight=5897 | ||||||
| LRDockWidth=2352 | LRDockWidth=2352 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -128,18 +219,18 @@ StayOnTop=0 | |||||||
| [MessageView] | [MessageView] | ||||||
| PercentageSizes=1 | PercentageSizes=1 | ||||||
| Create=1 | Create=1 | ||||||
| Visible=0 | Visible=1 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=23 | ||||||
| Width=2773 | Width=10000 | ||||||
| Height=1424 | Height=874 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2773 | ClientWidth=10000 | ||||||
| ClientHeight=1424 | ClientHeight=874 | ||||||
| TBDockHeight=1424 | TBDockHeight=874 | ||||||
| LRDockWidth=2773 | LRDockWidth=2773 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
| @@ -153,11 +244,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=4339 | Height=5224 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=4339 | ClientHeight=5224 | ||||||
| TBDockHeight=7152 | TBDockHeight=7152 | ||||||
| LRDockWidth=2000 | LRDockWidth=2000 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -207,8 +298,8 @@ Create=1 | |||||||
| Visible=0 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=-148 | Left=-8 | ||||||
| Top=-137 | Top=-30 | ||||||
| Width=1844 | Width=1844 | ||||||
| Height=3139 | Height=3139 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| @@ -264,19 +355,19 @@ Create=1 | |||||||
| Visible=0 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=78 | ||||||
| Top=362 | Top=386 | ||||||
| Width=1898 | Width=1898 | ||||||
| Height=5370 | Height=7164 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=1898 | ClientWidth=1773 | ||||||
| ClientHeight=5370 | ClientHeight=6738 | ||||||
| TBDockHeight=7164 | TBDockHeight=7164 | ||||||
| LRDockWidth=1898 | LRDockWidth=1898 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
| SplitPos=111 | SplitPos=136 | ||||||
|  |  | ||||||
| [frmDesignPreview] | [frmDesignPreview] | ||||||
| PercentageSizes=1 | PercentageSizes=1 | ||||||
| @@ -287,11 +378,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=6861 | Height=6816 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=6861 | ClientHeight=6816 | ||||||
| TBDockHeight=5964 | TBDockHeight=5964 | ||||||
| LRDockWidth=2508 | LRDockWidth=2508 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -303,8 +394,8 @@ Create=1 | |||||||
| Visible=0 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=-898 | Left=-946 | ||||||
| Top=-137 | Top=1 | ||||||
| Width=2844 | Width=2844 | ||||||
| Height=6200 | Height=6200 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| @@ -322,8 +413,8 @@ Create=1 | |||||||
| Visible=0 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=-1026 | Left=-1152 | ||||||
| Top=-137 | Top=243 | ||||||
| Width=273 | Width=273 | ||||||
| Height=359 | Height=359 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| @@ -347,11 +438,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=415 | TBDockHeight=415 | ||||||
| LRDockWidth=4953 | LRDockWidth=4953 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -366,11 +457,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=213 | TBDockHeight=213 | ||||||
| LRDockWidth=7406 | LRDockWidth=7406 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -389,11 +480,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=1536 | TBDockHeight=1536 | ||||||
| LRDockWidth=3484 | LRDockWidth=3484 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -408,11 +499,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=2063 | TBDockHeight=2063 | ||||||
| LRDockWidth=3484 | LRDockWidth=3484 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -427,11 +518,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2336 | Width=2336 | ||||||
| Height=1177 | Height=942 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2336 | ClientWidth=2336 | ||||||
| ClientHeight=1177 | ClientHeight=942 | ||||||
| TBDockHeight=2321 | TBDockHeight=2321 | ||||||
| LRDockWidth=2820 | LRDockWidth=2820 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -492,11 +583,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=6861 | Height=6816 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=6861 | ClientHeight=6816 | ||||||
| TBDockHeight=4888 | TBDockHeight=4888 | ||||||
| LRDockWidth=7148 | LRDockWidth=7148 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -508,8 +599,8 @@ Create=1 | |||||||
| Visible=0 | Visible=0 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=249 | ||||||
| Top=0 | Top=709 | ||||||
| Width=2859 | Width=2859 | ||||||
| Height=3206 | Height=3206 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| @@ -530,11 +621,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1121 | Height=572 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1121 | ClientHeight=572 | ||||||
| TBDockHeight=1547 | TBDockHeight=1547 | ||||||
| LRDockWidth=8742 | LRDockWidth=8742 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -555,12 +646,12 @@ Docked=1 | |||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=1898 | Width=1773 | ||||||
| Height=9170 | Height=6738 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=1898 | ClientWidth=1773 | ||||||
| ClientHeight=9170 | ClientHeight=6738 | ||||||
| TBDockHeight=3677 | TBDockHeight=3677 | ||||||
| LRDockWidth=1898 | LRDockWidth=1898 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -575,11 +666,11 @@ State=0 | |||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=0 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=6861 | Height=6816 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=6861 | ClientHeight=6816 | ||||||
| TBDockHeight=4888 | TBDockHeight=4888 | ||||||
| LRDockWidth=5305 | LRDockWidth=5305 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -640,14 +731,14 @@ Visible=0 | |||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=0 | Top=23 | ||||||
| Width=3820 | Width=3820 | ||||||
| Height=1424 | Height=874 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=3820 | ClientWidth=3820 | ||||||
| ClientHeight=1424 | ClientHeight=874 | ||||||
| TBDockHeight=1424 | TBDockHeight=874 | ||||||
| LRDockWidth=3820 | LRDockWidth=3820 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
| @@ -656,22 +747,22 @@ ActiveTabID=DebugLogView | |||||||
| TabDockClients=DebugLogView,BreakpointWindow,ThreadStatusWindow,CallStackWindow,WatchWindow,LocalVarsWindow | TabDockClients=DebugLogView,BreakpointWindow,ThreadStatusWindow,CallStackWindow,WatchWindow,LocalVarsWindow | ||||||
|  |  | ||||||
| [DockSite2] | [DockSite2] | ||||||
| HostDockSite=RightTabDock | HostDockSite=DockRightPanel | ||||||
| DockSiteType=1 | DockSiteType=1 | ||||||
| PercentageSizes=1 | PercentageSizes=1 | ||||||
| Create=1 | Create=1 | ||||||
| Visible=0 | Visible=1 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=4 | Left=0 | ||||||
| Top=24 | Top=23 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=9148 | Height=2444 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=9148 | ClientHeight=2444 | ||||||
| TBDockHeight=7164 | TBDockHeight=7119 | ||||||
| LRDockWidth=2000 | LRDockWidth=2000 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
| @@ -688,13 +779,13 @@ Visible=0 | |||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=23 | Top=0 | ||||||
| Width=1898 | Width=1898 | ||||||
| Height=9170 | Height=7164 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=1898 | ClientWidth=1773 | ||||||
| ClientHeight=9170 | ClientHeight=6738 | ||||||
| TBDockHeight=7164 | TBDockHeight=7164 | ||||||
| LRDockWidth=1898 | LRDockWidth=1898 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| @@ -704,22 +795,22 @@ ActiveTabID=StructureView | |||||||
| TabDockClients=StructureView,ClassBrowserTool | TabDockClients=StructureView,ClassBrowserTool | ||||||
|  |  | ||||||
| [DockSite4] | [DockSite4] | ||||||
| HostDockSite=RightTabDock | HostDockSite=DockRightPanel | ||||||
| DockSiteType=1 | DockSiteType=1 | ||||||
| PercentageSizes=1 | PercentageSizes=1 | ||||||
| Create=1 | Create=1 | ||||||
| Visible=0 | Visible=1 | ||||||
| Docked=1 | Docked=1 | ||||||
| State=0 | State=0 | ||||||
| Left=0 | Left=0 | ||||||
| Top=454 | Top=268 | ||||||
| Width=2000 | Width=2000 | ||||||
| Height=4339 | Height=5224 | ||||||
| MaxLeft=-1 | MaxLeft=-1 | ||||||
| MaxTop=-1 | MaxTop=-1 | ||||||
| ClientWidth=2000 | ClientWidth=2000 | ||||||
| ClientHeight=4339 | ClientHeight=5224 | ||||||
| TBDockHeight=7164 | TBDockHeight=7119 | ||||||
| LRDockWidth=2000 | LRDockWidth=2000 | ||||||
| Dockable=1 | Dockable=1 | ||||||
| StayOnTop=0 | StayOnTop=0 | ||||||
|   | |||||||
										
											Binary file not shown.
										
									
								
							| @@ -1,9 +1,9 @@ | |||||||
| [Stats] | [Stats] | ||||||
| EditorSecs=112337 | EditorSecs=138579 | ||||||
| DesignerSecs=97 | DesignerSecs=97 | ||||||
| InspectorSecs=324 | InspectorSecs=324 | ||||||
| CompileSecs=3145294 | CompileSecs=4032654 | ||||||
| OtherSecs=12000 | OtherSecs=14027 | ||||||
| StartTime=22/01/2017 10:49:52 | StartTime=22/01/2017 10:49:52 | ||||||
| RealKeys=0 | RealKeys=0 | ||||||
| EffectiveKeys=0 | EffectiveKeys=0 | ||||||
|   | |||||||
| @@ -48,57 +48,62 @@ interface | |||||||
|  |  | ||||||
| uses | uses | ||||||
|   {$IFDEF DELPHI16_UP} |   {$IFDEF DELPHI16_UP} | ||||||
|   WinApi.Windows, WinApi.Messages, System.Classes, Vcl.Controls, Vcl.Graphics, Vcl.Forms, |   WinApi.Windows, WinApi.Messages, System.Classes, Vcl.Controls, Vcl.Graphics, Vcl.Forms, WinApi.ActiveX, | ||||||
|   {$ELSE} |   {$ELSE} | ||||||
|   Windows, Messages, Classes, Controls, Graphics, Forms, |   Windows, Messages, Classes, Controls, Graphics, Forms, ActiveX, | ||||||
|   {$ENDIF} |   {$ENDIF} | ||||||
|   uCEFTypes, uCEFInterfaces, uCEFLibFunctions, uCEFMiscFunctions, uCEFClient, |   uCEFTypes, uCEFInterfaces, uCEFLibFunctions, uCEFMiscFunctions, uCEFClient, | ||||||
|   uCEFPDFPrintCallback, uCEFStringVisitor, uCEFConstants, uCEFTask, |   uCEFPDFPrintCallback, uCEFStringVisitor, uCEFConstants, uCEFTask, | ||||||
|   uCEFDeleteCookiesCallback, uCEFDomVisitor, uCEFChromiumEvents, |   uCEFDeleteCookiesCallback, uCEFDomVisitor, uCEFChromiumEvents, | ||||||
|   uCEFChromiumOptions, uCEFChromiumFontOptions, uCEFPDFPrintOptions; |   uCEFChromiumOptions, uCEFChromiumFontOptions, uCEFPDFPrintOptions, | ||||||
|  |   uCEFDragAndDropMgr; | ||||||
|  |  | ||||||
| type | type | ||||||
|   TChromium = class(TComponent, IChromiumEvents) |   TChromium = class(TComponent, IChromiumEvents) | ||||||
|     protected |     protected | ||||||
|       FCompHandle         : HWND; |       FCompHandle             : HWND; | ||||||
|       FVisitor            : ICefStringVisitor; |       FVisitor                : ICefStringVisitor; | ||||||
|       FPDFPrintcb         : ICefPdfPrintCallback; |       FPDFPrintcb             : ICefPdfPrintCallback; | ||||||
|       FCookiDeletercb     : ICefDeleteCookiesCallback; |       FCookiDeletercb         : ICefDeleteCookiesCallback; | ||||||
|       FHandler            : ICefClient; |       FHandler                : ICefClient; | ||||||
|       FBrowser            : ICefBrowser; |       FBrowser                : ICefBrowser; | ||||||
|       FBrowserId          : Integer; |       FBrowserId              : Integer; | ||||||
|       FDefaultUrl         : ustring; |       FDefaultUrl             : ustring; | ||||||
|       FOptions            : TChromiumOptions; |       FOptions                : TChromiumOptions; | ||||||
|       FFontOptions        : TChromiumFontOptions; |       FFontOptions            : TChromiumFontOptions; | ||||||
|       FPDFPrintOptions    : TPDFPrintOptions; |       FPDFPrintOptions        : TPDFPrintOptions; | ||||||
|       FDefaultEncoding    : ustring; |       FDefaultEncoding        : ustring; | ||||||
|       FProxyType          : integer; |       FProxyType              : integer; | ||||||
|       FProxyServer        : string; |       FProxyServer            : string; | ||||||
|       FProxyPort          : integer; |       FProxyPort              : integer; | ||||||
|       FProxyUsername      : string; |       FProxyUsername          : string; | ||||||
|       FProxyPassword      : string; |       FProxyPassword          : string; | ||||||
|       FProxyScriptURL     : string; |       FProxyScriptURL         : string; | ||||||
|       FProxyByPassList    : string; |       FProxyByPassList        : string; | ||||||
|       FUpdatePreferences  : boolean; |       FUpdatePreferences      : boolean; | ||||||
|       FCustomHeaderName   : string; |       FCustomHeaderName       : string; | ||||||
|       FCustomHeaderValue  : string; |       FCustomHeaderValue      : string; | ||||||
|       FAddCustomHeader    : boolean; |       FAddCustomHeader        : boolean; | ||||||
|       FDoNotTrack         : boolean; |       FDoNotTrack             : boolean; | ||||||
|       FSendReferrer       : boolean; |       FSendReferrer           : boolean; | ||||||
|       FHyperlinkAuditing  : boolean; |       FHyperlinkAuditing      : boolean; | ||||||
|       FCookiePrefs        : integer; |       FCookiePrefs            : integer; | ||||||
|       FImagesPrefs        : integer; |       FImagesPrefs            : integer; | ||||||
|       FCMStoragePath      : ustring; |       FCMStoragePath          : ustring; | ||||||
|       FZoomStep           : byte; |       FZoomStep               : byte; | ||||||
|       FWindowName         : string; |       FWindowName             : string; | ||||||
|       FPrefsFileName      : string; |       FPrefsFileName          : string; | ||||||
|       FIsOSR              : boolean; |       FIsOSR                  : boolean; | ||||||
|       FInitialized        : boolean; |       FInitialized            : boolean; | ||||||
|       FClosing            : boolean; |       FClosing                : boolean; | ||||||
|       FWindowInfo         : TCefWindowInfo; |       FWindowInfo             : TCefWindowInfo; | ||||||
|       FBrowserSettings    : TCefBrowserSettings; |       FBrowserSettings        : TCefBrowserSettings; | ||||||
|       FDevWindowInfo      : TCefWindowInfo; |       FDevWindowInfo          : TCefWindowInfo; | ||||||
|       FDevBrowserSettings : TCefBrowserSettings; |       FDevBrowserSettings     : TCefBrowserSettings; | ||||||
|  |       FDragOperations         : TCefDragOperations; | ||||||
|  |       FDragDropManager        : TCEFDragAndDropMgr; | ||||||
|  |       FDropTargetCtrl         : TWinControl; | ||||||
|  |       FDragAndDropInitialized : boolean; | ||||||
|  |  | ||||||
|       // ICefClient |       // ICefClient | ||||||
|       FOnProcessMessageReceived       : TOnProcessMessageReceived; |       FOnProcessMessageReceived       : TOnProcessMessageReceived; | ||||||
| @@ -270,9 +275,15 @@ type | |||||||
|       procedure PrefsAvailableMsg(var aMessage : TMessage); |       procedure PrefsAvailableMsg(var aMessage : TMessage); | ||||||
|       function  GetParentForm : TCustomForm; |       function  GetParentForm : TCustomForm; | ||||||
|       procedure ApplyZoomStep; |       procedure ApplyZoomStep; | ||||||
|  |       procedure DelayedDragging; | ||||||
|       function  SendCompMessage(aMsg : cardinal; wParam : cardinal = 0; lParam : integer = 0) : boolean; |       function  SendCompMessage(aMsg : cardinal; wParam : cardinal = 0; lParam : integer = 0) : boolean; | ||||||
|  |       procedure ToMouseEvent(grfKeyState : Longint; pt : TPoint; var aMouseEvent : TCefMouseEvent); | ||||||
|       procedure WndProc(var aMessage: TMessage); |       procedure WndProc(var aMessage: TMessage); | ||||||
|  |  | ||||||
|  |       procedure DragDropManager_OnDragEnter(Sender: TObject; const aDragData : ICefDragData; grfKeyState: Longint; pt: TPoint; var dwEffect: Longint); | ||||||
|  |       procedure DragDropManager_OnDragOver(Sender: TObject; grfKeyState: Longint; pt: TPoint; var dwEffect: Longint); | ||||||
|  |       procedure DragDropManager_OnDragLeave(Sender: TObject); | ||||||
|  |       procedure DragDropManager_OnDrop(Sender: TObject; grfKeyState: Longint; pt: TPoint; var dwEffect: Longint); | ||||||
|  |  | ||||||
|       // ICefClient |       // ICefClient | ||||||
|       function  doOnProcessMessageReceived(const browser: ICefBrowser; sourceProcess: TCefProcessId; const aMessage: ICefProcessMessage): Boolean; virtual; |       function  doOnProcessMessageReceived(const browser: ICefBrowser; sourceProcess: TCefProcessId; const aMessage: ICefProcessMessage): Boolean; virtual; | ||||||
| @@ -378,6 +389,8 @@ type | |||||||
|       procedure   CloseBrowser(aForceClose : boolean); |       procedure   CloseBrowser(aForceClose : boolean); | ||||||
|       function    CreateBrowser(const aBrowserParent : TWinControl = nil; const aWindowName : string = '') : boolean; overload; |       function    CreateBrowser(const aBrowserParent : TWinControl = nil; const aWindowName : string = '') : boolean; overload; | ||||||
|       function    CreateBrowser(aParentHandle : HWND; aParentRect : TRect; const aWindowName : string = '') : boolean; overload; |       function    CreateBrowser(aParentHandle : HWND; aParentRect : TRect; const aWindowName : string = '') : boolean; overload; | ||||||
|  |       procedure   InitializeDragAndDrop(const aDropTargetCtrl : TWinControl); | ||||||
|  |       procedure   ShutdownDragAndDrop; | ||||||
|  |  | ||||||
|       // Internal procedures. |       // Internal procedures. | ||||||
|       // Only tasks, visitors or callbacks should use them in the right thread/process. |       // Only tasks, visitors or callbacks should use them in the right thread/process. | ||||||
| @@ -450,6 +463,13 @@ type | |||||||
|       procedure   SetFocus(focus: Boolean); |       procedure   SetFocus(focus: Boolean); | ||||||
|       procedure   SetAccessibilityState(accessibilityState: TCefState); |       procedure   SetAccessibilityState(accessibilityState: TCefState); | ||||||
|  |  | ||||||
|  |       procedure   DragTargetDragEnter(const dragData: ICefDragData; const event: PCefMouseEvent; allowedOps: TCefDragOperations); | ||||||
|  |       procedure   DragTargetDragOver(const event: PCefMouseEvent; allowedOps: TCefDragOperations); | ||||||
|  |       procedure   DragTargetDragLeave; | ||||||
|  |       procedure   DragTargetDrop(event: PCefMouseEvent); | ||||||
|  |       procedure   DragSourceEndedAt(x, y: Integer; op: TCefDragOperation); | ||||||
|  |       procedure   DragSourceSystemDragEnded; | ||||||
|  |  | ||||||
|  |  | ||||||
|       property  DefaultUrl              : ustring                      read FDefaultUrl               write FDefaultUrl; |       property  DefaultUrl              : ustring                      read FDefaultUrl               write FDefaultUrl; | ||||||
|       property  Options                 : TChromiumOptions             read FOptions                  write FOptions; |       property  Options                 : TChromiumOptions             read FOptions                  write FOptions; | ||||||
| @@ -488,6 +508,7 @@ type | |||||||
|       property  SendReferrer            : boolean                      read FSendReferrer             write SetSendReferrer; |       property  SendReferrer            : boolean                      read FSendReferrer             write SetSendReferrer; | ||||||
|       property  HyperlinkAuditing       : boolean                      read FHyperlinkAuditing        write SetHyperlinkAuditing; |       property  HyperlinkAuditing       : boolean                      read FHyperlinkAuditing        write SetHyperlinkAuditing; | ||||||
|       property  HasValidMainFrame       : boolean                      read GetHasValidMainFrame; |       property  HasValidMainFrame       : boolean                      read GetHasValidMainFrame; | ||||||
|  |       property  DragOperations          : TCefDragOperations           read FDragOperations           write FDragOperations; | ||||||
|  |  | ||||||
|       property  ProxyType               : integer                      read FProxyType                write SetProxyType; |       property  ProxyType               : integer                      read FProxyType                write SetProxyType; | ||||||
|       property  ProxyServer             : string                       read FProxyServer              write SetProxyServer; |       property  ProxyServer             : string                       read FProxyServer              write SetProxyServer; | ||||||
| @@ -609,45 +630,49 @@ uses | |||||||
|   SysUtils, Math, |   SysUtils, Math, | ||||||
|   {$ENDIF} |   {$ENDIF} | ||||||
|   uCEFBrowser, uCEFValue, uCEFDictionaryValue, uCEFStringMultimap, uCEFCookieManager, uCEFFrame, |   uCEFBrowser, uCEFValue, uCEFDictionaryValue, uCEFStringMultimap, uCEFCookieManager, uCEFFrame, | ||||||
|   uCEFApplication, uCEFProcessMessage; |   uCEFApplication, uCEFProcessMessage, uOLEDragAndDrop; | ||||||
|  |  | ||||||
| constructor TChromium.Create(AOwner: TComponent); | constructor TChromium.Create(AOwner: TComponent); | ||||||
| begin | begin | ||||||
|   FBrowser               := nil; |   FBrowser                := nil; | ||||||
|   FBrowserId             := 0; |   FBrowserId              := 0; | ||||||
|   FCompHandle            := 0; |   FCompHandle             := 0; | ||||||
|   FClosing               := False; |   FClosing                := False; | ||||||
|   FInitialized           := False; |   FInitialized            := False; | ||||||
|   FIsOSR                 := False; |   FIsOSR                  := False; | ||||||
|   FDefaultUrl            := 'about:blank'; |   FDefaultUrl             := 'about:blank'; | ||||||
|   FHandler               := nil; |   FHandler                := nil; | ||||||
|   FOptions               := nil; |   FOptions                := nil; | ||||||
|   FFontOptions           := nil; |   FFontOptions            := nil; | ||||||
|   FDefaultEncoding       := ''; |   FDefaultEncoding        := ''; | ||||||
|   FVisitor               := nil; |   FVisitor                := nil; | ||||||
|   FPDFPrintcb            := nil; |   FPDFPrintcb             := nil; | ||||||
|   FCookiDeletercb        := nil; |   FCookiDeletercb         := nil; | ||||||
|   FPDFPrintOptions       := nil; |   FPDFPrintOptions        := nil; | ||||||
|   FUpdatePreferences     := False; |   FUpdatePreferences      := False; | ||||||
|   FCustomHeaderName      := ''; |   FCustomHeaderName       := ''; | ||||||
|   FCustomHeaderValue     := ''; |   FCustomHeaderValue      := ''; | ||||||
|   FPrefsFileName         := ''; |   FPrefsFileName          := ''; | ||||||
|   FAddCustomHeader       := False; |   FAddCustomHeader        := False; | ||||||
|   FDoNotTrack            := True; |   FDoNotTrack             := True; | ||||||
|   FSendReferrer          := True; |   FSendReferrer           := True; | ||||||
|   FHyperlinkAuditing     := False; |   FHyperlinkAuditing      := False; | ||||||
|   FCookiePrefs           := CEF_CONTENT_SETTING_ALLOW; |   FCookiePrefs            := CEF_CONTENT_SETTING_ALLOW; | ||||||
|   FImagesPrefs           := CEF_CONTENT_SETTING_ALLOW; |   FImagesPrefs            := CEF_CONTENT_SETTING_ALLOW; | ||||||
|   FZoomStep              := ZOOM_STEP_DEF; |   FZoomStep               := ZOOM_STEP_DEF; | ||||||
|   FWindowName            := ''; |   FWindowName             := ''; | ||||||
|  |   FDragOperations         := DRAG_OPERATION_NONE; | ||||||
|  |   FDragDropManager        := nil; | ||||||
|  |   FDropTargetCtrl         := nil; | ||||||
|  |   FDragAndDropInitialized := False; | ||||||
|  |  | ||||||
|   FProxyType             := CEF_PROXYTYPE_DIRECT; |   FProxyType         := CEF_PROXYTYPE_DIRECT; | ||||||
|   FProxyServer           := ''; |   FProxyServer       := ''; | ||||||
|   FProxyPort             := 80; |   FProxyPort         := 80; | ||||||
|   FProxyUsername         := ''; |   FProxyUsername     := ''; | ||||||
|   FProxyPassword         := ''; |   FProxyPassword     := ''; | ||||||
|   FProxyScriptURL        := ''; |   FProxyScriptURL    := ''; | ||||||
|   FProxyByPassList       := ''; |   FProxyByPassList   := ''; | ||||||
|  |  | ||||||
|   FillChar(FWindowInfo,    SizeOf(TCefWindowInfo), 0); |   FillChar(FWindowInfo,    SizeOf(TCefWindowInfo), 0); | ||||||
|   FillChar(FDevWindowInfo, SizeOf(TCefWindowInfo), 0); |   FillChar(FDevWindowInfo, SizeOf(TCefWindowInfo), 0); | ||||||
| @@ -664,6 +689,8 @@ destructor TChromium.Destroy; | |||||||
| begin | begin | ||||||
|   try |   try | ||||||
|     try |     try | ||||||
|  |       if (FDragDropManager <> nil) then FreeAndNil(FDragDropManager); | ||||||
|  |  | ||||||
|       if (FCompHandle <> 0) then |       if (FCompHandle <> 0) then | ||||||
|         begin |         begin | ||||||
|           DeallocateHWnd(FCompHandle); |           DeallocateHWnd(FCompHandle); | ||||||
| @@ -898,6 +925,91 @@ begin | |||||||
|   end; |   end; | ||||||
| end; | end; | ||||||
|  |  | ||||||
|  | procedure TChromium.InitializeDragAndDrop(const aDropTargetCtrl : TWinControl); | ||||||
|  | var | ||||||
|  |   TempDropTarget : IDropTarget; | ||||||
|  | begin | ||||||
|  |   if FIsOSR and (FDragDropManager = nil) and (aDropTargetCtrl <> nil) then | ||||||
|  |     begin | ||||||
|  |       FDropTargetCtrl                 := aDropTargetCtrl; | ||||||
|  |  | ||||||
|  |       FDragDropManager                := TCEFDragAndDropMgr.Create; | ||||||
|  |       FDragDropManager.OnDragEnter    := DragDropManager_OnDragEnter; | ||||||
|  |       FDragDropManager.OnDragOver     := DragDropManager_OnDragOver; | ||||||
|  |       FDragDropManager.OnDragLeave    := DragDropManager_OnDragLeave; | ||||||
|  |       FDragDropManager.OnDrop         := DragDropManager_OnDrop; | ||||||
|  |  | ||||||
|  |       TempDropTarget                  := TOLEDropTarget.Create(FDragDropManager); | ||||||
|  |  | ||||||
|  |       RegisterDragDrop(FDropTargetCtrl.Handle, TempDropTarget); | ||||||
|  |  | ||||||
|  |       FDragAndDropInitialized := True; | ||||||
|  |     end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | procedure TChromium.ShutdownDragAndDrop; | ||||||
|  | begin | ||||||
|  |   if FDragAndDropInitialized and (FDropTargetCtrl <> nil) then | ||||||
|  |     RevokeDragDrop(FDropTargetCtrl.Handle); | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | procedure TChromium.ToMouseEvent(grfKeyState : Longint; pt : TPoint; var aMouseEvent : TCefMouseEvent); | ||||||
|  | begin | ||||||
|  |   if (FDropTargetCtrl <> nil) then | ||||||
|  |     begin | ||||||
|  |       pt                    := FDropTargetCtrl.ScreenToClient(pt); | ||||||
|  |       aMouseEvent.x         := pt.x; | ||||||
|  |       aMouseEvent.y         := pt.y; | ||||||
|  |       aMouseEvent.modifiers := GetCefMouseModifiers(grfKeyState); | ||||||
|  |     end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | procedure TChromium.DragDropManager_OnDragEnter(Sender: TObject; const aDragData : ICefDragData; grfKeyState: Longint; pt: TPoint; var dwEffect: Longint); | ||||||
|  | var | ||||||
|  |   TempMouseEvent : TCefMouseEvent; | ||||||
|  |   TempAllowedOps : TCefDragOperations; | ||||||
|  | begin | ||||||
|  |   ToMouseEvent(grfKeyState, pt, TempMouseEvent); | ||||||
|  |   DropEffectToDragOperation(dwEffect, TempAllowedOps); | ||||||
|  |  | ||||||
|  |   DragTargetDragEnter(aDragData, @TempMouseEvent, TempAllowedOps); | ||||||
|  |   DragTargetDragOver(@TempMouseEvent, TempAllowedOps); | ||||||
|  |  | ||||||
|  |   DragOperationToDropEffect(FDragOperations, dwEffect); | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | procedure TChromium.DragDropManager_OnDragOver(Sender: TObject; grfKeyState: Longint; pt: TPoint; var dwEffect: Longint); | ||||||
|  | var | ||||||
|  |  | ||||||
|  |   TempMouseEvent : TCefMouseEvent; | ||||||
|  |   TempAllowedOps : TCefDragOperations; | ||||||
|  |  | ||||||
|  | begin | ||||||
|  |  | ||||||
|  |   ToMouseEvent(grfKeyState, pt, TempMouseEvent); | ||||||
|  |   DropEffectToDragOperation(dwEffect, TempAllowedOps); | ||||||
|  |  | ||||||
|  |   DragTargetDragOver(@TempMouseEvent, TempAllowedOps); | ||||||
|  |  | ||||||
|  |   DragOperationToDropEffect(FDragOperations, dwEffect); | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | procedure TChromium.DragDropManager_OnDragLeave(Sender: TObject); | ||||||
|  | begin | ||||||
|  |  | ||||||
|  |   DragTargetDragLeave; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | procedure TChromium.DragDropManager_OnDrop(Sender: TObject; grfKeyState: Longint; pt: TPoint; var dwEffect: Longint); | ||||||
|  | var | ||||||
|  |  | ||||||
|  |   TempMouseEvent : TCefMouseEvent; | ||||||
|  |   TempAllowedOps : TCefDragOperations; | ||||||
|  |  | ||||||
|  | begin | ||||||
|  |  | ||||||
|  |   ToMouseEvent(grfKeyState, pt, TempMouseEvent); | ||||||
|  |   DropEffectToDragOperation(dwEffect, TempAllowedOps); | ||||||
|  |  | ||||||
|   DragTargetDragOver(@TempMouseEvent, TempAllowedOps); |   DragTargetDragOver(@TempMouseEvent, TempAllowedOps); | ||||||
|   DragTargetDrop(@TempMouseEvent); |   DragTargetDrop(@TempMouseEvent); | ||||||
| @@ -1615,7 +1727,7 @@ begin | |||||||
| end; | end; | ||||||
|  |  | ||||||
| procedure TChromium.SimulateMouseWheel(aDeltaX, aDeltaY : integer); | procedure TChromium.SimulateMouseWheel(aDeltaX, aDeltaY : integer); | ||||||
|       TempEvent.modifiers := []; | var | ||||||
|   TempEvent : TCefMouseEvent; |   TempEvent : TCefMouseEvent; | ||||||
| begin | begin | ||||||
|   if Initialized then |   if Initialized then | ||||||
| @@ -2133,6 +2245,7 @@ procedure TChromium.WndProc(var aMessage: TMessage); | |||||||
|         end; |         end; | ||||||
|  |  | ||||||
|       if (FBrowser <> nil) then FBrowser.Host.CloseDevTools; |       if (FBrowser <> nil) then FBrowser.Host.CloseDevTools; | ||||||
|  |     end; | ||||||
| end; | end; | ||||||
|  |  | ||||||
| procedure TChromium.WndProc(var aMessage: TMessage); | procedure TChromium.WndProc(var aMessage: TMessage); | ||||||
| @@ -2687,9 +2800,35 @@ function TChromium.doOnStartDragging(const browser    : ICefBrowser; | |||||||
| end; | end; | ||||||
|  |  | ||||||
| function TChromium.doOnStartDragging(const browser    : ICefBrowser; | function TChromium.doOnStartDragging(const browser    : ICefBrowser; | ||||||
|  |                                      const dragData   : ICefDragData; | ||||||
|  |                                            allowedOps : TCefDragOperations; | ||||||
|  |                                            x          : integer; | ||||||
|  |                                            y          : Integer): Boolean; | ||||||
|  | begin | ||||||
|  |   Result := False; | ||||||
|  |  | ||||||
|   if FDragAndDropInitialized and |   if FDragAndDropInitialized and | ||||||
|      FDragDropManager.CloneDragData(dragData, allowedOps) then |      FDragDropManager.CloneDragData(dragData, allowedOps) then | ||||||
|     begin |     begin | ||||||
|  |       Result := True; | ||||||
|  |       SendCompMessage(CEF_STARTDRAGGING); | ||||||
|  |     end; | ||||||
|  |  | ||||||
|  |   if Assigned(FOnStartDragging) then FOnStartDragging(Self, browser, dragData, allowedOps, x, y, Result); | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | procedure TChromium.DelayedDragging; | ||||||
|  | var | ||||||
|  |   TempOperation : TCefDragOperation; | ||||||
|  |   TempPoint     : TPoint; | ||||||
|  | begin | ||||||
|  |   if FDragAndDropInitialized then | ||||||
|  |     begin | ||||||
|  |       FDragOperations := DRAG_OPERATION_NONE; | ||||||
|  |       TempOperation   := FDragDropManager.StartDragging; | ||||||
|  |       FDragOperations := DRAG_OPERATION_NONE; | ||||||
|  |  | ||||||
|  |       GetCursorPos(TempPoint); | ||||||
|       TempPoint := FDropTargetCtrl.ScreenToClient(TempPoint); |       TempPoint := FDropTargetCtrl.ScreenToClient(TempPoint); | ||||||
|  |  | ||||||
|       DragSourceEndedAt(TempPoint.x, TempPoint.y, TempOperation); |       DragSourceEndedAt(TempPoint.x, TempPoint.y, TempOperation); | ||||||
| @@ -2714,6 +2853,8 @@ end; | |||||||
|  |  | ||||||
| function TChromium.doOnTooltip(const browser: ICefBrowser; var text: ustring): Boolean; | function TChromium.doOnTooltip(const browser: ICefBrowser; var text: ustring): Boolean; | ||||||
| begin | begin | ||||||
|  |   Result := False; | ||||||
|  |  | ||||||
|   if Assigned(FOnTooltip) then FOnTooltip(Self, browser, text, Result); |   if Assigned(FOnTooltip) then FOnTooltip(Self, browser, text, Result); | ||||||
| end; | end; | ||||||
|  |  | ||||||
| @@ -2893,4 +3034,34 @@ begin | |||||||
| procedure TChromium.SetAccessibilityState(accessibilityState: TCefState); | procedure TChromium.SetAccessibilityState(accessibilityState: TCefState); | ||||||
| begin | begin | ||||||
|   if Initialized then FBrowser.Host.SetAccessibilityState(accessibilityState); |   if Initialized then FBrowser.Host.SetAccessibilityState(accessibilityState); | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TChromium.SendProcessMessage(targetProcess: TCefProcessId; const ProcMessage: ICefProcessMessage): Boolean; | ||||||
|  | begin | ||||||
|  |   Result := Initialized and FBrowser.SendProcessMessage(targetProcess, ProcMessage); | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | procedure TChromium.DragTargetDragEnter(const dragData: ICefDragData; const event: PCefMouseEvent; allowedOps: TCefDragOperations); | ||||||
|  | begin | ||||||
|  |   if Initialized then FBrowser.Host.DragTargetDragEnter(dragData, event, allowedOps); | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | procedure TChromium.DragTargetDragOver(const event: PCefMouseEvent; allowedOps: TCefDragOperations); | ||||||
|  | begin | ||||||
|  |   if Initialized then FBrowser.Host.DragTargetDragOver(event, allowedOps); | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | procedure TChromium.DragTargetDragLeave; | ||||||
|  | begin | ||||||
|  |   if Initialized then FBrowser.Host.DragTargetDragLeave; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | procedure TChromium.DragTargetDrop(event: PCefMouseEvent); | ||||||
|  | begin | ||||||
|  |   if Initialized then FBrowser.Host.DragTargetDrop(event); | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | procedure TChromium.DragSourceEndedAt(x, y: Integer; op: TCefDragOperation); | ||||||
|  | begin | ||||||
|  |   if Initialized then FBrowser.Host.DragSourceEndedAt(x, y, op); | ||||||
| end; | end; | ||||||
|   | |||||||
| @@ -134,9 +134,17 @@ const | |||||||
|   CERT_STATUS_FIRST_ERROR = CERT_STATUS_COMMON_NAME_INVALID; |   CERT_STATUS_FIRST_ERROR = CERT_STATUS_COMMON_NAME_INVALID; | ||||||
|   CERT_STATUS_LAST_ERROR  = CERT_STATUS_VALIDITY_TOO_LONG; |   CERT_STATUS_LAST_ERROR  = CERT_STATUS_VALIDITY_TOO_LONG; | ||||||
|  |  | ||||||
|  |   // /include/internal/cef_types.h (cef_v8_accesscontrol_t) | ||||||
|  |   V8_ACCESS_CONTROL_DEFAULT               = 0; | ||||||
|  |   V8_ACCESS_CONTROL_ALL_CAN_READ          = 1 shl 0; | ||||||
|  |   V8_ACCESS_CONTROL_ALL_CAN_WRITE         = 1 shl 1; | ||||||
|  |   V8_ACCESS_CONTROL_PROHIBITS_OVERWRITING = 1 shl 2; | ||||||
|  |  | ||||||
|   // /include/internal/cef_types.h (cef_v8_propertyattribute_t) |   // /include/internal/cef_types.h (cef_v8_propertyattribute_t) | ||||||
|   V8_PROPERTY_ATTRIBUTE_NONE = []; |   V8_PROPERTY_ATTRIBUTE_NONE       = 0; | ||||||
|  |   V8_PROPERTY_ATTRIBUTE_READONLY   = 1 shl 0; | ||||||
|  |   V8_PROPERTY_ATTRIBUTE_DONTENUM   = 1 shl 1; | ||||||
|  |   V8_PROPERTY_ATTRIBUTE_DONTDELETE = 1 shl 2; | ||||||
|  |  | ||||||
|   // /include/internal/cef_types.h (cef_transition_type_t) |   // /include/internal/cef_types.h (cef_transition_type_t) | ||||||
|   TT_LINK                 = 0; |   TT_LINK                 = 0; | ||||||
| @@ -145,7 +153,7 @@ const | |||||||
|   TT_MANUAL_SUBFRAME      = 4; |   TT_MANUAL_SUBFRAME      = 4; | ||||||
|   TT_FORM_SUBMIT          = 7; |   TT_FORM_SUBMIT          = 7; | ||||||
|   TT_RELOAD               = 8; |   TT_RELOAD               = 8; | ||||||
|   TT_SOURCE_MASK          = $FF; |   TT_SOURCE_MASK          = $000000FF; | ||||||
|   TT_BLOCKED_FLAG         = $00800000; |   TT_BLOCKED_FLAG         = $00800000; | ||||||
|   TT_FORWARD_BACK_FLAG    = $01000000; |   TT_FORWARD_BACK_FLAG    = $01000000; | ||||||
|   TT_CHAIN_START_FLAG     = $10000000; |   TT_CHAIN_START_FLAG     = $10000000; | ||||||
| @@ -155,27 +163,60 @@ const | |||||||
|   TT_IS_REDIRECT_MASK     = $C0000000; |   TT_IS_REDIRECT_MASK     = $C0000000; | ||||||
|   TT_QUALIFIER_MASK       = $FFFFFF00; |   TT_QUALIFIER_MASK       = $FFFFFF00; | ||||||
|  |  | ||||||
|  |   // /include/internal/cef_types.h (cef_urlrequest_flags_t) | ||||||
|  |   UR_FLAG_NONE                     = 0; | ||||||
|  |   UR_FLAG_SKIP_CACHE               = 1 shl 0; | ||||||
|  |   UR_FLAG_ALLOW_CACHED_CREDENTIALS = 1 shl 1; | ||||||
|  |   UR_FLAG_REPORT_UPLOAD_PROGRESS   = 1 shl 3; | ||||||
|  |   UR_FLAG_NO_DOWNLOAD_DATA         = 1 shl 6; | ||||||
|  |   UR_FLAG_NO_RETRY_ON_5XX          = 1 shl 7; | ||||||
|  |  | ||||||
|   // /include/internal/cef_types.h (cef_dom_event_category_t) |   // /include/internal/cef_types.h (cef_dom_event_category_t) | ||||||
|   DOM_EVENT_CATEGORY_UNKNOWN                 = $0; |   DOM_EVENT_CATEGORY_UNKNOWN                 = 0; | ||||||
|   DOM_EVENT_CATEGORY_UI                      = $1; |   DOM_EVENT_CATEGORY_UI                      = 1 shl 0; | ||||||
|   DOM_EVENT_CATEGORY_MOUSE                   = $2; |   DOM_EVENT_CATEGORY_MOUSE                   = 1 shl 1; | ||||||
|   DOM_EVENT_CATEGORY_MUTATION                = $4; |   DOM_EVENT_CATEGORY_MUTATION                = 1 shl 2; | ||||||
|   DOM_EVENT_CATEGORY_KEYBOARD                = $8; |   DOM_EVENT_CATEGORY_KEYBOARD                = 1 shl 3; | ||||||
|   DOM_EVENT_CATEGORY_TEXT                    = $10; |   DOM_EVENT_CATEGORY_TEXT                    = 1 shl 4; | ||||||
|   DOM_EVENT_CATEGORY_COMPOSITION             = $20; |   DOM_EVENT_CATEGORY_COMPOSITION             = 1 shl 5; | ||||||
|   DOM_EVENT_CATEGORY_DRAG                    = $40; |   DOM_EVENT_CATEGORY_DRAG                    = 1 shl 6; | ||||||
|   DOM_EVENT_CATEGORY_CLIPBOARD               = $80; |   DOM_EVENT_CATEGORY_CLIPBOARD               = 1 shl 7; | ||||||
|   DOM_EVENT_CATEGORY_MESSAGE                 = $100; |   DOM_EVENT_CATEGORY_MESSAGE                 = 1 shl 8; | ||||||
|   DOM_EVENT_CATEGORY_WHEEL                   = $200; |   DOM_EVENT_CATEGORY_WHEEL                   = 1 shl 9; | ||||||
|   DOM_EVENT_CATEGORY_BEFORE_TEXT_INSERTED    = $400; |   DOM_EVENT_CATEGORY_BEFORE_TEXT_INSERTED    = 1 shl 10; | ||||||
|   DOM_EVENT_CATEGORY_OVERFLOW                = $800; |   DOM_EVENT_CATEGORY_OVERFLOW                = 1 shl 11; | ||||||
|   DOM_EVENT_CATEGORY_PAGE_TRANSITION         = $1000; |   DOM_EVENT_CATEGORY_PAGE_TRANSITION         = 1 shl 12; | ||||||
|   DOM_EVENT_CATEGORY_POPSTATE                = $2000; |   DOM_EVENT_CATEGORY_POPSTATE                = 1 shl 13; | ||||||
|   DOM_EVENT_CATEGORY_PROGRESS                = $4000; |   DOM_EVENT_CATEGORY_PROGRESS                = 1 shl 14; | ||||||
|   DOM_EVENT_CATEGORY_XMLHTTPREQUEST_PROGRESS = $8000; |   DOM_EVENT_CATEGORY_XMLHTTPREQUEST_PROGRESS = 1 shl 15; | ||||||
|  |  | ||||||
|  |   // /include/internal/cef_types.h (cef_event_flags_t) | ||||||
|  |   EVENTFLAG_NONE                 = 0; | ||||||
|  |   EVENTFLAG_CAPS_LOCK_ON         = 1 shl 0; | ||||||
|  |   EVENTFLAG_SHIFT_DOWN           = 1 shl 1; | ||||||
|  |   EVENTFLAG_CONTROL_DOWN         = 1 shl 2; | ||||||
|  |   EVENTFLAG_ALT_DOWN             = 1 shl 3; | ||||||
|  |   EVENTFLAG_LEFT_MOUSE_BUTTON    = 1 shl 4; | ||||||
|  |   EVENTFLAG_MIDDLE_MOUSE_BUTTON  = 1 shl 5; | ||||||
|  |   EVENTFLAG_RIGHT_MOUSE_BUTTON   = 1 shl 6; | ||||||
|  |   EVENTFLAG_COMMAND_DOWN         = 1 shl 7; | ||||||
|  |   EVENTFLAG_NUM_LOCK_ON          = 1 shl 8; | ||||||
|  |   EVENTFLAG_IS_KEY_PAD           = 1 shl 9; | ||||||
|  |   EVENTFLAG_IS_LEFT              = 1 shl 10; | ||||||
|  |   EVENTFLAG_IS_RIGHT             = 1 shl 11; | ||||||
|  |  | ||||||
|  |   // /include/internal/cef_types.h (cef_drag_operations_mask_t) | ||||||
|  |   DRAG_OPERATION_NONE     = 0; | ||||||
|  |   DRAG_OPERATION_COPY     = 1 shl 0; | ||||||
|  |   DRAG_OPERATION_LINK     = 1 shl 1; | ||||||
|  |   DRAG_OPERATION_GENERIC  = 1 shl 2; | ||||||
|  |   DRAG_OPERATION_PRIVATE  = 1 shl 3; | ||||||
|  |   DRAG_OPERATION_MOVE     = 1 shl 4; | ||||||
|  |   DRAG_OPERATION_DELETE   = 1 shl 5; | ||||||
|  |   DRAG_OPERATION_EVERY    = $FFFFFFFF; | ||||||
|  |  | ||||||
|   // /include/internal/cef_types.h (cef_file_dialog_mode_t) |   // /include/internal/cef_types.h (cef_file_dialog_mode_t) | ||||||
|   FILE_DIALOG_TYPE_MASK            = $FF; |   FILE_DIALOG_TYPE_MASK            = $000000FF; | ||||||
|   FILE_DIALOG_OVERWRITEPROMPT_FLAG = $01000000; |   FILE_DIALOG_OVERWRITEPROMPT_FLAG = $01000000; | ||||||
|   FILE_DIALOG_HIDEREADONLY_FLAG    = $02000000; |   FILE_DIALOG_HIDEREADONLY_FLAG    = $02000000; | ||||||
|  |  | ||||||
| @@ -217,6 +258,39 @@ const | |||||||
|   MENU_ID_PRINT                      = 131; |   MENU_ID_PRINT                      = 131; | ||||||
|  |  | ||||||
|   MENU_ID_VIEW_SOURCE                = 132; |   MENU_ID_VIEW_SOURCE                = 132; | ||||||
|  |  | ||||||
|  |   MENU_ID_SPELLCHECK_SUGGESTION_0    = 200; | ||||||
|  |  | ||||||
|  |   MENU_ID_SPELLCHECK_SUGGESTION_1    = 201; | ||||||
|  |  | ||||||
|  |   MENU_ID_SPELLCHECK_SUGGESTION_2    = 202; | ||||||
|  |  | ||||||
|  |   MENU_ID_SPELLCHECK_SUGGESTION_3    = 203; | ||||||
|  |  | ||||||
|  |   MENU_ID_SPELLCHECK_SUGGESTION_4    = 204; | ||||||
|  |  | ||||||
|  |   MENU_ID_SPELLCHECK_SUGGESTION_LAST = 204; | ||||||
|  |  | ||||||
|  |   MENU_ID_NO_SPELLING_SUGGESTIONS    = 205; | ||||||
|  |  | ||||||
|  |   MENU_ID_ADD_TO_DICTIONARY          = 206; | ||||||
|  |  | ||||||
|  |   MENU_ID_CUSTOM_FIRST               = 220; | ||||||
|  |  | ||||||
|  |   MENU_ID_CUSTOM_LAST                = 250; | ||||||
|  |  | ||||||
|  |   MENU_ID_USER_FIRST                 = 26500; | ||||||
|  |  | ||||||
|  |   MENU_ID_USER_LAST                  = 28500; | ||||||
|  |  | ||||||
|  |   // /include/internal/cef_types.h (cef_context_menu_type_flags_t) | ||||||
|  |   CM_TYPEFLAG_NONE      = 0; | ||||||
|  |   CM_TYPEFLAG_PAGE      = 1 shl 0; | ||||||
|  |   CM_TYPEFLAG_FRAME     = 1 shl 1; | ||||||
|  |   CM_TYPEFLAG_LINK      = 1 shl 2; | ||||||
|  |   CM_TYPEFLAG_MEDIA     = 1 shl 3; | ||||||
|  |   CM_TYPEFLAG_SELECTION = 1 shl 4; | ||||||
|  |   CM_TYPEFLAG_EDITABLE  = 1 shl 5; | ||||||
|  |  | ||||||
|   // /include/internal/cef_types.h (cef_context_menu_media_state_flags_t) |   // /include/internal/cef_types.h (cef_context_menu_media_state_flags_t) | ||||||
|   CM_MEDIAFLAG_NONE                  = 0; |   CM_MEDIAFLAG_NONE                  = 0; | ||||||
| @@ -226,6 +300,18 @@ const | |||||||
|   CM_MEDIAFLAG_LOOP                  = 1 shl 3; |   CM_MEDIAFLAG_LOOP                  = 1 shl 3; | ||||||
|   CM_MEDIAFLAG_CAN_SAVE              = 1 shl 4; |   CM_MEDIAFLAG_CAN_SAVE              = 1 shl 4; | ||||||
|   CM_MEDIAFLAG_HAS_AUDIO             = 1 shl 5; |   CM_MEDIAFLAG_HAS_AUDIO             = 1 shl 5; | ||||||
|  |   CM_MEDIAFLAG_HAS_VIDEO             = 1 shl 6; | ||||||
|  |   CM_MEDIAFLAG_CONTROL_ROOT_ELEMENT  = 1 shl 7; | ||||||
|  |   CM_MEDIAFLAG_CAN_PRINT             = 1 shl 8; | ||||||
|  |   CM_MEDIAFLAG_CAN_ROTATE            = 1 shl 9; | ||||||
|  |  | ||||||
|  |   // /include/internal/cef_types.h (cef_context_menu_edit_state_flags_t) | ||||||
|  |   CM_EDITFLAG_NONE                   = 0; | ||||||
|  |   CM_EDITFLAG_CAN_UNDO               = 1 shl 0; | ||||||
|  |   CM_EDITFLAG_CAN_REDO               = 1 shl 1; | ||||||
|  |   CM_EDITFLAG_CAN_CUT                = 1 shl 2; | ||||||
|  |   CM_EDITFLAG_CAN_COPY               = 1 shl 3; | ||||||
|  |   CM_EDITFLAG_CAN_PASTE              = 1 shl 4; | ||||||
|   CM_EDITFLAG_CAN_DELETE             = 1 shl 5; |   CM_EDITFLAG_CAN_DELETE             = 1 shl 5; | ||||||
|   CM_EDITFLAG_CAN_SELECT_ALL         = 1 shl 6; |   CM_EDITFLAG_CAN_SELECT_ALL         = 1 shl 6; | ||||||
|   CM_EDITFLAG_CAN_TRANSLATE          = 1 shl 7; |   CM_EDITFLAG_CAN_TRANSLATE          = 1 shl 7; | ||||||
| @@ -272,6 +358,7 @@ const | |||||||
|   CEF_CONTENT_SETTING_ASK           = 3; |   CEF_CONTENT_SETTING_ASK           = 3; | ||||||
|   CEF_CONTENT_SETTING_SESSION_ONLY  = 4; |   CEF_CONTENT_SETTING_SESSION_ONLY  = 4; | ||||||
|   CEF_CONTENT_SETTING_NUM_SETTINGS  = 5; |   CEF_CONTENT_SETTING_NUM_SETTINGS  = 5; | ||||||
|  |  | ||||||
|   // Used in the severity parameter of cef_log |   // Used in the severity parameter of cef_log | ||||||
|   CEF_LOG_SEVERITY_INFO    = 0; |   CEF_LOG_SEVERITY_INFO    = 0; | ||||||
|   CEF_LOG_SEVERITY_WARNING = 1; |   CEF_LOG_SEVERITY_WARNING = 1; | ||||||
|   | |||||||
| @@ -112,7 +112,7 @@ end; | |||||||
|  |  | ||||||
| function TCefContextMenuParamsRef.GetEditStateFlags: TCefContextMenuEditStateFlags; | function TCefContextMenuParamsRef.GetEditStateFlags: TCefContextMenuEditStateFlags; | ||||||
| begin | begin | ||||||
|   Byte(Result) := PCefContextMenuParams(FData).get_edit_state_flags(PCefContextMenuParams(FData)); |   Result := PCefContextMenuParams(FData).get_edit_state_flags(PCefContextMenuParams(FData)); | ||||||
| end; | end; | ||||||
|  |  | ||||||
| function TCefContextMenuParamsRef.GetFrameCharset: ustring; | function TCefContextMenuParamsRef.GetFrameCharset: ustring; | ||||||
| @@ -132,7 +132,7 @@ end; | |||||||
|  |  | ||||||
| function TCefContextMenuParamsRef.GetMediaStateFlags: TCefContextMenuMediaStateFlags; | function TCefContextMenuParamsRef.GetMediaStateFlags: TCefContextMenuMediaStateFlags; | ||||||
| begin | begin | ||||||
|   Word(Result) := PCefContextMenuParams(FData).get_media_state_flags(PCefContextMenuParams(FData)); |   Result := PCefContextMenuParams(FData).get_media_state_flags(PCefContextMenuParams(FData)); | ||||||
| end; | end; | ||||||
|  |  | ||||||
| function TCefContextMenuParamsRef.GetMediaType: TCefContextMenuMediaType; | function TCefContextMenuParamsRef.GetMediaType: TCefContextMenuMediaType; | ||||||
| @@ -167,7 +167,7 @@ end; | |||||||
|  |  | ||||||
| function TCefContextMenuParamsRef.GetTypeFlags: TCefContextMenuTypeFlags; | function TCefContextMenuParamsRef.GetTypeFlags: TCefContextMenuTypeFlags; | ||||||
| begin | begin | ||||||
|   Byte(Result) := PCefContextMenuParams(FData).get_type_flags(PCefContextMenuParams(FData)); |   Result := PCefContextMenuParams(FData).get_type_flags(PCefContextMenuParams(FData)); | ||||||
| end; | end; | ||||||
|  |  | ||||||
| function TCefContextMenuParamsRef.GetUnfilteredLinkUrl: ustring; | function TCefContextMenuParamsRef.GetUnfilteredLinkUrl: ustring; | ||||||
|   | |||||||
| @@ -60,7 +60,7 @@ type | |||||||
|  |  | ||||||
|   TCefFastDomVisitor = class(TCefDomVisitorOwn) |   TCefFastDomVisitor = class(TCefDomVisitorOwn) | ||||||
|     protected |     protected | ||||||
|       FProc: TCefDomVisitorProc; |       FProc    : TCefDomVisitorProc; | ||||||
|  |  | ||||||
|       procedure visit(const document: ICefDomDocument); override; |       procedure visit(const document: ICefDomDocument); override; | ||||||
|  |  | ||||||
| @@ -68,6 +68,18 @@ type | |||||||
|       constructor Create(const proc: TCefDomVisitorProc); reintroduce; virtual; |       constructor Create(const proc: TCefDomVisitorProc); reintroduce; virtual; | ||||||
|   end; |   end; | ||||||
|  |  | ||||||
|  |   TCefFastDomVisitor2 = class(TCefDomVisitorOwn) | ||||||
|  |     protected | ||||||
|  |       FProc    : TCefDomVisitorProc2; | ||||||
|  |       FBrowser : ICefBrowser; | ||||||
|  |  | ||||||
|  |       procedure visit(const document: ICefDomDocument); override; | ||||||
|  |  | ||||||
|  |     public | ||||||
|  |       constructor Create(const browser: ICefBrowser; const proc: TCefDomVisitorProc2); reintroduce; virtual; | ||||||
|  |       destructor  Destroy; override; | ||||||
|  |   end; | ||||||
|  |  | ||||||
| implementation | implementation | ||||||
|  |  | ||||||
| uses | uses | ||||||
| @@ -97,6 +109,7 @@ end; | |||||||
| constructor TCefFastDomVisitor.Create(const proc: TCefDomVisitorProc); | constructor TCefFastDomVisitor.Create(const proc: TCefDomVisitorProc); | ||||||
| begin | begin | ||||||
|   inherited Create; |   inherited Create; | ||||||
|  |  | ||||||
|   FProc := proc; |   FProc := proc; | ||||||
| end; | end; | ||||||
|  |  | ||||||
| @@ -105,4 +118,27 @@ begin | |||||||
|   FProc(document); |   FProc(document); | ||||||
| end; | end; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | // TCefFastDomVisitor2 | ||||||
|  |  | ||||||
|  | constructor TCefFastDomVisitor2.Create(const browser: ICefBrowser; const proc: TCefDomVisitorProc2); | ||||||
|  | begin | ||||||
|  |   inherited Create; | ||||||
|  |  | ||||||
|  |   FBrowser := browser; | ||||||
|  |   FProc    := proc; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | destructor TCefFastDomVisitor2.Destroy; | ||||||
|  | begin | ||||||
|  |   FBrowser := nil; | ||||||
|  |  | ||||||
|  |   inherited Destroy; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | procedure TCefFastDomVisitor2.visit(const document: ICefDomDocument); | ||||||
|  | begin | ||||||
|  |   FProc(FBrowser, document); | ||||||
|  | end; | ||||||
|  |  | ||||||
| end. | end. | ||||||
|   | |||||||
							
								
								
									
										777
									
								
								source/uCEFDragAndDropMgr.pas
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										777
									
								
								source/uCEFDragAndDropMgr.pas
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,777 @@ | |||||||
|  | // ************************************************************************ | ||||||
|  | // ***************************** 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 uCEFDragAndDropMgr; | ||||||
|  |  | ||||||
|  | {$I cef.inc} | ||||||
|  |  | ||||||
|  | interface | ||||||
|  |  | ||||||
|  | uses | ||||||
|  |   {$IFDEF DELPHI16_UP} | ||||||
|  |   WinApi.Windows, System.Classes, Vcl.Controls, System.SysUtils, System.Math, | ||||||
|  |   WinApi.ActiveX, WinApi.ShlObj, WinApi.ShellApi, System.StrUtils, System.AnsiStrings, | ||||||
|  |   {$ELSE} | ||||||
|  |   Windows, Classes, Controls, SysUtils, Math, | ||||||
|  |   ActiveX, ShlObj, Shellapi, StrUtils, AnsiStrings, | ||||||
|  |   {$ENDIF} | ||||||
|  |   uCEFDragData, uCEFInterfaces, uCEFTypes, uOLEDragAndDrop; | ||||||
|  |  | ||||||
|  | type | ||||||
|  |   TDragEnterEvent = procedure(Sender: TObject; const aDragData : ICefDragData; grfKeyState: Longint; pt: TPoint; var dwEffect: Longint) of object; | ||||||
|  |   TDragOverEvent  = procedure(Sender: TObject; grfKeyState: Longint; pt: TPoint; var dwEffect: Longint) of object; | ||||||
|  |   TDropEvent      = procedure(Sender: TObject; grfKeyState: Longint; pt: TPoint; var dwEffect: Longint) of object; | ||||||
|  |  | ||||||
|  |   TCEFDragAndDropMgr = class(TOLEDragAndDropMgr) | ||||||
|  |     protected | ||||||
|  |       FCurrentDragData    : ICefDragData; | ||||||
|  |       FOLEEffect          : integer; | ||||||
|  |       FMozURLFormat       : cardinal; | ||||||
|  |       FHTMLFormat         : cardinal; | ||||||
|  |       FFileDescFormat     : cardinal; | ||||||
|  |       FFileContentsFormat : cardinal; | ||||||
|  |  | ||||||
|  |       FOnDragEnter        : TDragEnterEvent; | ||||||
|  |       FOnDragOver         : TDragOverEvent; | ||||||
|  |       FOnDragLeave        : TNotifyEvent; | ||||||
|  |       FOnDrop             : TDropEvent; | ||||||
|  |  | ||||||
|  |       function  DragDataToDataObject_Unicode(const aDragData : ICefDragData; var aFormat : TFormatEtc; var aMedium : TStgMedium) : boolean; | ||||||
|  |       function  DragDataToDataObject_Text(const aDragData : ICefDragData; var aFormat : TFormatEtc;  var aMedium : TStgMedium) : boolean; | ||||||
|  |       function  DragDataToDataObject_HTML(const aDragData : ICefDragData; var aFormat : TFormatEtc; var aMedium : TStgMedium) : boolean; | ||||||
|  |       function  DragDataToDataObject_URL(const aDragData : ICefDragData; var aFormat : TFormatEtc; var aMedium : TStgMedium) : boolean; | ||||||
|  |       function  DragDataToDataObject_FileDesc(const aDragData : ICefDragData; var aFormat : TFormatEtc; var aMedium : TStgMedium) : boolean; | ||||||
|  |       function  DragDataToDataObject_FileContents(const aDragData : ICefDragData; var aFormat : TFormatEtc; var aMedium : TStgMedium) : boolean; | ||||||
|  |  | ||||||
|  |       procedure DataObjectToDragData(const aDataObject : IDataObject; var aDragData : ICefDragData); | ||||||
|  |       function  DataObjectToDragData_Unicode(var aMedium : TStgMedium; var aDragData : ICefDragData) : boolean; | ||||||
|  |       function  DataObjectToDragData_Text(var aMedium : TStgMedium; var aDragData : ICefDragData) : boolean; | ||||||
|  |       function  DataObjectToDragData_URL(var aMedium : TStgMedium; var aDragData : ICefDragData) : boolean; | ||||||
|  |       function  DataObjectToDragData_HTML(var aMedium : TStgMedium; var aDragData : ICefDragData) : boolean; | ||||||
|  |       function  DataObjectToDragData_FileDrop(var aMedium : TStgMedium; var aDragData : ICefDragData) : boolean; | ||||||
|  |  | ||||||
|  |       function  HtmlToCFHtml(var aHTML, aBaseURL : ustring) : AnsiString; | ||||||
|  |       procedure CFHtmlToHtml(const cf_html : AnsiString; var html, base_url : string); | ||||||
|  |       function  FindStringField(const aString, aFieldName : AnsiString; var aPos : integer) : string; | ||||||
|  |  | ||||||
|  |     public | ||||||
|  |       constructor Create; | ||||||
|  |       destructor  Destroy; override; | ||||||
|  |       function    StartDragging : TCefDragOperation; | ||||||
|  |       function    CloneDragData(const aDragData : ICefDragData; aAllowedOps : TCefDragOperations) : boolean; | ||||||
|  |  | ||||||
|  |       function    DragEnter(const DataObj: IDataObject; grfKeyState: Longint; pt: TPoint; var dwEffect: Longint): HRESULT; override; | ||||||
|  |       function    DragOver(grfKeyState: Longint; pt: TPoint; var dwEffect: Longint): HRESULT; override; | ||||||
|  |       function    DragLeave: HRESULT; override; | ||||||
|  |       function    Drop(const dataObj: IDataObject; grfKeyState: Longint; pt: TPoint; var dwEffect: Longint): HRESULT; override; | ||||||
|  |  | ||||||
|  |       property    OnDragEnter        : TDragEnterEvent  read FOnDragEnter  write FOnDragEnter; | ||||||
|  |       property    OnDragOver         : TDragOverEvent   read FOnDragOver   write FOnDragOver; | ||||||
|  |       property    OnDragLeave        : TNotifyEvent     read FOnDragLeave  write FOnDragLeave; | ||||||
|  |       property    OnDrop             : TDropEvent       read FOnDrop       write FOnDrop; | ||||||
|  |   end; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | implementation | ||||||
|  |  | ||||||
|  | uses | ||||||
|  |   uCEFMiscFunctions, uCEFWriteHandler, uCEFStreamWriter, uCEFConstants; | ||||||
|  |  | ||||||
|  | // ***************************************************** | ||||||
|  | // **************** TCEFDragAndDropMgr ***************** | ||||||
|  | // ***************************************************** | ||||||
|  |  | ||||||
|  | constructor TCEFDragAndDropMgr.Create; | ||||||
|  | begin | ||||||
|  |   inherited Create; | ||||||
|  |  | ||||||
|  |   FOnDragEnter        := nil; | ||||||
|  |   FOnDragOver         := nil; | ||||||
|  |   FOnDragLeave        := nil; | ||||||
|  |   FOnDrop             := nil; | ||||||
|  |   FCurrentDragData    := nil; | ||||||
|  |  | ||||||
|  |   FMozURLFormat       := RegisterClipboardFormat('text/x-moz-url'); | ||||||
|  |   FHTMLFormat         := RegisterClipboardFormat('HTML Format'); | ||||||
|  |   FFileDescFormat     := RegisterClipboardFormat(CFSTR_FILEDESCRIPTOR); | ||||||
|  |   FFileContentsFormat := RegisterClipboardFormat(CFSTR_FILECONTENTS); | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | destructor TCEFDragAndDropMgr.Destroy; | ||||||
|  | begin | ||||||
|  |   FCurrentDragData := nil; | ||||||
|  |  | ||||||
|  |   inherited Destroy; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCEFDragAndDropMgr.DragDataToDataObject_Unicode(const aDragData : ICefDragData; | ||||||
|  |                                                          var   aFormat   : TFormatEtc; | ||||||
|  |                                                          var   aMedium   : TStgMedium) : boolean; | ||||||
|  | var | ||||||
|  |   TempText : ustring; | ||||||
|  | begin | ||||||
|  |   Result   := False; | ||||||
|  |   TempText := aDragData.GetFragmentText; | ||||||
|  |  | ||||||
|  |   if (length(TempText) > 0) then | ||||||
|  |     begin | ||||||
|  |       aFormat.ptd      := nil; | ||||||
|  |       aFormat.dwAspect := DVASPECT_CONTENT; | ||||||
|  |       aFormat.lindex   := -1; | ||||||
|  |       aFormat.tymed    := TYMED_HGLOBAL; | ||||||
|  |       aFormat.cfFormat := CF_UNICODETEXT; | ||||||
|  |  | ||||||
|  |       TempText         := TempText + #0; | ||||||
|  |       Result           := GetStorageForString(aMedium, TempText); | ||||||
|  |     end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCEFDragAndDropMgr.DragDataToDataObject_Text(const aDragData : ICefDragData; | ||||||
|  |                                                       var   aFormat   : TFormatEtc; | ||||||
|  |                                                       var   aMedium   : TStgMedium) : boolean; | ||||||
|  | var | ||||||
|  |   TempText : AnsiString; | ||||||
|  | begin | ||||||
|  |   Result   := False; | ||||||
|  |   TempText := UTF8Encode(aDragData.GetFragmentText); | ||||||
|  |  | ||||||
|  |   if (length(TempText) > 0) then | ||||||
|  |     begin | ||||||
|  |       aFormat.ptd      := nil; | ||||||
|  |       aFormat.dwAspect := DVASPECT_CONTENT; | ||||||
|  |       aFormat.lindex   := -1; | ||||||
|  |       aFormat.tymed    := TYMED_HGLOBAL; | ||||||
|  |       aFormat.cfFormat := CF_TEXT; | ||||||
|  |  | ||||||
|  |       TempText         := TempText + #0; | ||||||
|  |       Result           := GetStorageForString(aMedium, TempText); | ||||||
|  |     end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCEFDragAndDropMgr.DragDataToDataObject_HTML(const aDragData : ICefDragData; | ||||||
|  |                                                       var   aFormat   : TFormatEtc; | ||||||
|  |                                                       var   aMedium   : TStgMedium) : boolean; | ||||||
|  | var | ||||||
|  |   TempBaseURL, TempHTML : ustring; | ||||||
|  |   TempAnsi : AnsiString; | ||||||
|  | begin | ||||||
|  |   Result   := False; | ||||||
|  |   TempHTML := aDragData.GetFragmentHtml; | ||||||
|  |  | ||||||
|  |   if (length(TempHTML) > 0) then | ||||||
|  |     begin | ||||||
|  |       aFormat.ptd      := nil; | ||||||
|  |       aFormat.dwAspect := DVASPECT_CONTENT; | ||||||
|  |       aFormat.lindex   := -1; | ||||||
|  |       aFormat.tymed    := TYMED_HGLOBAL; | ||||||
|  |       aFormat.cfFormat := FHTMLFormat; | ||||||
|  |  | ||||||
|  |       TempBaseURL      := aDragData.GetFragmentBaseURL; | ||||||
|  |       TempAnsi         := HtmlToCFHtml(TempHTML, TempBaseURL) + #0; | ||||||
|  |       Result           := GetStorageForString(aMedium, TempAnsi); | ||||||
|  |     end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCEFDragAndDropMgr.DragDataToDataObject_URL(const aDragData : ICefDragData; | ||||||
|  |                                                      var   aFormat   : TFormatEtc; | ||||||
|  |                                                      var   aMedium   : TStgMedium) : boolean; | ||||||
|  | var | ||||||
|  |   TempURL, TempTitle : ustring; | ||||||
|  | begin | ||||||
|  |   Result := False; | ||||||
|  |  | ||||||
|  |   if aDragData.IsLink then | ||||||
|  |     begin | ||||||
|  |       TempURL   := aDragData.GetLinkURL; | ||||||
|  |       TempTitle := aDragData.GetLinkTitle; | ||||||
|  |  | ||||||
|  |       if (length(TempURL) > 0) then | ||||||
|  |         begin | ||||||
|  |           aFormat.ptd      := nil; | ||||||
|  |           aFormat.dwAspect := DVASPECT_CONTENT; | ||||||
|  |           aFormat.lindex   := -1; | ||||||
|  |           aFormat.tymed    := TYMED_HGLOBAL; | ||||||
|  |           aFormat.cfFormat := FMozURLFormat; | ||||||
|  |  | ||||||
|  |           if (length(TempTitle) > 0) then | ||||||
|  |             TempURL := TempURL + #13 + TempTitle; | ||||||
|  |  | ||||||
|  |           TempURL := TempURL + #0; | ||||||
|  |           Result  := GetStorageForString(aMedium, TempURL); | ||||||
|  |         end; | ||||||
|  |     end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCEFDragAndDropMgr.DragDataToDataObject_FileDesc(const aDragData : ICefDragData; | ||||||
|  |                                                           var   aFormat   : TFormatEtc; | ||||||
|  |                                                           var   aMedium   : TStgMedium) : boolean; | ||||||
|  | var | ||||||
|  |   TempFileName : ustring; | ||||||
|  |   TempSize     : cardinal; | ||||||
|  | begin | ||||||
|  |   Result := False; | ||||||
|  |  | ||||||
|  |   if aDragData.IsFile then | ||||||
|  |     begin | ||||||
|  |       TempSize     := aDragData.GetFileContents(nil); | ||||||
|  |       TempFileName := aDragData.GetFileName; | ||||||
|  |  | ||||||
|  |       if (TempSize > 0) and (length(TempFileName) > 0) then | ||||||
|  |         begin | ||||||
|  |           aFormat.ptd      := nil; | ||||||
|  |           aFormat.dwAspect := DVASPECT_CONTENT; | ||||||
|  |           aFormat.lindex   := -1; | ||||||
|  |           aFormat.tymed    := TYMED_HGLOBAL; | ||||||
|  |           aFormat.cfFormat := FFileDescFormat; | ||||||
|  |  | ||||||
|  |           TempFileName     := TempFileName + #0; | ||||||
|  |           Result           := GetStorageForFileDescriptor(aMedium, TempFileName); | ||||||
|  |         end; | ||||||
|  |     end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCEFDragAndDropMgr.DragDataToDataObject_FileContents(const aDragData : ICefDragData; | ||||||
|  |                                                               var   aFormat   : TFormatEtc; | ||||||
|  |                                                               var   aMedium   : TStgMedium) : boolean; | ||||||
|  | var | ||||||
|  |   TempHandler   : ICefWriteHandler; | ||||||
|  |   TempWriter    : ICefStreamWriter; | ||||||
|  |   TempSize      : cardinal; | ||||||
|  | begin | ||||||
|  |   Result := False; | ||||||
|  |  | ||||||
|  |   if aDragData.IsFile then | ||||||
|  |     begin | ||||||
|  |       TempSize := aDragData.GetFileContents(nil); | ||||||
|  |  | ||||||
|  |       if (TempSize > 0) then | ||||||
|  |         begin | ||||||
|  |           aFormat.ptd      := nil; | ||||||
|  |           aFormat.dwAspect := DVASPECT_CONTENT; | ||||||
|  |           aFormat.lindex   := -1; | ||||||
|  |           aFormat.tymed    := TYMED_HGLOBAL; | ||||||
|  |           aFormat.cfFormat := FFileContentsFormat; | ||||||
|  |  | ||||||
|  |           TempHandler := TCefBytesWriteHandler.Create(TempSize); | ||||||
|  |           TempWriter  := TCefStreamWriterRef.CreateForHandler(TempHandler); | ||||||
|  |  | ||||||
|  |           aDragData.GetFileContents(TempWriter); | ||||||
|  |  | ||||||
|  |           TempSize    := cardinal(TCefBytesWriteHandler(TempHandler).GetDataSize); | ||||||
|  |           Result      := GetStorageForBytes(aMedium, TCefBytesWriteHandler(TempHandler).GetData, TempSize); | ||||||
|  |         end; | ||||||
|  |     end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCEFDragAndDropMgr.HtmlToCFHtml(var aHTML, aBaseURL : ustring) : AnsiString; | ||||||
|  | const | ||||||
|  |   CRLF           : AnsiString = #13+#10; | ||||||
|  |   HTML_START_TAG : AnsiString = '<html>'; | ||||||
|  |   HTML_END_TAG   : AnsiString = '</html>'; | ||||||
|  |   BODY_START_TAG : AnsiString = '<body>'; | ||||||
|  |   BODY_END_TAG   : AnsiString = '</body>'; | ||||||
|  |   FRAGMENT_START : AnsiString = '<!--StartFragment-->'; | ||||||
|  |   FRAGMENT_END   : AnsiString = '<!--EndFragment-->'; | ||||||
|  |   PATTERN1       : AnsiString = '<<<<<1'; | ||||||
|  |   PATTERN2       : AnsiString = '<<<<<2'; | ||||||
|  |   PATTERN3       : AnsiString = '<<<<<3'; | ||||||
|  |   PATTERN4       : AnsiString = '<<<<<4'; | ||||||
|  | var | ||||||
|  |   TempString, TempDigits : AnsiString; | ||||||
|  |   TempPos : integer; | ||||||
|  | begin | ||||||
|  |   if (length(aHTML) = 0) then | ||||||
|  |     begin | ||||||
|  |       Result := ''; | ||||||
|  |       exit; | ||||||
|  |     end; | ||||||
|  |  | ||||||
|  |   TempString := 'Version:0.9'                + CRLF + | ||||||
|  |                 'StartHTML:'      + PATTERN1 + CRLF + | ||||||
|  |                 'EndHTML:'        + PATTERN2 + CRLF + | ||||||
|  |                 'StartFragment:'  + PATTERN3 + CRLF + | ||||||
|  |                 'EndFragment:'    + PATTERN4 + CRLF + | ||||||
|  |                 'StartSelection:' + PATTERN3 + CRLF + | ||||||
|  |                 'EndSelection:'   + PATTERN4; | ||||||
|  |  | ||||||
|  |   if (length(aBaseURL) > 0) then | ||||||
|  |     TempString := TempString + CRLF + 'SourceURL:' + Utf8Encode(aBaseURL); | ||||||
|  |  | ||||||
|  |   TempString := TempString        + CRLF + | ||||||
|  |                 HTML_START_TAG    + CRLF + | ||||||
|  |                 BODY_START_TAG    + CRLF + | ||||||
|  |                 FRAGMENT_START    + CRLF + | ||||||
|  |                 Utf8Encode(aHTML) + CRLF + | ||||||
|  |                 FRAGMENT_END      + CRLF + | ||||||
|  |                 BODY_END_TAG      + CRLF + | ||||||
|  |                 HTML_END_TAG; | ||||||
|  |  | ||||||
|  |   TempPos := System.AnsiStrings.PosEx(HTML_START_TAG, TempString) + length(HTML_START_TAG); | ||||||
|  |   FmtStr(TempDigits, '%.6d', [TempPos]); | ||||||
|  |   TempString := System.AnsiStrings.StringReplace(TempString, PATTERN1, TempDigits, [rfReplaceAll]); | ||||||
|  |  | ||||||
|  |   TempPos := System.AnsiStrings.PosEx(HTML_END_TAG, TempString); | ||||||
|  |   FmtStr(TempDigits, '%.6d', [TempPos]); | ||||||
|  |   TempString := System.AnsiStrings.StringReplace(TempString, PATTERN2, TempDigits, [rfReplaceAll]); | ||||||
|  |  | ||||||
|  |   TempPos := System.AnsiStrings.PosEx(FRAGMENT_START, TempString) + length(FRAGMENT_START); | ||||||
|  |   FmtStr(TempDigits, '%.6d', [TempPos]); | ||||||
|  |   TempString := System.AnsiStrings.StringReplace(TempString, PATTERN3, TempDigits, [rfReplaceAll]); | ||||||
|  |  | ||||||
|  |   TempPos := System.AnsiStrings.PosEx(FRAGMENT_END, TempString); | ||||||
|  |   FmtStr(TempDigits, '%.6d', [TempPos]); | ||||||
|  |   TempString := System.AnsiStrings.StringReplace(TempString, PATTERN4, TempDigits, [rfReplaceAll]); | ||||||
|  |  | ||||||
|  |   Result := TempString; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCEFDragAndDropMgr.FindStringField(const aString, aFieldName : AnsiString; var aPos : integer) : string; | ||||||
|  | var | ||||||
|  |   TempLen, i, TempValuePos : integer; | ||||||
|  |   TempString : AnsiString; | ||||||
|  | begin | ||||||
|  |   aPos    := pos(aFieldName, aString); | ||||||
|  |   TempLen := length(aString); | ||||||
|  |  | ||||||
|  |   if (aPos > 0) then | ||||||
|  |     begin | ||||||
|  |       TempValuePos := aPos + length(aFieldName); | ||||||
|  |       i            := TempValuePos; | ||||||
|  |  | ||||||
|  |       while (i <= TempLen) and not(CharInSet(aString[i], [#13, #10])) do inc(i); | ||||||
|  |  | ||||||
|  |       TempString := copy(aString, TempValuePos, i - TempValuePos); | ||||||
|  |       if (length(TempString) > 0) then Result := UTF8ToString(TempString); | ||||||
|  |     end | ||||||
|  |    else | ||||||
|  |     Result := ''; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | procedure TCEFDragAndDropMgr.CFHtmlToHtml(const cf_html : AnsiString; var html, base_url : string); | ||||||
|  | const | ||||||
|  |   CFHTML_VERSION   : AnsiString = 'Version:'; | ||||||
|  |   CFHTML_STARTHTML : AnsiString = 'StartHTML:'; | ||||||
|  |   CFHTML_ENDHTML   : AnsiString = 'EndHTML:'; | ||||||
|  |   CFHTML_STARTFRAG : AnsiString = 'StartFragment:'; | ||||||
|  |   CFHTML_ENDFRAG   : AnsiString = 'EndFragment:'; | ||||||
|  |   CFHTML_STARSEL   : AnsiString = 'StartSelection:'; | ||||||
|  |   CFHTML_ENDSEL    : AnsiString = 'EndSelection:'; | ||||||
|  |   CFHTML_SOURCEURL : AnsiString = 'SourceURL:'; | ||||||
|  |   FRAGMENT_START   : AnsiString = '<!--StartFragment'; | ||||||
|  |   FRAGMENT_END     : AnsiString = '<!--EndFragment'; | ||||||
|  | var | ||||||
|  |   TempHTMLStart, TempHTMLEnd : integer; | ||||||
|  |   TempFragStart, TempFragEnd : integer; | ||||||
|  |   TempVersionPos, TempSourcePos : integer; | ||||||
|  |   TempHTMLStartPos, TempHTMLEndPos : integer; | ||||||
|  |   TempFragStartPos, TempFragEndPos : integer; | ||||||
|  |   TempFragStartCommentPos, TempFragEndCommentPos : integer; | ||||||
|  | begin | ||||||
|  |   html     := ''; | ||||||
|  |   base_url := ''; | ||||||
|  |  | ||||||
|  |   if (FindStringField(cf_html, CFHTML_VERSION, TempVersionPos) <> '0.9') then exit; | ||||||
|  |  | ||||||
|  |   TempHTMLStart := StrToIntDef(FindStringField(cf_html, CFHTML_STARTHTML, TempHTMLStartPos), -1); | ||||||
|  |   TempHTMLEnd   := StrToIntDef(FindStringField(cf_html, CFHTML_ENDHTML,   TempHTMLEndPos),   -1); | ||||||
|  |   TempFragStart := StrToIntDef(FindStringField(cf_html, CFHTML_STARTFRAG, TempFragStartPos), -1); | ||||||
|  |   TempFragEnd   := StrToIntDef(FindStringField(cf_html, CFHTML_ENDFRAG,   TempFragEndPos),   -1); | ||||||
|  |  | ||||||
|  |   if (TempVersionPos   < TempHTMLStartPos) and | ||||||
|  |      (TempHTMLStartPos < TempHTMLEndPos)   and | ||||||
|  |      (TempHTMLEndPos   < TempFragStartPos) and | ||||||
|  |      (TempFragStartPos < TempFragEndPos)   then | ||||||
|  |     begin | ||||||
|  |       TempFragStartCommentPos := pos(FRAGMENT_START, cf_html); | ||||||
|  |  | ||||||
|  |       if (TempFragStartCommentPos > 0) then | ||||||
|  |         TempFragStartCommentPos := System.AnsiStrings.PosEx('-->', cf_html, TempFragStartCommentPos + length(FRAGMENT_START)); | ||||||
|  |  | ||||||
|  |       if (TempFragStartCommentPos > 0) then | ||||||
|  |         begin | ||||||
|  |           TempFragStartCommentPos := TempFragStartCommentPos + 3; | ||||||
|  |           TempFragEndCommentPos   := System.AnsiStrings.PosEx(FRAGMENT_END, cf_html, TempFragStartCommentPos); | ||||||
|  |         end | ||||||
|  |        else | ||||||
|  |         if (TempFragStart > 0) and | ||||||
|  |            (TempFragEnd   > 0) then | ||||||
|  |           begin | ||||||
|  |             TempFragStartCommentPos := TempFragStart; | ||||||
|  |             TempFragEndCommentPos   := TempFragEnd; | ||||||
|  |           end | ||||||
|  |          else | ||||||
|  |           if (TempHTMLStart > 0) and | ||||||
|  |              (TempHTMLEnd   > 0) then | ||||||
|  |             begin | ||||||
|  |               TempFragStartCommentPos := TempHTMLStart; | ||||||
|  |               TempFragEndCommentPos   := TempHTMLEnd; | ||||||
|  |             end | ||||||
|  |            else | ||||||
|  |             exit; | ||||||
|  |  | ||||||
|  |       if (TempFragStartCommentPos > 0) and | ||||||
|  |          (TempFragEndCommentPos   > 0) and | ||||||
|  |          (TempFragEndCommentPos   > TempFragStartCommentPos) then | ||||||
|  |         begin | ||||||
|  |           html     := UTF8ToString(copy(cf_html, TempFragStartCommentPos, TempFragEndCommentPos - TempFragStartCommentPos)); | ||||||
|  |           base_url := FindStringField(cf_html, CFHTML_SOURCEURL, TempSourcePos); | ||||||
|  |         end; | ||||||
|  |     end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCEFDragAndDropMgr.DataObjectToDragData_Unicode(var aMedium : TStgMedium; var aDragData : ICefDragData) : boolean; | ||||||
|  | var | ||||||
|  |   TempText : string; | ||||||
|  |   TempPointer : pointer; | ||||||
|  | begin | ||||||
|  |   Result := False; | ||||||
|  |  | ||||||
|  |   if (aMedium.hGlobal <> 0) then | ||||||
|  |     begin | ||||||
|  |       TempPointer := GlobalLock(aMedium.hGlobal); | ||||||
|  |  | ||||||
|  |       if (TempPointer <> nil) then | ||||||
|  |         begin | ||||||
|  |           TempText := PWideChar(TempPointer); | ||||||
|  |           aDragData.SetFragmentText(TempText); | ||||||
|  |           GlobalUnlock(aMedium.hGlobal); | ||||||
|  |           Result   := True; | ||||||
|  |         end; | ||||||
|  |  | ||||||
|  |       ReleaseStgMedium(aMedium); | ||||||
|  |     end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCEFDragAndDropMgr.DataObjectToDragData_Text(var aMedium : TStgMedium; var aDragData : ICefDragData) : boolean; | ||||||
|  | var | ||||||
|  |   TempText : string; | ||||||
|  |   TempPointer : pointer; | ||||||
|  | begin | ||||||
|  |   Result := False; | ||||||
|  |  | ||||||
|  |   if (aMedium.hGlobal <> 0) then | ||||||
|  |     begin | ||||||
|  |       TempPointer := GlobalLock(aMedium.hGlobal); | ||||||
|  |  | ||||||
|  |       if (TempPointer <> nil) then | ||||||
|  |         begin | ||||||
|  |           TempText := UTF8ToString(PAnsiChar(TempPointer)); | ||||||
|  |           aDragData.SetFragmentText(TempText); | ||||||
|  |           GlobalUnlock(aMedium.hGlobal); | ||||||
|  |           Result   := True; | ||||||
|  |         end; | ||||||
|  |  | ||||||
|  |       ReleaseStgMedium(aMedium); | ||||||
|  |     end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCEFDragAndDropMgr.DataObjectToDragData_URL(var aMedium : TStgMedium; var aDragData : ICefDragData) : boolean; | ||||||
|  | var | ||||||
|  |   TempText, TempURL, TempTitle : string; | ||||||
|  |   TempPos : integer; | ||||||
|  |   TempPointer : pointer; | ||||||
|  | begin | ||||||
|  |   Result := False; | ||||||
|  |  | ||||||
|  |   if (aMedium.hGlobal <> 0) then | ||||||
|  |     begin | ||||||
|  |       TempPointer := GlobalLock(aMedium.hGlobal); | ||||||
|  |  | ||||||
|  |       if (TempPointer <> nil) then | ||||||
|  |         begin | ||||||
|  |           TempText := PWideChar(TempPointer); | ||||||
|  |           TempPos  := LastDelimiter(#13, TempText); | ||||||
|  |  | ||||||
|  |           if (TempPos > 0) then | ||||||
|  |             begin | ||||||
|  |               TempURL   := copy(TempText, 1, pred(TempPos)); | ||||||
|  |               TempTitle := copy(TempText, succ(TempPos), length(TempText)); | ||||||
|  |             end | ||||||
|  |            else | ||||||
|  |             begin | ||||||
|  |               TempURL   := TempText; | ||||||
|  |               TempTitle := TempText; | ||||||
|  |             end; | ||||||
|  |  | ||||||
|  |           aDragData.SetLinkURL(TempURL); | ||||||
|  |           aDragData.SetLinkTitle(TempTitle); | ||||||
|  |           GlobalUnlock(aMedium.hGlobal); | ||||||
|  |           Result := True; | ||||||
|  |         end; | ||||||
|  |  | ||||||
|  |       ReleaseStgMedium(aMedium); | ||||||
|  |     end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCEFDragAndDropMgr.DataObjectToDragData_HTML(var aMedium : TStgMedium; var aDragData : ICefDragData) : boolean; | ||||||
|  | var | ||||||
|  |   TempAnsi : AnsiString; | ||||||
|  |   TempHTML, TempBaseURL : string; | ||||||
|  |   TempPointer : pointer; | ||||||
|  | begin | ||||||
|  |   Result := False; | ||||||
|  |  | ||||||
|  |   if (aMedium.hGlobal <> 0) then | ||||||
|  |     begin | ||||||
|  |       TempPointer := GlobalLock(aMedium.hGlobal); | ||||||
|  |  | ||||||
|  |       if (TempPointer <> nil) then | ||||||
|  |         begin | ||||||
|  |           TempAnsi := PAnsiChar(TempPointer); | ||||||
|  |  | ||||||
|  |           CFHtmlToHtml(TempAnsi, TempHTML, TempBaseURL); | ||||||
|  |  | ||||||
|  |           aDragData.SetFragmentHtml(TempHTML); | ||||||
|  |           aDragData.SetFragmentBaseURL(TempBaseURL); | ||||||
|  |           GlobalUnlock(aMedium.hGlobal); | ||||||
|  |           Result := True; | ||||||
|  |         end; | ||||||
|  |  | ||||||
|  |       ReleaseStgMedium(aMedium); | ||||||
|  |     end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCEFDragAndDropMgr.DataObjectToDragData_FileDrop(var aMedium : TStgMedium; var aDragData : ICefDragData) : boolean; | ||||||
|  | var | ||||||
|  |   TempHdrop : HDROP; | ||||||
|  |   TempNumFiles, i, TempLen : integer; | ||||||
|  |   TempText, TempFilePath, TempFileName : string; | ||||||
|  |   TempPointer : pointer; | ||||||
|  |   TempAdded : boolean; | ||||||
|  | begin | ||||||
|  |   Result := False; | ||||||
|  |  | ||||||
|  |   if (aMedium.hGlobal <> 0) then | ||||||
|  |     begin | ||||||
|  |       TempPointer := GlobalLock(aMedium.hGlobal); | ||||||
|  |  | ||||||
|  |       if (TempPointer <> nil) then | ||||||
|  |         begin | ||||||
|  |           TempHdrop    := THandle(TempPointer); | ||||||
|  |           TempNumFiles := DragQueryFile(TempHdrop, $FFFFFFFF, nil, 0); | ||||||
|  |           TempAdded    := False; | ||||||
|  |           i            := 0; | ||||||
|  |  | ||||||
|  |           SetLength(TempText, succ(MAX_PATH)); | ||||||
|  |  | ||||||
|  |           while (i < TempNumFiles) do | ||||||
|  |             begin | ||||||
|  |               TempLen := DragQueryFile(TempHdrop, i, @TempText[1], succ(MAX_PATH)); | ||||||
|  |  | ||||||
|  |               if (TempLen > 0) then | ||||||
|  |                 begin | ||||||
|  |                   TempFilePath := copy(TempText, 1, TempLen); | ||||||
|  |                   TempFileName := ExtractFileName(TempFilePath); | ||||||
|  |                   TempAdded    := True; | ||||||
|  |  | ||||||
|  |                   if (length(TempFileName) > 0) then | ||||||
|  |                     aDragData.AddFile(TempFilePath, TempFileName) | ||||||
|  |                    else | ||||||
|  |                     aDragData.AddFile(TempFilePath, TempFilePath); | ||||||
|  |                 end; | ||||||
|  |  | ||||||
|  |               inc(i); | ||||||
|  |             end; | ||||||
|  |  | ||||||
|  |           GlobalUnlock(aMedium.hGlobal); | ||||||
|  |           DragFinish(TempHdrop); | ||||||
|  |           Result := TempAdded; | ||||||
|  |         end; | ||||||
|  |     end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | procedure TCEFDragAndDropMgr.DataObjectToDragData(const aDataObject : IDataObject; var aDragData : ICefDragData); | ||||||
|  | var | ||||||
|  |   TempEnumFrmt : IEnumFormatEtc; | ||||||
|  |   TempFormat   : TFormatEtc; | ||||||
|  |   TempMedium   : TStgMedium; | ||||||
|  |   TempUsed     : boolean; | ||||||
|  | begin | ||||||
|  |   try | ||||||
|  |     aDragData := TCefDragDataRef.New; | ||||||
|  |  | ||||||
|  |     if (aDataObject <> nil) and (aDataObject.EnumFormatEtc(DATADIR_GET, TempEnumFrmt) = S_OK) then | ||||||
|  |       begin | ||||||
|  |         TempEnumFrmt.Reset; | ||||||
|  |         TempUsed := False; | ||||||
|  |  | ||||||
|  |         while (TempEnumFrmt.Next(1, TempFormat, nil) = S_OK) and not(TempUsed) do | ||||||
|  |           begin | ||||||
|  |             try | ||||||
|  |               TempMedium.unkForRelease := nil; | ||||||
|  |  | ||||||
|  |               if ((TempFormat.tymed and TYMED_HGLOBAL) <> 0) and | ||||||
|  |                  (aDataObject.GetData(TempFormat, TempMedium) = S_OK) then | ||||||
|  |                 begin | ||||||
|  |                   if      (TempFormat.cfFormat = CF_UNICODETEXT) then TempUsed := DataObjectToDragData_Unicode(TempMedium, aDragData) | ||||||
|  |                   else if (TempFormat.cfFormat = CF_TEXT)        then TempUsed := DataObjectToDragData_Text(TempMedium, aDragData) | ||||||
|  |                   else if (TempFormat.cfFormat = FMozURLFormat)  then TempUsed := DataObjectToDragData_URL(TempMedium, aDragData) | ||||||
|  |                   else if (TempFormat.cfFormat = FHTMLFormat)    then TempUsed := DataObjectToDragData_HTML(TempMedium, aDragData) | ||||||
|  |                   else if (TempFormat.cfFormat = CF_HDROP)       then TempUsed := DataObjectToDragData_FileDrop(TempMedium, aDragData) | ||||||
|  |                   else ReleaseStgMedium(TempMedium); | ||||||
|  |                 end; | ||||||
|  |             finally | ||||||
|  |               if (TempFormat.ptd <> nil) then | ||||||
|  |                 begin | ||||||
|  |                   CoTaskMemFree(TempFormat.ptd); | ||||||
|  |                   TempFormat.ptd := nil; | ||||||
|  |                 end; | ||||||
|  |             end; | ||||||
|  |           end; | ||||||
|  |       end; | ||||||
|  |   except | ||||||
|  |     on e : exception do | ||||||
|  |       if CustomExceptionHandler('TCEFDragAndDropMgr.DataObjectToDragData', e) then raise; | ||||||
|  |   end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCEFDragAndDropMgr.StartDragging : TCefDragOperation; | ||||||
|  | var | ||||||
|  |   TempDataObject  : IDataObject; | ||||||
|  |   TempDropSource  : IDropSource; | ||||||
|  |   TempResEffect   : integer; | ||||||
|  |   TempResult      : HRESULT; | ||||||
|  |   TempFormatArray : TOLEFormatArray; | ||||||
|  |   TempMediumArray : TOLEMediumArray; | ||||||
|  |   i               : integer; | ||||||
|  | begin | ||||||
|  |   Result := DRAG_OPERATION_NONE; | ||||||
|  |  | ||||||
|  |   if (FCurrentDragData <> nil) then | ||||||
|  |     begin | ||||||
|  |       i := 0; | ||||||
|  |  | ||||||
|  |       if DragDataToDataObject_Unicode(FCurrentDragData, TempFormatArray[i], TempMediumArray[i])      then inc(i); | ||||||
|  |       if DragDataToDataObject_Text(FCurrentDragData, TempFormatArray[i], TempMediumArray[i])         then inc(i); | ||||||
|  |       if DragDataToDataObject_URL(FCurrentDragData, TempFormatArray[i], TempMediumArray[i])          then inc(i); | ||||||
|  |       if DragDataToDataObject_HTML(FCurrentDragData, TempFormatArray[i], TempMediumArray[i])         then inc(i); | ||||||
|  |       if DragDataToDataObject_FileDesc(FCurrentDragData, TempFormatArray[i], TempMediumArray[i])     then inc(i); | ||||||
|  |       if DragDataToDataObject_FileContents(FCurrentDragData, TempFormatArray[i], TempMediumArray[i]) then inc(i); | ||||||
|  |  | ||||||
|  |       if (i > 0) then | ||||||
|  |         begin | ||||||
|  |           TempResEffect  := DROPEFFECT_NONE; | ||||||
|  |           TempDataObject := TOLEDataObject.Create(TempFormatArray, TempMediumArray, i); | ||||||
|  |           TempDropSource := TOLEDropSource.Create; | ||||||
|  |           TempResult     := DoDragDrop(TempDataObject, TempDropSource, FOLEEffect, TempResEffect); | ||||||
|  |  | ||||||
|  |           if (TempResult <> DRAGDROP_S_DROP) then TempResEffect := DROPEFFECT_NONE; | ||||||
|  |           FCurrentDragData := nil; | ||||||
|  |  | ||||||
|  |           DropEffectToDragOperation(TempResEffect, Result); | ||||||
|  |         end; | ||||||
|  |     end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCEFDragAndDropMgr.CloneDragData(const aDragData : ICefDragData; aAllowedOps : TCefDragOperations) : boolean; | ||||||
|  | begin | ||||||
|  |   if (aDragData <> nil) and | ||||||
|  |      ((length(aDragData.GetFragmentText) > 0) or | ||||||
|  |       (length(aDragData.GetFragmentHTML) > 0) or | ||||||
|  |       aDragData.IsLink or | ||||||
|  |       aDragData.IsFile) then | ||||||
|  |     begin | ||||||
|  |       DragOperationToDropEffect(aAllowedOps, FOLEEffect); | ||||||
|  |  | ||||||
|  |       FCurrentDragData := aDragData.Clone; | ||||||
|  |       FCurrentDragData.ResetFileContents; | ||||||
|  |  | ||||||
|  |       Result := True; | ||||||
|  |     end | ||||||
|  |    else | ||||||
|  |     Result := False; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCEFDragAndDropMgr.DragEnter(const dataObj     : IDataObject; | ||||||
|  |                                             grfKeyState : Longint; | ||||||
|  |                                             pt          : TPoint; | ||||||
|  |                                       var   dwEffect    : Longint): HRESULT; | ||||||
|  | var | ||||||
|  |   TempDragData : ICefDragData; | ||||||
|  | begin | ||||||
|  |   if assigned(FOnDragEnter) then | ||||||
|  |     begin | ||||||
|  |       if (FCurrentDragData <> nil) then | ||||||
|  |         TempDragData := FCurrentDragData | ||||||
|  |        else | ||||||
|  |         DataObjectToDragData(dataObj, TempDragData); | ||||||
|  |  | ||||||
|  |       FOnDragEnter(self, TempDragData, grfKeyState, pt, dwEffect); | ||||||
|  |       Result := S_OK; | ||||||
|  |     end | ||||||
|  |    else | ||||||
|  |     Result := E_UNEXPECTED; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCEFDragAndDropMgr.DragOver(grfKeyState: Longint; pt: TPoint; var dwEffect: Longint): HResult; | ||||||
|  | begin | ||||||
|  |   if assigned(FOnDragOver) then | ||||||
|  |     begin | ||||||
|  |       FOnDragOver(self, grfKeyState, pt, dwEffect); | ||||||
|  |       Result := S_OK; | ||||||
|  |     end | ||||||
|  |    else | ||||||
|  |     Result := E_UNEXPECTED; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCEFDragAndDropMgr.DragLeave: HResult; | ||||||
|  | begin | ||||||
|  |   if assigned(FOnDragLeave) then | ||||||
|  |     begin | ||||||
|  |       FOnDragLeave(self); | ||||||
|  |       Result := S_OK; | ||||||
|  |     end | ||||||
|  |    else | ||||||
|  |     Result := E_UNEXPECTED; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCEFDragAndDropMgr.Drop(const dataObj     : IDataObject; | ||||||
|  |                                        grfKeyState : Longint; | ||||||
|  |                                        pt          : TPoint; | ||||||
|  |                                  var   dwEffect    : Longint): HResult; | ||||||
|  |  | ||||||
|  | begin | ||||||
|  |   if assigned(FOnDrop) then | ||||||
|  |     begin | ||||||
|  |       FOnDrop(self, grfKeyState, pt, dwEffect); | ||||||
|  |       Result := S_OK; | ||||||
|  |     end | ||||||
|  |    else | ||||||
|  |     Result := E_UNEXPECTED; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | end. | ||||||
| @@ -100,6 +100,7 @@ type | |||||||
|  |  | ||||||
|   TOnPdfPrintFinishedProc          = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const path: ustring; ok: Boolean); |   TOnPdfPrintFinishedProc          = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const path: ustring; ok: Boolean); | ||||||
|   TCefDomVisitorProc               = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const document: ICefDomDocument); |   TCefDomVisitorProc               = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const document: ICefDomDocument); | ||||||
|  |   TCefDomVisitorProc2              = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const browser : ICefBrowser; const document: ICefDomDocument); | ||||||
|   TCefStringVisitorProc            = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const str: ustring); |   TCefStringVisitorProc            = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const str: ustring); | ||||||
|  |  | ||||||
|   TOnRegisterCustomSchemes         = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const registrar: TCefSchemeRegistrarRef) {$IFNDEF DELPHI12_UP}of object{$ENDIF}; |   TOnRegisterCustomSchemes         = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const registrar: TCefSchemeRegistrarRef) {$IFNDEF DELPHI12_UP}of object{$ENDIF}; | ||||||
|   | |||||||
| @@ -48,9 +48,9 @@ interface | |||||||
|  |  | ||||||
| uses | uses | ||||||
|   {$IFDEF DELPHI16_UP} |   {$IFDEF DELPHI16_UP} | ||||||
|   WinApi.Windows, System.Classes, System.SysUtils, |   WinApi.Windows, System.Classes, System.SysUtils, System.UITypes, WinApi.ActiveX, | ||||||
|   {$ELSE} |   {$ELSE} | ||||||
|   Windows, Classes, SysUtils, |   Windows, Classes, SysUtils, UITypes, ActiveX, | ||||||
|   {$ENDIF} |   {$ENDIF} | ||||||
|   uCEFTypes, uCEFInterfaces, uCEFLibFunctions, uCEFResourceHandler; |   uCEFTypes, uCEFInterfaces, uCEFLibFunctions, uCEFResourceHandler; | ||||||
|  |  | ||||||
| @@ -165,6 +165,15 @@ function CefDeleteFile(const path: ustring; recursive: Boolean): Boolean; | |||||||
| function CefZipDirectory(const srcDir, destFile: ustring; includeHiddenFiles: Boolean): Boolean; | function CefZipDirectory(const srcDir, destFile: ustring; includeHiddenFiles: Boolean): Boolean; | ||||||
| procedure CefLoadCRLSetsFile(const path : ustring); | procedure CefLoadCRLSetsFile(const path : ustring); | ||||||
|  |  | ||||||
|  | function CefIsKeyDown(aWparam : WPARAM) : boolean; | ||||||
|  | function CefIsKeyToggled(aWparam : WPARAM) : boolean; | ||||||
|  | function GetCefMouseModifiers(awparam : WPARAM) : TCefEventFlags; | ||||||
|  | function GetCefKeyboardModifiers(aWparam : WPARAM; aLparam : LPARAM) : TCefEventFlags; | ||||||
|  | function GefCursorToWindowsCursor(aCefCursor : TCefCursorType) : TCursor; | ||||||
|  |  | ||||||
|  | procedure DropEffectToDragOperation(aEffect : Longint; var aAllowedOps : TCefDragOperations); | ||||||
|  | procedure DragOperationToDropEffect(const aDragOperations : TCefDragOperations; var aEffect: Longint); | ||||||
|  |  | ||||||
| implementation | implementation | ||||||
|  |  | ||||||
| uses | uses | ||||||
| @@ -987,4 +996,156 @@ begin | |||||||
|   cef_load_crlsets_file(@TempPath); |   cef_load_crlsets_file(@TempPath); | ||||||
| end; | end; | ||||||
|  |  | ||||||
|  | function CefIsKeyDown(aWparam : WPARAM) : boolean; | ||||||
|  | begin | ||||||
|  |   Result := (GetKeyState(aWparam) < 0); | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function CefIsKeyToggled(aWparam : WPARAM) : boolean; | ||||||
|  | begin | ||||||
|  |   Result := (GetKeyState(aWparam) and $1) <> 0; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function GetCefMouseModifiers(aWparam : WPARAM) : TCefEventFlags; | ||||||
|  | begin | ||||||
|  |   Result := EVENTFLAG_NONE; | ||||||
|  |  | ||||||
|  |   if ((aWparam and MK_CONTROL) <> 0) then Result := Result or EVENTFLAG_CONTROL_DOWN; | ||||||
|  |   if ((aWparam and MK_SHIFT)   <> 0) then Result := Result or EVENTFLAG_SHIFT_DOWN; | ||||||
|  |   if ((aWparam and MK_LBUTTON) <> 0) then Result := Result or EVENTFLAG_LEFT_MOUSE_BUTTON; | ||||||
|  |   if ((aWparam and MK_MBUTTON) <> 0) then Result := Result or EVENTFLAG_MIDDLE_MOUSE_BUTTON; | ||||||
|  |   if ((aWparam and MK_RBUTTON) <> 0) then Result := Result or EVENTFLAG_RIGHT_MOUSE_BUTTON; | ||||||
|  |   if CefIsKeyDown(VK_MENU)           then Result := Result or EVENTFLAG_ALT_DOWN; | ||||||
|  |   if CefIsKeyToggled(VK_NUMLOCK)     then Result := Result or EVENTFLAG_NUM_LOCK_ON; | ||||||
|  |   if CefIsKeyToggled(VK_CAPITAL)     then Result := Result or EVENTFLAG_CAPS_LOCK_ON; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function GetCefKeyboardModifiers(aWparam : WPARAM; aLparam : LPARAM) : TCefEventFlags; | ||||||
|  | begin | ||||||
|  |   Result := EVENTFLAG_NONE; | ||||||
|  |  | ||||||
|  |   if CefIsKeyDown(VK_SHIFT)      then Result := Result or EVENTFLAG_SHIFT_DOWN; | ||||||
|  |   if CefIsKeyDown(VK_CONTROL)    then Result := Result or EVENTFLAG_CONTROL_DOWN; | ||||||
|  |   if CefIsKeyDown(VK_MENU)       then Result := Result or EVENTFLAG_ALT_DOWN; | ||||||
|  |   if CefIsKeyToggled(VK_NUMLOCK) then Result := Result or EVENTFLAG_NUM_LOCK_ON; | ||||||
|  |   if CefIsKeyToggled(VK_CAPITAL) then Result := Result or EVENTFLAG_CAPS_LOCK_ON; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |   case aWparam of | ||||||
|  |     VK_RETURN: | ||||||
|  |       if (((aLparam shr 16) and KF_EXTENDED) <> 0) then Result := Result or EVENTFLAG_IS_KEY_PAD; | ||||||
|  |  | ||||||
|  |     VK_INSERT, | ||||||
|  |     VK_DELETE, | ||||||
|  |     VK_HOME, | ||||||
|  |     VK_END, | ||||||
|  |     VK_PRIOR, | ||||||
|  |     VK_NEXT, | ||||||
|  |     VK_UP, | ||||||
|  |     VK_DOWN, | ||||||
|  |     VK_LEFT, | ||||||
|  |     VK_RIGHT : | ||||||
|  |       if (((aLparam shr 16) and KF_EXTENDED) = 0) then Result := Result or EVENTFLAG_IS_KEY_PAD; | ||||||
|  |  | ||||||
|  |     VK_NUMLOCK, | ||||||
|  |     VK_NUMPAD0, | ||||||
|  |     VK_NUMPAD1, | ||||||
|  |     VK_NUMPAD2, | ||||||
|  |     VK_NUMPAD3, | ||||||
|  |     VK_NUMPAD4, | ||||||
|  |     VK_NUMPAD5, | ||||||
|  |     VK_NUMPAD6, | ||||||
|  |     VK_NUMPAD7, | ||||||
|  |     VK_NUMPAD8, | ||||||
|  |     VK_NUMPAD9, | ||||||
|  |     VK_DIVIDE, | ||||||
|  |     VK_MULTIPLY, | ||||||
|  |     VK_SUBTRACT, | ||||||
|  |     VK_ADD, | ||||||
|  |     VK_DECIMAL, | ||||||
|  |     VK_CLEAR : | ||||||
|  |       Result := Result or EVENTFLAG_IS_KEY_PAD; | ||||||
|  |  | ||||||
|  |     VK_SHIFT : | ||||||
|  |       if CefIsKeyDown(VK_LSHIFT) then | ||||||
|  |         Result := Result or EVENTFLAG_IS_LEFT | ||||||
|  |        else | ||||||
|  |         if CefIsKeyDown(VK_RSHIFT) then | ||||||
|  |           Result := Result or EVENTFLAG_IS_RIGHT; | ||||||
|  |  | ||||||
|  |     VK_CONTROL : | ||||||
|  |       if CefIsKeyDown(VK_LCONTROL) then | ||||||
|  |         Result := Result or EVENTFLAG_IS_LEFT | ||||||
|  |        else | ||||||
|  |         if CefIsKeyDown(VK_RCONTROL) then | ||||||
|  |           Result := Result or EVENTFLAG_IS_RIGHT; | ||||||
|  |  | ||||||
|  |     VK_MENU : | ||||||
|  |       if CefIsKeyDown(VK_LMENU) then | ||||||
|  |         Result := Result or EVENTFLAG_IS_LEFT | ||||||
|  |        else | ||||||
|  |         if CefIsKeyDown(VK_RMENU) then | ||||||
|  |           Result := Result or EVENTFLAG_IS_RIGHT; | ||||||
|  |  | ||||||
|  |     VK_LWIN : | ||||||
|  |       Result := Result or EVENTFLAG_IS_LEFT; | ||||||
|  |  | ||||||
|  |     VK_RWIN : | ||||||
|  |       Result := Result or EVENTFLAG_IS_RIGHT; | ||||||
|  |   end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function GefCursorToWindowsCursor(aCefCursor : TCefCursorType) : TCursor; | ||||||
|  | begin | ||||||
|  |   case aCefCursor of | ||||||
|  |     CT_POINTER                  : Result := crArrow; | ||||||
|  |     CT_CROSS                    : Result := crCross; | ||||||
|  |     CT_HAND                     : Result := crHandPoint; | ||||||
|  |     CT_IBEAM                    : Result := crIBeam; | ||||||
|  |     CT_WAIT                     : Result := crHourGlass; | ||||||
|  |     CT_HELP                     : Result := crHelp; | ||||||
|  |     CT_EASTRESIZE               : Result := crSizeWE; | ||||||
|  |     CT_NORTHRESIZE              : Result := crSizeNS; | ||||||
|  |     CT_NORTHEASTRESIZE          : Result := crSizeNESW; | ||||||
|  |     CT_NORTHWESTRESIZE          : Result := crSizeNWSE; | ||||||
|  |     CT_SOUTHRESIZE              : Result := crSizeNS; | ||||||
|  |     CT_SOUTHEASTRESIZE          : Result := crSizeNWSE; | ||||||
|  |     CT_SOUTHWESTRESIZE          : Result := crSizeNESW; | ||||||
|  |     CT_WESTRESIZE               : Result := crSizeWE; | ||||||
|  |     CT_NORTHSOUTHRESIZE         : Result := crSizeNS; | ||||||
|  |     CT_EASTWESTRESIZE           : Result := crSizeWE; | ||||||
|  |     CT_NORTHEASTSOUTHWESTRESIZE : Result := crSizeNESW; | ||||||
|  |     CT_NORTHWESTSOUTHEASTRESIZE : Result := crSizeNWSE; | ||||||
|  |     CT_COLUMNRESIZE             : Result := crHSplit; | ||||||
|  |     CT_ROWRESIZE                : Result := crVSplit; | ||||||
|  |     CT_MOVE                     : Result := crSizeAll; | ||||||
|  |     CT_PROGRESS                 : Result := crAppStart; | ||||||
|  |     CT_NONE                     : Result := crNone; | ||||||
|  |     CT_NODROP, | ||||||
|  |     CT_NOTALLOWED               : Result := crNo; | ||||||
|  |     CT_GRAB, | ||||||
|  |     CT_GRABBING                 : Result := crDrag; | ||||||
|  |  | ||||||
|  |     else Result := crDefault; | ||||||
|  |   end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | procedure DropEffectToDragOperation(aEffect: Longint; var aAllowedOps : TCefDragOperations); | ||||||
|  | begin | ||||||
|  |   aAllowedOps := DRAG_OPERATION_NONE; | ||||||
|  |  | ||||||
|  |   if ((aEffect and DROPEFFECT_COPY) <> 0) then aAllowedOps := aAllowedOps or DRAG_OPERATION_COPY; | ||||||
|  |   if ((aEffect and DROPEFFECT_LINK) <> 0) then aAllowedOps := aAllowedOps or DRAG_OPERATION_LINK; | ||||||
|  |   if ((aEffect and DROPEFFECT_MOVE) <> 0) then aAllowedOps := aAllowedOps or DRAG_OPERATION_MOVE; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | procedure DragOperationToDropEffect(const aDragOperations : TCefDragOperations; var aEffect: Longint); | ||||||
|  | begin | ||||||
|  |   aEffect := DROPEFFECT_NONE; | ||||||
|  |  | ||||||
|  |   if ((aDragOperations and DRAG_OPERATION_COPY) <> 0) then aEffect := aEffect or DROPEFFECT_COPY; | ||||||
|  |   if ((aDragOperations and DRAG_OPERATION_LINK) <> 0) then aEffect := aEffect or DROPEFFECT_LINK; | ||||||
|  |   if ((aDragOperations and DRAG_OPERATION_MOVE) <> 0) then aEffect := aEffect or DROPEFFECT_MOVE; | ||||||
|  | end; | ||||||
|  |  | ||||||
| end. | end. | ||||||
|   | |||||||
| @@ -103,7 +103,7 @@ end; | |||||||
|  |  | ||||||
| function TCefRequestRef.GetFlags: TCefUrlRequestFlags; | function TCefRequestRef.GetFlags: TCefUrlRequestFlags; | ||||||
| begin | begin | ||||||
|   Byte(Result) := PCefRequest(FData)^.get_flags(PCefRequest(FData)); |   Result := PCefRequest(FData)^.get_flags(PCefRequest(FData)); | ||||||
| end; | end; | ||||||
|  |  | ||||||
| procedure TCefRequestRef.GetHeaderMap(const HeaderMap: ICefStringMultimap); | procedure TCefRequestRef.GetHeaderMap(const HeaderMap: ICefStringMultimap); | ||||||
|   | |||||||
| @@ -201,22 +201,32 @@ type | |||||||
|   PPCefX509Certificate = ^PCefX509Certificate; |   PPCefX509Certificate = ^PCefX509Certificate; | ||||||
|  |  | ||||||
|  |  | ||||||
|   TCefWindowHandle         = HWND;        // /include/internal/cef_types_win.h (cef_window_handle_t) |   TCefWindowHandle                 = HWND;        // /include/internal/cef_types_win.h (cef_window_handle_t) | ||||||
|   TCefCursorHandle         = HCURSOR;     // /include/internal/cef_types_win.h (cef_cursor_handle_t) |   TCefCursorHandle                 = HCURSOR;     // /include/internal/cef_types_win.h (cef_cursor_handle_t) | ||||||
|   TCefEventHandle          = PMsg;        // /include/internal/cef_types_win.h (cef_event_handle_t) |   TCefEventHandle                  = PMsg;        // /include/internal/cef_types_win.h (cef_event_handle_t) | ||||||
|   TCefPlatformThreadId     = DWORD;       // /include/internal/cef_thread_internal.h (cef_platform_thread_id_t) |   TCefPlatformThreadId             = DWORD;       // /include/internal/cef_thread_internal.h (cef_platform_thread_id_t) | ||||||
|   TCefPlatformThreadHandle = DWORD;       // /include/internal/cef_thread_internal.h (cef_platform_thread_handle_t) |   TCefPlatformThreadHandle         = DWORD;       // /include/internal/cef_thread_internal.h (cef_platform_thread_handle_t) | ||||||
|   TCefTransitionType       = Cardinal;    // /include/internal/cef_types.h (cef_transition_type_t) |   TCefTransitionType               = Cardinal;    // /include/internal/cef_types.h (cef_transition_type_t) | ||||||
|   TCefColor                = Cardinal;    // /include/internal/cef_types.h (cef_color_t) |   TCefColor                        = Cardinal;    // /include/internal/cef_types.h (cef_color_t) | ||||||
|   TCefErrorcode            = Integer;     // /include/internal/cef_types.h (cef_errorcode_t) |   TCefErrorcode                    = Integer;     // /include/internal/cef_types.h (cef_errorcode_t) | ||||||
|   TCefCertStatus           = Integer;     // /include/internal/cef_types.h (cef_cert_status_t) |   TCefCertStatus                   = Integer;     // /include/internal/cef_types.h (cef_cert_status_t) | ||||||
|   TCefSSLVersion           = integer;     // /include/internal/cef_types.h (cef_ssl_version_t) |   TCefSSLVersion                   = integer;     // /include/internal/cef_types.h (cef_ssl_version_t) | ||||||
|   TCefStringList           = Pointer;     // /include/internal/cef_string_list.h (cef_string_list_t) |   TCefStringList                   = Pointer;     // /include/internal/cef_string_list.h (cef_string_list_t) | ||||||
|   TCefStringMap            = Pointer;     // /include/internal/cef_string_map.h (cef_string_map_t) |   TCefStringMap                    = Pointer;     // /include/internal/cef_string_map.h (cef_string_map_t) | ||||||
|   TCefStringMultimap       = Pointer;     // /include/internal/cef_string_multimap.h (cef_string_multimap_t) |   TCefStringMultimap               = Pointer;     // /include/internal/cef_string_multimap.h (cef_string_multimap_t) | ||||||
|   TCefUriUnescapeRule      = Integer;     // /include/internal/cef_types.h (cef_uri_unescape_rule_t) |   TCefUriUnescapeRule              = Integer;     // /include/internal/cef_types.h (cef_uri_unescape_rule_t) | ||||||
|   TCefDomEventCategory     = Integer;     // /include/internal/cef_types.h (cef_dom_event_category_t) |   TCefDomEventCategory             = Integer;     // /include/internal/cef_types.h (cef_dom_event_category_t) | ||||||
|  |   TCefEventFlags                   = Cardinal;    // /include/internal/cef_types.h (cef_event_flags_t) | ||||||
|  |   TCefDragOperations               = Cardinal;    // /include/internal/cef_types.h (cef_drag_operations_mask_t) | ||||||
|  |   TCefDragOperation                = Cardinal;    // /include/internal/cef_types.h (cef_drag_operations_mask_t) | ||||||
|  |   TCefV8AccessControls             = Cardinal;    // /include/internal/cef_types.h (cef_v8_accesscontrol_t) | ||||||
|  |   TCefV8PropertyAttributes         = Cardinal;    // /include/internal/cef_types.h (cef_v8_propertyattribute_t) | ||||||
|  |   TCefUrlRequestFlags              = Cardinal;    // /include/internal/cef_types.h (cef_urlrequest_flags_t) | ||||||
|  |   TCefContextMenuTypeFlags         = Cardinal;    // /include/internal/cef_types.h (cef_context_menu_type_flags_t) | ||||||
|  |   TCefContextMenuMediaStateFlags   = Cardinal;    // /include/internal/cef_types.h (cef_context_menu_media_state_flags_t) | ||||||
|  |   TCefContextMenuEditStateFlags    = Cardinal;    // /include/internal/cef_types.h (cef_context_menu_edit_state_flags_t) | ||||||
|  |   TCefJsonWriterOptions            = Cardinal;    // /include/internal/cef_types.h (cef_json_writer_options_t) | ||||||
|  |   TCefSSLContentStatus             = Cardinal;    // /include/internal/cef_types.h (cef_ssl_content_status_t) | ||||||
|  |  | ||||||
| {$IFNDEF DELPHI12_UP} | {$IFNDEF DELPHI12_UP} | ||||||
|   NativeUInt  = Cardinal; |   NativeUInt  = Cardinal; | ||||||
| @@ -359,14 +369,6 @@ type | |||||||
|     JSON_PARSE_ERROR_COUNT |     JSON_PARSE_ERROR_COUNT | ||||||
|   ); |   ); | ||||||
|  |  | ||||||
|   // /include/internal/cef_types.h (cef_json_writer_options_t) |  | ||||||
|   TCefJsonWriterOption = ( |  | ||||||
|     JSON_WRITER_OMIT_BINARY_VALUES, |  | ||||||
|     JSON_WRITER_OMIT_DOUBLE_TYPE_PRESERVATION, |  | ||||||
|     JSON_WRITER_PRETTY_PRINT |  | ||||||
|   ); |  | ||||||
|   TCefJsonWriterOptions = set of TCefJsonWriterOption; |  | ||||||
|  |  | ||||||
|   // /include/internal/cef_types.h (cef_state_t) |   // /include/internal/cef_types.h (cef_state_t) | ||||||
|   TCefState = ( |   TCefState = ( | ||||||
|     STATE_DEFAULT = 0, |     STATE_DEFAULT = 0, | ||||||
| @@ -492,40 +494,15 @@ type | |||||||
|     MENUITEMTYPE_SUBMENU |     MENUITEMTYPE_SUBMENU | ||||||
|   ); |   ); | ||||||
|  |  | ||||||
|   // /include/internal/cef_types.h (cef_event_flags_t) |  | ||||||
|   TCefEventFlag = ( |  | ||||||
|     EVENTFLAG_CAPS_LOCK_ON, |  | ||||||
|     EVENTFLAG_SHIFT_DOWN, |  | ||||||
|     EVENTFLAG_CONTROL_DOWN, |  | ||||||
|     EVENTFLAG_ALT_DOWN, |  | ||||||
|     EVENTFLAG_LEFT_MOUSE_BUTTON, |  | ||||||
|     EVENTFLAG_MIDDLE_MOUSE_BUTTON, |  | ||||||
|     EVENTFLAG_RIGHT_MOUSE_BUTTON, |  | ||||||
|     EVENTFLAG_COMMAND_DOWN, |  | ||||||
|     EVENTFLAG_NUM_LOCK_ON, |  | ||||||
|     EVENTFLAG_IS_KEY_PAD, |  | ||||||
|     EVENTFLAG_IS_LEFT, |  | ||||||
|     EVENTFLAG_IS_RIGHT |  | ||||||
|   ); |  | ||||||
|   TCefEventFlags = set of TCefEventFlag; |  | ||||||
|  |  | ||||||
|   // /include/internal/cef_types.h (cef_drag_operations_mask_t) |  | ||||||
|   TCefDragOperation = ( |  | ||||||
|     DRAG_OPERATION_COPY, |  | ||||||
|     DRAG_OPERATION_LINK, |  | ||||||
|     DRAG_OPERATION_GENERIC, |  | ||||||
|     DRAG_OPERATION_PRIVATE, |  | ||||||
|     DRAG_OPERATION_MOVE, |  | ||||||
|     DRAG_OPERATION_DELETE |  | ||||||
|   ); |  | ||||||
|   TCefDragOperations = set of TCefDragOperation; |  | ||||||
|  |  | ||||||
|   // /include/internal/cef_types.h (cef_file_dialog_mode_t) |   // /include/internal/cef_types.h (cef_file_dialog_mode_t) | ||||||
|   TCefFileDialogMode = ( |   TCefFileDialogMode = ( | ||||||
|     FILE_DIALOG_OPEN, |     FILE_DIALOG_OPEN, | ||||||
|     FILE_DIALOG_OPEN_MULTIPLE, |     FILE_DIALOG_OPEN_MULTIPLE, | ||||||
|     FILE_DIALOG_OPEN_FOLDER, |     FILE_DIALOG_OPEN_FOLDER, | ||||||
|     FILE_DIALOG_SAVE |     FILE_DIALOG_SAVE, | ||||||
|  |     FILE_DIALOG_TYPE_MASK = $FF, | ||||||
|  |     FILE_DIALOG_OVERWRITEPROMPT_FLAG = $01000000, | ||||||
|  |     FILE_DIALOG_HIDEREADONLY_FLAG = $02000000 | ||||||
|   ); |   ); | ||||||
|  |  | ||||||
|   // /include/internal/cef_types.h (cef_focus_source_t) |   // /include/internal/cef_types.h (cef_focus_source_t) | ||||||
| @@ -681,19 +658,6 @@ type | |||||||
|     RV_CONTINUE_ASYNC |     RV_CONTINUE_ASYNC | ||||||
|   ); |   ); | ||||||
|  |  | ||||||
|   // /include/internal/cef_types.h (cef_urlrequest_flags_t) |  | ||||||
|   TCefUrlRequestFlag = ( |  | ||||||
|     UR_FLAG_SKIP_CACHE, |  | ||||||
|     UR_FLAG_ALLOW_CACHED_CREDENTIALS, |  | ||||||
|     UR_FLAG_DUMMY_1, |  | ||||||
|     UR_FLAG_REPORT_UPLOAD_PROGRESS, |  | ||||||
|     UR_FLAG_DUMMY_2, |  | ||||||
|     UR_FLAG_DUMMY_3, |  | ||||||
|     UR_FLAG_NO_DOWNLOAD_DATA, |  | ||||||
|     UR_FLAG_NO_RETRY_ON_5XX |  | ||||||
|   ); |  | ||||||
|   TCefUrlRequestFlags = set of TCefUrlRequestFlag; |  | ||||||
|  |  | ||||||
|   // /include/internal/cef_types.h (cef_urlrequest_status_t) |   // /include/internal/cef_types.h (cef_urlrequest_status_t) | ||||||
|   TCefUrlRequestStatus = ( |   TCefUrlRequestStatus = ( | ||||||
|     UR_UNKNOWN = 0, |     UR_UNKNOWN = 0, | ||||||
| @@ -728,22 +692,6 @@ type | |||||||
|     ST_SESSIONSTORAGE |     ST_SESSIONSTORAGE | ||||||
|   ); |   ); | ||||||
|  |  | ||||||
|   // /include/internal/cef_types.h (cef_v8_accesscontrol_t) |  | ||||||
|   TCefV8AccessControl = ( |  | ||||||
|     V8_ACCESS_CONTROL_ALL_CAN_READ, |  | ||||||
|     V8_ACCESS_CONTROL_ALL_CAN_WRITE, |  | ||||||
|     V8_ACCESS_CONTROL_PROHIBITS_OVERWRITING |  | ||||||
|   ); |  | ||||||
|   TCefV8AccessControls = set of TCefV8AccessControl; |  | ||||||
|  |  | ||||||
|   // /include/internal/cef_types.h (cef_v8_propertyattribute_t) |  | ||||||
|   TCefV8PropertyAttribute = ( |  | ||||||
|     V8_PROPERTY_ATTRIBUTE_READONLY, |  | ||||||
|     V8_PROPERTY_ATTRIBUTE_DONTENUM, |  | ||||||
|     V8_PROPERTY_ATTRIBUTE_DONTDELETE |  | ||||||
|   ); |  | ||||||
|   TCefV8PropertyAttributes = set of TCefV8PropertyAttribute; |  | ||||||
|  |  | ||||||
|   // /include/internal/cef_types.h (cef_response_filter_status_t) |   // /include/internal/cef_types.h (cef_response_filter_status_t) | ||||||
|   TCefResponseFilterStatus = ( |   TCefResponseFilterStatus = ( | ||||||
|     RESPONSE_FILTER_NEED_MORE_DATA, |     RESPONSE_FILTER_NEED_MORE_DATA, | ||||||
| @@ -883,45 +831,6 @@ type | |||||||
|     GEOPOSITON_ERROR_TIMEOUT |     GEOPOSITON_ERROR_TIMEOUT | ||||||
|   ); |   ); | ||||||
|  |  | ||||||
|   // /include/internal/cef_types.h (cef_context_menu_type_flags_t) |  | ||||||
|   TCefContextMenuTypeFlag = ( |  | ||||||
|     CM_TYPEFLAG_PAGE, |  | ||||||
|     CM_TYPEFLAG_FRAME, |  | ||||||
|     CM_TYPEFLAG_LINK, |  | ||||||
|     CM_TYPEFLAG_MEDIA, |  | ||||||
|     CM_TYPEFLAG_SELECTION, |  | ||||||
|     CM_TYPEFLAG_EDITABLE |  | ||||||
|   ); |  | ||||||
|   TCefContextMenuTypeFlags = set of TCefContextMenuTypeFlag; |  | ||||||
|  |  | ||||||
|   // /include/internal/cef_types.h (cef_context_menu_media_state_flags_t) |  | ||||||
|   TCefContextMenuMediaStateFlag = ( |  | ||||||
|     CM_MEDIAFLAG_ERROR, |  | ||||||
|     CM_MEDIAFLAG_PAUSED, |  | ||||||
|     CM_MEDIAFLAG_MUTED, |  | ||||||
|     CM_MEDIAFLAG_LOOP, |  | ||||||
|     CM_MEDIAFLAG_CAN_SAVE, |  | ||||||
|     CM_MEDIAFLAG_HAS_AUDIO, |  | ||||||
|     CM_MEDIAFLAG_HAS_VIDEO, |  | ||||||
|     CM_MEDIAFLAG_CONTROL_ROOT_ELEMENT, |  | ||||||
|     CM_MEDIAFLAG_CAN_PRINT, |  | ||||||
|     CM_MEDIAFLAG_CAN_ROTATE |  | ||||||
|   ); |  | ||||||
|   TCefContextMenuMediaStateFlags = set of TCefContextMenuMediaStateFlag; |  | ||||||
|  |  | ||||||
|   // /include/internal/cef_types.h (cef_context_menu_edit_state_flags_t) |  | ||||||
|   TCefContextMenuEditStateFlag = ( |  | ||||||
|     CM_EDITFLAG_CAN_UNDO, |  | ||||||
|     CM_EDITFLAG_CAN_REDO, |  | ||||||
|     CM_EDITFLAG_CAN_CUT, |  | ||||||
|     CM_EDITFLAG_CAN_COPY, |  | ||||||
|     CM_EDITFLAG_CAN_PASTE, |  | ||||||
|     CM_EDITFLAG_CAN_DELETE, |  | ||||||
|     CM_EDITFLAG_CAN_SELECT_ALL, |  | ||||||
|     CM_EDITFLAG_CAN_TRANSLATE |  | ||||||
|   ); |  | ||||||
|   TCefContextMenuEditStateFlags = set of TCefContextMenuEditStateFlag; |  | ||||||
|  |  | ||||||
|   // /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, | ||||||
| @@ -955,13 +864,6 @@ type | |||||||
|     CEF_MENU_COLOR_COUNT |     CEF_MENU_COLOR_COUNT | ||||||
|   ); |   ); | ||||||
|  |  | ||||||
|   // /include/internal/cef_types.h (cef_ssl_content_status_t) |  | ||||||
|   TCefSSLContentStatusFlags = ( |  | ||||||
|     SSL_CONTENT_DISPLAYED_INSECURE_CONTENT, |  | ||||||
|     SSL_CONTENT_RAN_INSECURE_CONTENT |  | ||||||
|   ); |  | ||||||
|   TCefSSLContentStatus = set of TCefSSLContentStatusFlags; |  | ||||||
|  |  | ||||||
|   // /include/internal/cef_types.h (cef_cdm_registration_error_t) |   // /include/internal/cef_types.h (cef_cdm_registration_error_t) | ||||||
|   TCefCDMRegistrationError = ( |   TCefCDMRegistrationError = ( | ||||||
|     CEF_CDM_REGISTRATION_ERROR_NONE, |     CEF_CDM_REGISTRATION_ERROR_NONE, | ||||||
|   | |||||||
| @@ -47,18 +47,48 @@ unit uCEFWriteHandler; | |||||||
| interface | interface | ||||||
|  |  | ||||||
| uses | uses | ||||||
|  |   {$IFDEF DELPHI16_UP} | ||||||
|  |   WinApi.Windows, | ||||||
|  |   {$ELSE} | ||||||
|  |   Windows, | ||||||
|  |   {$ENDIF} | ||||||
|   uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes; |   uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes; | ||||||
|  |  | ||||||
| type | type | ||||||
|   TCefWriteHandlerOwn = class(TCefBaseRefCountedOwn, ICefWriteHandler) |   TCefWriteHandlerOwn = class(TCefBaseRefCountedOwn, ICefWriteHandler) | ||||||
|   protected |     protected | ||||||
|     function Write(const ptr: Pointer; size, n: NativeUInt): NativeUInt; virtual; |       function Write(const ptr: Pointer; size, n: NativeUInt): NativeUInt; virtual; | ||||||
|     function Seek(offset: Int64; whence: Integer): Integer; virtual; |       function Seek(offset: Int64; whence: Integer): Integer; virtual; | ||||||
|     function Tell: Int64; virtual; |       function Tell: Int64; virtual; | ||||||
|     function Flush: Integer; virtual; |       function Flush: Integer; virtual; | ||||||
|     function MayBlock: Boolean; virtual; |       function MayBlock: Boolean; virtual; | ||||||
|   public |     public | ||||||
|     constructor Create; virtual; |       constructor Create; virtual; | ||||||
|  |   end; | ||||||
|  |  | ||||||
|  |   TCefBytesWriteHandler = class(TCefWriteHandlerOwn) | ||||||
|  |     protected | ||||||
|  |       FCriticalSection : TRTLCriticalSection; | ||||||
|  |  | ||||||
|  |       FGrow     : NativeUInt; | ||||||
|  |       FData     : Pointer; | ||||||
|  |       FDataSize : int64; | ||||||
|  |       FOffset   : int64; | ||||||
|  |  | ||||||
|  |       function Grow(size : NativeUInt) : NativeUInt; | ||||||
|  |  | ||||||
|  |     public | ||||||
|  |       constructor Create(aGrow : NativeUInt); reintroduce; | ||||||
|  |       destructor  Destroy; override; | ||||||
|  |  | ||||||
|  |       function Write(const ptr: Pointer; size, n: NativeUInt): NativeUInt; override; | ||||||
|  |       function Seek(offset: Int64; whence: Integer): Integer; override; | ||||||
|  |       function Tell: Int64; override; | ||||||
|  |       function Flush: Integer; override; | ||||||
|  |       function MayBlock: Boolean; override; | ||||||
|  |  | ||||||
|  |       function GetData : pointer; | ||||||
|  |       function GetDataSize : int64; | ||||||
|   end; |   end; | ||||||
|  |  | ||||||
| implementation | implementation | ||||||
| @@ -67,15 +97,17 @@ uses | |||||||
|   uCEFMiscFunctions, uCEFLibFunctions; |   uCEFMiscFunctions, uCEFLibFunctions; | ||||||
|  |  | ||||||
|  |  | ||||||
| function cef_write_handler_write(self: PCefWriteHandler; const ptr: Pointer; | // ******************************************* | ||||||
|   size, n: NativeUInt): NativeUInt; stdcall; | // *********** TCefWriteHandlerOwn *********** | ||||||
|  | // ******************************************* | ||||||
|  |  | ||||||
|  | function cef_write_handler_write(self: PCefWriteHandler; const ptr: Pointer; size, n: NativeUInt): NativeUInt; stdcall; | ||||||
| begin | begin | ||||||
|   with TCefWriteHandlerOwn(CefGetObject(self)) do |   with TCefWriteHandlerOwn(CefGetObject(self)) do | ||||||
|     Result:= Write(ptr, size, n); |     Result:= Write(ptr, size, n); | ||||||
| end; | end; | ||||||
|  |  | ||||||
| function cef_write_handler_seek(self: PCefWriteHandler; offset: Int64; | function cef_write_handler_seek(self: PCefWriteHandler; offset: Int64; whence: Integer): Integer; stdcall; | ||||||
|   whence: Integer): Integer; stdcall; |  | ||||||
| begin | begin | ||||||
|   with TCefWriteHandlerOwn(CefGetObject(self)) do |   with TCefWriteHandlerOwn(CefGetObject(self)) do | ||||||
|     Result := Seek(offset, whence); |     Result := Seek(offset, whence); | ||||||
| @@ -102,14 +134,15 @@ end; | |||||||
| constructor TCefWriteHandlerOwn.Create; | constructor TCefWriteHandlerOwn.Create; | ||||||
| begin | begin | ||||||
|   inherited CreateData(SizeOf(TCefWriteHandler)); |   inherited CreateData(SizeOf(TCefWriteHandler)); | ||||||
|  |  | ||||||
|   with PCefWriteHandler(FData)^ do |   with PCefWriteHandler(FData)^ do | ||||||
|   begin |     begin | ||||||
|     write := cef_write_handler_write; |       write     := cef_write_handler_write; | ||||||
|     seek := cef_write_handler_seek; |       seek      := cef_write_handler_seek; | ||||||
|     tell := cef_write_handler_tell; |       tell      := cef_write_handler_tell; | ||||||
|     flush := cef_write_handler_flush; |       flush     := cef_write_handler_flush; | ||||||
|     may_block := cef_write_handler_may_block; |       may_block := cef_write_handler_may_block; | ||||||
|   end; |     end; | ||||||
| end; | end; | ||||||
|  |  | ||||||
| function TCefWriteHandlerOwn.Flush: Integer; | function TCefWriteHandlerOwn.Flush: Integer; | ||||||
| @@ -132,10 +165,154 @@ begin | |||||||
|   Result := 0; |   Result := 0; | ||||||
| end; | end; | ||||||
|  |  | ||||||
| function TCefWriteHandlerOwn.Write(const ptr: Pointer; size, | function TCefWriteHandlerOwn.Write(const ptr: Pointer; size, n: NativeUInt): NativeUInt; | ||||||
|   n: NativeUInt): NativeUInt; |  | ||||||
| begin | begin | ||||||
|   Result := 0; |   Result := 0; | ||||||
| end; | end; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | // ******************************************* | ||||||
|  | // ********** TCefBytesWriteHandler ********** | ||||||
|  | // ******************************************* | ||||||
|  |  | ||||||
|  | constructor TCefBytesWriteHandler.Create(aGrow : NativeUInt); | ||||||
|  | begin | ||||||
|  |   inherited Create; | ||||||
|  |  | ||||||
|  |   InitializeCriticalSection(FCriticalSection); | ||||||
|  |  | ||||||
|  |   FGrow     := aGrow; | ||||||
|  |   FDataSize := aGrow; | ||||||
|  |   FOffset   := 0; | ||||||
|  |  | ||||||
|  |   GetMem(FData, aGrow); | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | destructor TCefBytesWriteHandler.Destroy; | ||||||
|  | begin | ||||||
|  |   if (FData <> nil) then FreeMem(FData); | ||||||
|  |  | ||||||
|  |   DeleteCriticalSection(FCriticalSection); | ||||||
|  |  | ||||||
|  |   FCriticalSection.DebugInfo      := nil; | ||||||
|  |   FCriticalSection.LockCount      := 0; | ||||||
|  |   FCriticalSection.RecursionCount := 0; | ||||||
|  |   FCriticalSection.OwningThread   := 0; | ||||||
|  |   FCriticalSection.LockSemaphore  := 0; | ||||||
|  |   FCriticalSection.Reserved       := 0; | ||||||
|  |  | ||||||
|  |   inherited Destroy; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCefBytesWriteHandler.Write(const ptr: Pointer; size, n: NativeUInt): NativeUInt; | ||||||
|  | var | ||||||
|  |   TempPointer : pointer; | ||||||
|  | begin | ||||||
|  |   EnterCriticalSection(FCriticalSection); | ||||||
|  |  | ||||||
|  |   if ((FOffset + (size * n)) >= FDataSize) and (Grow(size * n) = 0) then | ||||||
|  |     Result := 0 | ||||||
|  |    else | ||||||
|  |     begin | ||||||
|  |       TempPointer := Pointer(PByte(FData) + FOffset); | ||||||
|  |  | ||||||
|  |       CopyMemory(TempPointer, ptr, size * n); | ||||||
|  |  | ||||||
|  |       FOffset := FOffset + (size * n); | ||||||
|  |       Result  := n; | ||||||
|  |     end; | ||||||
|  |  | ||||||
|  |   LeaveCriticalSection(FCriticalSection); | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCefBytesWriteHandler.Seek(offset: Int64; whence: Integer): Integer; | ||||||
|  | const | ||||||
|  |   SEEK_SET = 0; | ||||||
|  |   SEEK_CUR = 1; | ||||||
|  |   SEEK_END = 2; | ||||||
|  | var | ||||||
|  |   TempAbsOffset : int64; | ||||||
|  | begin | ||||||
|  |   EnterCriticalSection(FCriticalSection); | ||||||
|  |  | ||||||
|  |   Result := -1; | ||||||
|  |  | ||||||
|  |   case whence of | ||||||
|  |     SEEK_CUR : | ||||||
|  |       if not((FOffset + offset > FDataSize) or (FOffset + offset < 0)) then | ||||||
|  |         begin | ||||||
|  |           FOffset := FOffset + offset; | ||||||
|  |           Result  := 0; | ||||||
|  |         end; | ||||||
|  |  | ||||||
|  |     SEEK_END: | ||||||
|  |       begin | ||||||
|  |         TempAbsOffset := abs(offset); | ||||||
|  |  | ||||||
|  |         if not(TempAbsOffset > FDataSize) then | ||||||
|  |           begin | ||||||
|  |             FOffset := FDataSize - TempAbsOffset; | ||||||
|  |             Result  := 0; | ||||||
|  |           end; | ||||||
|  |       end; | ||||||
|  |  | ||||||
|  |     SEEK_SET: | ||||||
|  |       if not((offset > FDataSize) or (offset < 0)) then | ||||||
|  |         begin | ||||||
|  |           FOffset := offset; | ||||||
|  |           Result  := 0; | ||||||
|  |         end; | ||||||
|  |   end; | ||||||
|  |  | ||||||
|  |   LeaveCriticalSection(FCriticalSection); | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCefBytesWriteHandler.Tell: Int64; | ||||||
|  | begin | ||||||
|  |   EnterCriticalSection(FCriticalSection); | ||||||
|  |  | ||||||
|  |   Result := FOffset; | ||||||
|  |  | ||||||
|  |   LeaveCriticalSection(FCriticalSection); | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCefBytesWriteHandler.Flush: Integer; | ||||||
|  | begin | ||||||
|  |   Result := 0; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCefBytesWriteHandler.MayBlock: Boolean; | ||||||
|  | begin | ||||||
|  |   Result := False; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCefBytesWriteHandler.GetData : pointer; | ||||||
|  | begin | ||||||
|  |   Result := FData; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCefBytesWriteHandler.GetDataSize : int64; | ||||||
|  | begin | ||||||
|  |   Result := FDataSize; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TCefBytesWriteHandler.Grow(size : NativeUInt) : NativeUInt; | ||||||
|  | var | ||||||
|  |   s : NativeUInt; | ||||||
|  | begin | ||||||
|  |   EnterCriticalSection(FCriticalSection); | ||||||
|  |  | ||||||
|  |   if (size > FGrow) then | ||||||
|  |     s := size | ||||||
|  |    else | ||||||
|  |     s := FGrow; | ||||||
|  |  | ||||||
|  |   ReallocMem(FData, FDataSize + s); | ||||||
|  |  | ||||||
|  |   FDataSize := FDataSize + s; | ||||||
|  |   Result    := FDataSize; | ||||||
|  |  | ||||||
|  |   LeaveCriticalSection(FCriticalSection); | ||||||
|  | end; | ||||||
|  |  | ||||||
| end. | end. | ||||||
|   | |||||||
| @@ -100,7 +100,7 @@ type | |||||||
| implementation | implementation | ||||||
|  |  | ||||||
| uses | uses | ||||||
|   uCEFMiscFunctions, uCEFLibFunctions, uCEFv8Value; |   uCEFMiscFunctions, uCEFLibFunctions, uCEFv8Value, uCEFConstants; | ||||||
|  |  | ||||||
| function cef_v8_handler_execute(self: PCefv8Handler; | function cef_v8_handler_execute(self: PCefv8Handler; | ||||||
|   const name: PCefString; obj: PCefv8Value; argumentsCount: NativeUInt; |   const name: PCefString; obj: PCefv8Value; argumentsCount: NativeUInt; | ||||||
| @@ -507,7 +507,7 @@ function TCefRTTIExtension.SetValue(const v: TValue; var ret: ICefv8Value): Bool | |||||||
|         begin |         begin | ||||||
|           vl := rf.GetValue(rec); |           vl := rf.GetValue(rec); | ||||||
|           SetValue(vl, o); |           SetValue(vl, o); | ||||||
|           v8.SetValueByKey(rf.Name, o, []); |           v8.SetValueByKey(rf.Name, o, V8_PROPERTY_ATTRIBUTE_NONE); | ||||||
|         end; |         end; | ||||||
|       end) |       end) | ||||||
|     end else |     end else | ||||||
| @@ -516,7 +516,7 @@ function TCefRTTIExtension.SetValue(const v: TValue; var ret: ICefv8Value): Bool | |||||||
|         vl := rf.GetValue(rec); |         vl := rf.GetValue(rec); | ||||||
|         if not SetValue(vl, v8) then |         if not SetValue(vl, v8) then | ||||||
|           Exit(False); |           Exit(False); | ||||||
|         ret.SetValueByKey(rf.Name, v8,  []); |         ret.SetValueByKey(rf.Name, v8,  V8_PROPERTY_ATTRIBUTE_NONE); | ||||||
|       end; |       end; | ||||||
|     Result := True; |     Result := True; | ||||||
|   end; |   end; | ||||||
| @@ -548,7 +548,7 @@ function TCefRTTIExtension.SetValue(const v: TValue; var ret: ICefv8Value): Bool | |||||||
|       if m.Visibility > mvProtected then |       if m.Visibility > mvProtected then | ||||||
|       begin |       begin | ||||||
|         f := TCefv8ValueRef.NewFunction(m.Name, Self); |         f := TCefv8ValueRef.NewFunction(m.Name, Self); | ||||||
|         ret.SetValueByKey(m.Name, f, []); |         ret.SetValueByKey(m.Name, f, V8_PROPERTY_ATTRIBUTE_NONE); | ||||||
|       end; |       end; | ||||||
|  |  | ||||||
|     for p in rt.GetProperties do |     for p in rt.GetProperties do | ||||||
| @@ -614,7 +614,7 @@ function TCefRTTIExtension.SetValue(const v: TValue; var ret: ICefv8Value): Bool | |||||||
|         if (m.Visibility > mvProtected) and (m.MethodKind in [mkClassProcedure, mkClassFunction]) then |         if (m.Visibility > mvProtected) and (m.MethodKind in [mkClassProcedure, mkClassFunction]) then | ||||||
|         begin |         begin | ||||||
|           f := TCefv8ValueRef.NewFunction(m.Name, Self); |           f := TCefv8ValueRef.NewFunction(m.Name, Self); | ||||||
|           ret.SetValueByKey(m.Name, f, []); |           ret.SetValueByKey(m.Name, f, V8_PROPERTY_ATTRIBUTE_NONE); | ||||||
|         end; |         end; | ||||||
|     end; |     end; | ||||||
|  |  | ||||||
| @@ -680,7 +680,7 @@ function TCefRTTIExtension.SetValue(const v: TValue; var ret: ICefv8Value): Bool | |||||||
|         if m.Visibility > mvProtected then |         if m.Visibility > mvProtected then | ||||||
|         begin |         begin | ||||||
|           f := TCefv8ValueRef.NewFunction(m.Name, Self); |           f := TCefv8ValueRef.NewFunction(m.Name, Self); | ||||||
|           ret.SetValueByKey(m.Name, f, []); |           ret.SetValueByKey(m.Name, f, V8_PROPERTY_ATTRIBUTE_NONE); | ||||||
|         end; |         end; | ||||||
|  |  | ||||||
|       Result := True; |       Result := True; | ||||||
|   | |||||||
							
								
								
									
										619
									
								
								source/uOLEDragAndDrop.pas
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										619
									
								
								source/uOLEDragAndDrop.pas
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,619 @@ | |||||||
|  | // ************************************************************************ | ||||||
|  | // ***************************** 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 uOLEDragAndDrop; | ||||||
|  |  | ||||||
|  | {$I cef.inc} | ||||||
|  |  | ||||||
|  | interface | ||||||
|  |  | ||||||
|  | uses | ||||||
|  |   {$IFDEF DELPHI16_UP} | ||||||
|  |   WinApi.Windows, System.Classes, System.Math, WinApi.ShlObj, WinApi.ActiveX; | ||||||
|  |   {$ELSE} | ||||||
|  |   Windows, Classes, Math, ShlObj, ActiveX; | ||||||
|  |   {$ENDIF} | ||||||
|  |  | ||||||
|  | const | ||||||
|  |   CUSTOM_ARRAY_LENGTH = 25; | ||||||
|  |  | ||||||
|  | type | ||||||
|  |   TOLEMediumArray = array [0..pred(CUSTOM_ARRAY_LENGTH)] of TStgMedium; | ||||||
|  |   TOLEFormatArray = array [0..pred(CUSTOM_ARRAY_LENGTH)] of TFormatEtc; | ||||||
|  |  | ||||||
|  |   TOLEDragAndDropMgr = class | ||||||
|  |     protected | ||||||
|  |       function  GetStorageForBytes(var aMedium : TStgMedium; const aData : pointer; aLength : NativeUInt) : boolean; | ||||||
|  |       function  GetStorageForString(var aMedium : TStgMedium; const aData : WideString) : boolean; overload; | ||||||
|  |       function  GetStorageForString(var aMedium : TStgMedium; const aData : AnsiString) : boolean; overload; | ||||||
|  |       function  GetStorageForFileDescriptor(var aMedium : TStgMedium; const aFileName : string) : boolean; | ||||||
|  |  | ||||||
|  |     public | ||||||
|  |       function  DragEnter(const DataObj: IDataObject; grfKeyState: Longint; pt: TPoint; var dwEffect: Longint): HRESULT; virtual; | ||||||
|  |       function  DragOver(grfKeyState: Longint; pt: TPoint; var dwEffect: Longint): HRESULT; virtual; | ||||||
|  |       function  DragLeave: HRESULT; virtual; | ||||||
|  |       function  Drop(const dataObj: IDataObject; grfKeyState: Longint; pt: TPoint; var dwEffect: Longint): HRESULT; virtual; | ||||||
|  |   end; | ||||||
|  |  | ||||||
|  |   TOLEEnumFormatEtc = class(TInterfacedObject, IEnumFormatEtc) | ||||||
|  |     protected | ||||||
|  |       FIndex       : integer; | ||||||
|  |       FNumFormats  : integer; | ||||||
|  |       FFormatArray : TOLEFormatArray; | ||||||
|  |  | ||||||
|  |       procedure CopyFromFormatArray(const aSrcFormatArray : TOLEFormatArray); | ||||||
|  |       procedure CopyFormatEtc(var aDstFormatEtc : TFormatEtc; const aSrcFormatEtc : TFormatEtc); | ||||||
|  |  | ||||||
|  |     public | ||||||
|  |       constructor Create; overload; | ||||||
|  |       constructor Create(const aFormatArray : TOLEFormatArray; aNumFormats : integer; aIndex : integer = 0); overload; | ||||||
|  |       destructor  Destroy; override; | ||||||
|  |  | ||||||
|  |       // IEnumFormatEtc | ||||||
|  |       function Next(Celt: LongInt; out Elt; pCeltFetched: pLongInt): HRESULT; stdcall; | ||||||
|  |       function Skip(Celt: Longint): HRESULT; stdcall; | ||||||
|  |       function Reset: HRESULT; stdcall; | ||||||
|  |       function Clone(out Enum: IEnumFormatEtc): HRESULT; stdcall; | ||||||
|  |   end; | ||||||
|  |  | ||||||
|  |   TOLEDropSource = class(TInterfacedObject, IDropSource) | ||||||
|  |     public | ||||||
|  |       // IDropSource | ||||||
|  |       function QueryContinueDrag(fEscapePressed: bool; grfKeyState: LongInt): HRESULT; stdcall; | ||||||
|  |       function GiveFeedback(dwEffect: LongInt): HRESULT; stdcall; | ||||||
|  |   end; | ||||||
|  |  | ||||||
|  |   TOLEDataObject = class(TInterfacedObject, IDataObject) | ||||||
|  |     protected | ||||||
|  |       FNumFormats  : integer; | ||||||
|  |       FFormatArray : TOLEFormatArray; | ||||||
|  |       FMediumArray : TOLEMediumArray; | ||||||
|  |       FAsync       : boolean; | ||||||
|  |       FInOperation : boolean; | ||||||
|  |  | ||||||
|  |       function LookupFormatEtc(const aFormatEtc : TFormatEtc) : integer; | ||||||
|  |       function DupGlobalMem(hMem : HGLOBAL) : HGLOBAL; | ||||||
|  |  | ||||||
|  |     public | ||||||
|  |       constructor Create(const aFormatArray : TOLEFormatArray; const aMediumArray : TOLEMediumArray; aNumFormats : integer); reintroduce; | ||||||
|  |  | ||||||
|  |       // IDataObject | ||||||
|  |       function GetData(const FormatEtcIn: TFormatEtc; out Medium: TStgMedium):HRESULT; stdcall; | ||||||
|  |       function GetDataHere(const FormatEtc: TFormatEtc; out Medium: TStgMedium):HRESULT; stdcall; | ||||||
|  |       function QueryGetData(const FormatEtc: TFormatEtc): HRESULT; stdcall; | ||||||
|  |       function GetCanonicalFormatEtc(const FormatEtc: TFormatEtc; out FormatEtcout: TFormatEtc): HRESULT; stdcall; | ||||||
|  |       function SetData(const FormatEtc: TFormatEtc; var Medium: TStgMedium; fRelease: Bool): HRESULT; stdcall; | ||||||
|  |       function EnumFormatEtc(dwDirection: LongInt; out aEnumFormatEtc: IEnumFormatEtc): HRESULT; stdcall; | ||||||
|  |       function dAdvise(const FormatEtc: TFormatEtc; advf: LongInt; const advsink: IAdviseSink; out dwConnection: LongInt): HRESULT; stdcall; | ||||||
|  |       function dUnadvise(dwConnection: LongInt): HRESULT; stdcall; | ||||||
|  |       function EnumdAdvise(out EnumAdvise: IEnumStatData): HRESULT; stdcall; | ||||||
|  |   end; | ||||||
|  |  | ||||||
|  |   TOLEDropTarget = class(TInterfacedObject, IDropTarget) | ||||||
|  |     protected | ||||||
|  |       FManager : TOLEDragAndDropMgr; | ||||||
|  |  | ||||||
|  |     public | ||||||
|  |       constructor Create(const aManager : TOLEDragAndDropMgr); reintroduce; | ||||||
|  |  | ||||||
|  |       // IDropTarget | ||||||
|  |       function DragEnter(const DataObj: IDataObject; grfKeyState: Longint; pt: TPoint; var dwEffect: Longint): HRESULT; stdcall; | ||||||
|  |       function DragOver(grfKeyState: Longint; pt: TPoint; var dwEffect: Longint): HRESULT; stdcall; | ||||||
|  |       function DragLeave: HRESULT; stdcall; | ||||||
|  |       function Drop(const dataObj: IDataObject; grfKeyState: Longint; pt: TPoint; var dwEffect: Longint): HRESULT; stdcall; | ||||||
|  |   end; | ||||||
|  |  | ||||||
|  | implementation | ||||||
|  |  | ||||||
|  | // ***************************************************** | ||||||
|  | // *************** TOLEDragAndDropMgr ****************** | ||||||
|  | // ***************************************************** | ||||||
|  |  | ||||||
|  | function TOLEDragAndDropMgr.GetStorageForBytes(var aMedium : TStgMedium; const aData : pointer; aLength : NativeUInt) : boolean; | ||||||
|  | var | ||||||
|  |   TempHandle  : HGLOBAL; | ||||||
|  |   TempPointer : pointer; | ||||||
|  | begin | ||||||
|  |   Result := False; | ||||||
|  |  | ||||||
|  |   if (aData <> nil) then | ||||||
|  |     begin | ||||||
|  |       TempHandle := GlobalAlloc(GHND, aLength); | ||||||
|  |  | ||||||
|  |       if (TempHandle <> 0) then | ||||||
|  |         begin | ||||||
|  |           TempPointer := GlobalLock(TempHandle); | ||||||
|  |  | ||||||
|  |           if (TempPointer <> nil) then | ||||||
|  |             begin | ||||||
|  |               Move(aData^, TempPointer^, aLength); | ||||||
|  |  | ||||||
|  |               aMedium.hGlobal       := TempHandle; | ||||||
|  |               aMedium.tymed         := TYMED_HGLOBAL; | ||||||
|  |               aMedium.unkForRelease := nil; | ||||||
|  |  | ||||||
|  |               GlobalUnlock(TempHandle); | ||||||
|  |  | ||||||
|  |               Result := True; | ||||||
|  |             end | ||||||
|  |            else | ||||||
|  |             GlobalFree(TempHandle); | ||||||
|  |         end; | ||||||
|  |     end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEDragAndDropMgr.GetStorageForString(var aMedium : TStgMedium; const aData : WideString) : boolean; | ||||||
|  | var | ||||||
|  |   TempPointer : pointer; | ||||||
|  | begin | ||||||
|  |   Result := False; | ||||||
|  |  | ||||||
|  |   if (length(aData) > 0) then | ||||||
|  |     begin | ||||||
|  |       TempPointer := @aData[1]; | ||||||
|  |       Result      := GetStorageForBytes(aMedium, TempPointer, length(aData) * SizeOf(WideChar)); | ||||||
|  |     end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEDragAndDropMgr.GetStorageForString(var aMedium : TStgMedium; const aData : AnsiString) : boolean; | ||||||
|  | var | ||||||
|  |   TempPointer : pointer; | ||||||
|  | begin | ||||||
|  |   Result := False; | ||||||
|  |  | ||||||
|  |   if (length(aData) > 0) then | ||||||
|  |     begin | ||||||
|  |       TempPointer := @aData[1]; | ||||||
|  |       Result      := GetStorageForBytes(aMedium, TempPointer, length(aData) * SizeOf(AnsiChar)); | ||||||
|  |     end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEDragAndDropMgr.GetStorageForFileDescriptor(var aMedium : TStgMedium; const aFileName : string) : boolean; | ||||||
|  | var | ||||||
|  |   TempHandle     : HGLOBAL; | ||||||
|  |   TempDescriptor : TFileGroupDescriptor; | ||||||
|  |   TempPointer    : pointer; | ||||||
|  |   i, j           : integer; | ||||||
|  |   TempString     : string; | ||||||
|  | begin | ||||||
|  |   Result := False; | ||||||
|  |  | ||||||
|  |   if (length(aFileName) > 0) then | ||||||
|  |     begin | ||||||
|  |       TempHandle := GlobalAlloc(GHND, sizeof(TFileGroupDescriptor)); | ||||||
|  |  | ||||||
|  |       if (TempHandle <> 0) then | ||||||
|  |         begin | ||||||
|  |           TempPointer := GlobalLock(TempHandle); | ||||||
|  |  | ||||||
|  |           if (TempPointer <> nil) then | ||||||
|  |             begin | ||||||
|  |               TempDescriptor                := TFileGroupDescriptor(TempPointer^); | ||||||
|  |               TempDescriptor.cItems         := 1; | ||||||
|  |               TempDescriptor.fgd[0].dwFlags := FD_LINKUI; | ||||||
|  |  | ||||||
|  |               TempString := aFileName + #0; | ||||||
|  |  | ||||||
|  |               i := 1; | ||||||
|  |               j := length(TempString); | ||||||
|  |  | ||||||
|  |               while (i <= j) do | ||||||
|  |                 begin | ||||||
|  |                   TempDescriptor.fgd[0].cFileName[pred(i)] := TempString[i]; | ||||||
|  |                   inc(i); | ||||||
|  |                 end; | ||||||
|  |  | ||||||
|  |               aMedium.tymed         := TYMED_HGLOBAL; | ||||||
|  |               aMedium.hGlobal       := TempHandle; | ||||||
|  |               aMedium.unkForRelease := nil; | ||||||
|  |  | ||||||
|  |               GlobalUnlock(TempHandle); | ||||||
|  |  | ||||||
|  |               Result := True; | ||||||
|  |             end | ||||||
|  |            else | ||||||
|  |             GlobalFree(TempHandle); | ||||||
|  |         end; | ||||||
|  |     end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEDragAndDropMgr.DragEnter(const DataObj: IDataObject; grfKeyState: Longint; pt: TPoint; var dwEffect: Longint): HRESULT; | ||||||
|  | begin | ||||||
|  |   Result   := S_OK; | ||||||
|  |   dwEffect := DROPEFFECT_NONE; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEDragAndDropMgr.DragOver(grfKeyState: Longint; pt: TPoint; var dwEffect: Longint): HRESULT; | ||||||
|  | begin | ||||||
|  |   Result   := S_OK; | ||||||
|  |   dwEffect := DROPEFFECT_NONE; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEDragAndDropMgr.DragLeave: HRESULT; | ||||||
|  | begin | ||||||
|  |   Result   := S_OK; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEDragAndDropMgr.Drop(const dataObj: IDataObject; grfKeyState: Longint; pt: TPoint; var dwEffect: Longint): HRESULT; | ||||||
|  | begin | ||||||
|  |   Result   := S_OK; | ||||||
|  |   dwEffect := DROPEFFECT_NONE; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | // ***************************************************** | ||||||
|  | // **************** TOLEEnumFormatEtc ****************** | ||||||
|  | // ***************************************************** | ||||||
|  |  | ||||||
|  | constructor TOLEEnumFormatEtc.Create; | ||||||
|  | begin | ||||||
|  |   inherited Create; | ||||||
|  |  | ||||||
|  |   FIndex      := 0; | ||||||
|  |   FNumFormats := 0; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | constructor TOLEEnumFormatEtc.Create(const aFormatArray : TOLEFormatArray; aNumFormats, aIndex : integer); | ||||||
|  | begin | ||||||
|  |   inherited Create; | ||||||
|  |  | ||||||
|  |   FIndex      := aIndex; | ||||||
|  |   FNumFormats := min(aNumFormats, CUSTOM_ARRAY_LENGTH); | ||||||
|  |  | ||||||
|  |   CopyFromFormatArray(aFormatArray); | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | destructor TOLEEnumFormatEtc.Destroy; | ||||||
|  | var | ||||||
|  |   i : integer; | ||||||
|  | begin | ||||||
|  |   i := 0; | ||||||
|  |  | ||||||
|  |   while (i < FNumFormats) do | ||||||
|  |     begin | ||||||
|  |       if (FFormatArray[i].ptd <> nil) then CoTaskMemFree(FFormatArray[i].ptd); | ||||||
|  |       inc(i); | ||||||
|  |     end; | ||||||
|  |  | ||||||
|  |   inherited Destroy; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | procedure TOLEEnumFormatEtc.CopyFromFormatArray(const aSrcFormatArray : TOLEFormatArray); | ||||||
|  | var | ||||||
|  |   i : integer; | ||||||
|  | begin | ||||||
|  |   i := 0; | ||||||
|  |  | ||||||
|  |   while (i < FNumFormats) do | ||||||
|  |     begin | ||||||
|  |       CopyFormatEtc(FFormatArray[i], aSrcFormatArray[i]); | ||||||
|  |       inc(i); | ||||||
|  |     end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | procedure TOLEEnumFormatEtc.CopyFormatEtc(var aDstFormatEtc : TFormatEtc; const aSrcFormatEtc : TFormatEtc); | ||||||
|  | begin | ||||||
|  |   aDstFormatEtc.cfFormat := aSrcFormatEtc.cfFormat; | ||||||
|  |   aDstFormatEtc.dwAspect := aSrcFormatEtc.dwAspect; | ||||||
|  |   aDstFormatEtc.lindex   := aSrcFormatEtc.lindex; | ||||||
|  |   aDstFormatEtc.tymed    := aSrcFormatEtc.tymed; | ||||||
|  |  | ||||||
|  |   if (aSrcFormatEtc.ptd = nil) then | ||||||
|  |     aDstFormatEtc.ptd := nil | ||||||
|  |    else | ||||||
|  |     begin | ||||||
|  |       aDstFormatEtc.ptd := CoTaskMemAlloc(SizeOf(TDVTargetDevice)); | ||||||
|  |  | ||||||
|  |       aDstFormatEtc.ptd.tdSize             := aSrcFormatEtc.ptd.tdSize; | ||||||
|  |       aDstFormatEtc.ptd.tdDriverNameOffset := aSrcFormatEtc.ptd.tdDriverNameOffset; | ||||||
|  |       aDstFormatEtc.ptd.tdDeviceNameOffset := aSrcFormatEtc.ptd.tdDeviceNameOffset; | ||||||
|  |       aDstFormatEtc.ptd.tdPortNameOffset   := aSrcFormatEtc.ptd.tdPortNameOffset; | ||||||
|  |       aDstFormatEtc.ptd.tdExtDevmodeOffset := aSrcFormatEtc.ptd.tdExtDevmodeOffset; | ||||||
|  |       aDstFormatEtc.ptd.tdData             := aSrcFormatEtc.ptd.tdData; | ||||||
|  |     end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEEnumFormatEtc.Next(Celt: LongInt; out Elt; pCeltFetched: pLongInt): HRESULT; | ||||||
|  | var | ||||||
|  |   i : integer; | ||||||
|  |   TempArray : TOLEFormatArray absolute Elt; | ||||||
|  | begin | ||||||
|  |   i := 0; | ||||||
|  |  | ||||||
|  |   while (i < Celt) and (FIndex < FNumFormats) do | ||||||
|  |     begin | ||||||
|  |       CopyFormatEtc(TempArray[i], FFormatArray[FIndex]); | ||||||
|  |       inc(i); | ||||||
|  |       inc(FIndex); | ||||||
|  |     end; | ||||||
|  |  | ||||||
|  |   if (pCeltFetched <> nil) then pCeltFetched^ := i; | ||||||
|  |  | ||||||
|  |   if (i = Celt) then | ||||||
|  |     Result := S_OK | ||||||
|  |    else | ||||||
|  |     Result := S_FALSE; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEEnumFormatEtc.Skip(Celt: Longint): HRESULT; | ||||||
|  | begin | ||||||
|  |   FIndex := FIndex + Celt; | ||||||
|  |  | ||||||
|  |   if (FIndex <= FNumFormats) then | ||||||
|  |     Result := S_OK | ||||||
|  |    else | ||||||
|  |     Result := S_FALSE; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEEnumFormatEtc.Reset: HRESULT; | ||||||
|  | begin | ||||||
|  |   FIndex := 0; | ||||||
|  |   Result := S_OK; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEEnumFormatEtc.Clone(out Enum: IEnumFormatEtc): HRESULT; | ||||||
|  | begin | ||||||
|  |   Enum   := TOLEEnumFormatEtc.Create(FFormatArray, FNumFormats, FIndex); | ||||||
|  |   Result := S_OK; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | // ***************************************************** | ||||||
|  | // ****************** TOLEDropTarget ******************* | ||||||
|  | // ***************************************************** | ||||||
|  |  | ||||||
|  | constructor TOLEDropTarget.Create(const aManager : TOLEDragAndDropMgr); | ||||||
|  | begin | ||||||
|  |   inherited Create; | ||||||
|  |  | ||||||
|  |   FManager := aManager; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEDropTarget.DragEnter(const DataObj: IDataObject; grfKeyState: Longint; pt: TPoint; var dwEffect: Longint): HRESULT; stdcall; | ||||||
|  | begin | ||||||
|  |   Result := FManager.DragEnter(DataObj, grfKeyState, pt, dwEffect); | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEDropTarget.DragOver(grfKeyState: Longint; pt: TPoint; var dwEffect: Longint): HRESULT; stdcall; | ||||||
|  | begin | ||||||
|  |   Result := FManager.DragOver(grfKeyState, pt, dwEffect); | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEDropTarget.DragLeave: HRESULT; stdcall; | ||||||
|  | begin | ||||||
|  |   Result := FManager.DragLeave; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEDropTarget.Drop(const dataObj: IDataObject; grfKeyState: Longint; pt: TPoint; var dwEffect: Longint): HRESULT; stdcall; | ||||||
|  | begin | ||||||
|  |   Result := FManager.Drop(dataObj, grfKeyState, pt, dwEffect); | ||||||
|  | end; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | // ***************************************************** | ||||||
|  | // ****************** TOLEDropSource ******************* | ||||||
|  | // ***************************************************** | ||||||
|  |  | ||||||
|  | function TOLEDropSource.QueryContinueDrag(fEscapePressed: bool; grfKeyState: LongInt): HRESULT; stdcall; | ||||||
|  | begin | ||||||
|  |   if fEscapePressed then | ||||||
|  |     Result := DRAGDROP_S_CANCEL | ||||||
|  |    else | ||||||
|  |     if ((grfKeyState and MK_LBUTTON) = 0) then | ||||||
|  |       Result := DRAGDROP_S_DROP | ||||||
|  |      else | ||||||
|  |       Result := S_OK; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEDropSource.GiveFeedback(dwEffect: LongInt): HRESULT; stdcall; | ||||||
|  | begin | ||||||
|  |   Result := DRAGDROP_S_USEDEFAULTCURSORS; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | // ***************************************************** | ||||||
|  | // ****************** TOLEDataObject ******************* | ||||||
|  | // ***************************************************** | ||||||
|  |  | ||||||
|  | constructor TOLEDataObject.Create(const aFormatArray : TOLEFormatArray; | ||||||
|  |                                   const aMediumArray : TOLEMediumArray; | ||||||
|  |                                         aNumFormats  : integer); | ||||||
|  | var | ||||||
|  |   i : integer; | ||||||
|  | begin | ||||||
|  |   inherited Create; | ||||||
|  |  | ||||||
|  |   FAsync       := False; | ||||||
|  |   FInOperation := False; | ||||||
|  |   FNumFormats  := min(aNumFormats, CUSTOM_ARRAY_LENGTH); | ||||||
|  |  | ||||||
|  |   i := 0; | ||||||
|  |  | ||||||
|  |   while (i < FNumFormats) do | ||||||
|  |     begin | ||||||
|  |       FFormatArray[i].cfFormat := aFormatArray[i].cfFormat; | ||||||
|  |       FFormatArray[i].ptd      := aFormatArray[i].ptd; | ||||||
|  |       FFormatArray[i].dwAspect := aFormatArray[i].dwAspect; | ||||||
|  |       FFormatArray[i].lindex   := aFormatArray[i].lindex; | ||||||
|  |       FFormatArray[i].tymed    := aFormatArray[i].tymed; | ||||||
|  |  | ||||||
|  |       FMediumArray[i]          := aMediumArray[i]; | ||||||
|  |  | ||||||
|  |       inc(i); | ||||||
|  |     end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEDataObject.LookupFormatEtc(const aFormatEtc : TFormatEtc) : integer; | ||||||
|  | var | ||||||
|  |   i : integer; | ||||||
|  | begin | ||||||
|  |   Result := -1; | ||||||
|  |   i      := 0; | ||||||
|  |  | ||||||
|  |   while (i < FNumFormats) do | ||||||
|  |     if ((FFormatArray[i].tymed and aFormatEtc.tymed) <> 0) and | ||||||
|  |        (FFormatArray[i].cfFormat = aFormatEtc.cfFormat)    and | ||||||
|  |        (FFormatArray[i].dwAspect = aFormatEtc.dwAspect)    then | ||||||
|  |       begin | ||||||
|  |         Result := i; | ||||||
|  |         exit; | ||||||
|  |       end | ||||||
|  |      else | ||||||
|  |       inc(i); | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEDataObject.DupGlobalMem(hMem : HGLOBAL) : HGLOBAL; | ||||||
|  | var | ||||||
|  |   TempLen    : cardinal; | ||||||
|  |   TempHandle : HGLOBAL; | ||||||
|  |   TempSrc    : Pointer; | ||||||
|  |   TempDst    : Pointer; | ||||||
|  | begin | ||||||
|  |   Result  := 0; | ||||||
|  |   TempSrc := GlobalLock(hMem); | ||||||
|  |  | ||||||
|  |   if (TempSrc <> nil) then | ||||||
|  |     begin | ||||||
|  |       TempLen    := GlobalSize(hMem); | ||||||
|  |       TempHandle := GlobalAlloc(GHND, TempLen); | ||||||
|  |  | ||||||
|  |       if (TempHandle <> 0) then | ||||||
|  |         begin | ||||||
|  |           TempDst := GlobalLock(TempHandle); | ||||||
|  |  | ||||||
|  |           if (TempDst <> nil) then | ||||||
|  |             begin | ||||||
|  |               Move(TempSrc^, TempDst^, TempLen); | ||||||
|  |               Result := TempHandle; | ||||||
|  |               GlobalUnlock(TempHandle); | ||||||
|  |             end | ||||||
|  |            else | ||||||
|  |             GlobalFree(TempHandle); | ||||||
|  |         end; | ||||||
|  |  | ||||||
|  |       GlobalUnlock(hMem); | ||||||
|  |     end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEDataObject.GetData(const FormatEtcIn: TFormatEtc; out Medium: TStgMedium):HRESULT; stdcall; | ||||||
|  | var | ||||||
|  |   i : integer; | ||||||
|  | begin | ||||||
|  |   i := LookupFormatEtc(FormatEtcIn); | ||||||
|  |  | ||||||
|  |   if (i < 0) or ((FFormatArray[i].tymed and TYMED_HGLOBAL) = 0) then | ||||||
|  |     begin | ||||||
|  |       Medium.tymed         := TYMED_NULL; | ||||||
|  |       Medium.unkForRelease := nil; | ||||||
|  |       Medium.hGlobal       := 0; | ||||||
|  |       Result               := DV_E_FORMATETC; | ||||||
|  |     end | ||||||
|  |    else | ||||||
|  |     begin | ||||||
|  |       Medium.tymed         := FFormatArray[i].tymed; | ||||||
|  |       Medium.unkForRelease := nil; | ||||||
|  |       Medium.hGlobal       := DupGlobalMem(FMediumArray[i].hGlobal); | ||||||
|  |       Result               := S_OK; | ||||||
|  |     end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEDataObject.GetDataHere(const FormatEtc: TFormatEtc; out Medium: TStgMedium):HRESULT; stdcall; | ||||||
|  | begin | ||||||
|  |   Result := DV_E_FORMATETC; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEDataObject.QueryGetData(const FormatEtc: TFormatEtc): HRESULT; stdcall; | ||||||
|  | begin | ||||||
|  |   if (LookupFormatEtc(FormatEtc) < 0) then | ||||||
|  |     Result := DV_E_FORMATETC | ||||||
|  |    else | ||||||
|  |     Result := S_OK; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEDataObject.GetCanonicalFormatEtc(const FormatEtc: TFormatEtc; out FormatEtcout: TFormatEtc): HRESULT; stdcall; | ||||||
|  | begin | ||||||
|  |   FormatEtcout.cfFormat := 0; | ||||||
|  |   FormatEtcout.dwAspect := DVASPECT_CONTENT; | ||||||
|  |   FormatEtcout.lindex   := -1; | ||||||
|  |   FormatEtcout.tymed    := TYMED_NULL; | ||||||
|  |   FormatEtcout.ptd      := nil; | ||||||
|  |  | ||||||
|  |   Result := E_NOTIMPL; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEDataObject.SetData(const FormatEtc: TFormatEtc; var Medium: TStgMedium; fRelease: Bool): HRESULT; stdcall; | ||||||
|  | begin | ||||||
|  |   Result := E_NOTIMPL; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEDataObject.EnumFormatEtc(dwDirection: LongInt; out aEnumFormatEtc: IEnumFormatEtc): HRESULT; stdcall; | ||||||
|  | begin | ||||||
|  |   if (dwDirection = DATADIR_GET) then | ||||||
|  |     begin | ||||||
|  |       aEnumFormatEtc := TOLEEnumFormatEtc.Create(FFormatArray, FNumFormats); | ||||||
|  |       Result         := S_OK; | ||||||
|  |     end | ||||||
|  |    else | ||||||
|  |     begin | ||||||
|  |       aEnumFormatEtc := nil; | ||||||
|  |  | ||||||
|  |       if (dwDirection = DATADIR_SET) then | ||||||
|  |         Result := E_NOTIMPL | ||||||
|  |        else | ||||||
|  |         Result := E_INVALIDARG; | ||||||
|  |     end; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEDataObject.dAdvise(const FormatEtc: TFormatEtc; | ||||||
|  |                                       advf: LongInt; | ||||||
|  |                                 const advsink: IAdviseSink; | ||||||
|  |                                 out   dwConnection: LongInt): HRESULT; stdcall; | ||||||
|  | begin | ||||||
|  |   Result := OLE_E_ADVISENOTSUPPORTED; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEDataObject.dUnadvise(dwConnection: LongInt): HRESULT; stdcall; | ||||||
|  | begin | ||||||
|  |   Result := OLE_E_ADVISENOTSUPPORTED; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | function TOLEDataObject.EnumdAdvise(out EnumAdvise: IEnumStatData): HRESULT; stdcall; | ||||||
|  | begin | ||||||
|  |   Result := OLE_E_ADVISENOTSUPPORTED; | ||||||
|  | end; | ||||||
|  |  | ||||||
|  | end. | ||||||
		Reference in New Issue
	
	Block a user