mirror of
https://github.com/salvadordf/CEF4Delphi.git
synced 2025-02-02 10:25:26 +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:
parent
9959b4b1e8
commit
5766453f91
@ -58,14 +58,14 @@ begin
|
||||
GlobalCEFApp := TCefApplication.Create;
|
||||
|
||||
// In case you want to use custom directories for the CEF3 binaries, cache, cookies and user data.
|
||||
|
||||
{
|
||||
GlobalCEFApp.FrameworkDirPath := 'cef';
|
||||
GlobalCEFApp.ResourcesDirPath := 'cef';
|
||||
GlobalCEFApp.LocalesDirPath := 'cef\locales';
|
||||
GlobalCEFApp.cache := 'cef\cache';
|
||||
GlobalCEFApp.cookies := 'cef\cookies';
|
||||
GlobalCEFApp.UserDataPath := 'cef\User Data';
|
||||
|
||||
}
|
||||
|
||||
if GlobalCEFApp.StartMainProcess then
|
||||
begin
|
||||
|
@ -134,12 +134,27 @@
|
||||
<Overwrite>true</Overwrite>
|
||||
</Platform>
|
||||
</DeployFile>
|
||||
<DeployClass Name="ProjectiOSDeviceResourceRules">
|
||||
<DeployClass Name="DependencyModule">
|
||||
<Platform Name="Win32">
|
||||
<Operation>0</Operation>
|
||||
<Extensions>.dll;.bpl</Extensions>
|
||||
</Platform>
|
||||
<Platform Name="iOSDevice64">
|
||||
<Operation>1</Operation>
|
||||
<Extensions>.dylib</Extensions>
|
||||
</Platform>
|
||||
<Platform Name="OSX32">
|
||||
<RemoteDir>Contents\MacOS</RemoteDir>
|
||||
<Operation>1</Operation>
|
||||
<Extensions>.dylib</Extensions>
|
||||
</Platform>
|
||||
<Platform Name="iOSDevice32">
|
||||
<Operation>1</Operation>
|
||||
<Extensions>.dylib</Extensions>
|
||||
</Platform>
|
||||
<Platform Name="iOSSimulator">
|
||||
<Operation>1</Operation>
|
||||
<Extensions>.dylib</Extensions>
|
||||
</Platform>
|
||||
</DeployClass>
|
||||
<DeployClass Name="ProjectOSXResource">
|
||||
@ -493,27 +508,12 @@
|
||||
<Operation>1</Operation>
|
||||
</Platform>
|
||||
</DeployClass>
|
||||
<DeployClass Name="DependencyModule">
|
||||
<Platform Name="Win32">
|
||||
<Operation>0</Operation>
|
||||
<Extensions>.dll;.bpl</Extensions>
|
||||
</Platform>
|
||||
<DeployClass Name="ProjectiOSDeviceResourceRules">
|
||||
<Platform Name="iOSDevice64">
|
||||
<Operation>1</Operation>
|
||||
<Extensions>.dylib</Extensions>
|
||||
</Platform>
|
||||
<Platform Name="OSX32">
|
||||
<RemoteDir>Contents\MacOS</RemoteDir>
|
||||
<Operation>1</Operation>
|
||||
<Extensions>.dylib</Extensions>
|
||||
</Platform>
|
||||
<Platform Name="iOSDevice32">
|
||||
<Operation>1</Operation>
|
||||
<Extensions>.dylib</Extensions>
|
||||
</Platform>
|
||||
<Platform Name="iOSSimulator">
|
||||
<Operation>1</Operation>
|
||||
<Extensions>.dylib</Extensions>
|
||||
</Platform>
|
||||
</DeployClass>
|
||||
<ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/>
|
||||
|
@ -2,9 +2,9 @@
|
||||
<BorlandProject>
|
||||
<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: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\Unit1.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\uMainForm.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: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\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\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>
|
||||
</Transactions>
|
||||
</BorlandProject>
|
||||
|
@ -1,46 +1,32 @@
|
||||
[Closed Files]
|
||||
File_0=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromium.pas',0,1,710,103,739,0,0,,
|
||||
File_1=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromiumWindow.pas',0,1,29,31,76,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_3=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFResourceHandler.pas',0,1,34,1,38,0,0,,
|
||||
File_4=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromiumEvents.pas',0,3,68,3,97,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_6=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uHelloScheme.pas',0,1,97,28,54,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_8=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uTestExtension.pas',0,1,28,1,1,0,0,,
|
||||
File_9=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFInterfaces.pas',0,1,738,28,775,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\demos\CustomResourceBrowser\uCustomResourceHandler.pas',0,1,87,56,139,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\uCEFChromiumWindow.pas',0,1,29,31,76,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\source\uCEFResourceHandler.pas',0,1,34,1,38,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\SimpleBrowser\uSimpleBrowser.pas',0,1,1,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\demos\MiniBrowser\uMiniBrowser.pas',0,1,67,21,84,0,0,,
|
||||
|
||||
[Modules]
|
||||
Module0=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\uCustomResourceHandler.pas
|
||||
Module1=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\CRBrowser.dproj
|
||||
Module2=default.htm
|
||||
Module3=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\uMainForm.pas
|
||||
Count=4
|
||||
Module0=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\CRBrowser.dproj
|
||||
Module1=default.htm
|
||||
Count=2
|
||||
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]
|
||||
ModuleType=TBaseProject
|
||||
|
||||
[default.htm]
|
||||
ModuleType=TURLModule
|
||||
|
||||
[C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\uMainForm.pas]
|
||||
ModuleType=TSourceModule
|
||||
FormState=1
|
||||
FormOnTop=0
|
||||
|
||||
[EditWindow0]
|
||||
ViewCount=4
|
||||
CurrentEditView=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\uCustomResourceHandler.pas
|
||||
ViewCount=2
|
||||
CurrentEditView=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\CRBrowser.dpr
|
||||
View0=0
|
||||
View1=1
|
||||
View2=2
|
||||
View3=3
|
||||
PercentageSizes=1
|
||||
Create=1
|
||||
Visible=1
|
||||
@ -59,15 +45,16 @@ BorlandEditorCodeExplorer=BorlandEditorCodeExplorer@EditWindow0
|
||||
TopPanelSize=0
|
||||
LeftPanelSize=0
|
||||
RightPanelSize=2000
|
||||
RightPanelClients=DockSite2,DockSite4
|
||||
RightPanelData=00000800010100000000AA1900000000000001D00700000000000001000000004312000009000000446F636B53697465320100000000A123000009000000446F636B5369746534FFFFFFFF
|
||||
RightPanelClients=DockSite2
|
||||
RightPanelData=00000800010100000000AA1900000000000001D0070000000000000100000000A123000009000000446F636B5369746532FFFFFFFF
|
||||
BottomPanelSize=0
|
||||
BottomPanelClients=DockSite1,MessageView
|
||||
BottomPanelData=0000080001020200000009000000446F636B53697465310F0000004D65737361676556696577466F726D3B3600000000000002C305000000000000FFFFFFFF
|
||||
BottomPanelData=0000080001020200000009000000446F636B53697465310F0000004D65737361676556696577466F726D3B3600000000000002820F000000000000FFFFFFFF
|
||||
BottomMiddlePanelSize=0
|
||||
BottomMiddlePanelClients=DockSite0,GraphDrawingModel
|
||||
BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F306000000000000FFFFFFFF
|
||||
TabDockLeftClients=PropertyInspector=0,DockSite3=1
|
||||
TabDockLeftClients=DockSite3=0,PropertyInspector=1
|
||||
TabDockRightClients=DockSite4=0
|
||||
|
||||
[View0]
|
||||
CustomEditViewType=TWelcomePageView
|
||||
@ -77,35 +64,13 @@ WelcomePageURL=bds:/default.htm
|
||||
CustomEditViewType=TEditView
|
||||
Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\CustomResourceBrowser\CRBrowser.dpr
|
||||
CursorX=1
|
||||
CursorY=68
|
||||
CursorY=61
|
||||
TopLine=31
|
||||
LeftCol=1
|
||||
Elisions=
|
||||
Bookmarks=
|
||||
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]
|
||||
Count=0
|
||||
|
||||
@ -120,11 +85,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=213
|
||||
LRDockWidth=13602
|
||||
Dockable=1
|
||||
@ -168,11 +133,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=4226
|
||||
Height=8868
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=4226
|
||||
ClientHeight=8868
|
||||
TBDockHeight=5897
|
||||
LRDockWidth=2352
|
||||
Dockable=1
|
||||
@ -187,12 +152,12 @@ State=0
|
||||
Left=0
|
||||
Top=23
|
||||
Width=2773
|
||||
Height=1267
|
||||
Height=3845
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2773
|
||||
ClientHeight=1267
|
||||
TBDockHeight=1267
|
||||
ClientHeight=3845
|
||||
TBDockHeight=3845
|
||||
LRDockWidth=2773
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
@ -205,12 +170,12 @@ Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=4339
|
||||
Width=1875
|
||||
Height=6693
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=4339
|
||||
ClientWidth=1875
|
||||
ClientHeight=6693
|
||||
TBDockHeight=7152
|
||||
LRDockWidth=2000
|
||||
Dockable=1
|
||||
@ -323,13 +288,13 @@ Width=1898
|
||||
Height=7164
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=1898
|
||||
ClientHeight=7164
|
||||
ClientWidth=1773
|
||||
ClientHeight=6738
|
||||
TBDockHeight=7164
|
||||
LRDockWidth=1898
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
SplitPos=111
|
||||
SplitPos=136
|
||||
|
||||
[frmDesignPreview]
|
||||
PercentageSizes=1
|
||||
@ -375,8 +340,8 @@ Create=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=-1152
|
||||
Top=243
|
||||
Left=-8
|
||||
Top=287
|
||||
Width=273
|
||||
Height=359
|
||||
MaxLeft=-1
|
||||
@ -400,11 +365,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=415
|
||||
LRDockWidth=4953
|
||||
Dockable=1
|
||||
@ -419,11 +384,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=213
|
||||
LRDockWidth=7406
|
||||
Dockable=1
|
||||
@ -442,11 +407,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=1536
|
||||
LRDockWidth=3484
|
||||
Dockable=1
|
||||
@ -461,11 +426,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=2063
|
||||
LRDockWidth=3484
|
||||
Dockable=1
|
||||
@ -583,11 +548,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=1547
|
||||
LRDockWidth=8742
|
||||
Dockable=1
|
||||
@ -695,12 +660,12 @@ State=0
|
||||
Left=0
|
||||
Top=23
|
||||
Width=3820
|
||||
Height=1424
|
||||
Height=874
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1424
|
||||
TBDockHeight=1424
|
||||
ClientHeight=874
|
||||
TBDockHeight=874
|
||||
LRDockWidth=3820
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
@ -719,11 +684,11 @@ State=0
|
||||
Left=0
|
||||
Top=23
|
||||
Width=2000
|
||||
Height=4529
|
||||
Height=9170
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=4529
|
||||
ClientHeight=9170
|
||||
TBDockHeight=7119
|
||||
LRDockWidth=2000
|
||||
Dockable=1
|
||||
@ -757,21 +722,21 @@ ActiveTabID=StructureView
|
||||
TabDockClients=StructureView,ClassBrowserTool
|
||||
|
||||
[DockSite4]
|
||||
HostDockSite=DockRightPanel
|
||||
HostDockSite=RightTabDock
|
||||
DockSiteType=1
|
||||
PercentageSizes=1
|
||||
Create=1
|
||||
Visible=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=454
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=4339
|
||||
Height=7119
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=4339
|
||||
ClientWidth=1875
|
||||
ClientHeight=6693
|
||||
TBDockHeight=7119
|
||||
LRDockWidth=2000
|
||||
Dockable=1
|
||||
|
@ -1,5 +1,5 @@
|
||||
[Stats]
|
||||
EditorSecs=425
|
||||
EditorSecs=443
|
||||
DesignerSecs=9
|
||||
InspectorSecs=14
|
||||
CompileSecs=40629
|
||||
|
@ -2,11 +2,11 @@
|
||||
<BorlandProject>
|
||||
<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: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\CEF4Delphi\demos\uMainForm.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas</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: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\FullScreenBrowser\uMainForm.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\uMainForm.dfm</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 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\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\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\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\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\Project1.dproj=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\FullScreenBrowser\FullScreenBrowser.dproj</Transaction>
|
||||
</Transactions>
|
||||
</BorlandProject>
|
||||
|
@ -52,15 +52,16 @@ BorlandEditorCodeExplorer=BorlandEditorCodeExplorer@EditWindow0
|
||||
TopPanelSize=0
|
||||
LeftPanelSize=0
|
||||
RightPanelSize=2000
|
||||
RightPanelClients=DockSite2,DockSite4
|
||||
RightPanelData=00000800010100000000551500000000000001D00700000000000001000000004312000009000000446F636B536974653201000000009D1D000009000000446F636B5369746534FFFFFFFF
|
||||
BottomPanelSize=1475
|
||||
RightPanelClients=DockSite2
|
||||
RightPanelData=00000800010100000000AA1900000000000001D0070000000000000100000000A123000009000000446F636B5369746532FFFFFFFF
|
||||
BottomPanelSize=0
|
||||
BottomPanelClients=DockSite1,MessageView
|
||||
BottomPanelData=0000080001020100000009000000446F636B53697465313B3600000000000002C30500000000000001000000003B3600000F0000004D65737361676556696577466F726DFFFFFFFF
|
||||
BottomPanelData=0000080001020200000009000000446F636B53697465310F0000004D65737361676556696577466F726D3B3600000000000002820F000000000000FFFFFFFF
|
||||
BottomMiddlePanelSize=0
|
||||
BottomMiddlePanelClients=DockSite0,GraphDrawingModel
|
||||
BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F306000000000000FFFFFFFF
|
||||
TabDockLeftClients=PropertyInspector=0,DockSite3=1
|
||||
TabDockLeftClients=DockSite3=0,PropertyInspector=1
|
||||
TabDockRightClients=DockSite4=0
|
||||
|
||||
[View0]
|
||||
CustomEditViewType=TWelcomePageView
|
||||
@ -102,11 +103,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=213
|
||||
LRDockWidth=13602
|
||||
Dockable=1
|
||||
@ -150,11 +151,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=4226
|
||||
Height=8868
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=4226
|
||||
ClientHeight=8868
|
||||
TBDockHeight=5897
|
||||
LRDockWidth=2352
|
||||
Dockable=1
|
||||
@ -163,18 +164,18 @@ StayOnTop=0
|
||||
[MessageView]
|
||||
PercentageSizes=1
|
||||
Create=1
|
||||
Visible=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=23
|
||||
Width=10000
|
||||
Height=1267
|
||||
Width=2773
|
||||
Height=3845
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=10000
|
||||
ClientHeight=1267
|
||||
TBDockHeight=1267
|
||||
ClientWidth=2773
|
||||
ClientHeight=3845
|
||||
TBDockHeight=3845
|
||||
LRDockWidth=2773
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
@ -187,12 +188,12 @@ Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=2747
|
||||
Width=1875
|
||||
Height=6693
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=2747
|
||||
ClientWidth=1875
|
||||
ClientHeight=6693
|
||||
TBDockHeight=7152
|
||||
LRDockWidth=2000
|
||||
Dockable=1
|
||||
@ -242,8 +243,8 @@ Create=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=-148
|
||||
Top=-137
|
||||
Left=-8
|
||||
Top=-30
|
||||
Width=1844
|
||||
Height=3139
|
||||
MaxLeft=-1
|
||||
@ -299,19 +300,19 @@ Create=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=362
|
||||
Left=78
|
||||
Top=386
|
||||
Width=1898
|
||||
Height=5370
|
||||
Height=7164
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=1898
|
||||
ClientHeight=5370
|
||||
ClientWidth=1773
|
||||
ClientHeight=6738
|
||||
TBDockHeight=7164
|
||||
LRDockWidth=1898
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
SplitPos=111
|
||||
SplitPos=136
|
||||
|
||||
[frmDesignPreview]
|
||||
PercentageSizes=1
|
||||
@ -322,11 +323,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=6861
|
||||
Height=6816
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=6861
|
||||
ClientHeight=6816
|
||||
TBDockHeight=5964
|
||||
LRDockWidth=2508
|
||||
Dockable=1
|
||||
@ -338,8 +339,8 @@ Create=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=-898
|
||||
Top=-137
|
||||
Left=-946
|
||||
Top=1
|
||||
Width=2844
|
||||
Height=6200
|
||||
MaxLeft=-1
|
||||
@ -357,8 +358,8 @@ Create=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=-1026
|
||||
Top=-137
|
||||
Left=-8
|
||||
Top=287
|
||||
Width=273
|
||||
Height=359
|
||||
MaxLeft=-1
|
||||
@ -382,11 +383,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=415
|
||||
LRDockWidth=4953
|
||||
Dockable=1
|
||||
@ -401,11 +402,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=213
|
||||
LRDockWidth=7406
|
||||
Dockable=1
|
||||
@ -424,11 +425,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=1536
|
||||
LRDockWidth=3484
|
||||
Dockable=1
|
||||
@ -443,11 +444,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=2063
|
||||
LRDockWidth=3484
|
||||
Dockable=1
|
||||
@ -462,11 +463,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2336
|
||||
Height=1177
|
||||
Height=942
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2336
|
||||
ClientHeight=1177
|
||||
ClientHeight=942
|
||||
TBDockHeight=2321
|
||||
LRDockWidth=2820
|
||||
Dockable=1
|
||||
@ -527,11 +528,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=6861
|
||||
Height=6816
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=6861
|
||||
ClientHeight=6816
|
||||
TBDockHeight=4888
|
||||
LRDockWidth=7148
|
||||
Dockable=1
|
||||
@ -543,8 +544,8 @@ Create=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Left=249
|
||||
Top=709
|
||||
Width=2859
|
||||
Height=3206
|
||||
MaxLeft=-1
|
||||
@ -565,11 +566,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=1547
|
||||
LRDockWidth=8742
|
||||
Dockable=1
|
||||
@ -590,12 +591,12 @@ Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=1898
|
||||
Height=9170
|
||||
Width=1773
|
||||
Height=6738
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=1898
|
||||
ClientHeight=9170
|
||||
ClientWidth=1773
|
||||
ClientHeight=6738
|
||||
TBDockHeight=3677
|
||||
LRDockWidth=1898
|
||||
Dockable=1
|
||||
@ -610,11 +611,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=6861
|
||||
Height=6816
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=6861
|
||||
ClientHeight=6816
|
||||
TBDockHeight=4888
|
||||
LRDockWidth=5305
|
||||
Dockable=1
|
||||
@ -675,14 +676,14 @@ Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Top=23
|
||||
Width=3820
|
||||
Height=1424
|
||||
Height=874
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1424
|
||||
TBDockHeight=1424
|
||||
ClientHeight=874
|
||||
TBDockHeight=874
|
||||
LRDockWidth=3820
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
@ -701,12 +702,12 @@ State=0
|
||||
Left=0
|
||||
Top=23
|
||||
Width=2000
|
||||
Height=4529
|
||||
Height=9170
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=4529
|
||||
TBDockHeight=7164
|
||||
ClientHeight=9170
|
||||
TBDockHeight=7119
|
||||
LRDockWidth=2000
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
@ -723,13 +724,13 @@ Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=23
|
||||
Top=0
|
||||
Width=1898
|
||||
Height=9170
|
||||
Height=7164
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=1898
|
||||
ClientHeight=9170
|
||||
ClientWidth=1773
|
||||
ClientHeight=6738
|
||||
TBDockHeight=7164
|
||||
LRDockWidth=1898
|
||||
Dockable=1
|
||||
@ -739,22 +740,22 @@ ActiveTabID=StructureView
|
||||
TabDockClients=StructureView,ClassBrowserTool
|
||||
|
||||
[DockSite4]
|
||||
HostDockSite=DockRightPanel
|
||||
HostDockSite=RightTabDock
|
||||
DockSiteType=1
|
||||
PercentageSizes=1
|
||||
Create=1
|
||||
Visible=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=454
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=2747
|
||||
Height=7119
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=2747
|
||||
TBDockHeight=7164
|
||||
ClientWidth=1875
|
||||
ClientHeight=6693
|
||||
TBDockHeight=7119
|
||||
LRDockWidth=2000
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
|
@ -3,7 +3,7 @@ EditorSecs=34
|
||||
DesignerSecs=1
|
||||
InspectorSecs=1
|
||||
CompileSecs=1
|
||||
OtherSecs=2
|
||||
OtherSecs=3
|
||||
StartTime=01/06/2017 10:25:13
|
||||
RealKeys=0
|
||||
EffectiveKeys=0
|
||||
|
@ -42,10 +42,14 @@ program MiniBrowser;
|
||||
|
||||
uses
|
||||
{$IFDEF DELPHI16_UP}
|
||||
Vcl.Forms, WinApi.Windows, System.SysUtils,
|
||||
Vcl.Forms,
|
||||
WinApi.Windows,
|
||||
System.SysUtils,
|
||||
{$ELSE}
|
||||
Forms, Windows, SysUtils,
|
||||
{$ENDIF}
|
||||
Forms,
|
||||
Windows,
|
||||
SysUtils,
|
||||
{$ENDIF }
|
||||
uCEFApplication,
|
||||
uCEFMiscFunctions,
|
||||
uCEFSchemeRegistrar,
|
||||
@ -57,10 +61,12 @@ uses
|
||||
uCEFConstants,
|
||||
uCEFTypes,
|
||||
uCEFTask,
|
||||
uCEFProcessMessage,
|
||||
uMiniBrowser in 'uMiniBrowser.pas' {MiniBrowserFrm},
|
||||
uTestExtension in 'uTestExtension.pas',
|
||||
uHelloScheme in 'uHelloScheme.pas',
|
||||
uPreferences in 'uPreferences.pas' {PreferencesFrm};
|
||||
uPreferences in 'uPreferences.pas' {PreferencesFrm},
|
||||
uSimpleTextViewer in 'uSimpleTextViewer.pas' {SimpleTextViewerFrm};
|
||||
|
||||
{$R *.res}
|
||||
|
||||
@ -121,7 +127,9 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure DOMVisitor_OnDocAvailable(const document: ICefDomDocument);
|
||||
procedure DOMVisitor_OnDocAvailable(const browser: ICefBrowser; const document: ICefDomDocument);
|
||||
var
|
||||
msg: ICefProcessMessage;
|
||||
begin
|
||||
// This function is called from a different process.
|
||||
// document is only valid inside this function.
|
||||
@ -133,12 +141,19 @@ begin
|
||||
|
||||
// Simple DOM searches
|
||||
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;
|
||||
|
||||
procedure ProcessHandler_OnCustomMessage(const browser: ICefBrowser; sourceProcess: TCefProcessId; const message: ICefProcessMessage);
|
||||
var
|
||||
TempFrame : ICefFrame;
|
||||
TempVisitor : TCefFastDomVisitor;
|
||||
TempVisitor : TCefFastDomVisitor2;
|
||||
begin
|
||||
if (browser <> nil) then
|
||||
begin
|
||||
@ -146,7 +161,7 @@ begin
|
||||
|
||||
if (TempFrame <> nil) then
|
||||
begin
|
||||
TempVisitor := TCefFastDomVisitor.Create(DOMVisitor_OnDocAvailable);
|
||||
TempVisitor := TCefFastDomVisitor2.Create(browser, DOMVisitor_OnDocAvailable);
|
||||
TempFrame.VisitDom(TempVisitor);
|
||||
end;
|
||||
end;
|
||||
@ -214,8 +229,9 @@ begin
|
||||
Application.MainFormOnTaskbar := True;
|
||||
{$ENDIF}
|
||||
Application.CreateForm(TMiniBrowserFrm, MiniBrowserFrm);
|
||||
Application.CreateForm(TPreferencesFrm, PreferencesFrm);
|
||||
Application.Run;
|
||||
Application.CreateForm(TPreferencesFrm, PreferencesFrm);
|
||||
Application.CreateForm(TSimpleTextViewerFrm, SimpleTextViewerFrm);
|
||||
Application.Run;
|
||||
end;
|
||||
|
||||
GlobalCEFApp.Free;
|
||||
|
@ -106,6 +106,10 @@
|
||||
<DCCReference Include="uPreferences.pas">
|
||||
<Form>PreferencesFrm</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uSimpleTextViewer.pas">
|
||||
<Form>SimpleTextViewerFrm</Form>
|
||||
<FormType>dfm</FormType>
|
||||
</DCCReference>
|
||||
<BuildConfiguration Include="Release">
|
||||
<Key>Cfg_2</Key>
|
||||
<CfgParent>Base</CfgParent>
|
||||
|
@ -2,16 +2,19 @@
|
||||
<BorlandProject>
|
||||
<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: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\Unit1.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uMiniBrowser.dfm</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: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\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\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: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/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/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\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.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\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>
|
||||
</BorlandProject>
|
||||
|
@ -1,32 +1,39 @@
|
||||
[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_1=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uMiniBrowser.pas',0,1,67,21,84,0,0,,
|
||||
File_2=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromium.pas',0,1,533,111,562,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_4=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uTestExtension.pas',0,1,28,1,1,0,0,,
|
||||
File_5=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFInterfaces.pas',0,1,738,28,775,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_7=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFApplication.pas',0,1,268,48,304,0,0,,
|
||||
File_8=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFDomNode.pas',0,1,34,1,1,0,0,,
|
||||
File_9=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFDomDocument.pas',0,1,25,1,1,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\uTestExtension.pas',0,1,49,33,81,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:\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\source\uCEFInterfaces.pas',0,1,1142,14,1168,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\source\uCEFTypes.pas',0,1,34,59,37,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\uCEFFrame.pas',0,1,204,31,234,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]
|
||||
Module0=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\MiniBrowser.dproj
|
||||
Module1=default.htm
|
||||
Count=2
|
||||
Module1=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uMiniBrowser.pas
|
||||
Module2=default.htm
|
||||
Count=3
|
||||
EditWindowCount=1
|
||||
|
||||
[C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\MiniBrowser.dproj]
|
||||
ModuleType=TBaseProject
|
||||
|
||||
[C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uMiniBrowser.pas]
|
||||
ModuleType=TSourceModule
|
||||
FormState=1
|
||||
FormOnTop=0
|
||||
|
||||
[default.htm]
|
||||
ModuleType=TURLModule
|
||||
|
||||
[EditWindow0]
|
||||
ViewCount=2
|
||||
ViewCount=3
|
||||
CurrentEditView=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\MiniBrowser.dpr
|
||||
View0=0
|
||||
View1=1
|
||||
View2=2
|
||||
PercentageSizes=1
|
||||
Create=1
|
||||
Visible=1
|
||||
@ -45,15 +52,16 @@ BorlandEditorCodeExplorer=BorlandEditorCodeExplorer@EditWindow0
|
||||
TopPanelSize=0
|
||||
LeftPanelSize=0
|
||||
RightPanelSize=2000
|
||||
RightPanelClients=DockSite2,DockSite4
|
||||
RightPanelData=00000800010100000000551500000000000001D00700000000000001000000004312000009000000446F636B536974653201000000009D1D000009000000446F636B5369746534FFFFFFFF
|
||||
BottomPanelSize=1475
|
||||
RightPanelClients=DockSite2
|
||||
RightPanelData=00000800010100000000AA1900000000000001D0070000000000000100000000A123000009000000446F636B5369746532FFFFFFFF
|
||||
BottomPanelSize=0
|
||||
BottomPanelClients=DockSite1,MessageView
|
||||
BottomPanelData=0000080001020100000009000000446F636B53697465313B3600000000000002C30500000000000001000000003B3600000F0000004D65737361676556696577466F726DFFFFFFFF
|
||||
BottomPanelData=0000080001020200000009000000446F636B53697465310F0000004D65737361676556696577466F726D3B3600000000000002820F000000000000FFFFFFFF
|
||||
BottomMiddlePanelSize=0
|
||||
BottomMiddlePanelClients=DockSite0,GraphDrawingModel
|
||||
BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F306000000000000FFFFFFFF
|
||||
TabDockLeftClients=PropertyInspector=0,DockSite3=1
|
||||
TabDockLeftClients=DockSite3=0,PropertyInspector=1
|
||||
TabDockRightClients=DockSite4=0
|
||||
|
||||
[View0]
|
||||
CustomEditViewType=TWelcomePageView
|
||||
@ -62,14 +70,25 @@ WelcomePageURL=bds:/default.htm
|
||||
[View1]
|
||||
CustomEditViewType=TEditView
|
||||
Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\MiniBrowser.dpr
|
||||
CursorX=19
|
||||
CursorY=47
|
||||
TopLine=24
|
||||
CursorX=2
|
||||
CursorY=205
|
||||
TopLine=156
|
||||
LeftCol=1
|
||||
Elisions=
|
||||
Bookmarks=
|
||||
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]
|
||||
Count=0
|
||||
|
||||
@ -84,11 +103,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=213
|
||||
LRDockWidth=13602
|
||||
Dockable=1
|
||||
@ -132,11 +151,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=4226
|
||||
Height=8868
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=4226
|
||||
ClientHeight=8868
|
||||
TBDockHeight=5897
|
||||
LRDockWidth=2352
|
||||
Dockable=1
|
||||
@ -145,18 +164,18 @@ StayOnTop=0
|
||||
[MessageView]
|
||||
PercentageSizes=1
|
||||
Create=1
|
||||
Visible=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=23
|
||||
Width=10000
|
||||
Height=1267
|
||||
Width=2773
|
||||
Height=3845
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=10000
|
||||
ClientHeight=1267
|
||||
TBDockHeight=1267
|
||||
ClientWidth=2773
|
||||
ClientHeight=3845
|
||||
TBDockHeight=3845
|
||||
LRDockWidth=2773
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
@ -169,12 +188,12 @@ Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=2747
|
||||
Width=1875
|
||||
Height=6693
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=2747
|
||||
ClientWidth=1875
|
||||
ClientHeight=6693
|
||||
TBDockHeight=7152
|
||||
LRDockWidth=2000
|
||||
Dockable=1
|
||||
@ -224,8 +243,8 @@ Create=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=-148
|
||||
Top=-137
|
||||
Left=-8
|
||||
Top=-30
|
||||
Width=1844
|
||||
Height=3139
|
||||
MaxLeft=-1
|
||||
@ -281,19 +300,19 @@ Create=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=362
|
||||
Left=78
|
||||
Top=386
|
||||
Width=1898
|
||||
Height=5370
|
||||
Height=7164
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=1898
|
||||
ClientHeight=5370
|
||||
ClientWidth=1773
|
||||
ClientHeight=6738
|
||||
TBDockHeight=7164
|
||||
LRDockWidth=1898
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
SplitPos=111
|
||||
SplitPos=136
|
||||
|
||||
[frmDesignPreview]
|
||||
PercentageSizes=1
|
||||
@ -304,11 +323,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=6861
|
||||
Height=6816
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=6861
|
||||
ClientHeight=6816
|
||||
TBDockHeight=5964
|
||||
LRDockWidth=2508
|
||||
Dockable=1
|
||||
@ -320,8 +339,8 @@ Create=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=-898
|
||||
Top=-137
|
||||
Left=-946
|
||||
Top=1
|
||||
Width=2844
|
||||
Height=6200
|
||||
MaxLeft=-1
|
||||
@ -339,8 +358,8 @@ Create=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=-1026
|
||||
Top=-137
|
||||
Left=-8
|
||||
Top=287
|
||||
Width=273
|
||||
Height=359
|
||||
MaxLeft=-1
|
||||
@ -364,11 +383,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=415
|
||||
LRDockWidth=4953
|
||||
Dockable=1
|
||||
@ -383,11 +402,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=213
|
||||
LRDockWidth=7406
|
||||
Dockable=1
|
||||
@ -406,11 +425,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=1536
|
||||
LRDockWidth=3484
|
||||
Dockable=1
|
||||
@ -425,11 +444,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=2063
|
||||
LRDockWidth=3484
|
||||
Dockable=1
|
||||
@ -444,11 +463,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2336
|
||||
Height=1177
|
||||
Height=942
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2336
|
||||
ClientHeight=1177
|
||||
ClientHeight=942
|
||||
TBDockHeight=2321
|
||||
LRDockWidth=2820
|
||||
Dockable=1
|
||||
@ -509,11 +528,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=6861
|
||||
Height=6816
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=6861
|
||||
ClientHeight=6816
|
||||
TBDockHeight=4888
|
||||
LRDockWidth=7148
|
||||
Dockable=1
|
||||
@ -525,8 +544,8 @@ Create=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Left=249
|
||||
Top=709
|
||||
Width=2859
|
||||
Height=3206
|
||||
MaxLeft=-1
|
||||
@ -547,11 +566,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=1547
|
||||
LRDockWidth=8742
|
||||
Dockable=1
|
||||
@ -572,12 +591,12 @@ Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=1898
|
||||
Height=9170
|
||||
Width=1773
|
||||
Height=6738
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=1898
|
||||
ClientHeight=9170
|
||||
ClientWidth=1773
|
||||
ClientHeight=6738
|
||||
TBDockHeight=3677
|
||||
LRDockWidth=1898
|
||||
Dockable=1
|
||||
@ -592,11 +611,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=6861
|
||||
Height=6816
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=6861
|
||||
ClientHeight=6816
|
||||
TBDockHeight=4888
|
||||
LRDockWidth=5305
|
||||
Dockable=1
|
||||
@ -657,14 +676,14 @@ Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Top=23
|
||||
Width=3820
|
||||
Height=1424
|
||||
Height=874
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1424
|
||||
TBDockHeight=1424
|
||||
ClientHeight=874
|
||||
TBDockHeight=874
|
||||
LRDockWidth=3820
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
@ -683,12 +702,12 @@ State=0
|
||||
Left=0
|
||||
Top=23
|
||||
Width=2000
|
||||
Height=4529
|
||||
Height=9170
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=4529
|
||||
TBDockHeight=7164
|
||||
ClientHeight=9170
|
||||
TBDockHeight=7119
|
||||
LRDockWidth=2000
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
@ -705,13 +724,13 @@ Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=23
|
||||
Top=0
|
||||
Width=1898
|
||||
Height=9170
|
||||
Height=7164
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=1898
|
||||
ClientHeight=9170
|
||||
ClientWidth=1773
|
||||
ClientHeight=6738
|
||||
TBDockHeight=7164
|
||||
LRDockWidth=1898
|
||||
Dockable=1
|
||||
@ -721,22 +740,22 @@ ActiveTabID=StructureView
|
||||
TabDockClients=StructureView,ClassBrowserTool
|
||||
|
||||
[DockSite4]
|
||||
HostDockSite=DockRightPanel
|
||||
HostDockSite=RightTabDock
|
||||
DockSiteType=1
|
||||
PercentageSizes=1
|
||||
Create=1
|
||||
Visible=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=454
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=2747
|
||||
Height=7119
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=2747
|
||||
TBDockHeight=7164
|
||||
ClientWidth=1875
|
||||
ClientHeight=6693
|
||||
TBDockHeight=7119
|
||||
LRDockWidth=2000
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
|
Binary file not shown.
@ -1,10 +1,10 @@
|
||||
[Stats]
|
||||
EditorSecs=37012
|
||||
DesignerSecs=2134
|
||||
InspectorSecs=1589
|
||||
CompileSecs=2027164
|
||||
OtherSecs=6328
|
||||
EditorSecs=41029
|
||||
DesignerSecs=2210
|
||||
InspectorSecs=1739
|
||||
CompileSecs=2144912
|
||||
OtherSecs=6512
|
||||
StartTime=11/02/2017 10:51:15
|
||||
RealKeys=0
|
||||
EffectiveKeys=0
|
||||
DebugSecs=29279
|
||||
DebugSecs=31352
|
||||
|
@ -53,11 +53,12 @@ uses
|
||||
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants;
|
||||
|
||||
const
|
||||
MINIBROWSER_CREATED = WM_APP + $100;
|
||||
MINIBROWSER_SHOWDEVTOOLS = WM_APP + $101;
|
||||
MINIBROWSER_HIDEDEVTOOLS = WM_APP + $102;
|
||||
MINIBROWSER_COPYHTML = WM_APP + $103;
|
||||
MINIBROWSER_VISITDOM = WM_APP + $104;
|
||||
MINIBROWSER_CREATED = WM_APP + $100;
|
||||
MINIBROWSER_SHOWDEVTOOLS = WM_APP + $101;
|
||||
MINIBROWSER_HIDEDEVTOOLS = WM_APP + $102;
|
||||
MINIBROWSER_COPYHTML = WM_APP + $103;
|
||||
MINIBROWSER_VISITDOM = WM_APP + $104;
|
||||
MINIBROWSER_SHOWTEXTVIEWER = WM_APP + $105;
|
||||
|
||||
MINIBROWSER_HOMEPAGE = 'https://www.google.com';
|
||||
|
||||
@ -71,6 +72,7 @@ const
|
||||
MINIBROWSER_CONTEXTMENU_JSPRINTDOC = MENU_ID_USER_FIRST + 8;
|
||||
MINIBROWSER_CONTEXTMENU_REGSCHEME = MENU_ID_USER_FIRST + 9;
|
||||
MINIBROWSER_CONTEXTMENU_CLEARFACT = MENU_ID_USER_FIRST + 10;
|
||||
MINIBROWSER_CONTEXTMENU_JSVISITDOM = MENU_ID_USER_FIRST + 11;
|
||||
|
||||
type
|
||||
TMiniBrowserFrm = class(TForm)
|
||||
@ -124,10 +126,6 @@ type
|
||||
procedure Chromium1BeforeContextMenu(Sender: TObject;
|
||||
const browser: ICefBrowser; const frame: ICefFrame;
|
||||
const params: ICefContextMenuParams; const model: ICefMenuModel);
|
||||
procedure Chromium1ContextMenuCommand(Sender: TObject;
|
||||
const browser: ICefBrowser; const frame: ICefFrame;
|
||||
const params: ICefContextMenuParams; commandId: Integer;
|
||||
eventFlags: TCefEventFlags; out Result: Boolean);
|
||||
procedure Chromium1ProcessMessageReceived(Sender: TObject;
|
||||
const browser: ICefBrowser; sourceProcess: TCefProcessId;
|
||||
const message: ICefProcessMessage; out Result: Boolean);
|
||||
@ -156,8 +154,14 @@ type
|
||||
procedure ApplicationEvents1Message(var Msg: tagMSG;
|
||||
var Handled: Boolean);
|
||||
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
|
||||
FText : string;
|
||||
|
||||
procedure AddURL(const aURL : string);
|
||||
|
||||
procedure ShowDevTools(aPoint : TPoint); overload;
|
||||
@ -172,9 +176,12 @@ type
|
||||
procedure HideDevToolsMsg(var aMessage : TMessage); message MINIBROWSER_HIDEDEVTOOLS;
|
||||
procedure CopyHTMLMsg(var aMessage : TMessage); message MINIBROWSER_COPYHTML;
|
||||
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 WMMoving(var aMessage : TMessage); message WM_MOVING;
|
||||
|
||||
public
|
||||
procedure ShowStatusText(const aText : string);
|
||||
|
||||
end;
|
||||
|
||||
@ -186,7 +193,7 @@ implementation
|
||||
{$R *.dfm}
|
||||
|
||||
uses
|
||||
uPreferences, uCEFProcessMessage, uCEFSchemeHandlerFactory, uHelloScheme;
|
||||
uPreferences, uCEFProcessMessage, uCEFSchemeHandlerFactory, uHelloScheme, uSimpleTextViewer;
|
||||
|
||||
procedure TMiniBrowserFrm.BackBtnClick(Sender: TObject);
|
||||
begin
|
||||
@ -233,7 +240,8 @@ begin
|
||||
model.AddItem(MINIBROWSER_CONTEXTMENU_SHOWJSALERT, 'Show JS Alert');
|
||||
model.AddItem(MINIBROWSER_CONTEXTMENU_SETJSEVENT, 'Set mouseover event');
|
||||
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_JSPRINTDOC, 'Print using Javascript');
|
||||
model.AddItem(MINIBROWSER_CONTEXTMENU_REGSCHEME, 'Register scheme');
|
||||
@ -248,7 +256,7 @@ end;
|
||||
procedure TMiniBrowserFrm.Chromium1ContextMenuCommand(Sender: TObject;
|
||||
const browser: ICefBrowser; const frame: ICefFrame;
|
||||
const params: ICefContextMenuParams; commandId: Integer;
|
||||
eventFlags: TCefEventFlags; out Result: Boolean);
|
||||
eventFlags: Cardinal; out Result: Boolean);
|
||||
var
|
||||
TempParam : WParam;
|
||||
TempFactory: ICefSchemeHandlerFactory;
|
||||
@ -287,6 +295,13 @@ begin
|
||||
MINIBROWSER_CONTEXTMENU_VISITDOM :
|
||||
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 :
|
||||
if (browser <> nil) and (browser.MainFrame <> nil) then
|
||||
browser.MainFrame.ExecuteJavaScript(
|
||||
@ -442,20 +457,42 @@ procedure TMiniBrowserFrm.Chromium1ProcessMessageReceived(Sender: TObject;
|
||||
const browser: ICefBrowser; sourceProcess: TCefProcessId;
|
||||
const message: ICefProcessMessage; out Result: Boolean);
|
||||
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
|
||||
// Message received from the extension
|
||||
StatusBar1.Panels[0].Text := message.ArgumentList.GetString(0);
|
||||
Result := True;
|
||||
ShowStatusText(message.ArgumentList.GetString(0));
|
||||
Result := True;
|
||||
end
|
||||
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;
|
||||
|
||||
procedure TMiniBrowserFrm.Chromium1StatusMessage(Sender: TObject;
|
||||
const browser: ICefBrowser; const value: ustring);
|
||||
begin
|
||||
StatusBar1.Panels[0].Text := value;
|
||||
ShowStatusText(value);
|
||||
end;
|
||||
|
||||
procedure TMiniBrowserFrm.Chromium1TextResultAvailable(Sender: TObject; const aText: string);
|
||||
@ -591,6 +628,12 @@ begin
|
||||
Chromium1.SendProcessMessage(PID_RENDERER, TempMsg);
|
||||
end;
|
||||
|
||||
procedure TMiniBrowserFrm.ShowTextViewerMsg(var aMessage : TMessage);
|
||||
begin
|
||||
SimpleTextViewerFrm.Memo1.Lines.Text := FText;
|
||||
SimpleTextViewerFrm.ShowModal;
|
||||
end;
|
||||
|
||||
procedure TMiniBrowserFrm.WMMove(var aMessage : TWMMove);
|
||||
begin
|
||||
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
|
||||
TTestExtension = class
|
||||
class procedure mouseover(const data: string);
|
||||
class procedure sendresulttobrowser(const msgtext, msgname : string);
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
uCEFMiscFunctions, uCEFConstants;
|
||||
|
||||
class procedure TTestExtension.mouseover(const data: string);
|
||||
var
|
||||
msg: ICefProcessMessage;
|
||||
@ -69,4 +73,14 @@ begin
|
||||
TCefv8ContextRef.Current.Browser.SendProcessMessage(PID_BROWSER, msg);
|
||||
end;
|
||||
|
||||
class procedure TTestExtension.sendresulttobrowser(const msgtext, msgname : string);
|
||||
var
|
||||
msg: ICefProcessMessage;
|
||||
begin
|
||||
msg := TCefProcessMessageRef.New(msgname);
|
||||
msg.ArgumentList.SetString(0, msgtext);
|
||||
|
||||
TCefv8ContextRef.Current.Browser.SendProcessMessage(PID_BROWSER, msg);
|
||||
end;
|
||||
|
||||
end.
|
||||
|
@ -2,8 +2,8 @@
|
||||
<BorlandProject>
|
||||
<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: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\CEF4Delphi demos\SimpleBrowser\uSimpleBrowser.pas=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.pas</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: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\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\Project1.dproj=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi demos\SimpleBrowser\SimpleBrowser.dproj</Transaction>
|
||||
</Transactions>
|
||||
</BorlandProject>
|
||||
|
@ -52,15 +52,16 @@ BorlandEditorCodeExplorer=BorlandEditorCodeExplorer@EditWindow0
|
||||
TopPanelSize=0
|
||||
LeftPanelSize=0
|
||||
RightPanelSize=2000
|
||||
RightPanelClients=DockSite2,DockSite4
|
||||
RightPanelData=00000800010100000000551500000000000001D00700000000000001000000004312000009000000446F636B536974653201000000009D1D000009000000446F636B5369746534FFFFFFFF
|
||||
BottomPanelSize=1475
|
||||
RightPanelClients=DockSite2
|
||||
RightPanelData=00000800010100000000AA1900000000000001D0070000000000000100000000A123000009000000446F636B5369746532FFFFFFFF
|
||||
BottomPanelSize=0
|
||||
BottomPanelClients=DockSite1,MessageView
|
||||
BottomPanelData=0000080001020100000009000000446F636B53697465313B3600000000000002C30500000000000001000000003B3600000F0000004D65737361676556696577466F726DFFFFFFFF
|
||||
BottomPanelData=0000080001020200000009000000446F636B53697465310F0000004D65737361676556696577466F726D3B3600000000000002820F000000000000FFFFFFFF
|
||||
BottomMiddlePanelSize=0
|
||||
BottomMiddlePanelClients=DockSite0,GraphDrawingModel
|
||||
BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F306000000000000FFFFFFFF
|
||||
TabDockLeftClients=PropertyInspector=0,DockSite3=1
|
||||
TabDockLeftClients=DockSite3=0,PropertyInspector=1
|
||||
TabDockRightClients=DockSite4=0
|
||||
|
||||
[View0]
|
||||
CustomEditViewType=TWelcomePageView
|
||||
@ -102,11 +103,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=213
|
||||
LRDockWidth=13602
|
||||
Dockable=1
|
||||
@ -150,11 +151,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=4226
|
||||
Height=8868
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=4226
|
||||
ClientHeight=8868
|
||||
TBDockHeight=5897
|
||||
LRDockWidth=2352
|
||||
Dockable=1
|
||||
@ -163,18 +164,18 @@ StayOnTop=0
|
||||
[MessageView]
|
||||
PercentageSizes=1
|
||||
Create=1
|
||||
Visible=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=23
|
||||
Width=10000
|
||||
Height=1267
|
||||
Width=2773
|
||||
Height=3845
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=10000
|
||||
ClientHeight=1267
|
||||
TBDockHeight=1267
|
||||
ClientWidth=2773
|
||||
ClientHeight=3845
|
||||
TBDockHeight=3845
|
||||
LRDockWidth=2773
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
@ -187,12 +188,12 @@ Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=2747
|
||||
Width=1875
|
||||
Height=6693
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=2747
|
||||
ClientWidth=1875
|
||||
ClientHeight=6693
|
||||
TBDockHeight=7152
|
||||
LRDockWidth=2000
|
||||
Dockable=1
|
||||
@ -242,8 +243,8 @@ Create=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=-148
|
||||
Top=-137
|
||||
Left=-8
|
||||
Top=-30
|
||||
Width=1844
|
||||
Height=3139
|
||||
MaxLeft=-1
|
||||
@ -299,19 +300,19 @@ Create=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=362
|
||||
Left=78
|
||||
Top=386
|
||||
Width=1898
|
||||
Height=5370
|
||||
Height=7164
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=1898
|
||||
ClientHeight=5370
|
||||
ClientWidth=1773
|
||||
ClientHeight=6738
|
||||
TBDockHeight=7164
|
||||
LRDockWidth=1898
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
SplitPos=111
|
||||
SplitPos=136
|
||||
|
||||
[frmDesignPreview]
|
||||
PercentageSizes=1
|
||||
@ -322,11 +323,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=6861
|
||||
Height=6816
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=6861
|
||||
ClientHeight=6816
|
||||
TBDockHeight=5964
|
||||
LRDockWidth=2508
|
||||
Dockable=1
|
||||
@ -338,8 +339,8 @@ Create=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=-898
|
||||
Top=-137
|
||||
Left=-946
|
||||
Top=1
|
||||
Width=2844
|
||||
Height=6200
|
||||
MaxLeft=-1
|
||||
@ -357,8 +358,8 @@ Create=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=-1026
|
||||
Top=-137
|
||||
Left=-8
|
||||
Top=287
|
||||
Width=273
|
||||
Height=359
|
||||
MaxLeft=-1
|
||||
@ -382,11 +383,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=415
|
||||
LRDockWidth=4953
|
||||
Dockable=1
|
||||
@ -401,11 +402,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=213
|
||||
LRDockWidth=7406
|
||||
Dockable=1
|
||||
@ -424,11 +425,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=1536
|
||||
LRDockWidth=3484
|
||||
Dockable=1
|
||||
@ -443,11 +444,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=2063
|
||||
LRDockWidth=3484
|
||||
Dockable=1
|
||||
@ -462,11 +463,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2336
|
||||
Height=1177
|
||||
Height=942
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2336
|
||||
ClientHeight=1177
|
||||
ClientHeight=942
|
||||
TBDockHeight=2321
|
||||
LRDockWidth=2820
|
||||
Dockable=1
|
||||
@ -527,11 +528,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=6861
|
||||
Height=6816
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=6861
|
||||
ClientHeight=6816
|
||||
TBDockHeight=4888
|
||||
LRDockWidth=7148
|
||||
Dockable=1
|
||||
@ -543,8 +544,8 @@ Create=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Left=249
|
||||
Top=709
|
||||
Width=2859
|
||||
Height=3206
|
||||
MaxLeft=-1
|
||||
@ -565,11 +566,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=1547
|
||||
LRDockWidth=8742
|
||||
Dockable=1
|
||||
@ -590,12 +591,12 @@ Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=1898
|
||||
Height=9170
|
||||
Width=1773
|
||||
Height=6738
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=1898
|
||||
ClientHeight=9170
|
||||
ClientWidth=1773
|
||||
ClientHeight=6738
|
||||
TBDockHeight=3677
|
||||
LRDockWidth=1898
|
||||
Dockable=1
|
||||
@ -610,11 +611,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=6861
|
||||
Height=6816
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=6861
|
||||
ClientHeight=6816
|
||||
TBDockHeight=4888
|
||||
LRDockWidth=5305
|
||||
Dockable=1
|
||||
@ -675,14 +676,14 @@ Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Top=23
|
||||
Width=3820
|
||||
Height=1424
|
||||
Height=874
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1424
|
||||
TBDockHeight=1424
|
||||
ClientHeight=874
|
||||
TBDockHeight=874
|
||||
LRDockWidth=3820
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
@ -701,12 +702,12 @@ State=0
|
||||
Left=0
|
||||
Top=23
|
||||
Width=2000
|
||||
Height=4529
|
||||
Height=9170
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=4529
|
||||
TBDockHeight=7164
|
||||
ClientHeight=9170
|
||||
TBDockHeight=7119
|
||||
LRDockWidth=2000
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
@ -723,13 +724,13 @@ Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=23
|
||||
Top=0
|
||||
Width=1898
|
||||
Height=9170
|
||||
Height=7164
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=1898
|
||||
ClientHeight=9170
|
||||
ClientWidth=1773
|
||||
ClientHeight=6738
|
||||
TBDockHeight=7164
|
||||
LRDockWidth=1898
|
||||
Dockable=1
|
||||
@ -739,22 +740,22 @@ ActiveTabID=StructureView
|
||||
TabDockClients=StructureView,ClassBrowserTool
|
||||
|
||||
[DockSite4]
|
||||
HostDockSite=DockRightPanel
|
||||
HostDockSite=RightTabDock
|
||||
DockSiteType=1
|
||||
PercentageSizes=1
|
||||
Create=1
|
||||
Visible=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=454
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=2747
|
||||
Height=7119
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=2747
|
||||
TBDockHeight=7164
|
||||
ClientWidth=1875
|
||||
ClientHeight=6693
|
||||
TBDockHeight=7119
|
||||
LRDockWidth=2000
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
|
Binary file not shown.
@ -3,7 +3,7 @@ EditorSecs=4647
|
||||
DesignerSecs=301
|
||||
InspectorSecs=137
|
||||
CompileSecs=326894
|
||||
OtherSecs=1036
|
||||
OtherSecs=1037
|
||||
StartTime=22/01/2017 14:51:01
|
||||
RealKeys=0
|
||||
EffectiveKeys=0
|
||||
|
@ -46,6 +46,7 @@ uses
|
||||
Forms, Windows,
|
||||
{$ENDIF}
|
||||
uCEFApplication,
|
||||
uCEFTypes,
|
||||
uSimpleOSRBrowser in 'uSimpleOSRBrowser.pas' {Form1};
|
||||
|
||||
{$R *.res}
|
||||
@ -56,6 +57,8 @@ uses
|
||||
begin
|
||||
GlobalCEFApp := TCefApplication.Create;
|
||||
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.
|
||||
{
|
||||
@ -66,7 +69,6 @@ begin
|
||||
GlobalCEFApp.cookies := 'cef\cookies';
|
||||
GlobalCEFApp.UserDataPath := 'cef\User Data';
|
||||
}
|
||||
|
||||
if GlobalCEFApp.StartMainProcess then
|
||||
begin
|
||||
Application.Initialize;
|
||||
|
@ -2,8 +2,8 @@
|
||||
<BorlandProject>
|
||||
<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: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\CEF4Delphi demos\SimpleOSRBrowser\uSimpleOSRBrowser.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\Unit1.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: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\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\Project1.dproj=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi demos\SimpleOSRBrowser\SimpleOSRBrowser.dproj</Transaction>
|
||||
</Transactions>
|
||||
</BorlandProject>
|
||||
|
@ -1,14 +1,14 @@
|
||||
[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_1=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromium.pas',0,1,338,30,360,0,0,,
|
||||
File_2=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFApplication.pas',0,1,10,21,38,0,0,,
|
||||
File_3=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFMiscFunctions.pas',0,1,34,23,38,0,0,,
|
||||
File_4=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromiumWindow.pas',0,1,35,24,60,0,0,,
|
||||
File_5=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFInterfaces.pas',0,1,219,63,249,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_7=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFBrowser.pas',0,1,208,111,219,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_9=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\BriskBard\uBriskBardMainForm.pas',0,1,50,11,57,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\uCEFMiscFunctions.pas',0,1,1111,61,1007,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\uCEFChromium.pas',0,1,2780,29,2804,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:\program files\embarcadero\studio\17.0\SOURCE\VCL\Vcl.Controls.pas',0,1,2509,46,2537,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\uOLEDragAndDrop.pas',0,1,16,21,38,0,0,,
|
||||
File_8=TSourceModule,'V:\3071\tests\cefclient\browser\osr_dragdrop_win.cc',0,1,355,64,383,0,0,,
|
||||
File_9=TSourceModule,'V:\3071\tests\cefclient\browser\osr_window_win.cc',0,1,962,45,989,0,0,,
|
||||
|
||||
[Modules]
|
||||
Module0=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\SimpleOSRBrowser\SimpleOSRBrowser.dproj
|
||||
@ -46,10 +46,10 @@ TopPanelSize=0
|
||||
LeftPanelSize=0
|
||||
RightPanelSize=2000
|
||||
RightPanelClients=DockSite2
|
||||
RightPanelData=00000800010100000000551500000000000001D00700000000000001000000009D1D000009000000446F636B5369746532FFFFFFFF
|
||||
BottomPanelSize=1475
|
||||
RightPanelData=00000800010100000000AA1900000000000001D0070000000000000100000000A123000009000000446F636B5369746532FFFFFFFF
|
||||
BottomPanelSize=0
|
||||
BottomPanelClients=DockSite1,MessageView
|
||||
BottomPanelData=0000080001020100000009000000446F636B53697465313B3600000000000002C30500000000000001000000003B3600000F0000004D65737361676556696577466F726DFFFFFFFF
|
||||
BottomPanelData=0000080001020200000009000000446F636B53697465310F0000004D65737361676556696577466F726D3B3600000000000002820F000000000000FFFFFFFF
|
||||
BottomMiddlePanelSize=0
|
||||
BottomMiddlePanelClients=DockSite0,GraphDrawingModel
|
||||
BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F306000000000000FFFFFFFF
|
||||
@ -64,8 +64,8 @@ WelcomePageURL=bds:/default.htm
|
||||
CustomEditViewType=TEditView
|
||||
Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\SimpleOSRBrowser\SimpleOSRBrowser.dpr
|
||||
CursorX=2
|
||||
CursorY=68
|
||||
TopLine=28
|
||||
CursorY=64
|
||||
TopLine=31
|
||||
LeftCol=1
|
||||
Elisions=
|
||||
Bookmarks=
|
||||
@ -85,11 +85,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=964
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=964
|
||||
ClientHeight=572
|
||||
TBDockHeight=213
|
||||
LRDockWidth=13602
|
||||
Dockable=1
|
||||
@ -133,11 +133,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=7276
|
||||
Height=8868
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=7276
|
||||
ClientHeight=8868
|
||||
TBDockHeight=5897
|
||||
LRDockWidth=2352
|
||||
Dockable=1
|
||||
@ -146,18 +146,18 @@ StayOnTop=0
|
||||
[MessageView]
|
||||
PercentageSizes=1
|
||||
Create=1
|
||||
Visible=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=23
|
||||
Width=10000
|
||||
Height=1267
|
||||
Width=2773
|
||||
Height=3845
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=10000
|
||||
ClientHeight=1267
|
||||
TBDockHeight=1267
|
||||
ClientWidth=2773
|
||||
ClientHeight=3845
|
||||
TBDockHeight=3845
|
||||
LRDockWidth=2773
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
@ -294,7 +294,7 @@ TBDockHeight=7164
|
||||
LRDockWidth=1898
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
SplitPos=111
|
||||
SplitPos=136
|
||||
|
||||
[frmDesignPreview]
|
||||
PercentageSizes=1
|
||||
@ -365,11 +365,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=964
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=964
|
||||
ClientHeight=572
|
||||
TBDockHeight=415
|
||||
LRDockWidth=4953
|
||||
Dockable=1
|
||||
@ -384,11 +384,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=964
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=964
|
||||
ClientHeight=572
|
||||
TBDockHeight=213
|
||||
LRDockWidth=7406
|
||||
Dockable=1
|
||||
@ -407,11 +407,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=964
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=964
|
||||
ClientHeight=572
|
||||
TBDockHeight=1536
|
||||
LRDockWidth=3484
|
||||
Dockable=1
|
||||
@ -426,11 +426,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=964
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=964
|
||||
ClientHeight=572
|
||||
TBDockHeight=2063
|
||||
LRDockWidth=3484
|
||||
Dockable=1
|
||||
@ -548,11 +548,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=964
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=964
|
||||
ClientHeight=572
|
||||
TBDockHeight=1547
|
||||
LRDockWidth=8742
|
||||
Dockable=1
|
||||
@ -660,12 +660,12 @@ State=0
|
||||
Left=0
|
||||
Top=23
|
||||
Width=3820
|
||||
Height=1267
|
||||
Height=874
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1267
|
||||
TBDockHeight=1267
|
||||
ClientHeight=874
|
||||
TBDockHeight=874
|
||||
LRDockWidth=3820
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
@ -684,11 +684,11 @@ State=0
|
||||
Left=0
|
||||
Top=23
|
||||
Width=2000
|
||||
Height=7578
|
||||
Height=9170
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=7578
|
||||
ClientHeight=9170
|
||||
TBDockHeight=7119
|
||||
LRDockWidth=2000
|
||||
Dockable=1
|
||||
|
@ -1,10 +1,10 @@
|
||||
[Stats]
|
||||
EditorSecs=3911
|
||||
DesignerSecs=253
|
||||
InspectorSecs=1
|
||||
CompileSecs=331279
|
||||
OtherSecs=710
|
||||
EditorSecs=25695
|
||||
DesignerSecs=383
|
||||
InspectorSecs=181
|
||||
CompileSecs=1179317
|
||||
OtherSecs=2960
|
||||
StartTime=22/01/2017 17:35:20
|
||||
RealKeys=0
|
||||
EffectiveKeys=0
|
||||
DebugSecs=1815
|
||||
DebugSecs=15914
|
||||
|
@ -2,8 +2,8 @@ object Form1: TForm1
|
||||
Left = 0
|
||||
Top = 0
|
||||
Caption = 'Simple OSR Browser'
|
||||
ClientHeight = 712
|
||||
ClientWidth = 984
|
||||
ClientHeight = 716
|
||||
ClientWidth = 992
|
||||
Color = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
@ -13,37 +13,28 @@ object Form1: TForm1
|
||||
OldCreateOrder = False
|
||||
Position = poScreenCenter
|
||||
OnAfterMonitorDpiChanged = FormAfterMonitorDpiChanged
|
||||
OnCreate = FormCreate
|
||||
OnDestroy = FormDestroy
|
||||
OnHide = FormHide
|
||||
OnShow = FormShow
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
object Panel1: TPanel
|
||||
object NavControlPnl: TPanel
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 984
|
||||
Width = 992
|
||||
Height = 30
|
||||
Align = alTop
|
||||
BevelOuter = bvNone
|
||||
Enabled = False
|
||||
Padding.Left = 5
|
||||
Padding.Top = 5
|
||||
Padding.Right = 5
|
||||
Padding.Bottom = 5
|
||||
ShowCaption = False
|
||||
TabOrder = 0
|
||||
ExplicitWidth = 677
|
||||
object Edit1: TEdit
|
||||
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
|
||||
TabOrder = 1
|
||||
object GoBtn: TButton
|
||||
Left = 956
|
||||
Top = 5
|
||||
Width = 31
|
||||
Height = 20
|
||||
@ -51,26 +42,51 @@ object Form1: TForm1
|
||||
Align = alRight
|
||||
Caption = 'Go'
|
||||
TabOrder = 1
|
||||
OnClick = Button1Click
|
||||
ExplicitLeft = 641
|
||||
OnClick = GoBtnClick
|
||||
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
|
||||
object PaintBox: TPaintBox32
|
||||
object Panel1: TPanel
|
||||
Left = 0
|
||||
Top = 30
|
||||
Width = 984
|
||||
Height = 682
|
||||
Width = 992
|
||||
Height = 686
|
||||
Align = alClient
|
||||
TabOrder = 1
|
||||
OnMouseDown = PaintBoxMouseDown
|
||||
OnMouseMove = PaintBoxMouseMove
|
||||
OnMouseUp = PaintBoxMouseUp
|
||||
OnMouseWheel = PaintBoxMouseWheel
|
||||
OnResize = PaintBoxResize
|
||||
ExplicitWidth = 677
|
||||
ExplicitHeight = 548
|
||||
BevelOuter = bvNone
|
||||
ShowCaption = False
|
||||
TabOrder = 0
|
||||
TabStop = True
|
||||
OnEnter = Panel1Enter
|
||||
OnExit = Panel1Exit
|
||||
object PaintBox: TPaintBox32
|
||||
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
|
||||
object chrmosr: TChromium
|
||||
OnAfterCreated = chrmosrAfterCreated
|
||||
OnGetRootScreenRect = chrmosrGetRootScreenRect
|
||||
OnGetViewRect = chrmosrGetViewRect
|
||||
OnGetScreenPoint = chrmosrGetScreenPoint
|
||||
|
@ -52,52 +52,49 @@ uses
|
||||
GR32_Image, // You need the Graphics32 components for this demo available at http://graphics32.org
|
||||
uCEFChromium, uCEFTypes, uCEFInterfaces;
|
||||
|
||||
const
|
||||
MINIBROWSER_CREATED = WM_APP + $100;
|
||||
|
||||
type
|
||||
TForm1 = class(TForm)
|
||||
Panel1: TPanel;
|
||||
Edit1: TEdit;
|
||||
Button1: TButton;
|
||||
PaintBox: TPaintBox32;
|
||||
NavControlPnl: TPanel;
|
||||
GoBtn: TButton;
|
||||
chrmosr: TChromium;
|
||||
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 PaintBoxResize(Sender: TObject);
|
||||
procedure PaintBoxMouseDown(Sender: TObject; Button: TMouseButton;
|
||||
Shift: TShiftState; X, Y: Integer);
|
||||
procedure PaintBoxMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||
procedure AppEventsMessage(var Msg: tagMSG; var Handled: Boolean);
|
||||
procedure PaintBoxMouseUp(Sender: TObject; Button: TMouseButton;
|
||||
Shift: TShiftState; X, Y: Integer);
|
||||
procedure PaintBoxMouseMove(Sender: TObject; Shift: TShiftState; X,
|
||||
Y: Integer);
|
||||
procedure chrmosrPaint(Sender: TObject; const browser: ICefBrowser;
|
||||
kind: TCefPaintElementType; dirtyRectsCount: NativeUInt;
|
||||
const dirtyRects: PCefRectArray; const buffer: Pointer; width,
|
||||
height: Integer);
|
||||
procedure chrmosrGetRootScreenRect(Sender: TObject;
|
||||
const browser: ICefBrowser; rect: PCefRect; out Result: Boolean);
|
||||
procedure chrmosrCursorChange(Sender: TObject;
|
||||
const browser: ICefBrowser; cursor: HICON;
|
||||
cursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo);
|
||||
procedure PaintBoxMouseWheel(Sender: TObject; Shift: TShiftState;
|
||||
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
|
||||
procedure Button1Click(Sender: TObject);
|
||||
procedure chrmosrGetViewRect(Sender: TObject;
|
||||
const browser: ICefBrowser; rect: PCefRect; out Result: Boolean);
|
||||
procedure chrmosrGetScreenPoint(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);
|
||||
procedure PaintBoxMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||
procedure PaintBoxMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
|
||||
procedure chrmosrPaint(Sender: TObject; const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer);
|
||||
procedure chrmosrGetRootScreenRect(Sender: TObject; const browser: ICefBrowser; rect: PCefRect; out Result: Boolean);
|
||||
procedure chrmosrCursorChange(Sender: TObject; const browser: ICefBrowser; cursor: HICON; cursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo);
|
||||
procedure PaintBoxMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
|
||||
procedure GoBtnClick(Sender: TObject);
|
||||
procedure chrmosrGetViewRect(Sender: TObject; const browser: ICefBrowser; rect: PCefRect; out Result: Boolean);
|
||||
procedure chrmosrGetScreenPoint(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);
|
||||
procedure chrmosrAfterCreated(Sender: TObject; const browser: ICefBrowser);
|
||||
procedure Panel1Enter(Sender: TObject);
|
||||
procedure Panel1Exit(Sender: TObject);
|
||||
procedure FormHide(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure PaintBoxClick(Sender: TObject);
|
||||
procedure FormDestroy(Sender: TObject);
|
||||
|
||||
private
|
||||
function getModifiers(Shift: TShiftState): TCefEventFlags;
|
||||
function GetButton(Button: TMouseButton): TCefMouseButtonType;
|
||||
function getModifiers(Shift: TShiftState): TCefEventFlags;
|
||||
function GetButton(Button: TMouseButton): TCefMouseButtonType;
|
||||
|
||||
procedure WMMove(var aMessage : TWMMove); message WM_MOVE;
|
||||
procedure WMMoving(var aMessage : TMessage); message WM_MOVING;
|
||||
procedure BrowserCreatedMsg(var aMessage : TMessage); message MINIBROWSER_CREATED;
|
||||
|
||||
public
|
||||
{ Public declarations }
|
||||
@ -111,77 +108,154 @@ implementation
|
||||
{$R *.dfm}
|
||||
|
||||
uses
|
||||
uCEFMiscFunctions;
|
||||
uCEFMiscFunctions, uCEFConstants;
|
||||
|
||||
procedure TForm1.AppEventsMessage(var Msg: tagMSG; var Handled: Boolean);
|
||||
var
|
||||
event: TCefKeyEvent;
|
||||
TempEvent : TCefKeyEvent;
|
||||
begin
|
||||
case Msg.message of
|
||||
WM_CHAR:
|
||||
begin
|
||||
FillChar(event, SizeOf(TCefKeyEvent), 0);
|
||||
event.kind := KEYEVENT_CHAR;
|
||||
event.windows_key_code := Msg.wParam;
|
||||
event.native_key_code := Msg.lParam;
|
||||
chrmosr.SendKeyEvent(@event);
|
||||
end;
|
||||
WM_SYSCHAR :
|
||||
if (Panel1.Focused or chrmosr.FrameIsFocused) and
|
||||
(Msg.wParam in [VK_BACK..VK_HELP]) 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(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;
|
||||
|
||||
procedure TForm1.Button1Click(Sender: TObject);
|
||||
procedure TForm1.GoBtnClick(Sender: TObject);
|
||||
begin
|
||||
chrmosr.LoadURL(Edit1.Text);
|
||||
chrmosr.LoadURL(ComboBox1.Text);
|
||||
end;
|
||||
|
||||
procedure TForm1.chrmosrCursorChange(Sender: TObject;
|
||||
const browser: ICefBrowser; cursor: HICON; cursorType: TCefCursorType;
|
||||
const customCursorInfo: PCefCursorInfo);
|
||||
procedure TForm1.chrmosrAfterCreated(Sender: TObject; const browser: ICefBrowser);
|
||||
begin
|
||||
case cursorType of
|
||||
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;
|
||||
PostMessage(Handle, MINIBROWSER_CREATED, 0, 0);
|
||||
end;
|
||||
|
||||
procedure TForm1.chrmosrGetRootScreenRect(Sender: TObject;
|
||||
const browser: ICefBrowser; rect: PCefRect; out Result: Boolean);
|
||||
procedure TForm1.chrmosrCursorChange(Sender : TObject;
|
||||
const browser : ICefBrowser;
|
||||
cursor : HICON;
|
||||
cursorType : TCefCursorType;
|
||||
const customCursorInfo : PCefCursorInfo);
|
||||
begin
|
||||
rect.x := 0;
|
||||
rect.y := 0;
|
||||
rect.width := PaintBox.Width;
|
||||
PaintBox.Cursor := GefCursorToWindowsCursor(cursorType);
|
||||
end;
|
||||
|
||||
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;
|
||||
Result := True;
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
procedure TForm1.chrmosrGetScreenPoint(Sender: TObject;
|
||||
const browser: ICefBrowser; viewX, viewY: Integer; screenX,
|
||||
screenY: PInteger; out Result: Boolean);
|
||||
procedure TForm1.chrmosrGetScreenPoint(Sender : TObject;
|
||||
const browser : ICefBrowser;
|
||||
viewX : Integer;
|
||||
viewY : Integer;
|
||||
screenX : PInteger;
|
||||
screenY : PInteger;
|
||||
out Result : Boolean);
|
||||
var
|
||||
TempScreenPt, TempViewPt : TPoint;
|
||||
begin
|
||||
@ -193,8 +267,10 @@ begin
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
procedure TForm1.chrmosrGetViewRect(Sender: TObject;
|
||||
const browser: ICefBrowser; rect: PCefRect; out Result: Boolean);
|
||||
procedure TForm1.chrmosrGetViewRect(Sender : TObject;
|
||||
const browser : ICefBrowser;
|
||||
rect : PCefRect;
|
||||
out Result : Boolean);
|
||||
begin
|
||||
rect.x := 0;
|
||||
rect.y := 0;
|
||||
@ -203,10 +279,14 @@ begin
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
procedure TForm1.chrmosrPaint(Sender: TObject; const browser: ICefBrowser;
|
||||
kind: TCefPaintElementType; dirtyRectsCount: NativeUInt;
|
||||
const dirtyRects: PCefRectArray; const buffer: Pointer; width,
|
||||
height: Integer);
|
||||
procedure TForm1.chrmosrPaint(Sender : TObject;
|
||||
const browser : ICefBrowser;
|
||||
kind : TCefPaintElementType;
|
||||
dirtyRectsCount : NativeUInt;
|
||||
const dirtyRects : PCefRectArray;
|
||||
const buffer : Pointer;
|
||||
width : Integer;
|
||||
height : Integer);
|
||||
var
|
||||
src, dst: PByte;
|
||||
offset, i, j, w: Integer;
|
||||
@ -241,35 +321,38 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TForm1.chrmosrPopupShow(Sender: TObject;
|
||||
const browser: ICefBrowser; show: Boolean);
|
||||
procedure TForm1.chrmosrPopupShow(Sender : TObject;
|
||||
const browser : ICefBrowser;
|
||||
show : Boolean);
|
||||
begin
|
||||
// TO DO : Needed to draw the "select" items
|
||||
end;
|
||||
|
||||
procedure TForm1.chrmosrPopupSize(Sender: TObject;
|
||||
const browser: ICefBrowser; const rect: PCefRect);
|
||||
procedure TForm1.chrmosrPopupSize(Sender : TObject;
|
||||
const browser : ICefBrowser;
|
||||
const rect : PCefRect);
|
||||
begin
|
||||
// TO DO : Needed to draw the "select" items
|
||||
end;
|
||||
|
||||
function TForm1.getModifiers(Shift: TShiftState): TCefEventFlags;
|
||||
begin
|
||||
Result := [];
|
||||
if ssShift in Shift then Include(Result, EVENTFLAG_SHIFT_DOWN);
|
||||
if ssAlt in Shift then Include(Result, EVENTFLAG_ALT_DOWN);
|
||||
if ssCtrl in Shift then Include(Result, EVENTFLAG_CONTROL_DOWN);
|
||||
if ssLeft in Shift then Include(Result, EVENTFLAG_LEFT_MOUSE_BUTTON);
|
||||
if ssRight in Shift then Include(Result, EVENTFLAG_RIGHT_MOUSE_BUTTON);
|
||||
if ssMiddle in Shift then Include(Result, EVENTFLAG_MIDDLE_MOUSE_BUTTON);
|
||||
Result := EVENTFLAG_NONE;
|
||||
|
||||
if (ssShift in Shift) then Result := Result or EVENTFLAG_SHIFT_DOWN;
|
||||
if (ssAlt in Shift) then Result := Result or EVENTFLAG_ALT_DOWN;
|
||||
if (ssCtrl in Shift) then Result := Result or EVENTFLAG_CONTROL_DOWN;
|
||||
if (ssLeft in Shift) then Result := Result or EVENTFLAG_LEFT_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;
|
||||
|
||||
function TForm1.GetButton(Button: TMouseButton): TCefMouseButtonType;
|
||||
begin
|
||||
case Button of
|
||||
TMouseButton.mbRight: Result := MBT_RIGHT;
|
||||
TMouseButton.mbMiddle: Result := MBT_MIDDLE;
|
||||
else Result := MBT_LEFT;
|
||||
TMouseButton.mbRight : Result := MBT_RIGHT;
|
||||
TMouseButton.mbMiddle : Result := MBT_MIDDLE;
|
||||
else Result := MBT_LEFT;
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -287,8 +370,13 @@ begin
|
||||
if (chrmosr <> nil) then chrmosr.NotifyMoveOrResizeStarted;
|
||||
end;
|
||||
|
||||
procedure TForm1.FormAfterMonitorDpiChanged(Sender: TObject; OldDPI,
|
||||
NewDPI: Integer);
|
||||
procedure TForm1.BrowserCreatedMsg(var aMessage : TMessage);
|
||||
begin
|
||||
NavControlPnl.Enabled := True;
|
||||
GoBtn.Click;
|
||||
end;
|
||||
|
||||
procedure TForm1.FormAfterMonitorDpiChanged(Sender: TObject; OldDPI, NewDPI: Integer);
|
||||
begin
|
||||
if (chrmosr <> nil) then
|
||||
begin
|
||||
@ -297,61 +385,93 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TForm1.FormShow(Sender: TObject);
|
||||
procedure TForm1.FormCreate(Sender: TObject);
|
||||
begin
|
||||
chrmosr.Options.BackgroundColor := CefColorSetARGB($FF, $FF, $FF, $FF); // opaque white background color
|
||||
chrmosr.CreateBrowser(nil, '');
|
||||
chrmosr.InitializeDragAndDrop(PaintBox);
|
||||
end;
|
||||
|
||||
procedure TForm1.PaintBoxMouseDown(Sender: TObject; Button: TMouseButton;
|
||||
Shift: TShiftState; X, Y: Integer);
|
||||
var
|
||||
event: TCefMouseEvent;
|
||||
procedure TForm1.FormDestroy(Sender: TObject);
|
||||
begin
|
||||
event.x := X;
|
||||
event.y := Y;
|
||||
event.modifiers := getModifiers(Shift);
|
||||
chrmosr.SendMouseClickEvent(@event, GetButton(Button), False, 1);
|
||||
chrmosr.ShutdownDragAndDrop;
|
||||
end;
|
||||
|
||||
procedure TForm1.PaintBoxMouseMove(Sender: TObject; Shift: TShiftState; X,
|
||||
Y: Integer);
|
||||
var
|
||||
event: TCefMouseEvent;
|
||||
procedure TForm1.FormHide(Sender: TObject);
|
||||
begin
|
||||
event.x := X;
|
||||
event.y := Y;
|
||||
event.modifiers := getModifiers(Shift);
|
||||
chrmosr.SendMouseMoveEvent(@event, not PaintBox.MouseInControl);
|
||||
chrmosr.SendFocusEvent(False);
|
||||
chrmosr.WasHidden(True);
|
||||
end;
|
||||
|
||||
procedure TForm1.PaintBoxMouseUp(Sender: TObject; Button: TMouseButton;
|
||||
Shift: TShiftState; X, Y: Integer);
|
||||
var
|
||||
event: TCefMouseEvent;
|
||||
procedure TForm1.FormShow(Sender: TObject);
|
||||
begin
|
||||
event.x := X;
|
||||
event.y := Y;
|
||||
event.modifiers := getModifiers(Shift);
|
||||
chrmosr.SendMouseClickEvent(@event, GetButton(Button), True, 1);
|
||||
chrmosr.WasHidden(False);
|
||||
chrmosr.SendFocusEvent(True);
|
||||
end;
|
||||
|
||||
procedure TForm1.PaintBoxMouseWheel(Sender: TObject; Shift: TShiftState;
|
||||
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
|
||||
var
|
||||
event: TCefMouseEvent;
|
||||
procedure TForm1.PaintBoxClick(Sender: TObject);
|
||||
begin
|
||||
event.x := MousePos.X;
|
||||
event.y := MousePos.Y;
|
||||
event.modifiers := getModifiers(Shift);
|
||||
chrmosr.SendMouseWheelEvent(@event, 0, WheelDelta);
|
||||
Panel1.SetFocus;
|
||||
end;
|
||||
|
||||
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;
|
||||
|
||||
procedure TForm1.PaintBoxResize(Sender: TObject);
|
||||
begin
|
||||
PaintBox.Buffer.SetSize(PaintBox.Width, PaintBox.Height);
|
||||
chrmosr.WasResized;
|
||||
end;
|
||||
|
||||
procedure TForm1.Panel1Enter(Sender: TObject);
|
||||
begin
|
||||
chrmosr.SendFocusEvent(True);
|
||||
end;
|
||||
|
||||
procedure TForm1.Panel1Exit(Sender: TObject);
|
||||
begin
|
||||
chrmosr.SendFocusEvent(False);
|
||||
end;
|
||||
|
||||
end.
|
||||
|
@ -2,11 +2,11 @@
|
||||
<BorlandProject>
|
||||
<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: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\Unit1.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\ToolBoxBrowser\uMainForm.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: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\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\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: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\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.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\uChildForm.dfm=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\ToolBoxBrowser\Unit2.dfm</Transaction>
|
||||
</Transactions>
|
||||
</BorlandProject>
|
||||
|
@ -45,15 +45,16 @@ BorlandEditorCodeExplorer=BorlandEditorCodeExplorer@EditWindow0
|
||||
TopPanelSize=0
|
||||
LeftPanelSize=0
|
||||
RightPanelSize=2000
|
||||
RightPanelClients=DockSite2,DockSite4
|
||||
RightPanelData=00000800010100000000551500000000000001D00700000000000001000000004312000009000000446F636B536974653201000000009D1D000009000000446F636B5369746534FFFFFFFF
|
||||
BottomPanelSize=1475
|
||||
RightPanelClients=DockSite2
|
||||
RightPanelData=00000800010100000000AA1900000000000001D0070000000000000100000000A123000009000000446F636B5369746532FFFFFFFF
|
||||
BottomPanelSize=0
|
||||
BottomPanelClients=DockSite1,MessageView
|
||||
BottomPanelData=0000080001020100000009000000446F636B53697465313B3600000000000002C30500000000000001000000003B3600000F0000004D65737361676556696577466F726DFFFFFFFF
|
||||
BottomPanelData=0000080001020200000009000000446F636B53697465310F0000004D65737361676556696577466F726D3B3600000000000002820F000000000000FFFFFFFF
|
||||
BottomMiddlePanelSize=0
|
||||
BottomMiddlePanelClients=DockSite0,GraphDrawingModel
|
||||
BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F306000000000000FFFFFFFF
|
||||
TabDockLeftClients=PropertyInspector=0,DockSite3=1
|
||||
TabDockLeftClients=DockSite3=0,PropertyInspector=1
|
||||
TabDockRightClients=DockSite4=0
|
||||
|
||||
[View0]
|
||||
CustomEditViewType=TWelcomePageView
|
||||
@ -84,11 +85,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=213
|
||||
LRDockWidth=13602
|
||||
Dockable=1
|
||||
@ -132,11 +133,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=4226
|
||||
Height=8868
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=4226
|
||||
ClientHeight=8868
|
||||
TBDockHeight=5897
|
||||
LRDockWidth=2352
|
||||
Dockable=1
|
||||
@ -145,18 +146,18 @@ StayOnTop=0
|
||||
[MessageView]
|
||||
PercentageSizes=1
|
||||
Create=1
|
||||
Visible=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=23
|
||||
Width=10000
|
||||
Height=1267
|
||||
Width=2773
|
||||
Height=3845
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=10000
|
||||
ClientHeight=1267
|
||||
TBDockHeight=1267
|
||||
ClientWidth=2773
|
||||
ClientHeight=3845
|
||||
TBDockHeight=3845
|
||||
LRDockWidth=2773
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
@ -169,12 +170,12 @@ Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=2747
|
||||
Width=1875
|
||||
Height=6693
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=2747
|
||||
ClientWidth=1875
|
||||
ClientHeight=6693
|
||||
TBDockHeight=7152
|
||||
LRDockWidth=2000
|
||||
Dockable=1
|
||||
@ -224,8 +225,8 @@ Create=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=-148
|
||||
Top=-137
|
||||
Left=-8
|
||||
Top=-30
|
||||
Width=1844
|
||||
Height=3139
|
||||
MaxLeft=-1
|
||||
@ -281,19 +282,19 @@ Create=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=362
|
||||
Left=78
|
||||
Top=386
|
||||
Width=1898
|
||||
Height=5370
|
||||
Height=7164
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=1898
|
||||
ClientHeight=5370
|
||||
ClientWidth=1773
|
||||
ClientHeight=6738
|
||||
TBDockHeight=7164
|
||||
LRDockWidth=1898
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
SplitPos=111
|
||||
SplitPos=136
|
||||
|
||||
[frmDesignPreview]
|
||||
PercentageSizes=1
|
||||
@ -304,11 +305,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=6861
|
||||
Height=6816
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=6861
|
||||
ClientHeight=6816
|
||||
TBDockHeight=5964
|
||||
LRDockWidth=2508
|
||||
Dockable=1
|
||||
@ -320,8 +321,8 @@ Create=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=-898
|
||||
Top=-137
|
||||
Left=-946
|
||||
Top=1
|
||||
Width=2844
|
||||
Height=6200
|
||||
MaxLeft=-1
|
||||
@ -339,8 +340,8 @@ Create=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=-1026
|
||||
Top=-137
|
||||
Left=-8
|
||||
Top=287
|
||||
Width=273
|
||||
Height=359
|
||||
MaxLeft=-1
|
||||
@ -364,11 +365,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=415
|
||||
LRDockWidth=4953
|
||||
Dockable=1
|
||||
@ -383,11 +384,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=213
|
||||
LRDockWidth=7406
|
||||
Dockable=1
|
||||
@ -406,11 +407,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=1536
|
||||
LRDockWidth=3484
|
||||
Dockable=1
|
||||
@ -425,11 +426,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=2063
|
||||
LRDockWidth=3484
|
||||
Dockable=1
|
||||
@ -444,11 +445,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2336
|
||||
Height=1177
|
||||
Height=942
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2336
|
||||
ClientHeight=1177
|
||||
ClientHeight=942
|
||||
TBDockHeight=2321
|
||||
LRDockWidth=2820
|
||||
Dockable=1
|
||||
@ -509,11 +510,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=6861
|
||||
Height=6816
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=6861
|
||||
ClientHeight=6816
|
||||
TBDockHeight=4888
|
||||
LRDockWidth=7148
|
||||
Dockable=1
|
||||
@ -525,8 +526,8 @@ Create=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Left=249
|
||||
Top=709
|
||||
Width=2859
|
||||
Height=3206
|
||||
MaxLeft=-1
|
||||
@ -547,11 +548,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=1547
|
||||
LRDockWidth=8742
|
||||
Dockable=1
|
||||
@ -572,12 +573,12 @@ Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=1898
|
||||
Height=9170
|
||||
Width=1773
|
||||
Height=6738
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=1898
|
||||
ClientHeight=9170
|
||||
ClientWidth=1773
|
||||
ClientHeight=6738
|
||||
TBDockHeight=3677
|
||||
LRDockWidth=1898
|
||||
Dockable=1
|
||||
@ -592,11 +593,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=6861
|
||||
Height=6816
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=6861
|
||||
ClientHeight=6816
|
||||
TBDockHeight=4888
|
||||
LRDockWidth=5305
|
||||
Dockable=1
|
||||
@ -657,14 +658,14 @@ Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Top=23
|
||||
Width=3820
|
||||
Height=1424
|
||||
Height=874
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1424
|
||||
TBDockHeight=1424
|
||||
ClientHeight=874
|
||||
TBDockHeight=874
|
||||
LRDockWidth=3820
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
@ -683,12 +684,12 @@ State=0
|
||||
Left=0
|
||||
Top=23
|
||||
Width=2000
|
||||
Height=4529
|
||||
Height=9170
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=4529
|
||||
TBDockHeight=7164
|
||||
ClientHeight=9170
|
||||
TBDockHeight=7119
|
||||
LRDockWidth=2000
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
@ -705,13 +706,13 @@ Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=23
|
||||
Top=0
|
||||
Width=1898
|
||||
Height=9170
|
||||
Height=7164
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=1898
|
||||
ClientHeight=9170
|
||||
ClientWidth=1773
|
||||
ClientHeight=6738
|
||||
TBDockHeight=7164
|
||||
LRDockWidth=1898
|
||||
Dockable=1
|
||||
@ -721,22 +722,22 @@ ActiveTabID=StructureView
|
||||
TabDockClients=StructureView,ClassBrowserTool
|
||||
|
||||
[DockSite4]
|
||||
HostDockSite=DockRightPanel
|
||||
HostDockSite=RightTabDock
|
||||
DockSiteType=1
|
||||
PercentageSizes=1
|
||||
Create=1
|
||||
Visible=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=454
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=2747
|
||||
Height=7119
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=2747
|
||||
TBDockHeight=7164
|
||||
ClientWidth=1875
|
||||
ClientHeight=6693
|
||||
TBDockHeight=7119
|
||||
LRDockWidth=2000
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
|
@ -3,7 +3,7 @@ EditorSecs=684
|
||||
DesignerSecs=16
|
||||
InspectorSecs=1
|
||||
CompileSecs=22006
|
||||
OtherSecs=57
|
||||
OtherSecs=58
|
||||
StartTime=21/05/2017 17:35:40
|
||||
RealKeys=0
|
||||
EffectiveKeys=0
|
||||
|
@ -151,6 +151,8 @@ contains
|
||||
uCEFChromiumWindow in 'uCEFChromiumWindow.pas',
|
||||
uCEFBaseRefCounted in 'uCEFBaseRefCounted.pas',
|
||||
uCEFBaseScopedWrapper in 'uCEFBaseScopedWrapper.pas',
|
||||
uCEFAccessibilityHandler in 'uCEFAccessibilityHandler.pas';
|
||||
uCEFAccessibilityHandler in 'uCEFAccessibilityHandler.pas',
|
||||
uOLEDragAndDrop in 'uOLEDragAndDrop.pas',
|
||||
uCEFDragAndDropMgr in 'uCEFDragAndDropMgr.pas';
|
||||
|
||||
end.
|
||||
|
@ -210,6 +210,8 @@
|
||||
<DCCReference Include="uCEFBaseRefCounted.pas"/>
|
||||
<DCCReference Include="uCEFBaseScopedWrapper.pas"/>
|
||||
<DCCReference Include="uCEFAccessibilityHandler.pas"/>
|
||||
<DCCReference Include="uOLEDragAndDrop.pas"/>
|
||||
<DCCReference Include="uCEFDragAndDropMgr.pas"/>
|
||||
<BuildConfiguration Include="Release">
|
||||
<Key>Cfg_2</Key>
|
||||
<CfgParent>Base</CfgParent>
|
||||
|
@ -2,288 +2,289 @@
|
||||
<BorlandProject>
|
||||
<Transactions>
|
||||
<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: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.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: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: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: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 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 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\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: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: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: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 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 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\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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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\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\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\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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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 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 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\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\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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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\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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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\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: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/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: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/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/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: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: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: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: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 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 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\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: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: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: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\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: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: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: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\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 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: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 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: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: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: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: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 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: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 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: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/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/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\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.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\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/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>
|
||||
</BorlandProject>
|
||||
|
@ -1,27 +1,62 @@
|
||||
[Closed Files]
|
||||
File_0=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFLibFunctions.pas',0,1,46,123,95,0,0,,
|
||||
File_1=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFApplication.pas',0,1,52,44,917,0,0,,
|
||||
File_2=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFMiscFunctions.pas',0,1,952,39,987,0,0,,
|
||||
File_3=TSourceModule,'V:\3071_2\include\capi\cef_file_util_capi.h',0,1,1,49,38,0,0,,
|
||||
File_4=TSourceModule,'V:\3071\include\capi\cef_file_util_capi.h',0,1,1,1,1,0,0,,
|
||||
File_5=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFClient.pas',0,1,599,83,622,0,0,,
|
||||
File_6=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFConstants.pas',0,1,253,25,279,0,0,,
|
||||
File_7=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFDomDocument.pas',0,1,46,1,1,0,0,,
|
||||
File_8=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFInterfaces.pas',0,1,751,18,767,0,0,,
|
||||
File_9=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFTypes.pas',0,1,2276,92,2313,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\uCEFConstants.pas',0,1,335,44,361,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,'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\tests\cefclient\browser\osr_dragdrop_win.cc',0,1,553,35,552,0,0,,{1
|
||||
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,'O:\GWDrgDrp\GWDragDemo\GWDragDemoAppInterface.pas',0,1,112,50,152,0,0,,
|
||||
File_7=TSourceModule,'O:\GWDrgDrp\GWDragDemo\GWDragSource.pas',0,1,540,29,568,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:\program files\embarcadero\studio\17.0\source\rtl\win\Winapi.Windows.pas',0,1,23379,1,23403,0,0,,
|
||||
|
||||
[Modules]
|
||||
Module0=default.htm
|
||||
Count=1
|
||||
Module0=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFDragAndDropMgr.pas
|
||||
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
|
||||
|
||||
[C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFDragAndDropMgr.pas]
|
||||
ModuleType=TSourceModule
|
||||
FormState=0
|
||||
FormOnTop=0
|
||||
|
||||
[default.htm]
|
||||
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]
|
||||
ViewCount=1
|
||||
CurrentView=0
|
||||
ViewCount=6
|
||||
CurrentEditView=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFDragAndDropMgr.pas
|
||||
View0=0
|
||||
View1=1
|
||||
View2=2
|
||||
View3=3
|
||||
View4=4
|
||||
View5=5
|
||||
PercentageSizes=1
|
||||
Create=1
|
||||
Visible=1
|
||||
@ -39,20 +74,76 @@ DockedToMainForm=1
|
||||
BorlandEditorCodeExplorer=BorlandEditorCodeExplorer@EditWindow0
|
||||
TopPanelSize=0
|
||||
LeftPanelSize=0
|
||||
RightPanelSize=0
|
||||
BottomPanelSize=0
|
||||
RightPanelSize=2000
|
||||
RightPanelClients=DockSite2,DockSite4
|
||||
RightPanelData=00000800010100000000661600000000000001D0070000000000000100000000610A000009000000446F636B53697465320100000000191F000009000000446F636B5369746534FFFFFFFF
|
||||
BottomPanelSize=1095
|
||||
BottomPanelClients=DockSite1,MessageView
|
||||
BottomPanelData=0000080001020200000009000000446F636B53697465310F0000004D65737361676556696577466F726D1234000000000000022506000000000000FFFFFFFF
|
||||
BottomPanelData=0000080001020100000009000000446F636B53697465313B3600000000000002470400000000000001000000003B3600000F0000004D65737361676556696577466F726DFFFFFFFF
|
||||
BottomMiddlePanelSize=0
|
||||
BottomMiddlePanelClients=DockSite0,GraphDrawingModel
|
||||
BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F306000000000000FFFFFFFF
|
||||
TabDockLeftClients=PropertyInspector=0,DockSite3=1
|
||||
TabDockRightClients=DockSite4=0,DockSite2=1
|
||||
TabDockLeftClients=DockSite3=0,PropertyInspector=1
|
||||
|
||||
[View0]
|
||||
CustomEditViewType=TWelcomePageView
|
||||
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]
|
||||
Count=0
|
||||
|
||||
@ -67,11 +158,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=213
|
||||
LRDockWidth=13602
|
||||
Dockable=1
|
||||
@ -115,11 +206,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=8845
|
||||
Height=2141
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=8845
|
||||
ClientHeight=2141
|
||||
TBDockHeight=5897
|
||||
LRDockWidth=2352
|
||||
Dockable=1
|
||||
@ -128,18 +219,18 @@ StayOnTop=0
|
||||
[MessageView]
|
||||
PercentageSizes=1
|
||||
Create=1
|
||||
Visible=0
|
||||
Visible=1
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2773
|
||||
Height=1424
|
||||
Top=23
|
||||
Width=10000
|
||||
Height=874
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2773
|
||||
ClientHeight=1424
|
||||
TBDockHeight=1424
|
||||
ClientWidth=10000
|
||||
ClientHeight=874
|
||||
TBDockHeight=874
|
||||
LRDockWidth=2773
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
@ -153,11 +244,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=4339
|
||||
Height=5224
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=4339
|
||||
ClientHeight=5224
|
||||
TBDockHeight=7152
|
||||
LRDockWidth=2000
|
||||
Dockable=1
|
||||
@ -207,8 +298,8 @@ Create=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=-148
|
||||
Top=-137
|
||||
Left=-8
|
||||
Top=-30
|
||||
Width=1844
|
||||
Height=3139
|
||||
MaxLeft=-1
|
||||
@ -264,19 +355,19 @@ Create=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=362
|
||||
Left=78
|
||||
Top=386
|
||||
Width=1898
|
||||
Height=5370
|
||||
Height=7164
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=1898
|
||||
ClientHeight=5370
|
||||
ClientWidth=1773
|
||||
ClientHeight=6738
|
||||
TBDockHeight=7164
|
||||
LRDockWidth=1898
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
SplitPos=111
|
||||
SplitPos=136
|
||||
|
||||
[frmDesignPreview]
|
||||
PercentageSizes=1
|
||||
@ -287,11 +378,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=6861
|
||||
Height=6816
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=6861
|
||||
ClientHeight=6816
|
||||
TBDockHeight=5964
|
||||
LRDockWidth=2508
|
||||
Dockable=1
|
||||
@ -303,8 +394,8 @@ Create=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=-898
|
||||
Top=-137
|
||||
Left=-946
|
||||
Top=1
|
||||
Width=2844
|
||||
Height=6200
|
||||
MaxLeft=-1
|
||||
@ -322,8 +413,8 @@ Create=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=-1026
|
||||
Top=-137
|
||||
Left=-1152
|
||||
Top=243
|
||||
Width=273
|
||||
Height=359
|
||||
MaxLeft=-1
|
||||
@ -347,11 +438,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=415
|
||||
LRDockWidth=4953
|
||||
Dockable=1
|
||||
@ -366,11 +457,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=213
|
||||
LRDockWidth=7406
|
||||
Dockable=1
|
||||
@ -389,11 +480,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=1536
|
||||
LRDockWidth=3484
|
||||
Dockable=1
|
||||
@ -408,11 +499,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=2063
|
||||
LRDockWidth=3484
|
||||
Dockable=1
|
||||
@ -427,11 +518,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2336
|
||||
Height=1177
|
||||
Height=942
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2336
|
||||
ClientHeight=1177
|
||||
ClientHeight=942
|
||||
TBDockHeight=2321
|
||||
LRDockWidth=2820
|
||||
Dockable=1
|
||||
@ -492,11 +583,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=6861
|
||||
Height=6816
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=6861
|
||||
ClientHeight=6816
|
||||
TBDockHeight=4888
|
||||
LRDockWidth=7148
|
||||
Dockable=1
|
||||
@ -508,8 +599,8 @@ Create=1
|
||||
Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Left=249
|
||||
Top=709
|
||||
Width=2859
|
||||
Height=3206
|
||||
MaxLeft=-1
|
||||
@ -530,11 +621,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=3820
|
||||
Height=1121
|
||||
Height=572
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1121
|
||||
ClientHeight=572
|
||||
TBDockHeight=1547
|
||||
LRDockWidth=8742
|
||||
Dockable=1
|
||||
@ -555,12 +646,12 @@ Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=1898
|
||||
Height=9170
|
||||
Width=1773
|
||||
Height=6738
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=1898
|
||||
ClientHeight=9170
|
||||
ClientWidth=1773
|
||||
ClientHeight=6738
|
||||
TBDockHeight=3677
|
||||
LRDockWidth=1898
|
||||
Dockable=1
|
||||
@ -575,11 +666,11 @@ State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Width=2000
|
||||
Height=6861
|
||||
Height=6816
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=6861
|
||||
ClientHeight=6816
|
||||
TBDockHeight=4888
|
||||
LRDockWidth=5305
|
||||
Dockable=1
|
||||
@ -640,14 +731,14 @@ Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=0
|
||||
Top=23
|
||||
Width=3820
|
||||
Height=1424
|
||||
Height=874
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=3820
|
||||
ClientHeight=1424
|
||||
TBDockHeight=1424
|
||||
ClientHeight=874
|
||||
TBDockHeight=874
|
||||
LRDockWidth=3820
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
@ -656,22 +747,22 @@ ActiveTabID=DebugLogView
|
||||
TabDockClients=DebugLogView,BreakpointWindow,ThreadStatusWindow,CallStackWindow,WatchWindow,LocalVarsWindow
|
||||
|
||||
[DockSite2]
|
||||
HostDockSite=RightTabDock
|
||||
HostDockSite=DockRightPanel
|
||||
DockSiteType=1
|
||||
PercentageSizes=1
|
||||
Create=1
|
||||
Visible=0
|
||||
Visible=1
|
||||
Docked=1
|
||||
State=0
|
||||
Left=4
|
||||
Top=24
|
||||
Left=0
|
||||
Top=23
|
||||
Width=2000
|
||||
Height=9148
|
||||
Height=2444
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=9148
|
||||
TBDockHeight=7164
|
||||
ClientHeight=2444
|
||||
TBDockHeight=7119
|
||||
LRDockWidth=2000
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
@ -688,13 +779,13 @@ Visible=0
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=23
|
||||
Top=0
|
||||
Width=1898
|
||||
Height=9170
|
||||
Height=7164
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=1898
|
||||
ClientHeight=9170
|
||||
ClientWidth=1773
|
||||
ClientHeight=6738
|
||||
TBDockHeight=7164
|
||||
LRDockWidth=1898
|
||||
Dockable=1
|
||||
@ -704,22 +795,22 @@ ActiveTabID=StructureView
|
||||
TabDockClients=StructureView,ClassBrowserTool
|
||||
|
||||
[DockSite4]
|
||||
HostDockSite=RightTabDock
|
||||
HostDockSite=DockRightPanel
|
||||
DockSiteType=1
|
||||
PercentageSizes=1
|
||||
Create=1
|
||||
Visible=0
|
||||
Visible=1
|
||||
Docked=1
|
||||
State=0
|
||||
Left=0
|
||||
Top=454
|
||||
Top=268
|
||||
Width=2000
|
||||
Height=4339
|
||||
Height=5224
|
||||
MaxLeft=-1
|
||||
MaxTop=-1
|
||||
ClientWidth=2000
|
||||
ClientHeight=4339
|
||||
TBDockHeight=7164
|
||||
ClientHeight=5224
|
||||
TBDockHeight=7119
|
||||
LRDockWidth=2000
|
||||
Dockable=1
|
||||
StayOnTop=0
|
||||
|
Binary file not shown.
@ -1,9 +1,9 @@
|
||||
[Stats]
|
||||
EditorSecs=112337
|
||||
EditorSecs=138579
|
||||
DesignerSecs=97
|
||||
InspectorSecs=324
|
||||
CompileSecs=3145294
|
||||
OtherSecs=12000
|
||||
CompileSecs=4032654
|
||||
OtherSecs=14027
|
||||
StartTime=22/01/2017 10:49:52
|
||||
RealKeys=0
|
||||
EffectiveKeys=0
|
||||
|
@ -48,57 +48,62 @@ interface
|
||||
|
||||
uses
|
||||
{$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}
|
||||
Windows, Messages, Classes, Controls, Graphics, Forms,
|
||||
Windows, Messages, Classes, Controls, Graphics, Forms, ActiveX,
|
||||
{$ENDIF}
|
||||
uCEFTypes, uCEFInterfaces, uCEFLibFunctions, uCEFMiscFunctions, uCEFClient,
|
||||
uCEFPDFPrintCallback, uCEFStringVisitor, uCEFConstants, uCEFTask,
|
||||
uCEFDeleteCookiesCallback, uCEFDomVisitor, uCEFChromiumEvents,
|
||||
uCEFChromiumOptions, uCEFChromiumFontOptions, uCEFPDFPrintOptions;
|
||||
uCEFChromiumOptions, uCEFChromiumFontOptions, uCEFPDFPrintOptions,
|
||||
uCEFDragAndDropMgr;
|
||||
|
||||
type
|
||||
TChromium = class(TComponent, IChromiumEvents)
|
||||
protected
|
||||
FCompHandle : HWND;
|
||||
FVisitor : ICefStringVisitor;
|
||||
FPDFPrintcb : ICefPdfPrintCallback;
|
||||
FCookiDeletercb : ICefDeleteCookiesCallback;
|
||||
FHandler : ICefClient;
|
||||
FBrowser : ICefBrowser;
|
||||
FBrowserId : Integer;
|
||||
FDefaultUrl : ustring;
|
||||
FOptions : TChromiumOptions;
|
||||
FFontOptions : TChromiumFontOptions;
|
||||
FPDFPrintOptions : TPDFPrintOptions;
|
||||
FDefaultEncoding : ustring;
|
||||
FProxyType : integer;
|
||||
FProxyServer : string;
|
||||
FProxyPort : integer;
|
||||
FProxyUsername : string;
|
||||
FProxyPassword : string;
|
||||
FProxyScriptURL : string;
|
||||
FProxyByPassList : string;
|
||||
FUpdatePreferences : boolean;
|
||||
FCustomHeaderName : string;
|
||||
FCustomHeaderValue : string;
|
||||
FAddCustomHeader : boolean;
|
||||
FDoNotTrack : boolean;
|
||||
FSendReferrer : boolean;
|
||||
FHyperlinkAuditing : boolean;
|
||||
FCookiePrefs : integer;
|
||||
FImagesPrefs : integer;
|
||||
FCMStoragePath : ustring;
|
||||
FZoomStep : byte;
|
||||
FWindowName : string;
|
||||
FPrefsFileName : string;
|
||||
FIsOSR : boolean;
|
||||
FInitialized : boolean;
|
||||
FClosing : boolean;
|
||||
FWindowInfo : TCefWindowInfo;
|
||||
FBrowserSettings : TCefBrowserSettings;
|
||||
FDevWindowInfo : TCefWindowInfo;
|
||||
FDevBrowserSettings : TCefBrowserSettings;
|
||||
FCompHandle : HWND;
|
||||
FVisitor : ICefStringVisitor;
|
||||
FPDFPrintcb : ICefPdfPrintCallback;
|
||||
FCookiDeletercb : ICefDeleteCookiesCallback;
|
||||
FHandler : ICefClient;
|
||||
FBrowser : ICefBrowser;
|
||||
FBrowserId : Integer;
|
||||
FDefaultUrl : ustring;
|
||||
FOptions : TChromiumOptions;
|
||||
FFontOptions : TChromiumFontOptions;
|
||||
FPDFPrintOptions : TPDFPrintOptions;
|
||||
FDefaultEncoding : ustring;
|
||||
FProxyType : integer;
|
||||
FProxyServer : string;
|
||||
FProxyPort : integer;
|
||||
FProxyUsername : string;
|
||||
FProxyPassword : string;
|
||||
FProxyScriptURL : string;
|
||||
FProxyByPassList : string;
|
||||
FUpdatePreferences : boolean;
|
||||
FCustomHeaderName : string;
|
||||
FCustomHeaderValue : string;
|
||||
FAddCustomHeader : boolean;
|
||||
FDoNotTrack : boolean;
|
||||
FSendReferrer : boolean;
|
||||
FHyperlinkAuditing : boolean;
|
||||
FCookiePrefs : integer;
|
||||
FImagesPrefs : integer;
|
||||
FCMStoragePath : ustring;
|
||||
FZoomStep : byte;
|
||||
FWindowName : string;
|
||||
FPrefsFileName : string;
|
||||
FIsOSR : boolean;
|
||||
FInitialized : boolean;
|
||||
FClosing : boolean;
|
||||
FWindowInfo : TCefWindowInfo;
|
||||
FBrowserSettings : TCefBrowserSettings;
|
||||
FDevWindowInfo : TCefWindowInfo;
|
||||
FDevBrowserSettings : TCefBrowserSettings;
|
||||
FDragOperations : TCefDragOperations;
|
||||
FDragDropManager : TCEFDragAndDropMgr;
|
||||
FDropTargetCtrl : TWinControl;
|
||||
FDragAndDropInitialized : boolean;
|
||||
|
||||
// ICefClient
|
||||
FOnProcessMessageReceived : TOnProcessMessageReceived;
|
||||
@ -270,9 +275,15 @@ type
|
||||
procedure PrefsAvailableMsg(var aMessage : TMessage);
|
||||
function GetParentForm : TCustomForm;
|
||||
procedure ApplyZoomStep;
|
||||
procedure DelayedDragging;
|
||||
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 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
|
||||
function doOnProcessMessageReceived(const browser: ICefBrowser; sourceProcess: TCefProcessId; const aMessage: ICefProcessMessage): Boolean; virtual;
|
||||
@ -378,6 +389,8 @@ type
|
||||
procedure CloseBrowser(aForceClose : boolean);
|
||||
function CreateBrowser(const aBrowserParent : TWinControl = nil; 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.
|
||||
// Only tasks, visitors or callbacks should use them in the right thread/process.
|
||||
@ -450,6 +463,13 @@ type
|
||||
procedure SetFocus(focus: Boolean);
|
||||
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 Options : TChromiumOptions read FOptions write FOptions;
|
||||
@ -488,6 +508,7 @@ type
|
||||
property SendReferrer : boolean read FSendReferrer write SetSendReferrer;
|
||||
property HyperlinkAuditing : boolean read FHyperlinkAuditing write SetHyperlinkAuditing;
|
||||
property HasValidMainFrame : boolean read GetHasValidMainFrame;
|
||||
property DragOperations : TCefDragOperations read FDragOperations write FDragOperations;
|
||||
|
||||
property ProxyType : integer read FProxyType write SetProxyType;
|
||||
property ProxyServer : string read FProxyServer write SetProxyServer;
|
||||
@ -609,45 +630,49 @@ uses
|
||||
SysUtils, Math,
|
||||
{$ENDIF}
|
||||
uCEFBrowser, uCEFValue, uCEFDictionaryValue, uCEFStringMultimap, uCEFCookieManager, uCEFFrame,
|
||||
uCEFApplication, uCEFProcessMessage;
|
||||
uCEFApplication, uCEFProcessMessage, uOLEDragAndDrop;
|
||||
|
||||
constructor TChromium.Create(AOwner: TComponent);
|
||||
begin
|
||||
FBrowser := nil;
|
||||
FBrowserId := 0;
|
||||
FCompHandle := 0;
|
||||
FClosing := False;
|
||||
FInitialized := False;
|
||||
FIsOSR := False;
|
||||
FDefaultUrl := 'about:blank';
|
||||
FHandler := nil;
|
||||
FOptions := nil;
|
||||
FFontOptions := nil;
|
||||
FDefaultEncoding := '';
|
||||
FVisitor := nil;
|
||||
FPDFPrintcb := nil;
|
||||
FCookiDeletercb := nil;
|
||||
FPDFPrintOptions := nil;
|
||||
FUpdatePreferences := False;
|
||||
FCustomHeaderName := '';
|
||||
FCustomHeaderValue := '';
|
||||
FPrefsFileName := '';
|
||||
FAddCustomHeader := False;
|
||||
FDoNotTrack := True;
|
||||
FSendReferrer := True;
|
||||
FHyperlinkAuditing := False;
|
||||
FCookiePrefs := CEF_CONTENT_SETTING_ALLOW;
|
||||
FImagesPrefs := CEF_CONTENT_SETTING_ALLOW;
|
||||
FZoomStep := ZOOM_STEP_DEF;
|
||||
FWindowName := '';
|
||||
FBrowser := nil;
|
||||
FBrowserId := 0;
|
||||
FCompHandle := 0;
|
||||
FClosing := False;
|
||||
FInitialized := False;
|
||||
FIsOSR := False;
|
||||
FDefaultUrl := 'about:blank';
|
||||
FHandler := nil;
|
||||
FOptions := nil;
|
||||
FFontOptions := nil;
|
||||
FDefaultEncoding := '';
|
||||
FVisitor := nil;
|
||||
FPDFPrintcb := nil;
|
||||
FCookiDeletercb := nil;
|
||||
FPDFPrintOptions := nil;
|
||||
FUpdatePreferences := False;
|
||||
FCustomHeaderName := '';
|
||||
FCustomHeaderValue := '';
|
||||
FPrefsFileName := '';
|
||||
FAddCustomHeader := False;
|
||||
FDoNotTrack := True;
|
||||
FSendReferrer := True;
|
||||
FHyperlinkAuditing := False;
|
||||
FCookiePrefs := CEF_CONTENT_SETTING_ALLOW;
|
||||
FImagesPrefs := CEF_CONTENT_SETTING_ALLOW;
|
||||
FZoomStep := ZOOM_STEP_DEF;
|
||||
FWindowName := '';
|
||||
FDragOperations := DRAG_OPERATION_NONE;
|
||||
FDragDropManager := nil;
|
||||
FDropTargetCtrl := nil;
|
||||
FDragAndDropInitialized := False;
|
||||
|
||||
FProxyType := CEF_PROXYTYPE_DIRECT;
|
||||
FProxyServer := '';
|
||||
FProxyPort := 80;
|
||||
FProxyUsername := '';
|
||||
FProxyPassword := '';
|
||||
FProxyScriptURL := '';
|
||||
FProxyByPassList := '';
|
||||
FProxyType := CEF_PROXYTYPE_DIRECT;
|
||||
FProxyServer := '';
|
||||
FProxyPort := 80;
|
||||
FProxyUsername := '';
|
||||
FProxyPassword := '';
|
||||
FProxyScriptURL := '';
|
||||
FProxyByPassList := '';
|
||||
|
||||
FillChar(FWindowInfo, SizeOf(TCefWindowInfo), 0);
|
||||
FillChar(FDevWindowInfo, SizeOf(TCefWindowInfo), 0);
|
||||
@ -664,6 +689,8 @@ destructor TChromium.Destroy;
|
||||
begin
|
||||
try
|
||||
try
|
||||
if (FDragDropManager <> nil) then FreeAndNil(FDragDropManager);
|
||||
|
||||
if (FCompHandle <> 0) then
|
||||
begin
|
||||
DeallocateHWnd(FCompHandle);
|
||||
@ -898,6 +925,91 @@ begin
|
||||
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);
|
||||
DragTargetDrop(@TempMouseEvent);
|
||||
|
||||
DragOperationToDropEffect(FDragOperations, dwEffect);
|
||||
end;
|
||||
|
||||
procedure TChromium.CloseBrowser(aForceClose : boolean);
|
||||
begin
|
||||
if Initialized then FBrowser.Host.CloseBrowser(aForceClose);
|
||||
@ -1615,7 +1727,7 @@ begin
|
||||
begin
|
||||
TempEvent.x := 0;
|
||||
TempEvent.y := 0;
|
||||
TempEvent.modifiers := [];
|
||||
TempEvent.modifiers := EVENTFLAG_NONE;
|
||||
FBrowser.Host.SendMouseWheelEvent(@TempEvent, aDeltaX, aDeltaY);
|
||||
end;
|
||||
end;
|
||||
@ -2133,6 +2245,7 @@ procedure TChromium.WndProc(var aMessage: TMessage);
|
||||
begin
|
||||
case aMessage.Msg of
|
||||
CEF_PREFERENCES_SAVED : PrefsAvailableMsg(aMessage);
|
||||
CEF_STARTDRAGGING : DelayedDragging;
|
||||
|
||||
else aMessage.Result := DefWindowProc(FCompHandle, aMessage.Msg, aMessage.WParam, aMessage.LParam);
|
||||
end;
|
||||
@ -2687,9 +2800,35 @@ function TChromium.doOnStartDragging(const browser : ICefBrowser;
|
||||
begin
|
||||
Result := False;
|
||||
|
||||
if FDragAndDropInitialized and
|
||||
FDragDropManager.CloneDragData(dragData, allowedOps) then
|
||||
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);
|
||||
|
||||
DragSourceEndedAt(TempPoint.x, TempPoint.y, TempOperation);
|
||||
DragSourceSystemDragEnded;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TChromium.doOnStatusMessage(const browser: ICefBrowser; const value: ustring);
|
||||
begin
|
||||
if Assigned(FOnStatusMessage) then FOnStatusMessage(Self, browser, value);
|
||||
@ -2714,6 +2853,8 @@ end;
|
||||
|
||||
procedure TChromium.doOnUpdateDragCursor(const browser: ICefBrowser; operation: TCefDragOperation);
|
||||
begin
|
||||
if FDragAndDropInitialized then FDragOperations := operation;
|
||||
|
||||
if Assigned(FOnUpdateDragCursor) then FOnUpdateDragCursor(Self, browser, operation);
|
||||
end;
|
||||
|
||||
@ -2893,4 +3034,34 @@ 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;
|
||||
|
||||
procedure TChromium.DragSourceSystemDragEnded;
|
||||
begin
|
||||
if Initialized then FBrowser.Host.DragSourceSystemDragEnded;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
@ -134,9 +134,17 @@ const
|
||||
CERT_STATUS_FIRST_ERROR = CERT_STATUS_COMMON_NAME_INVALID;
|
||||
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)
|
||||
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)
|
||||
TT_LINK = 0;
|
||||
@ -145,7 +153,7 @@ const
|
||||
TT_MANUAL_SUBFRAME = 4;
|
||||
TT_FORM_SUBMIT = 7;
|
||||
TT_RELOAD = 8;
|
||||
TT_SOURCE_MASK = $FF;
|
||||
TT_SOURCE_MASK = $000000FF;
|
||||
TT_BLOCKED_FLAG = $00800000;
|
||||
TT_FORWARD_BACK_FLAG = $01000000;
|
||||
TT_CHAIN_START_FLAG = $10000000;
|
||||
@ -155,27 +163,60 @@ const
|
||||
TT_IS_REDIRECT_MASK = $C0000000;
|
||||
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)
|
||||
DOM_EVENT_CATEGORY_UNKNOWN = $0;
|
||||
DOM_EVENT_CATEGORY_UI = $1;
|
||||
DOM_EVENT_CATEGORY_MOUSE = $2;
|
||||
DOM_EVENT_CATEGORY_MUTATION = $4;
|
||||
DOM_EVENT_CATEGORY_KEYBOARD = $8;
|
||||
DOM_EVENT_CATEGORY_TEXT = $10;
|
||||
DOM_EVENT_CATEGORY_COMPOSITION = $20;
|
||||
DOM_EVENT_CATEGORY_DRAG = $40;
|
||||
DOM_EVENT_CATEGORY_CLIPBOARD = $80;
|
||||
DOM_EVENT_CATEGORY_MESSAGE = $100;
|
||||
DOM_EVENT_CATEGORY_WHEEL = $200;
|
||||
DOM_EVENT_CATEGORY_BEFORE_TEXT_INSERTED = $400;
|
||||
DOM_EVENT_CATEGORY_OVERFLOW = $800;
|
||||
DOM_EVENT_CATEGORY_PAGE_TRANSITION = $1000;
|
||||
DOM_EVENT_CATEGORY_POPSTATE = $2000;
|
||||
DOM_EVENT_CATEGORY_PROGRESS = $4000;
|
||||
DOM_EVENT_CATEGORY_XMLHTTPREQUEST_PROGRESS = $8000;
|
||||
DOM_EVENT_CATEGORY_UNKNOWN = 0;
|
||||
DOM_EVENT_CATEGORY_UI = 1 shl 0;
|
||||
DOM_EVENT_CATEGORY_MOUSE = 1 shl 1;
|
||||
DOM_EVENT_CATEGORY_MUTATION = 1 shl 2;
|
||||
DOM_EVENT_CATEGORY_KEYBOARD = 1 shl 3;
|
||||
DOM_EVENT_CATEGORY_TEXT = 1 shl 4;
|
||||
DOM_EVENT_CATEGORY_COMPOSITION = 1 shl 5;
|
||||
DOM_EVENT_CATEGORY_DRAG = 1 shl 6;
|
||||
DOM_EVENT_CATEGORY_CLIPBOARD = 1 shl 7;
|
||||
DOM_EVENT_CATEGORY_MESSAGE = 1 shl 8;
|
||||
DOM_EVENT_CATEGORY_WHEEL = 1 shl 9;
|
||||
DOM_EVENT_CATEGORY_BEFORE_TEXT_INSERTED = 1 shl 10;
|
||||
DOM_EVENT_CATEGORY_OVERFLOW = 1 shl 11;
|
||||
DOM_EVENT_CATEGORY_PAGE_TRANSITION = 1 shl 12;
|
||||
DOM_EVENT_CATEGORY_POPSTATE = 1 shl 13;
|
||||
DOM_EVENT_CATEGORY_PROGRESS = 1 shl 14;
|
||||
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)
|
||||
FILE_DIALOG_TYPE_MASK = $FF;
|
||||
FILE_DIALOG_TYPE_MASK = $000000FF;
|
||||
FILE_DIALOG_OVERWRITEPROMPT_FLAG = $01000000;
|
||||
FILE_DIALOG_HIDEREADONLY_FLAG = $02000000;
|
||||
|
||||
@ -217,6 +258,39 @@ const
|
||||
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)
|
||||
CM_MEDIAFLAG_NONE = 0;
|
||||
CM_MEDIAFLAG_ERROR = 1 shl 0;
|
||||
CM_MEDIAFLAG_PAUSED = 1 shl 1;
|
||||
CM_MEDIAFLAG_MUTED = 1 shl 2;
|
||||
CM_MEDIAFLAG_LOOP = 1 shl 3;
|
||||
CM_MEDIAFLAG_CAN_SAVE = 1 shl 4;
|
||||
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_SELECT_ALL = 1 shl 6;
|
||||
CM_EDITFLAG_CAN_TRANSLATE = 1 shl 7;
|
||||
|
||||
// /include/internal/cef_types.h (cef_ssl_version_t)
|
||||
SSL_CONNECTION_VERSION_UNKNOWN = 0;
|
||||
SSL_CONNECTION_VERSION_SSL2 = 1;
|
||||
@ -226,6 +300,18 @@ const
|
||||
SSL_CONNECTION_VERSION_TLS1_2 = 5;
|
||||
SSL_CONNECTION_VERSION_QUIC = 7;
|
||||
|
||||
// /include/internal/cef_types.h (cef_ssl_content_status_t)
|
||||
SSL_CONTENT_NORMAL_CONTENT = 0;
|
||||
SSL_CONTENT_DISPLAYED_INSECURE_CONTENT = 1 shl 0;
|
||||
SSL_CONTENT_RAN_INSECURE_CONTENT = 1 shl 1;
|
||||
|
||||
// /include/internal/cef_types.h (cef_json_writer_options_t)
|
||||
JSON_WRITER_DEFAULT = 0;
|
||||
JSON_WRITER_OMIT_BINARY_VALUES = 1 shl 0;
|
||||
JSON_WRITER_OMIT_DOUBLE_TYPE_PRESERVATION = 1 shl 1;
|
||||
JSON_WRITER_PRETTY_PRINT = 1 shl 2;
|
||||
|
||||
|
||||
//******************************************************
|
||||
//****************** OTHER CONSTANTS *******************
|
||||
//******************************************************
|
||||
@ -272,6 +358,7 @@ const
|
||||
|
||||
CEF_PREFERENCES_SAVED = WM_APP + $A00;
|
||||
CEF_DOONCLOSE = WM_APP + $A01;
|
||||
CEF_STARTDRAGGING = WM_APP + $A02;
|
||||
|
||||
CEF_USER_TIMER_MINIMUM = $0000000A;
|
||||
CEF_USER_TIMER_MAXIMUM = $7FFFFFFF;
|
||||
|
@ -112,7 +112,7 @@ end;
|
||||
|
||||
function TCefContextMenuParamsRef.GetEditStateFlags: TCefContextMenuEditStateFlags;
|
||||
begin
|
||||
Byte(Result) := PCefContextMenuParams(FData).get_edit_state_flags(PCefContextMenuParams(FData));
|
||||
Result := PCefContextMenuParams(FData).get_edit_state_flags(PCefContextMenuParams(FData));
|
||||
end;
|
||||
|
||||
function TCefContextMenuParamsRef.GetFrameCharset: ustring;
|
||||
@ -132,7 +132,7 @@ end;
|
||||
|
||||
function TCefContextMenuParamsRef.GetMediaStateFlags: TCefContextMenuMediaStateFlags;
|
||||
begin
|
||||
Word(Result) := PCefContextMenuParams(FData).get_media_state_flags(PCefContextMenuParams(FData));
|
||||
Result := PCefContextMenuParams(FData).get_media_state_flags(PCefContextMenuParams(FData));
|
||||
end;
|
||||
|
||||
function TCefContextMenuParamsRef.GetMediaType: TCefContextMenuMediaType;
|
||||
@ -167,7 +167,7 @@ end;
|
||||
|
||||
function TCefContextMenuParamsRef.GetTypeFlags: TCefContextMenuTypeFlags;
|
||||
begin
|
||||
Byte(Result) := PCefContextMenuParams(FData).get_type_flags(PCefContextMenuParams(FData));
|
||||
Result := PCefContextMenuParams(FData).get_type_flags(PCefContextMenuParams(FData));
|
||||
end;
|
||||
|
||||
function TCefContextMenuParamsRef.GetUnfilteredLinkUrl: ustring;
|
||||
|
@ -60,7 +60,7 @@ type
|
||||
|
||||
TCefFastDomVisitor = class(TCefDomVisitorOwn)
|
||||
protected
|
||||
FProc: TCefDomVisitorProc;
|
||||
FProc : TCefDomVisitorProc;
|
||||
|
||||
procedure visit(const document: ICefDomDocument); override;
|
||||
|
||||
@ -68,6 +68,18 @@ type
|
||||
constructor Create(const proc: TCefDomVisitorProc); reintroduce; virtual;
|
||||
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
|
||||
|
||||
uses
|
||||
@ -97,6 +109,7 @@ end;
|
||||
constructor TCefFastDomVisitor.Create(const proc: TCefDomVisitorProc);
|
||||
begin
|
||||
inherited Create;
|
||||
|
||||
FProc := proc;
|
||||
end;
|
||||
|
||||
@ -105,4 +118,27 @@ begin
|
||||
FProc(document);
|
||||
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.
|
||||
|
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);
|
||||
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);
|
||||
|
||||
TOnRegisterCustomSchemes = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const registrar: TCefSchemeRegistrarRef) {$IFNDEF DELPHI12_UP}of object{$ENDIF};
|
||||
|
@ -48,9 +48,9 @@ interface
|
||||
|
||||
uses
|
||||
{$IFDEF DELPHI16_UP}
|
||||
WinApi.Windows, System.Classes, System.SysUtils,
|
||||
WinApi.Windows, System.Classes, System.SysUtils, System.UITypes, WinApi.ActiveX,
|
||||
{$ELSE}
|
||||
Windows, Classes, SysUtils,
|
||||
Windows, Classes, SysUtils, UITypes, ActiveX,
|
||||
{$ENDIF}
|
||||
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;
|
||||
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
|
||||
|
||||
uses
|
||||
@ -987,4 +996,156 @@ begin
|
||||
cef_load_crlsets_file(@TempPath);
|
||||
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.
|
||||
|
@ -103,7 +103,7 @@ end;
|
||||
|
||||
function TCefRequestRef.GetFlags: TCefUrlRequestFlags;
|
||||
begin
|
||||
Byte(Result) := PCefRequest(FData)^.get_flags(PCefRequest(FData));
|
||||
Result := PCefRequest(FData)^.get_flags(PCefRequest(FData));
|
||||
end;
|
||||
|
||||
procedure TCefRequestRef.GetHeaderMap(const HeaderMap: ICefStringMultimap);
|
||||
|
@ -201,22 +201,32 @@ type
|
||||
PPCefX509Certificate = ^PCefX509Certificate;
|
||||
|
||||
|
||||
TCefWindowHandle = HWND; // /include/internal/cef_types_win.h (cef_window_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)
|
||||
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)
|
||||
TCefTransitionType = Cardinal; // /include/internal/cef_types.h (cef_transition_type_t)
|
||||
TCefColor = Cardinal; // /include/internal/cef_types.h (cef_color_t)
|
||||
TCefErrorcode = Integer; // /include/internal/cef_types.h (cef_errorcode_t)
|
||||
TCefCertStatus = Integer; // /include/internal/cef_types.h (cef_cert_status_t)
|
||||
TCefSSLVersion = integer; // /include/internal/cef_types.h (cef_ssl_version_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)
|
||||
TCefStringMultimap = Pointer; // /include/internal/cef_string_multimap.h (cef_string_multimap_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)
|
||||
|
||||
TCefWindowHandle = HWND; // /include/internal/cef_types_win.h (cef_window_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)
|
||||
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)
|
||||
TCefTransitionType = Cardinal; // /include/internal/cef_types.h (cef_transition_type_t)
|
||||
TCefColor = Cardinal; // /include/internal/cef_types.h (cef_color_t)
|
||||
TCefErrorcode = Integer; // /include/internal/cef_types.h (cef_errorcode_t)
|
||||
TCefCertStatus = Integer; // /include/internal/cef_types.h (cef_cert_status_t)
|
||||
TCefSSLVersion = integer; // /include/internal/cef_types.h (cef_ssl_version_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)
|
||||
TCefStringMultimap = Pointer; // /include/internal/cef_string_multimap.h (cef_string_multimap_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)
|
||||
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}
|
||||
NativeUInt = Cardinal;
|
||||
@ -359,14 +369,6 @@ type
|
||||
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)
|
||||
TCefState = (
|
||||
STATE_DEFAULT = 0,
|
||||
@ -492,40 +494,15 @@ type
|
||||
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)
|
||||
TCefFileDialogMode = (
|
||||
FILE_DIALOG_OPEN,
|
||||
FILE_DIALOG_OPEN_MULTIPLE,
|
||||
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)
|
||||
@ -681,19 +658,6 @@ type
|
||||
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)
|
||||
TCefUrlRequestStatus = (
|
||||
UR_UNKNOWN = 0,
|
||||
@ -728,22 +692,6 @@ type
|
||||
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)
|
||||
TCefResponseFilterStatus = (
|
||||
RESPONSE_FILTER_NEED_MORE_DATA,
|
||||
@ -883,45 +831,6 @@ type
|
||||
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)
|
||||
TCefButtonState = (
|
||||
CEF_BUTTON_STATE_NORMAL,
|
||||
@ -955,13 +864,6 @@ type
|
||||
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)
|
||||
TCefCDMRegistrationError = (
|
||||
CEF_CDM_REGISTRATION_ERROR_NONE,
|
||||
|
@ -47,18 +47,48 @@ unit uCEFWriteHandler;
|
||||
interface
|
||||
|
||||
uses
|
||||
{$IFDEF DELPHI16_UP}
|
||||
WinApi.Windows,
|
||||
{$ELSE}
|
||||
Windows,
|
||||
{$ENDIF}
|
||||
uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
|
||||
|
||||
type
|
||||
TCefWriteHandlerOwn = class(TCefBaseRefCountedOwn, ICefWriteHandler)
|
||||
protected
|
||||
function Write(const ptr: Pointer; size, n: NativeUInt): NativeUInt; virtual;
|
||||
function Seek(offset: Int64; whence: Integer): Integer; virtual;
|
||||
function Tell: Int64; virtual;
|
||||
function Flush: Integer; virtual;
|
||||
function MayBlock: Boolean; virtual;
|
||||
public
|
||||
constructor Create; virtual;
|
||||
protected
|
||||
function Write(const ptr: Pointer; size, n: NativeUInt): NativeUInt; virtual;
|
||||
function Seek(offset: Int64; whence: Integer): Integer; virtual;
|
||||
function Tell: Int64; virtual;
|
||||
function Flush: Integer; virtual;
|
||||
function MayBlock: Boolean; virtual;
|
||||
public
|
||||
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;
|
||||
|
||||
implementation
|
||||
@ -67,15 +97,17 @@ uses
|
||||
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
|
||||
with TCefWriteHandlerOwn(CefGetObject(self)) do
|
||||
Result:= Write(ptr, size, n);
|
||||
end;
|
||||
|
||||
function cef_write_handler_seek(self: PCefWriteHandler; offset: Int64;
|
||||
whence: Integer): Integer; stdcall;
|
||||
function cef_write_handler_seek(self: PCefWriteHandler; offset: Int64; whence: Integer): Integer; stdcall;
|
||||
begin
|
||||
with TCefWriteHandlerOwn(CefGetObject(self)) do
|
||||
Result := Seek(offset, whence);
|
||||
@ -102,14 +134,15 @@ end;
|
||||
constructor TCefWriteHandlerOwn.Create;
|
||||
begin
|
||||
inherited CreateData(SizeOf(TCefWriteHandler));
|
||||
|
||||
with PCefWriteHandler(FData)^ do
|
||||
begin
|
||||
write := cef_write_handler_write;
|
||||
seek := cef_write_handler_seek;
|
||||
tell := cef_write_handler_tell;
|
||||
flush := cef_write_handler_flush;
|
||||
may_block := cef_write_handler_may_block;
|
||||
end;
|
||||
begin
|
||||
write := cef_write_handler_write;
|
||||
seek := cef_write_handler_seek;
|
||||
tell := cef_write_handler_tell;
|
||||
flush := cef_write_handler_flush;
|
||||
may_block := cef_write_handler_may_block;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TCefWriteHandlerOwn.Flush: Integer;
|
||||
@ -132,10 +165,154 @@ begin
|
||||
Result := 0;
|
||||
end;
|
||||
|
||||
function TCefWriteHandlerOwn.Write(const ptr: Pointer; size,
|
||||
n: NativeUInt): NativeUInt;
|
||||
function TCefWriteHandlerOwn.Write(const ptr: Pointer; size, n: NativeUInt): NativeUInt;
|
||||
begin
|
||||
Result := 0;
|
||||
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.
|
||||
|
@ -100,7 +100,7 @@ type
|
||||
implementation
|
||||
|
||||
uses
|
||||
uCEFMiscFunctions, uCEFLibFunctions, uCEFv8Value;
|
||||
uCEFMiscFunctions, uCEFLibFunctions, uCEFv8Value, uCEFConstants;
|
||||
|
||||
function cef_v8_handler_execute(self: PCefv8Handler;
|
||||
const name: PCefString; obj: PCefv8Value; argumentsCount: NativeUInt;
|
||||
@ -507,7 +507,7 @@ function TCefRTTIExtension.SetValue(const v: TValue; var ret: ICefv8Value): Bool
|
||||
begin
|
||||
vl := rf.GetValue(rec);
|
||||
SetValue(vl, o);
|
||||
v8.SetValueByKey(rf.Name, o, []);
|
||||
v8.SetValueByKey(rf.Name, o, V8_PROPERTY_ATTRIBUTE_NONE);
|
||||
end;
|
||||
end)
|
||||
end else
|
||||
@ -516,7 +516,7 @@ function TCefRTTIExtension.SetValue(const v: TValue; var ret: ICefv8Value): Bool
|
||||
vl := rf.GetValue(rec);
|
||||
if not SetValue(vl, v8) then
|
||||
Exit(False);
|
||||
ret.SetValueByKey(rf.Name, v8, []);
|
||||
ret.SetValueByKey(rf.Name, v8, V8_PROPERTY_ATTRIBUTE_NONE);
|
||||
end;
|
||||
Result := True;
|
||||
end;
|
||||
@ -548,7 +548,7 @@ function TCefRTTIExtension.SetValue(const v: TValue; var ret: ICefv8Value): Bool
|
||||
if m.Visibility > mvProtected then
|
||||
begin
|
||||
f := TCefv8ValueRef.NewFunction(m.Name, Self);
|
||||
ret.SetValueByKey(m.Name, f, []);
|
||||
ret.SetValueByKey(m.Name, f, V8_PROPERTY_ATTRIBUTE_NONE);
|
||||
end;
|
||||
|
||||
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
|
||||
begin
|
||||
f := TCefv8ValueRef.NewFunction(m.Name, Self);
|
||||
ret.SetValueByKey(m.Name, f, []);
|
||||
ret.SetValueByKey(m.Name, f, V8_PROPERTY_ATTRIBUTE_NONE);
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -680,7 +680,7 @@ function TCefRTTIExtension.SetValue(const v: TValue; var ret: ICefv8Value): Bool
|
||||
if m.Visibility > mvProtected then
|
||||
begin
|
||||
f := TCefv8ValueRef.NewFunction(m.Name, Self);
|
||||
ret.SetValueByKey(m.Name, f, []);
|
||||
ret.SetValueByKey(m.Name, f, V8_PROPERTY_ATTRIBUTE_NONE);
|
||||
end;
|
||||
|
||||
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.
|
Loading…
x
Reference in New Issue
Block a user