diff --git a/demos/MiniBrowser/MiniBrowser.dpr b/demos/MiniBrowser/MiniBrowser.dpr
index 09aff154..a82fa321 100644
--- a/demos/MiniBrowser/MiniBrowser.dpr
+++ b/demos/MiniBrowser/MiniBrowser.dpr
@@ -47,8 +47,8 @@ uses
Forms,
{$ENDIF }
uCEFApplication,
- uCEFInterfaces,
uCEFMiscFunctions,
+ uCEFSchemeRegistrar,
uMiniBrowser in 'uMiniBrowser.pas' {MiniBrowserFrm},
uTestExtension in 'uTestExtension.pas',
uHelloScheme in 'uHelloScheme.pas',
@@ -56,9 +56,9 @@ uses
{$R *.res}
-procedure GlobalCEFApp_OnRegCustomSchemes(const registrar: ICefSchemeRegistrar);
+procedure GlobalCEFApp_OnRegCustomSchemes(const registrar: TCefSchemeRegistrarRef);
begin
- registrar.AddCustomScheme('hello', True, True, False);
+ registrar.AddCustomScheme('hello', True, True, False, False, False);
end;
begin
diff --git a/demos/MiniBrowser/MiniBrowser.dproj.local b/demos/MiniBrowser/MiniBrowser.dproj.local
index e2b7301e..486717c4 100644
--- a/demos/MiniBrowser/MiniBrowser.dproj.local
+++ b/demos/MiniBrowser/MiniBrowser.dproj.local
@@ -10,8 +10,8 @@
2017/03/12 17:11:11.000.786,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uFileScheme.pas
2017/03/13 19:22:41.000.994,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uFileScheme.pas=
2017/03/13 19:23:05.000.371,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uHelloScheme.pas
- 2017/03/15 12:39:07.741,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\Unit1.pas
- 2017/03/15 12:40:51.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
- 2017/03/15 12:40:51.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
+ 2017/03/15 12:39:07.000.741,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\Unit1.pas
+ 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
+ 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
diff --git a/demos/MiniBrowser/MiniBrowser.dsk b/demos/MiniBrowser/MiniBrowser.dsk
index 28efdda7..51b8a3a5 100644
--- a/demos/MiniBrowser/MiniBrowser.dsk
+++ b/demos/MiniBrowser/MiniBrowser.dsk
@@ -1,14 +1,14 @@
[Closed Files]
-File_0=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uPreferences.pas',0,1,31,23,63,0,0,,
-File_1=TSourceModule,'C:\Program Files\Embarcadero\Studio\17.0\source\vcl\Vcl.Dialogs.pas',0,1,6752,22,6771,0,0,,
-File_2=TSourceModule,'C:\Program Files\Embarcadero\Studio\17.0\source\Property Editors\FmxAnimationEditors.pas',0,1,1882,37,1904,0,0,,
-File_3=TSourceModule,'C:\Program Files\Embarcadero\Studio\17.0\source\Property Editors\Indy10\IdDsnPropEdBindingVCL.pas',0,1,789,25,811,0,0,,
-File_4=TSourceModule,'C:\Program Files\Embarcadero\Studio\17.0\source\Experts\ExpertsUIWizard.pas',0,1,540,33,562,0,0,,
-File_5=TSourceModule,'C:\Program Files\Embarcadero\Studio\17.0\source\DUnit\Contrib\DUnitWizard\Source\DelphiExperts\DUnitProject\XPDUnitTestModule.pas',0,1,135,32,157,0,0,,
-File_6=TSourceModule,'C:\Program Files\Embarcadero\Studio\17.0\source\data\ems\desktopconsole\EMSManagementConsole.FrameAdd.pas',0,1,478,32,500,0,0,,
-File_7=TSourceModule,'C:\Program Files\Embarcadero\Studio\17.0\ObjRepos\en\DelphiWin32\Vcl.recerror.pas',0,1,75,20,97,0,0,,
-File_8=TSourceModule,'C:\Program Files\Embarcadero\Studio\17.0\Graphics32\GR32_Dsgn_Bitmap.pas',0,1,316,34,338,0,0,,
-File_9=TSourceModule,'C:\Program Files\Embarcadero\Studio\17.0\Indy10\Builder\Package Generator\MgrPkgGenDBMain.pas',0,1,85,27,107,0,0,,
+File_0=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uTestExtension.pas',0,1,1,1,40,0,0,,
+File_1=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uHelloScheme.pas',0,1,1,1,40,0,0,,
+File_2=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFApplication.pas',0,1,1,25,38,0,0,,
+File_3=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uPreferences.pas',0,1,10,51,49,0,0,,
+File_4=TSourceModule,'C:\Program Files\Embarcadero\Studio\17.0\source\vcl\Vcl.Dialogs.pas',0,1,6752,22,6771,0,0,,
+File_5=TSourceModule,'C:\Program Files\Embarcadero\Studio\17.0\source\Property Editors\FmxAnimationEditors.pas',0,1,1882,37,1904,0,0,,
+File_6=TSourceModule,'C:\Program Files\Embarcadero\Studio\17.0\source\Property Editors\Indy10\IdDsnPropEdBindingVCL.pas',0,1,789,25,811,0,0,,
+File_7=TSourceModule,'C:\Program Files\Embarcadero\Studio\17.0\source\Experts\ExpertsUIWizard.pas',0,1,540,33,562,0,0,,
+File_8=TSourceModule,'C:\Program Files\Embarcadero\Studio\17.0\source\DUnit\Contrib\DUnitWizard\Source\DelphiExperts\DUnitProject\XPDUnitTestModule.pas',0,1,135,32,157,0,0,,
+File_9=TSourceModule,'C:\Program Files\Embarcadero\Studio\17.0\source\data\ems\desktopconsole\EMSManagementConsole.FrameAdd.pas',0,1,478,32,500,0,0,,
[Modules]
Module0=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\MiniBrowser.dproj
@@ -50,17 +50,18 @@ ClientHeight=9428
DockedToMainForm=1
BorlandEditorCodeExplorer=BorlandEditorCodeExplorer@EditWindow0
TopPanelSize=0
-LeftPanelSize=0
+LeftPanelSize=1898
+LeftPanelClients=PropertyInspector,DockSite3
+LeftPanelData=00000800010100000000AA19000000000000016A0700000000000001000000005D0E000009000000446F636B53697465330100000000A12300001100000050726F7065727479496E73706563746F72FFFFFFFF
RightPanelSize=2000
RightPanelClients=DockSite2,DockSite4
-RightPanelData=00000800010100000000AA1900000000000001D0070000000000000100000000110E000009000000446F636B53697465320100000000A123000009000000446F636B5369746534FFFFFFFF
+RightPanelData=00000800010100000000AA1900000000000001D00700000000000001000000004312000009000000446F636B53697465320100000000A123000009000000446F636B5369746534FFFFFFFF
BottomPanelSize=0
BottomPanelClients=DockSite1,MessageView
-BottomPanelData=0000080001020200000009000000446F636B53697465310F0000004D65737361676556696577466F726D3B3600000000000002E80600000000000001000000003B3600000F0000004D65737361676556696577466F726DFFFFFFFF
+BottomPanelData=0000080001020200000009000000446F636B53697465310F0000004D65737361676556696577466F726D1234000000000000022506000000000000FFFFFFFF
BottomMiddlePanelSize=0
BottomMiddlePanelClients=DockSite0,GraphDrawingModel
BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F306000000000000FFFFFFFF
-TabDockLeftClients=DockSite3=0,PropertyInspector=1
[View0]
CustomEditViewType=TWelcomePageView
@@ -69,9 +70,9 @@ WelcomePageURL=bds:/default.htm
[View1]
CustomEditViewType=TEditView
Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\uMiniBrowser.pas
-CursorX=68
-CursorY=342
-TopLine=356
+CursorX=76
+CursorY=82
+TopLine=1
LeftCol=1
Elisions=
Bookmarks=
@@ -80,9 +81,9 @@ EditViewName=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\d
[View2]
CustomEditViewType=TEditView
Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\demos\MiniBrowser\MiniBrowser.dpr
-CursorX=3
-CursorY=86
-TopLine=49
+CursorX=1
+CursorY=41
+TopLine=22
LeftCol=1
Elisions=
Bookmarks=
@@ -102,11 +103,11 @@ State=0
Left=0
Top=0
Width=3820
-Height=1345
+Height=1121
MaxLeft=-1
MaxTop=-1
ClientWidth=3820
-ClientHeight=1345
+ClientHeight=1121
TBDockHeight=213
LRDockWidth=13602
Dockable=1
@@ -150,11 +151,11 @@ State=0
Left=0
Top=0
Width=2000
-Height=3117
+Height=4226
MaxLeft=-1
MaxTop=-1
ClientWidth=2000
-ClientHeight=3117
+ClientHeight=4226
TBDockHeight=5897
LRDockWidth=2352
Dockable=1
@@ -167,14 +168,14 @@ Visible=0
Docked=1
State=0
Left=0
-Top=23
-Width=10000
-Height=1570
+Top=0
+Width=2773
+Height=1424
MaxLeft=-1
MaxTop=-1
-ClientWidth=10000
-ClientHeight=1570
-TBDockHeight=1570
+ClientWidth=2773
+ClientHeight=1424
+TBDockHeight=1424
LRDockWidth=2773
Dockable=1
StayOnTop=0
@@ -188,11 +189,11 @@ State=0
Left=0
Top=0
Width=2000
-Height=5448
+Height=4339
MaxLeft=-1
MaxTop=-1
ClientWidth=2000
-ClientHeight=5448
+ClientHeight=4339
TBDockHeight=7152
LRDockWidth=2000
Dockable=1
@@ -242,8 +243,8 @@ Create=1
Visible=0
Docked=1
State=0
-Left=-8
-Top=-30
+Left=-121
+Top=-74
Width=1844
Height=3139
MaxLeft=-1
@@ -296,22 +297,22 @@ StayOnTop=0
[PropertyInspector]
PercentageSizes=1
Create=1
-Visible=0
+Visible=1
Docked=1
State=0
-Left=1
-Top=24
+Left=0
+Top=362
Width=1898
-Height=9148
+Height=5370
MaxLeft=-1
MaxTop=-1
ClientWidth=1898
-ClientHeight=9148
+ClientHeight=5370
TBDockHeight=7119
LRDockWidth=1898
Dockable=1
StayOnTop=0
-SplitPos=119
+SplitPos=111
[frmDesignPreview]
PercentageSizes=1
@@ -382,11 +383,11 @@ State=0
Left=0
Top=0
Width=3820
-Height=1345
+Height=1121
MaxLeft=-1
MaxTop=-1
ClientWidth=3820
-ClientHeight=1345
+ClientHeight=1121
TBDockHeight=415
LRDockWidth=4953
Dockable=1
@@ -401,11 +402,11 @@ State=0
Left=0
Top=0
Width=3820
-Height=1345
+Height=1121
MaxLeft=-1
MaxTop=-1
ClientWidth=3820
-ClientHeight=1345
+ClientHeight=1121
TBDockHeight=213
LRDockWidth=7406
Dockable=1
@@ -424,11 +425,11 @@ State=0
Left=0
Top=0
Width=3820
-Height=1345
+Height=1121
MaxLeft=-1
MaxTop=-1
ClientWidth=3820
-ClientHeight=1345
+ClientHeight=1121
TBDockHeight=1536
LRDockWidth=3484
Dockable=1
@@ -443,11 +444,11 @@ State=0
Left=0
Top=0
Width=3820
-Height=1345
+Height=1121
MaxLeft=-1
MaxTop=-1
ClientWidth=3820
-ClientHeight=1345
+ClientHeight=1121
TBDockHeight=2063
LRDockWidth=3484
Dockable=1
@@ -565,11 +566,11 @@ State=0
Left=0
Top=0
Width=3820
-Height=1345
+Height=1121
MaxLeft=-1
MaxTop=-1
ClientWidth=3820
-ClientHeight=1345
+ClientHeight=1121
TBDockHeight=1547
LRDockWidth=8742
Dockable=1
@@ -590,12 +591,12 @@ Docked=1
State=0
Left=0
Top=0
-Width=1773
-Height=6693
+Width=1898
+Height=3498
MaxLeft=-1
MaxTop=-1
-ClientWidth=1773
-ClientHeight=6693
+ClientWidth=1898
+ClientHeight=3498
TBDockHeight=3677
LRDockWidth=1898
Dockable=1
@@ -677,12 +678,12 @@ State=0
Left=0
Top=23
Width=3820
-Height=1648
+Height=1424
MaxLeft=-1
MaxTop=-1
ClientWidth=3820
-ClientHeight=1648
-TBDockHeight=1648
+ClientHeight=1424
+TBDockHeight=1424
LRDockWidth=3820
Dockable=1
StayOnTop=0
@@ -701,11 +702,11 @@ State=0
Left=0
Top=23
Width=2000
-Height=3419
+Height=4529
MaxLeft=-1
MaxTop=-1
ClientWidth=2000
-ClientHeight=3419
+ClientHeight=4529
TBDockHeight=7119
LRDockWidth=2000
Dockable=1
@@ -715,21 +716,21 @@ ActiveTabID=ProjectManager
TabDockClients=ProjectManager,ModelViewTool,DataExplorerContainer,frmDesignPreview,TFileExplorerForm
[DockSite3]
-HostDockSite=LeftDockTabSet
+HostDockSite=DockLeftPanel
DockSiteType=1
PercentageSizes=1
Create=1
-Visible=0
+Visible=1
Docked=1
State=0
Left=0
-Top=0
+Top=23
Width=1898
-Height=7119
+Height=3498
MaxLeft=-1
MaxTop=-1
-ClientWidth=1773
-ClientHeight=6693
+ClientWidth=1898
+ClientHeight=3498
TBDockHeight=7119
LRDockWidth=1898
Dockable=1
@@ -747,13 +748,13 @@ Visible=1
Docked=1
State=0
Left=0
-Top=355
+Top=454
Width=2000
-Height=5448
+Height=4339
MaxLeft=-1
MaxTop=-1
ClientWidth=2000
-ClientHeight=5448
+ClientHeight=4339
TBDockHeight=7119
LRDockWidth=2000
Dockable=1
diff --git a/demos/MiniBrowser/MiniBrowser.identcache b/demos/MiniBrowser/MiniBrowser.identcache
index 2093c12c..1f8ccf66 100644
Binary files a/demos/MiniBrowser/MiniBrowser.identcache and b/demos/MiniBrowser/MiniBrowser.identcache differ
diff --git a/demos/MiniBrowser/MiniBrowser.stat b/demos/MiniBrowser/MiniBrowser.stat
index 4e79b76c..b6bd1c88 100644
--- a/demos/MiniBrowser/MiniBrowser.stat
+++ b/demos/MiniBrowser/MiniBrowser.stat
@@ -1,10 +1,10 @@
[Stats]
-EditorSecs=15680
-DesignerSecs=1469
-InspectorSecs=1128
-CompileSecs=710437
-OtherSecs=2298
+EditorSecs=16035
+DesignerSecs=1777
+InspectorSecs=1204
+CompileSecs=764079
+OtherSecs=2346
StartTime=11/02/2017 10:51:15
RealKeys=0
EffectiveKeys=0
-DebugSecs=7901
+DebugSecs=8921
diff --git a/demos/MiniBrowser/uMiniBrowser.dfm b/demos/MiniBrowser/uMiniBrowser.dfm
index c3869709..16930083 100644
--- a/demos/MiniBrowser/uMiniBrowser.dfm
+++ b/demos/MiniBrowser/uMiniBrowser.dfm
@@ -2,7 +2,7 @@ object MiniBrowserFrm: TMiniBrowserFrm
Left = 0
Top = 0
Caption = 'MiniBrowser'
- ClientHeight = 681
+ ClientHeight = 716
ClientWidth = 1089
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
@@ -19,7 +19,7 @@ object MiniBrowserFrm: TMiniBrowserFrm
Left = 1084
Top = 41
Width = 5
- Height = 621
+ Height = 656
Align = alRight
Visible = False
ExplicitLeft = 0
@@ -109,7 +109,7 @@ object MiniBrowserFrm: TMiniBrowserFrm
object URLEditPnl: TPanel
Left = 133
Top = 0
- Width = 915
+ Width = 883
Height = 41
Align = alClient
BevelOuter = bvNone
@@ -117,36 +117,36 @@ object MiniBrowserFrm: TMiniBrowserFrm
Padding.Bottom = 8
ShowCaption = False
TabOrder = 1
- ExplicitWidth = 844
+ ExplicitWidth = 915
object URLCbx: TComboBox
Left = 0
Top = 9
- Width = 915
+ Width = 883
Height = 21
Align = alClient
TabOrder = 0
Text = 'https://www.google.com'
- OnKeyUp = URLCbxKeyUp
- OnSelect = URLCbxSelect
Items.Strings = (
'https://www.google.com'
'hello://world/'
'https://www.whatismybrowser.com/detect/what-http-headers-is-my-b' +
- 'rowser-sending')
- ExplicitWidth = 948
+ 'rowser-sending'
+ 'https://www.w3schools.com/js/tryit.asp?filename=tryjs_win_close')
+ ExplicitWidth = 915
end
end
object ConfigPnl: TPanel
- Left = 1048
+ Left = 1016
Top = 0
- Width = 41
+ Width = 73
Height = 41
Align = alRight
BevelOuter = bvNone
TabOrder = 2
+ ExplicitLeft = 1015
object ConfigBtn: TButton
- Left = 8
+ Left = 40
Top = 8
Width = 25
Height = 25
@@ -160,34 +160,52 @@ object MiniBrowserFrm: TMiniBrowserFrm
TabOrder = 0
OnClick = ConfigBtnClick
end
+ object GoBtn: TButton
+ Left = 8
+ Top = 8
+ Width = 25
+ Height = 25
+ Caption = #9658
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -17
+ Font.Name = 'Arial'
+ Font.Style = [fsBold]
+ ParentFont = False
+ TabOrder = 1
+ OnClick = GoBtnClick
+ end
end
end
object CEFWindowParent1: TCEFWindowParent
Left = 0
Top = 41
Width = 1084
- Height = 621
+ Height = 656
Align = alClient
TabOrder = 1
+ ExplicitHeight = 621
end
object DevTools: TCEFWindowParent
Left = 1089
Top = 41
Width = 0
- Height = 621
+ Height = 656
Align = alRight
TabOrder = 2
Visible = False
+ ExplicitHeight = 621
end
object StatusBar1: TStatusBar
Left = 0
- Top = 662
+ Top = 697
Width = 1089
Height = 19
Panels = <
item
Width = 50
end>
+ ExplicitTop = 662
end
object Chromium1: TChromium
OnTextResultAvailable = Chromium1TextResultAvailable
diff --git a/demos/MiniBrowser/uMiniBrowser.pas b/demos/MiniBrowser/uMiniBrowser.pas
index a9a90c3d..6ac97ff1 100644
--- a/demos/MiniBrowser/uMiniBrowser.pas
+++ b/demos/MiniBrowser/uMiniBrowser.pas
@@ -86,6 +86,7 @@ type
DevTools1: TMenuItem;
N1: TMenuItem;
Preferences1: TMenuItem;
+ GoBtn: TButton;
procedure FormShow(Sender: TObject);
procedure BackBtnClick(Sender: TObject);
procedure ForwardBtnClick(Sender: TObject);
@@ -114,13 +115,11 @@ type
const browser: ICefBrowser; const value: ustring);
procedure Chromium1TextResultAvailable(Sender: TObject;
const aText: string);
- procedure URLCbxKeyUp(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- procedure URLCbxSelect(Sender: TObject);
procedure PopupMenu1Popup(Sender: TObject);
procedure DevTools1Click(Sender: TObject);
procedure Preferences1Click(Sender: TObject);
procedure ConfigBtnClick(Sender: TObject);
+ procedure GoBtnClick(Sender: TObject);
protected
procedure AddURL(const aURL : string);
@@ -157,6 +156,11 @@ begin
Chromium1.GoForward;
end;
+procedure TMiniBrowserFrm.GoBtnClick(Sender: TObject);
+begin
+ Chromium1.LoadURL(URLCbx.Text);
+end;
+
procedure TMiniBrowserFrm.ReloadBtnClick(Sender: TObject);
begin
Chromium1.Reload;
@@ -340,17 +344,6 @@ begin
end;
end;
-procedure TMiniBrowserFrm.URLCbxKeyUp(Sender: TObject; var Key: Word;
- Shift: TShiftState);
-begin
- if (Key = 13) then Chromium1.LoadURL(URLCbx.Text);
-end;
-
-procedure TMiniBrowserFrm.URLCbxSelect(Sender: TObject);
-begin
- Chromium1.LoadURL(URLCbx.Text);
-end;
-
procedure TMiniBrowserFrm.ConfigBtnClick(Sender: TObject);
var
TempPoint : TPoint;
diff --git a/demos/SimpleBrowser/SimpleBrowser.dsk b/demos/SimpleBrowser/SimpleBrowser.dsk
index 9be7ee50..ec8b2b0c 100644
--- a/demos/SimpleBrowser/SimpleBrowser.dsk
+++ b/demos/SimpleBrowser/SimpleBrowser.dsk
@@ -50,7 +50,7 @@ RightPanelClients=DockSite2
RightPanelData=00000800010100000000AA1900000000000001D0070000000000000100000000A123000009000000446F636B5369746532FFFFFFFF
BottomPanelSize=0
BottomPanelClients=DockSite1,MessageView
-BottomPanelData=0000080001020200000009000000446F636B53697465310F0000004D65737361676556696577466F726D3B36000000000000020F06000000000000FFFFFFFF
+BottomPanelData=0000080001020200000009000000446F636B53697465310F0000004D65737361676556696577466F726D1234000000000000022506000000000000FFFFFFFF
BottomMiddlePanelSize=0
BottomMiddlePanelClients=DockSite0,GraphDrawingModel
BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F306000000000000FFFFFFFF
@@ -86,11 +86,11 @@ State=0
Left=0
Top=0
Width=3820
-Height=1043
+Height=1121
MaxLeft=-1
MaxTop=-1
ClientWidth=3820
-ClientHeight=1043
+ClientHeight=1121
TBDockHeight=213
LRDockWidth=13602
Dockable=1
@@ -151,14 +151,14 @@ Visible=0
Docked=1
State=0
Left=0
-Top=23
+Top=0
Width=2773
-Height=1345
+Height=1424
MaxLeft=-1
MaxTop=-1
ClientWidth=2773
-ClientHeight=1345
-TBDockHeight=1345
+ClientHeight=1424
+TBDockHeight=1424
LRDockWidth=2773
Dockable=1
StayOnTop=0
@@ -171,12 +171,12 @@ Docked=1
State=0
Left=0
Top=0
-Width=1875
-Height=6738
+Width=2000
+Height=4339
MaxLeft=-1
MaxTop=-1
-ClientWidth=1875
-ClientHeight=6738
+ClientWidth=2000
+ClientHeight=4339
TBDockHeight=7152
LRDockWidth=2000
Dockable=1
@@ -226,8 +226,8 @@ Create=1
Visible=0
Docked=1
State=0
-Left=-8
-Top=-30
+Left=-148
+Top=-137
Width=1844
Height=3139
MaxLeft=-1
@@ -283,14 +283,14 @@ Create=1
Visible=0
Docked=1
State=0
-Left=78
-Top=386
+Left=0
+Top=362
Width=1898
-Height=7164
+Height=5370
MaxLeft=-1
MaxTop=-1
-ClientWidth=1773
-ClientHeight=6738
+ClientWidth=1898
+ClientHeight=5370
TBDockHeight=7164
LRDockWidth=1898
Dockable=1
@@ -306,11 +306,11 @@ State=0
Left=0
Top=0
Width=2000
-Height=6816
+Height=6861
MaxLeft=-1
MaxTop=-1
ClientWidth=2000
-ClientHeight=6816
+ClientHeight=6861
TBDockHeight=5964
LRDockWidth=2508
Dockable=1
@@ -322,8 +322,8 @@ Create=1
Visible=0
Docked=1
State=0
-Left=-946
-Top=1
+Left=-898
+Top=-137
Width=2844
Height=6200
MaxLeft=-1
@@ -341,8 +341,8 @@ Create=1
Visible=0
Docked=1
State=0
-Left=-8
-Top=287
+Left=-1026
+Top=-137
Width=273
Height=359
MaxLeft=-1
@@ -366,11 +366,11 @@ State=0
Left=0
Top=0
Width=3820
-Height=1043
+Height=1121
MaxLeft=-1
MaxTop=-1
ClientWidth=3820
-ClientHeight=1043
+ClientHeight=1121
TBDockHeight=415
LRDockWidth=4953
Dockable=1
@@ -385,11 +385,11 @@ State=0
Left=0
Top=0
Width=3820
-Height=1043
+Height=1121
MaxLeft=-1
MaxTop=-1
ClientWidth=3820
-ClientHeight=1043
+ClientHeight=1121
TBDockHeight=213
LRDockWidth=7406
Dockable=1
@@ -408,11 +408,11 @@ State=0
Left=0
Top=0
Width=3820
-Height=1043
+Height=1121
MaxLeft=-1
MaxTop=-1
ClientWidth=3820
-ClientHeight=1043
+ClientHeight=1121
TBDockHeight=1536
LRDockWidth=3484
Dockable=1
@@ -427,11 +427,11 @@ State=0
Left=0
Top=0
Width=3820
-Height=1043
+Height=1121
MaxLeft=-1
MaxTop=-1
ClientWidth=3820
-ClientHeight=1043
+ClientHeight=1121
TBDockHeight=2063
LRDockWidth=3484
Dockable=1
@@ -446,11 +446,11 @@ State=0
Left=0
Top=0
Width=2336
-Height=942
+Height=1177
MaxLeft=-1
MaxTop=-1
ClientWidth=2336
-ClientHeight=942
+ClientHeight=1177
TBDockHeight=2321
LRDockWidth=2820
Dockable=1
@@ -511,11 +511,11 @@ State=0
Left=0
Top=0
Width=2000
-Height=6816
+Height=6861
MaxLeft=-1
MaxTop=-1
ClientWidth=2000
-ClientHeight=6816
+ClientHeight=6861
TBDockHeight=4888
LRDockWidth=7148
Dockable=1
@@ -527,8 +527,8 @@ Create=1
Visible=0
Docked=1
State=0
-Left=249
-Top=709
+Left=0
+Top=0
Width=2859
Height=3206
MaxLeft=-1
@@ -549,11 +549,11 @@ State=0
Left=0
Top=0
Width=3820
-Height=1043
+Height=1121
MaxLeft=-1
MaxTop=-1
ClientWidth=3820
-ClientHeight=1043
+ClientHeight=1121
TBDockHeight=1547
LRDockWidth=8742
Dockable=1
@@ -574,12 +574,12 @@ Docked=1
State=0
Left=0
Top=0
-Width=1773
-Height=6738
+Width=1898
+Height=9170
MaxLeft=-1
MaxTop=-1
-ClientWidth=1773
-ClientHeight=6738
+ClientWidth=1898
+ClientHeight=9170
TBDockHeight=3677
LRDockWidth=1898
Dockable=1
@@ -594,11 +594,11 @@ State=0
Left=0
Top=0
Width=2000
-Height=6816
+Height=6861
MaxLeft=-1
MaxTop=-1
ClientWidth=2000
-ClientHeight=6816
+ClientHeight=6861
TBDockHeight=4888
LRDockWidth=5305
Dockable=1
@@ -659,14 +659,14 @@ Visible=0
Docked=1
State=0
Left=0
-Top=23
+Top=0
Width=3820
-Height=1345
+Height=1424
MaxLeft=-1
MaxTop=-1
ClientWidth=3820
-ClientHeight=1345
-TBDockHeight=1345
+ClientHeight=1424
+TBDockHeight=1424
LRDockWidth=3820
Dockable=1
StayOnTop=0
@@ -707,13 +707,13 @@ Visible=0
Docked=1
State=0
Left=0
-Top=0
+Top=23
Width=1898
-Height=7164
+Height=9170
MaxLeft=-1
MaxTop=-1
-ClientWidth=1773
-ClientHeight=6738
+ClientWidth=1898
+ClientHeight=9170
TBDockHeight=7164
LRDockWidth=1898
Dockable=1
@@ -731,13 +731,13 @@ Visible=0
Docked=1
State=0
Left=0
-Top=0
+Top=454
Width=2000
-Height=7164
+Height=4339
MaxLeft=-1
MaxTop=-1
-ClientWidth=1875
-ClientHeight=6738
+ClientWidth=2000
+ClientHeight=4339
TBDockHeight=7164
LRDockWidth=2000
Dockable=1
diff --git a/demos/SimpleBrowser/SimpleBrowser.stat b/demos/SimpleBrowser/SimpleBrowser.stat
index f5e37285..b670a319 100644
--- a/demos/SimpleBrowser/SimpleBrowser.stat
+++ b/demos/SimpleBrowser/SimpleBrowser.stat
@@ -1,9 +1,9 @@
[Stats]
-EditorSecs=2475
+EditorSecs=2478
DesignerSecs=267
InspectorSecs=136
-CompileSecs=119220
-OtherSecs=449
+CompileSecs=124554
+OtherSecs=456
StartTime=22/01/2017 14:51:01
RealKeys=0
EffectiveKeys=0
diff --git a/demos/SimpleOSRBrowser/SimpleOSRBrowser.dsk b/demos/SimpleOSRBrowser/SimpleOSRBrowser.dsk
index 02d2966c..9faf9cdc 100644
--- a/demos/SimpleOSRBrowser/SimpleOSRBrowser.dsk
+++ b/demos/SimpleOSRBrowser/SimpleOSRBrowser.dsk
@@ -41,10 +41,10 @@ TopPanelSize=0
LeftPanelSize=0
RightPanelSize=2000
RightPanelClients=DockSite2
-RightPanelData=00000800010100000000551500000000000001D00700000000000001000000009D1D000009000000446F636B5369746532FFFFFFFF
-BottomPanelSize=1475
+RightPanelData=000008000101000000001E1500000000000001D0070000000000000100000000511D000009000000446F636B5369746532FFFFFFFF
+BottomPanelSize=1551
BottomPanelClients=DockSite1,MessageView
-BottomPanelData=0000080001020100000009000000446F636B53697465313B3600000000000002C30500000000000001000000003B3600000F0000004D65737361676556696577466F726DFFFFFFFF
+BottomPanelData=0000080001020100000009000000446F636B53697465313B36000000000000020F0600000000000001000000003B3600000F0000004D65737361676556696577466F726DFFFFFFFF
BottomMiddlePanelSize=0
BottomMiddlePanelClients=DockSite0,GraphDrawingModel
BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F306000000000000FFFFFFFF
@@ -69,11 +69,11 @@ State=0
Left=0
Top=0
Width=3820
-Height=964
+Height=1121
MaxLeft=-1
MaxTop=-1
ClientWidth=3820
-ClientHeight=964
+ClientHeight=1121
TBDockHeight=213
LRDockWidth=13602
Dockable=1
@@ -117,11 +117,11 @@ State=0
Left=0
Top=0
Width=2000
-Height=7276
+Height=7197
MaxLeft=-1
MaxTop=-1
ClientWidth=2000
-ClientHeight=7276
+ClientHeight=7197
TBDockHeight=5897
LRDockWidth=2352
Dockable=1
@@ -136,12 +136,12 @@ State=0
Left=0
Top=23
Width=10000
-Height=1267
+Height=1345
MaxLeft=-1
MaxTop=-1
ClientWidth=10000
-ClientHeight=1267
-TBDockHeight=1267
+ClientHeight=1345
+TBDockHeight=1345
LRDockWidth=2773
Dockable=1
StayOnTop=0
@@ -154,12 +154,12 @@ Docked=1
State=0
Left=0
Top=0
-Width=1875
-Height=6738
+Width=2000
+Height=4339
MaxLeft=-1
MaxTop=-1
-ClientWidth=1875
-ClientHeight=6738
+ClientWidth=2000
+ClientHeight=4339
TBDockHeight=7152
LRDockWidth=2000
Dockable=1
@@ -209,8 +209,8 @@ Create=1
Visible=0
Docked=1
State=0
-Left=-8
-Top=-30
+Left=-148
+Top=-137
Width=1844
Height=3139
MaxLeft=-1
@@ -266,14 +266,14 @@ Create=1
Visible=0
Docked=1
State=0
-Left=78
-Top=386
+Left=0
+Top=362
Width=1898
-Height=7164
+Height=5370
MaxLeft=-1
MaxTop=-1
-ClientWidth=1773
-ClientHeight=6738
+ClientWidth=1898
+ClientHeight=5370
TBDockHeight=7164
LRDockWidth=1898
Dockable=1
@@ -289,11 +289,11 @@ State=0
Left=0
Top=0
Width=2000
-Height=6816
+Height=6861
MaxLeft=-1
MaxTop=-1
ClientWidth=2000
-ClientHeight=6816
+ClientHeight=6861
TBDockHeight=5964
LRDockWidth=2508
Dockable=1
@@ -305,8 +305,8 @@ Create=1
Visible=0
Docked=1
State=0
-Left=-946
-Top=1
+Left=-898
+Top=-137
Width=2844
Height=6200
MaxLeft=-1
@@ -324,8 +324,8 @@ Create=1
Visible=0
Docked=1
State=0
-Left=-8
-Top=287
+Left=-1026
+Top=-137
Width=273
Height=359
MaxLeft=-1
@@ -349,11 +349,11 @@ State=0
Left=0
Top=0
Width=3820
-Height=964
+Height=1121
MaxLeft=-1
MaxTop=-1
ClientWidth=3820
-ClientHeight=964
+ClientHeight=1121
TBDockHeight=415
LRDockWidth=4953
Dockable=1
@@ -368,11 +368,11 @@ State=0
Left=0
Top=0
Width=3820
-Height=964
+Height=1121
MaxLeft=-1
MaxTop=-1
ClientWidth=3820
-ClientHeight=964
+ClientHeight=1121
TBDockHeight=213
LRDockWidth=7406
Dockable=1
@@ -391,11 +391,11 @@ State=0
Left=0
Top=0
Width=3820
-Height=964
+Height=1121
MaxLeft=-1
MaxTop=-1
ClientWidth=3820
-ClientHeight=964
+ClientHeight=1121
TBDockHeight=1536
LRDockWidth=3484
Dockable=1
@@ -410,11 +410,11 @@ State=0
Left=0
Top=0
Width=3820
-Height=964
+Height=1121
MaxLeft=-1
MaxTop=-1
ClientWidth=3820
-ClientHeight=964
+ClientHeight=1121
TBDockHeight=2063
LRDockWidth=3484
Dockable=1
@@ -429,11 +429,11 @@ State=0
Left=0
Top=0
Width=2336
-Height=942
+Height=1177
MaxLeft=-1
MaxTop=-1
ClientWidth=2336
-ClientHeight=942
+ClientHeight=1177
TBDockHeight=2321
LRDockWidth=2820
Dockable=1
@@ -494,11 +494,11 @@ State=0
Left=0
Top=0
Width=2000
-Height=6816
+Height=6861
MaxLeft=-1
MaxTop=-1
ClientWidth=2000
-ClientHeight=6816
+ClientHeight=6861
TBDockHeight=4888
LRDockWidth=7148
Dockable=1
@@ -510,8 +510,8 @@ Create=1
Visible=0
Docked=1
State=0
-Left=249
-Top=709
+Left=0
+Top=0
Width=2859
Height=3206
MaxLeft=-1
@@ -532,11 +532,11 @@ State=0
Left=0
Top=0
Width=3820
-Height=964
+Height=1121
MaxLeft=-1
MaxTop=-1
ClientWidth=3820
-ClientHeight=964
+ClientHeight=1121
TBDockHeight=1547
LRDockWidth=8742
Dockable=1
@@ -557,12 +557,12 @@ Docked=1
State=0
Left=0
Top=0
-Width=1773
-Height=6738
+Width=1898
+Height=9170
MaxLeft=-1
MaxTop=-1
-ClientWidth=1773
-ClientHeight=6738
+ClientWidth=1898
+ClientHeight=9170
TBDockHeight=3677
LRDockWidth=1898
Dockable=1
@@ -577,11 +577,11 @@ State=0
Left=0
Top=0
Width=2000
-Height=6816
+Height=6861
MaxLeft=-1
MaxTop=-1
ClientWidth=2000
-ClientHeight=6816
+ClientHeight=6861
TBDockHeight=4888
LRDockWidth=5305
Dockable=1
@@ -642,14 +642,14 @@ Visible=0
Docked=1
State=0
Left=0
-Top=23
+Top=0
Width=3820
-Height=1267
+Height=1424
MaxLeft=-1
MaxTop=-1
ClientWidth=3820
-ClientHeight=1267
-TBDockHeight=1267
+ClientHeight=1424
+TBDockHeight=1424
LRDockWidth=3820
Dockable=1
StayOnTop=0
@@ -668,11 +668,11 @@ State=0
Left=0
Top=23
Width=2000
-Height=7578
+Height=7500
MaxLeft=-1
MaxTop=-1
ClientWidth=2000
-ClientHeight=7578
+ClientHeight=7500
TBDockHeight=7164
LRDockWidth=2000
Dockable=1
@@ -690,13 +690,13 @@ Visible=0
Docked=1
State=0
Left=0
-Top=0
+Top=23
Width=1898
-Height=7164
+Height=9170
MaxLeft=-1
MaxTop=-1
-ClientWidth=1773
-ClientHeight=6738
+ClientWidth=1898
+ClientHeight=9170
TBDockHeight=7164
LRDockWidth=1898
Dockable=1
@@ -714,13 +714,13 @@ Visible=0
Docked=1
State=0
Left=0
-Top=0
+Top=454
Width=2000
-Height=7164
+Height=4339
MaxLeft=-1
MaxTop=-1
-ClientWidth=1875
-ClientHeight=6738
+ClientWidth=2000
+ClientHeight=4339
TBDockHeight=7164
LRDockWidth=2000
Dockable=1
diff --git a/demos/SimpleOSRBrowser/SimpleOSRBrowser.stat b/demos/SimpleOSRBrowser/SimpleOSRBrowser.stat
index 1830f226..5f86bdfb 100644
--- a/demos/SimpleOSRBrowser/SimpleOSRBrowser.stat
+++ b/demos/SimpleOSRBrowser/SimpleOSRBrowser.stat
@@ -2,8 +2,8 @@
EditorSecs=2193
DesignerSecs=210
InspectorSecs=61
-CompileSecs=119428
-OtherSecs=334
+CompileSecs=127489
+OtherSecs=357
StartTime=22/01/2017 17:35:20
RealKeys=0
EffectiveKeys=0
diff --git a/source/CEF4Delphi.dpk b/source/CEF4Delphi.dpk
index 11e5f64c..85125c67 100644
--- a/source/CEF4Delphi.dpk
+++ b/source/CEF4Delphi.dpk
@@ -41,7 +41,6 @@ contains
uCEFMiscFunctions in 'uCEFMiscFunctions.pas',
uCEFLibFunctions in 'uCEFLibFunctions.pas',
uCEFApplication in 'uCEFApplication.pas',
- uCEFBase in 'uCEFBase.pas',
uCEFSchemeRegistrar in 'uCEFSchemeRegistrar.pas',
uCEFCommandLine in 'uCEFCommandLine.pas',
uCEFClient in 'uCEFClient.pas',
@@ -149,6 +148,8 @@ contains
uCEFX509Certificate in 'uCEFX509Certificate.pas',
uCEFSSLStatus in 'uCEFSSLStatus.pas',
uCEFSelectClientCertificateCallback in 'uCEFSelectClientCertificateCallback.pas',
- uCEFChromiumWindow in 'uCEFChromiumWindow.pas';
+ uCEFChromiumWindow in 'uCEFChromiumWindow.pas',
+ uCEFBaseRefCounted in 'uCEFBaseRefCounted.pas',
+ uCEFBaseScopedWrapper in 'uCEFBaseScopedWrapper.pas';
end.
diff --git a/source/CEF4Delphi.dproj b/source/CEF4Delphi.dproj
index 4566b813..8fdb431d 100644
--- a/source/CEF4Delphi.dproj
+++ b/source/CEF4Delphi.dproj
@@ -99,7 +99,6 @@
-
@@ -208,6 +207,8 @@
+
+
Cfg_2
Base
@@ -249,22 +250,13 @@
true
-
+
CEF4Delphi.bpl
true
-
-
- 0
- .dll;.bpl
-
-
- 1
- .dylib
-
-
+
Contents\Resources
@@ -578,7 +570,16 @@
1
-
+
+
+ 0
+ .dll;.bpl
+
+
+ 1
+ .dylib
+
+
diff --git a/source/CEF4Delphi.dproj.local b/source/CEF4Delphi.dproj.local
index 22263a76..6fef4fab 100644
--- a/source/CEF4Delphi.dproj.local
+++ b/source/CEF4Delphi.dproj.local
@@ -273,5 +273,8 @@
2017/01/05 09:46:44.000.222,C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumWindow.pas=
2017/01/05 10:34:46.000.529,=C:\Program Files\Embarcadero\Studio\17.0\cef3\uCEFChromiumWindow.pas
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
+ 2017/03/16 09:32:10.000.622,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFBaseRefCounted.pas
+ 2017/03/16 09:32:22.000.431,=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFBaseScopedWrapper.pas
+ 2017/03/16 09:32:54.000.567,C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFBase.pas=
diff --git a/source/CEF4Delphi.dsk b/source/CEF4Delphi.dsk
index eef79bcd..b562fe5d 100644
--- a/source/CEF4Delphi.dsk
+++ b/source/CEF4Delphi.dsk
@@ -1,48 +1,27 @@
[Closed Files]
-File_0=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFDomVisitor.pas',0,1,107,50,130,0,0,,
-File_1=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFDeleteCookiesCallback.pas',0,1,103,56,126,0,0,,
-File_2=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFPDFPrintCallback.pas',0,1,102,42,123,0,0,,
-File_3=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFStringVisitor.pas',0,1,110,42,131,0,0,,
-File_4=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFInterfaces.pas',0,1,189,54,219,0,0,,
-File_5=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFApplication.pas',0,1,264,103,802,0,0,,
-File_6=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi_new\source\uCEFApplication.pas',0,1,184,1,193,0,0,,
-File_7=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi_new\source\uCEFMiscFunctions.pas',0,1,124,10,124,0,0,,
-File_8=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFMiscFunctions.pas',0,1,107,60,117,0,0,,
-File_9=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFLibFunctions.pas',0,1,133,3,153,0,0,,
+File_0=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFApplication.pas',0,1,31,80,57,0,0,,
+File_1=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromium.pas',0,1,1995,70,2009,0,0,,
+File_2=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFMiscFunctions.pas',0,1,53,30,76,0,0,,
+File_3=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi_new\source\uCEFMiscFunctions.pas',0,1,1,1,1,0,0,,
+File_4=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFLibFunctions.pas',0,1,1,1,1,0,0,,
+File_5=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFResourceHandler.pas',0,1,1,1,1,0,0,,
+File_6=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFSchemeRegistrar.pas',0,1,1,1,1,0,0,,
+File_7=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi_new\source\uCEFLibFunctions.pas',0,1,1,1,1,0,0,,
+File_8=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi_new\source\uCEFResourceHandler.pas',0,1,1,1,1,0,0,,
+File_9=TSourceModule,'C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi_new\source\uCEFSchemeRegistrar.pas',0,1,1,1,1,0,0,,
[Modules]
-Module0=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromium.pas
-Module1=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFConstants.pas
-Module2=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFTask.pas
-Module3=default.htm
-Count=4
+Module0=default.htm
+Count=1
EditWindowCount=1
-[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\uCEFConstants.pas]
-ModuleType=TSourceModule
-FormState=0
-FormOnTop=0
-
-[C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFTask.pas]
-ModuleType=TSourceModule
-FormState=0
-FormOnTop=0
-
[default.htm]
ModuleType=TURLModule
[EditWindow0]
-ViewCount=4
-CurrentEditView=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromium.pas
+ViewCount=1
+CurrentView=0
View0=0
-View1=1
-View2=2
-View3=3
PercentageSizes=1
Create=1
Visible=1
@@ -61,54 +40,20 @@ BorlandEditorCodeExplorer=BorlandEditorCodeExplorer@EditWindow0
TopPanelSize=0
LeftPanelSize=0
RightPanelSize=2000
-RightPanelClients=DockSite2
-RightPanelData=00000800010100000000DE1300000000000001D0070000000000000100000000951B000009000000446F636B5369746532FFFFFFFF
-BottomPanelSize=1996
+RightPanelClients=DockSite2,DockSite4
+RightPanelData=00000800010100000000AA1900000000000001D00700000000000001000000004312000009000000446F636B53697465320100000000A123000009000000446F636B5369746534FFFFFFFF
+BottomPanelSize=0
BottomPanelClients=DockSite1,MessageView
-BottomPanelData=0000080001020100000009000000446F636B53697465313B3600000000000002CC0700000000000001000000003B3600000F0000004D65737361676556696577466F726DFFFFFFFF
+BottomPanelData=0000080001020200000009000000446F636B53697465310F0000004D65737361676556696577466F726D1234000000000000022506000000000000FFFFFFFF
BottomMiddlePanelSize=0
BottomMiddlePanelClients=DockSite0,GraphDrawingModel
BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F306000000000000FFFFFFFF
TabDockLeftClients=PropertyInspector=0,DockSite3=1
-TabDockRightClients=DockSite4=0
[View0]
CustomEditViewType=TWelcomePageView
WelcomePageURL=bds:/default.htm
-[View1]
-CustomEditViewType=TEditView
-Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromium.pas
-CursorX=87
-CursorY=1578
-TopLine=1570
-LeftCol=1
-Elisions=
-Bookmarks=
-EditViewName=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFChromium.pas
-
-[View2]
-CustomEditViewType=TEditView
-Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFConstants.pas
-CursorX=57
-CursorY=268
-TopLine=244
-LeftCol=1
-Elisions=
-Bookmarks=
-EditViewName=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFConstants.pas
-
-[View3]
-CustomEditViewType=TEditView
-Module=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFTask.pas
-CursorX=30
-CursorY=256
-TopLine=221
-LeftCol=1
-Elisions=
-Bookmarks=
-EditViewName=C:\Users\usuario\Documents\Embarcadero\Studio\Projects\CEF4Delphi\source\uCEFTask.pas
-
[Watches]
Count=0
@@ -171,11 +116,11 @@ State=0
Left=0
Top=0
Width=2000
-Height=6738
+Height=4226
MaxLeft=-1
MaxTop=-1
ClientWidth=2000
-ClientHeight=6738
+ClientHeight=4226
TBDockHeight=5897
LRDockWidth=2352
Dockable=1
@@ -184,18 +129,18 @@ StayOnTop=0
[MessageView]
PercentageSizes=1
Create=1
-Visible=1
+Visible=0
Docked=1
State=0
Left=0
-Top=23
-Width=10000
-Height=1805
+Top=0
+Width=2773
+Height=1424
MaxLeft=-1
MaxTop=-1
-ClientWidth=10000
-ClientHeight=1805
-TBDockHeight=1805
+ClientWidth=2773
+ClientHeight=1424
+TBDockHeight=1424
LRDockWidth=2773
Dockable=1
StayOnTop=0
@@ -263,8 +208,8 @@ Create=1
Visible=0
Docked=1
State=0
-Left=-8
-Top=-30
+Left=-148
+Top=-137
Width=1844
Height=3139
MaxLeft=-1
@@ -320,14 +265,14 @@ Create=1
Visible=0
Docked=1
State=0
-Left=78
-Top=386
+Left=0
+Top=362
Width=1898
-Height=7164
+Height=5370
MaxLeft=-1
MaxTop=-1
-ClientWidth=1773
-ClientHeight=6738
+ClientWidth=1898
+ClientHeight=5370
TBDockHeight=7164
LRDockWidth=1898
Dockable=1
@@ -343,11 +288,11 @@ State=0
Left=0
Top=0
Width=2000
-Height=6816
+Height=6861
MaxLeft=-1
MaxTop=-1
ClientWidth=2000
-ClientHeight=6816
+ClientHeight=6861
TBDockHeight=5964
LRDockWidth=2508
Dockable=1
@@ -359,8 +304,8 @@ Create=1
Visible=0
Docked=1
State=0
-Left=-946
-Top=1
+Left=-898
+Top=-137
Width=2844
Height=6200
MaxLeft=-1
@@ -378,8 +323,8 @@ Create=1
Visible=0
Docked=1
State=0
-Left=-1152
-Top=243
+Left=-1026
+Top=-137
Width=273
Height=359
MaxLeft=-1
@@ -483,11 +428,11 @@ State=0
Left=0
Top=0
Width=2336
-Height=942
+Height=1177
MaxLeft=-1
MaxTop=-1
ClientWidth=2336
-ClientHeight=942
+ClientHeight=1177
TBDockHeight=2321
LRDockWidth=2820
Dockable=1
@@ -548,11 +493,11 @@ State=0
Left=0
Top=0
Width=2000
-Height=6816
+Height=6861
MaxLeft=-1
MaxTop=-1
ClientWidth=2000
-ClientHeight=6816
+ClientHeight=6861
TBDockHeight=4888
LRDockWidth=7148
Dockable=1
@@ -564,8 +509,8 @@ Create=1
Visible=0
Docked=1
State=0
-Left=249
-Top=709
+Left=0
+Top=0
Width=2859
Height=3206
MaxLeft=-1
@@ -612,11 +557,11 @@ State=0
Left=0
Top=0
Width=1898
-Height=7018
+Height=9170
MaxLeft=-1
MaxTop=-1
ClientWidth=1898
-ClientHeight=7018
+ClientHeight=9170
TBDockHeight=3677
LRDockWidth=1898
Dockable=1
@@ -631,11 +576,11 @@ State=0
Left=0
Top=0
Width=2000
-Height=6816
+Height=6861
MaxLeft=-1
MaxTop=-1
ClientWidth=2000
-ClientHeight=6816
+ClientHeight=6861
TBDockHeight=4888
LRDockWidth=5305
Dockable=1
@@ -696,7 +641,7 @@ Visible=0
Docked=1
State=0
Left=0
-Top=23
+Top=0
Width=3820
Height=1424
MaxLeft=-1
@@ -722,12 +667,12 @@ State=0
Left=0
Top=23
Width=2000
-Height=7040
+Height=4529
MaxLeft=-1
MaxTop=-1
ClientWidth=2000
-ClientHeight=7040
-TBDockHeight=7119
+ClientHeight=4529
+TBDockHeight=7164
LRDockWidth=2000
Dockable=1
StayOnTop=0
@@ -743,14 +688,14 @@ Create=1
Visible=0
Docked=1
State=0
-Left=1
-Top=24
+Left=0
+Top=23
Width=1898
-Height=7018
+Height=9170
MaxLeft=-1
MaxTop=-1
ClientWidth=1898
-ClientHeight=7018
+ClientHeight=9170
TBDockHeight=7164
LRDockWidth=1898
Dockable=1
@@ -760,11 +705,11 @@ 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
@@ -775,7 +720,7 @@ MaxLeft=-1
MaxTop=-1
ClientWidth=2000
ClientHeight=4339
-TBDockHeight=7119
+TBDockHeight=7164
LRDockWidth=2000
Dockable=1
StayOnTop=0
diff --git a/source/CEF4Delphi.identcache b/source/CEF4Delphi.identcache
index 7b2ce48e..b222cbf2 100644
Binary files a/source/CEF4Delphi.identcache and b/source/CEF4Delphi.identcache differ
diff --git a/source/CEF4Delphi.stat b/source/CEF4Delphi.stat
index e4d254e5..bd345bb7 100644
--- a/source/CEF4Delphi.stat
+++ b/source/CEF4Delphi.stat
@@ -1,9 +1,9 @@
[Stats]
-EditorSecs=59267
+EditorSecs=59984
DesignerSecs=14
-InspectorSecs=9
-CompileSecs=1013650
-OtherSecs=5108
+InspectorSecs=11
+CompileSecs=1099139
+OtherSecs=5315
StartTime=22/01/2017 10:49:52
RealKeys=0
EffectiveKeys=0
diff --git a/source/uCEFApplication.pas b/source/uCEFApplication.pas
index be334978..2dedd3fb 100644
--- a/source/uCEFApplication.pas
+++ b/source/uCEFApplication.pas
@@ -52,7 +52,18 @@ uses
{$ELSE}
Windows, Classes,
{$ENDIF}
- uCEFTypes, uCEFInterfaces, uCEFBase;
+ uCEFTypes, uCEFInterfaces, uCEFBaseRefCounted, uCEFSchemeRegistrar;
+
+const
+ CEF_SUPPORTED_VERSION_MAJOR = 3;
+ CEF_SUPPORTED_VERSION_MINOR = 2987;
+ CEF_SUPPORTED_VERSION_RELEASE = 1594;
+ CEF_SUPPORTED_VERSION_BUILD = 0;
+
+ CEF_CHROMEELF_VERSION_MAJOR = 57;
+ CEF_CHROMEELF_VERSION_MINOR = 0;
+ CEF_CHROMEELF_VERSION_RELEASE = 2987;
+ CEF_CHROMEELF_VERSION_BUILD = 98;
type
TInternalApp = class;
@@ -180,7 +191,7 @@ type
function GetChromeVersion : string;
procedure App_OnBeforeCommandLineProc(const processType: ustring; const commandLine: ICefCommandLine);
- procedure App_OnRegCustomSchemes(const registrar: ICefSchemeRegistrar);
+ procedure App_OnRegCustomSchemes(const registrar: TCefSchemeRegistrarRef);
procedure App_OnGetResourceBundleHandler(var aCefResourceBundleHandler : ICefResourceBundleHandler);
procedure App_OnGetBrowserProcessHandler(var aCefBrowserProcessHandler : ICefBrowserProcessHandler);
procedure App_OnGetRenderProcessHandler(var aCefRenderProcessHandler : ICefRenderProcessHandler);
@@ -243,10 +254,10 @@ type
property LibCef : string read FLibCef write FLibCef;
end;
- TCefAppOwn = class(TCefBaseOwn, ICefApp)
+ TCefAppOwn = class(TCefBaseRefCountedOwn, ICefApp)
protected
procedure OnBeforeCommandLineProcessing(const processType: ustring; const commandLine: ICefCommandLine); virtual; abstract;
- procedure OnRegisterCustomSchemes(const registrar: ICefSchemeRegistrar); virtual; abstract;
+ procedure OnRegisterCustomSchemes(const registrar: TCefSchemeRegistrarRef); virtual; abstract;
function GetResourceBundleHandler: ICefResourceBundleHandler; virtual; abstract;
function GetBrowserProcessHandler: ICefBrowserProcessHandler; virtual; abstract;
function GetRenderProcessHandler: ICefRenderProcessHandler; virtual; abstract;
@@ -264,7 +275,7 @@ type
FOnGetRenderProcessHandler : TOnGetRenderProcessHandler;
procedure OnBeforeCommandLineProcessing(const processType: ustring; const commandLine: ICefCommandLine); override;
- procedure OnRegisterCustomSchemes(const registrar: ICefSchemeRegistrar); override;
+ procedure OnRegisterCustomSchemes(const registrar: TCefSchemeRegistrarRef); override;
function GetResourceBundleHandler: ICefResourceBundleHandler; override;
function GetBrowserProcessHandler: ICefBrowserProcessHandler; override;
function GetRenderProcessHandler: ICefRenderProcessHandler; override;
@@ -290,20 +301,7 @@ uses
{$ELSE}
Math, {$IFDEF DELPHI12_UP}IOUtils,{$ENDIF} SysUtils,
{$ENDIF}
- uCEFLibFunctions, uCEFMiscFunctions, uCEFSchemeRegistrar, uCEFCommandLine,
- uCEFConstants;
-
-const
- CEF_SUPPORTED_VERSION_MAJOR = 3;
- CEF_SUPPORTED_VERSION_MINOR = 2924;
- CEF_SUPPORTED_VERSION_RELEASE = 1575;
- CEF_SUPPORTED_VERSION_BUILD = 0;
-
- CEF_CHROMEELF_VERSION_MAJOR = 56;
- CEF_CHROMEELF_VERSION_MINOR = 0;
- CEF_CHROMEELF_VERSION_RELEASE = 2924;
- CEF_CHROMEELF_VERSION_BUILD = 76;
-
+ uCEFLibFunctions, uCEFMiscFunctions, uCEFCommandLine, uCEFConstants, uCEFSchemeHandlerFactory;
constructor TCefApplication.Create(aUpdateChromeVer : boolean);
begin
@@ -878,7 +876,7 @@ begin
end;
end;
-procedure TCefApplication.App_OnRegCustomSchemes(const registrar: ICefSchemeRegistrar);
+procedure TCefApplication.App_OnRegCustomSchemes(const registrar: TCefSchemeRegistrarRef);
begin
if assigned(FOnRegisterCustomSchemes) then FOnRegisterCustomSchemes(registrar);
end;
@@ -1429,6 +1427,8 @@ begin
cef_string_userfree_wide_free := GetProcAddress(FLibHandle, 'cef_string_userfree_wide_free');
cef_string_userfree_utf8_free := GetProcAddress(FLibHandle, 'cef_string_userfree_utf8_free');
cef_string_userfree_utf16_free := GetProcAddress(FLibHandle, 'cef_string_userfree_utf16_free');
+ cef_string_utf16_to_lower := GetProcAddress(FLibHandle, 'cef_string_utf16_to_lower');
+ cef_string_utf16_to_upper := GetProcAddress(FLibHandle, 'cef_string_utf16_to_upper');
Result := assigned(cef_string_wide_set) and
assigned(cef_string_utf8_set) and
@@ -1452,7 +1452,9 @@ begin
assigned(cef_string_userfree_utf16_alloc) and
assigned(cef_string_userfree_wide_free) and
assigned(cef_string_userfree_utf8_free) and
- assigned(cef_string_userfree_utf16_free);
+ assigned(cef_string_userfree_utf16_free) and
+ assigned(cef_string_utf16_to_lower) and
+ assigned(cef_string_utf16_to_upper);
end;
function TCefApplication.Load_cef_thread_internal_h : boolean;
@@ -1491,16 +1493,31 @@ end;
// TCefAppOwn
procedure cef_app_on_before_command_line_processing(self: PCefApp;
- const process_type: PCefString; command_line: PCefCommandLine); stdcall;
+ const process_type: PCefString;
+ command_line: PCefCommandLine); stdcall;
begin
- with TCefAppOwn(CefGetObject(self)) do
- OnBeforeCommandLineProcessing(CefString(process_type), TCefCommandLineRef.UnWrap(command_line));
+ TCefAppOwn(CefGetObject(self)).OnBeforeCommandLineProcessing(CefString(process_type),
+ TCefCommandLineRef.UnWrap(command_line));
end;
procedure cef_app_on_register_custom_schemes(self: PCefApp; registrar: PCefSchemeRegistrar); stdcall;
+var
+ TempWrapper : TCefSchemeRegistrarRef;
begin
- with TCefAppOwn(CefGetObject(self)) do
- OnRegisterCustomSchemes(TCefSchemeRegistrarRef.UnWrap(registrar));
+ TempWrapper := nil;
+
+ try
+ try
+ TempWrapper := TCefSchemeRegistrarRef.Create(registrar);
+
+ TCefAppOwn(CefGetObject(self)).OnRegisterCustomSchemes(TempWrapper);
+ except
+ on e : exception do
+ OutputDebugMessage('cef_app_on_register_custom_schemes error: ' + e.Message);
+ end;
+ finally
+ if (TempWrapper <> nil) then FreeAndNil(TempWrapper);
+ end;
end;
function cef_app_get_resource_bundle_handler(self: PCefApp): PCefResourceBundleHandler; stdcall;
@@ -1540,7 +1557,7 @@ begin
if Assigned(FOnBeforeCommandLineProcessing) then FOnBeforeCommandLineProcessing(processType, commandLine);
end;
-procedure TInternalApp.OnRegisterCustomSchemes(const registrar: ICefSchemeRegistrar);
+procedure TInternalApp.OnRegisterCustomSchemes(const registrar: TCefSchemeRegistrarRef);
begin
if Assigned(FOnRegisterCustomSchemes) then FOnRegisterCustomSchemes(registrar);
end;
diff --git a/source/uCEFAuthCallback.pas b/source/uCEFAuthCallback.pas
index df44277a..b7d35e17 100644
--- a/source/uCEFAuthCallback.pas
+++ b/source/uCEFAuthCallback.pas
@@ -47,10 +47,10 @@ unit uCEFAuthCallback;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefAuthCallbackRef = class(TCefBaseRef, ICefAuthCallback)
+ TCefAuthCallbackRef = class(TCefBaseRefCountedRef, ICefAuthCallback)
protected
procedure Cont(const username, password: ustring);
procedure Cancel;
diff --git a/source/uCEFBase.pas b/source/uCEFBaseRefCounted.pas
similarity index 55%
rename from source/uCEFBase.pas
rename to source/uCEFBaseRefCounted.pas
index f41772be..7230d48d 100644
--- a/source/uCEFBase.pas
+++ b/source/uCEFBaseRefCounted.pas
@@ -35,7 +35,7 @@
*
*)
-unit uCEFBase;
+unit uCEFBaseRefCounted;
{$IFNDEF CPUX64}
{$ALIGN ON}
@@ -50,7 +50,7 @@ uses
uCEFInterfaces;
type
- TCefBaseOwn = class(TInterfacedObject, ICefBase)
+ TCefBaseRefCountedOwn = class(TInterfacedObject, ICefBaseRefCounted)
protected
FData: Pointer;
@@ -60,7 +60,7 @@ type
function Wrap: Pointer;
end;
- TCefBaseRef = class(TInterfacedObject, ICefBase)
+ TCefBaseRefCountedRef = class(TInterfacedObject, ICefBaseRefCounted)
protected
FData: Pointer;
@@ -68,107 +68,115 @@ type
constructor Create(data: Pointer); virtual;
destructor Destroy; override;
function Wrap: Pointer;
- class function UnWrap(data: Pointer): ICefBase;
+ class function UnWrap(data: Pointer): ICefBaseRefCounted;
end;
+
+
implementation
uses
uCEFTypes, uCEFMiscFunctions;
-procedure cef_base_add_ref(self: PCefBase); stdcall;
+procedure cef_base_add_ref(self: PCefBaseRefCounted); stdcall;
begin
- TCefBaseOwn(CefGetObject(self))._AddRef;
+ TCefBaseRefCountedOwn(CefGetObject(self))._AddRef;
end;
-function cef_base_release(self: PCefBase): Integer; stdcall;
+function cef_base_release(self: PCefBaseRefCounted): Integer; stdcall;
begin
- Result := TCefBaseOwn(CefGetObject(self))._Release;
+ Result := TCefBaseRefCountedOwn(CefGetObject(self))._Release;
end;
-function cef_base_has_one_ref(self: PCefBase): Integer; stdcall;
+function cef_base_has_one_ref(self: PCefBaseRefCounted): Integer; stdcall;
begin
- Result := Ord(TCefBaseOwn(CefGetObject(self)).FRefCount = 1);
+ Result := Ord(TCefBaseRefCountedOwn(CefGetObject(self)).FRefCount = 1);
end;
-procedure cef_base_add_ref_owned(self: PCefBase); stdcall;
+procedure cef_base_add_ref_owned(self: PCefBaseRefCounted); stdcall;
begin
//
end;
-function cef_base_release_owned(self: PCefBase): Integer; stdcall;
+function cef_base_release_owned(self: PCefBaseRefCounted): Integer; stdcall;
begin
Result := 1;
end;
-function cef_base_has_one_ref_owned(self: PCefBase): Integer; stdcall;
+function cef_base_has_one_ref_owned(self: PCefBaseRefCounted): Integer; stdcall;
begin
Result := 1;
end;
-constructor TCefBaseOwn.CreateData(size: Cardinal; owned: Boolean);
+constructor TCefBaseRefCountedOwn.CreateData(size: Cardinal; owned: Boolean);
begin
GetMem(FData, size + SizeOf(Pointer));
PPointer(FData)^ := Self;
Inc(PByte(FData), SizeOf(Pointer));
FillChar(FData^, size, 0);
- PCefBase(FData)^.size := size;
+ PCefBaseRefCounted(FData)^.size := size;
if owned then
begin
- PCefBase(FData)^.add_ref := cef_base_add_ref_owned;
- PCefBase(FData)^.release := cef_base_release_owned;
- PCefBase(FData)^.has_one_ref := cef_base_has_one_ref_owned;
+ PCefBaseRefCounted(FData)^.add_ref := cef_base_add_ref_owned;
+ PCefBaseRefCounted(FData)^.release := cef_base_release_owned;
+ PCefBaseRefCounted(FData)^.has_one_ref := cef_base_has_one_ref_owned;
end
else
begin
- PCefBase(FData)^.add_ref := cef_base_add_ref;
- PCefBase(FData)^.release := cef_base_release;
- PCefBase(FData)^.has_one_ref := cef_base_has_one_ref;
+ PCefBaseRefCounted(FData)^.add_ref := cef_base_add_ref;
+ PCefBaseRefCounted(FData)^.release := cef_base_release;
+ PCefBaseRefCounted(FData)^.has_one_ref := cef_base_has_one_ref;
end;
end;
-destructor TCefBaseOwn.Destroy;
+destructor TCefBaseRefCountedOwn.Destroy;
begin
Dec(PByte(FData), SizeOf(Pointer));
FreeMem(FData);
- inherited;
+ FData := nil;
+
+ inherited Destroy;
end;
-function TCefBaseOwn.Wrap: Pointer;
+function TCefBaseRefCountedOwn.Wrap: Pointer;
begin
Result := FData;
- if Assigned(PCefBase(FData)^.add_ref) then
- PCefBase(FData)^.add_ref(PCefBase(FData));
+
+ if (FData <> nil) and Assigned(PCefBaseRefCounted(FData)^.add_ref) then
+ PCefBaseRefCounted(FData)^.add_ref(PCefBaseRefCounted(FData));
end;
-// TCefBaseRef
+// TCefBaseRefCountedRef
-constructor TCefBaseRef.Create(data: Pointer);
+constructor TCefBaseRefCountedRef.Create(data: Pointer);
begin
Assert(data <> nil);
FData := data;
end;
-destructor TCefBaseRef.Destroy;
+destructor TCefBaseRefCountedRef.Destroy;
begin
- if (FData <> nil) and Assigned(PCefBase(FData)^.release) then PCefBase(FData)^.release(PCefBase(FData));
+ if (FData <> nil) and Assigned(PCefBaseRefCounted(FData)^.release) then
+ PCefBaseRefCounted(FData)^.release(PCefBaseRefCounted(FData));
inherited Destroy;
end;
-class function TCefBaseRef.UnWrap(data: Pointer): ICefBase;
+class function TCefBaseRefCountedRef.UnWrap(data: Pointer): ICefBaseRefCounted;
begin
- if data <> nil then
- Result := Create(data) as ICefBase else
+ if (data <> nil) then
+ Result := Create(data) as ICefBaseRefCounted
+ else
Result := nil;
end;
-function TCefBaseRef.Wrap: Pointer;
+function TCefBaseRefCountedRef.Wrap: Pointer;
begin
Result := FData;
- if Assigned(PCefBase(FData)^.add_ref) then
- PCefBase(FData)^.add_ref(PCefBase(FData));
+
+ if (FData <> nil) and Assigned(PCefBaseRefCounted(FData)^.add_ref) then
+ PCefBaseRefCounted(FData)^.add_ref(PCefBaseRefCounted(FData));
end;
end.
diff --git a/source/uCEFBaseScopedWrapper.pas b/source/uCEFBaseScopedWrapper.pas
new file mode 100644
index 00000000..4bb7e05a
--- /dev/null
+++ b/source/uCEFBaseScopedWrapper.pas
@@ -0,0 +1,73 @@
+// ************************************************************************
+// ***************************** 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
+ * 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 uCEFBaseScopedWrapper;
+
+{$IFNDEF CPUX64}
+ {$ALIGN ON}
+ {$MINENUMSIZE 4}
+{$ENDIF}
+
+{$I cef.inc}
+
+interface
+
+type
+ TCEFBaseScopedWrapperRef = class
+ protected
+ FData: Pointer;
+
+ public
+ constructor Create(data: Pointer); virtual;
+ function Wrap: Pointer;
+ end;
+
+implementation
+
+constructor TCEFBaseScopedWrapperRef.Create(data: Pointer);
+begin
+ inherited Create;
+
+ FData := data;
+end;
+
+function TCEFBaseScopedWrapperRef.Wrap: Pointer;
+begin
+ Result := FData;
+end;
+
+end.
diff --git a/source/uCEFBeforeDownloadCallback.pas b/source/uCEFBeforeDownloadCallback.pas
index 2efb884a..99dfa7cc 100644
--- a/source/uCEFBeforeDownloadCallback.pas
+++ b/source/uCEFBeforeDownloadCallback.pas
@@ -47,10 +47,10 @@ unit uCEFBeforeDownloadCallback;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefBeforeDownloadCallbackRef = class(TCefBaseRef, ICefBeforeDownloadCallback)
+ TCefBeforeDownloadCallbackRef = class(TCefBaseRefCountedRef, ICefBeforeDownloadCallback)
protected
procedure Cont(const downloadPath: ustring; showDialog: Boolean);
diff --git a/source/uCEFBinaryValue.pas b/source/uCEFBinaryValue.pas
index fc4c8dab..135cd00f 100644
--- a/source/uCEFBinaryValue.pas
+++ b/source/uCEFBinaryValue.pas
@@ -47,10 +47,10 @@ unit uCEFBinaryValue;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefBinaryValueRef = class(TCefBaseRef, ICefBinaryValue)
+ TCefBinaryValueRef = class(TCefBaseRefCountedRef, ICefBinaryValue)
protected
function IsValid: Boolean;
function IsOwned: Boolean;
diff --git a/source/uCEFBrowser.pas b/source/uCEFBrowser.pas
index c91a793a..a5e1324d 100644
--- a/source/uCEFBrowser.pas
+++ b/source/uCEFBrowser.pas
@@ -52,10 +52,10 @@ uses
{$ELSE}
Classes,
{$ENDIF}
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefBrowserRef = class(TCefBaseRef, ICefBrowser)
+ TCefBrowserRef = class(TCefBaseRefCountedRef, ICefBrowser)
protected
function GetHost: ICefBrowserHost;
function CanGoBack: Boolean;
@@ -83,7 +83,7 @@ type
class function UnWrap(data: Pointer): ICefBrowser;
end;
- TCefBrowserHostRef = class(TCefBaseRef, ICefBrowserHost)
+ TCefBrowserHostRef = class(TCefBaseRefCountedRef, ICefBrowserHost)
protected
function GetBrowser: ICefBrowser;
procedure CloseBrowser(forceClose: Boolean);
diff --git a/source/uCEFBrowserProcessHandler.pas b/source/uCEFBrowserProcessHandler.pas
index 6ea1df94..625f4c68 100644
--- a/source/uCEFBrowserProcessHandler.pas
+++ b/source/uCEFBrowserProcessHandler.pas
@@ -47,10 +47,10 @@ unit uCEFBrowserProcessHandler;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefBrowserProcessHandlerOwn = class(TCefBaseOwn, ICefBrowserProcessHandler)
+ TCefBrowserProcessHandlerOwn = class(TCefBaseRefCountedOwn, ICefBrowserProcessHandler)
protected
procedure OnContextInitialized; virtual;
procedure OnBeforeChildProcessLaunch(const commandLine: ICefCommandLine); virtual;
diff --git a/source/uCEFCallback.pas b/source/uCEFCallback.pas
index 7dca761e..c390e14c 100644
--- a/source/uCEFCallback.pas
+++ b/source/uCEFCallback.pas
@@ -47,10 +47,10 @@ unit uCEFCallback;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefCallbackRef = class(TCefBaseRef, ICefCallback)
+ TCefCallbackRef = class(TCefBaseRefCountedRef, ICefCallback)
protected
procedure Cont;
procedure Cancel;
diff --git a/source/uCEFChromium.pas b/source/uCEFChromium.pas
index be2919f6..a4d8ada3 100644
--- a/source/uCEFChromium.pas
+++ b/source/uCEFChromium.pas
@@ -1997,18 +1997,24 @@ var
TempDict : ICefDictionaryValue;
TempPrefs : TStringList;
begin
+ TempPrefs := nil;
+
try
- if Initialized then
- begin
- TempPrefs := TStringList.Create;
- TempDict := FBrowser.Host.RequestContext.GetAllPreferences(True);
- HandleDictionary(TempDict, TempPrefs, '');
- TempPrefs.SaveToFile(FPrefsFileName);
- SendCompMessage(CEF_PREFERENCES_SAVED);
- end;
- except
- on e : exception do
- OutputDebugMessage('TChromium.Internal_SavePreferences error: ' + e.Message);
+ try
+ if Initialized then
+ begin
+ TempPrefs := TStringList.Create;
+ TempDict := FBrowser.Host.RequestContext.GetAllPreferences(True);
+ HandleDictionary(TempDict, TempPrefs, '');
+ TempPrefs.SaveToFile(FPrefsFileName);
+ SendCompMessage(CEF_PREFERENCES_SAVED);
+ end;
+ except
+ on e : exception do
+ OutputDebugMessage('TChromium.Internal_SavePreferences error: ' + e.Message);
+ end;
+ finally
+ if (TempPrefs <> nil) then FreeAndNil(TempPrefs);
end;
end;
diff --git a/source/uCEFClient.pas b/source/uCEFClient.pas
index 2f0d00f5..e7916b1d 100644
--- a/source/uCEFClient.pas
+++ b/source/uCEFClient.pas
@@ -52,10 +52,10 @@ uses
{$ELSE}
Windows,
{$ENDIF}
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefClientOwn = class(TCefBaseOwn, ICefClient)
+ TCefClientOwn = class(TCefBaseRefCountedOwn, ICefClient)
protected
function GetContextMenuHandler: ICefContextMenuHandler; virtual;
function GetDialogHandler: ICefDialogHandler; virtual;
diff --git a/source/uCEFCommandLine.pas b/source/uCEFCommandLine.pas
index 535fccfc..0630fc9a 100644
--- a/source/uCEFCommandLine.pas
+++ b/source/uCEFCommandLine.pas
@@ -52,10 +52,10 @@ uses
{$ELSE}
Classes,
{$ENDIF}
- uCEFBase, uCEFTypes, uCEFInterfaces;
+ uCEFBaseRefCounted, uCEFTypes, uCEFInterfaces;
type
- TCefCommandLineRef = class(TCefBaseRef, ICefCommandLine)
+ TCefCommandLineRef = class(TCefBaseRefCountedRef, ICefCommandLine)
protected
function IsValid: Boolean;
function IsReadOnly: Boolean;
diff --git a/source/uCEFCompletionCallback.pas b/source/uCEFCompletionCallback.pas
index 598c7288..70928620 100644
--- a/source/uCEFCompletionCallback.pas
+++ b/source/uCEFCompletionCallback.pas
@@ -47,10 +47,10 @@ unit uCEFCompletionCallback;
interface
uses
- uCEFBase, uCEFInterfaces;
+ uCEFBaseRefCounted, uCEFInterfaces;
type
- TCefCompletionCallbackOwn = class(TCefBaseOwn, ICefCompletionCallback)
+ TCefCompletionCallbackOwn = class(TCefBaseRefCountedOwn, ICefCompletionCallback)
protected
procedure OnComplete; virtual;
diff --git a/source/uCEFContextMenuHandler.pas b/source/uCEFContextMenuHandler.pas
index 94259e00..2943e02a 100644
--- a/source/uCEFContextMenuHandler.pas
+++ b/source/uCEFContextMenuHandler.pas
@@ -47,10 +47,10 @@ unit uCEFContextMenuHandler;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefContextMenuHandlerOwn = class(TCefBaseOwn, ICefContextMenuHandler)
+ TCefContextMenuHandlerOwn = class(TCefBaseRefCountedOwn, ICefContextMenuHandler)
protected
procedure OnBeforeContextMenu(const browser: ICefBrowser; const frame: ICefFrame; const params: ICefContextMenuParams; const model: ICefMenuModel); virtual;
function RunContextMenu(const browser: ICefBrowser; const frame: ICefFrame; const params: ICefContextMenuParams; const model: ICefMenuModel; const callback: ICefRunContextMenuCallback): Boolean; virtual;
diff --git a/source/uCEFContextMenuParams.pas b/source/uCEFContextMenuParams.pas
index 9d7859ff..7440989a 100644
--- a/source/uCEFContextMenuParams.pas
+++ b/source/uCEFContextMenuParams.pas
@@ -52,10 +52,10 @@ uses
{$ELSE}
Classes,
{$ENDIF}
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefContextMenuParamsRef = class(TCefBaseRef, ICefContextMenuParams)
+ TCefContextMenuParamsRef = class(TCefBaseRefCountedRef, ICefContextMenuParams)
protected
function GetXCoord: Integer;
function GetYCoord: Integer;
diff --git a/source/uCEFCookieManager.pas b/source/uCEFCookieManager.pas
index 47237a69..6f55c02e 100644
--- a/source/uCEFCookieManager.pas
+++ b/source/uCEFCookieManager.pas
@@ -52,10 +52,10 @@ uses
{$ELSE}
Classes,
{$ENDIF}
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefCookieManagerRef = class(TCefBaseRef, ICefCookieManager)
+ TCefCookieManagerRef = class(TCefBaseRefCountedRef, ICefCookieManager)
protected
procedure SetSupportedSchemes(schemes: TStrings; const callback: ICefCompletionCallback);
procedure SetSupportedSchemesProc(schemes: TStrings; const callback: TCefCompletionCallbackProc);
diff --git a/source/uCEFCookieVisitor.pas b/source/uCEFCookieVisitor.pas
index 9d66cd52..9650337f 100644
--- a/source/uCEFCookieVisitor.pas
+++ b/source/uCEFCookieVisitor.pas
@@ -47,10 +47,10 @@ unit uCEFCookieVisitor;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefCookieVisitorOwn = class(TCefBaseOwn, ICefCookieVisitor)
+ TCefCookieVisitorOwn = class(TCefBaseRefCountedOwn, ICefCookieVisitor)
protected
function visit(const name, value, domain, path: ustring; secure, httponly, hasExpires: Boolean; const creation, lastAccess, expires: TDateTime; count, total: Integer; out deleteCookie: Boolean): Boolean; virtual;
diff --git a/source/uCEFCustomStreamReader.pas b/source/uCEFCustomStreamReader.pas
index 9a40401f..37693663 100644
--- a/source/uCEFCustomStreamReader.pas
+++ b/source/uCEFCustomStreamReader.pas
@@ -52,10 +52,10 @@ uses
{$ELSE}
Classes, SysUtils,
{$ENDIF}
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefCustomStreamReader = class(TCefBaseOwn, ICefCustomStreamReader)
+ TCefCustomStreamReader = class(TCefBaseRefCountedOwn, ICefCustomStreamReader)
protected
FStream: TStream;
FOwned: Boolean;
diff --git a/source/uCEFDeleteCookiesCallback.pas b/source/uCEFDeleteCookiesCallback.pas
index e808f399..ac990fcc 100644
--- a/source/uCEFDeleteCookiesCallback.pas
+++ b/source/uCEFDeleteCookiesCallback.pas
@@ -47,10 +47,10 @@ unit uCEFDeleteCookiesCallback;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefDeleteCookiesCallbackOwn = class(TCefBaseOwn, ICefDeleteCookiesCallback)
+ TCefDeleteCookiesCallbackOwn = class(TCefBaseRefCountedOwn, ICefDeleteCookiesCallback)
protected
procedure OnComplete(numDeleted: Integer); virtual; abstract;
diff --git a/source/uCEFDialogHandler.pas b/source/uCEFDialogHandler.pas
index 2d8e8080..480d5791 100644
--- a/source/uCEFDialogHandler.pas
+++ b/source/uCEFDialogHandler.pas
@@ -52,10 +52,10 @@ uses
{$ELSE}
Classes,
{$ENDIF}
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefDialogHandlerOwn = class(TCefBaseOwn, ICefDialogHandler)
+ TCefDialogHandlerOwn = class(TCefBaseRefCountedOwn, ICefDialogHandler)
protected
function OnFileDialog(const browser: ICefBrowser; mode: TCefFileDialogMode; const title, defaultFilePath: ustring; acceptFilters: TStrings; selectedAcceptFilter: Integer; const callback: ICefFileDialogCallback): Boolean; virtual;
diff --git a/source/uCEFDictionaryValue.pas b/source/uCEFDictionaryValue.pas
index b00ec729..573e7bf5 100644
--- a/source/uCEFDictionaryValue.pas
+++ b/source/uCEFDictionaryValue.pas
@@ -52,10 +52,10 @@ uses
{$ELSE}
Classes,
{$ENDIF}
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefDictionaryValueRef = class(TCefBaseRef, ICefDictionaryValue)
+ TCefDictionaryValueRef = class(TCefBaseRefCountedRef, ICefDictionaryValue)
protected
function IsValid: Boolean;
function isOwned: Boolean;
diff --git a/source/uCEFDisplayHandler.pas b/source/uCEFDisplayHandler.pas
index 4f1cfabd..75122fa1 100644
--- a/source/uCEFDisplayHandler.pas
+++ b/source/uCEFDisplayHandler.pas
@@ -52,10 +52,10 @@ uses
{$ELSE}
Classes,
{$ENDIF}
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefDisplayHandlerOwn = class(TCefBaseOwn, ICefDisplayHandler)
+ TCefDisplayHandlerOwn = class(TCefBaseRefCountedOwn, ICefDisplayHandler)
protected
procedure OnAddressChange(const browser: ICefBrowser; const frame: ICefFrame; const url: ustring); virtual;
procedure OnTitleChange(const browser: ICefBrowser; const title: ustring); virtual;
diff --git a/source/uCEFDomDocument.pas b/source/uCEFDomDocument.pas
index 43632a38..be303197 100644
--- a/source/uCEFDomDocument.pas
+++ b/source/uCEFDomDocument.pas
@@ -47,10 +47,10 @@ unit uCEFDomDocument;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefDomDocumentRef = class(TCefBaseRef, ICefDomDocument)
+ TCefDomDocumentRef = class(TCefBaseRefCountedRef, ICefDomDocument)
protected
function GetType: TCefDomDocumentType;
function GetDocument: ICefDomNode;
diff --git a/source/uCEFDomNode.pas b/source/uCEFDomNode.pas
index 75244625..9cc74cfc 100644
--- a/source/uCEFDomNode.pas
+++ b/source/uCEFDomNode.pas
@@ -47,10 +47,10 @@ unit uCEFDomNode;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefDomNodeRef = class(TCefBaseRef, ICefDomNode)
+ TCefDomNodeRef = class(TCefBaseRefCountedRef, ICefDomNode)
protected
function GetType: TCefDomNodeType;
function IsText: Boolean;
diff --git a/source/uCEFDomVisitor.pas b/source/uCEFDomVisitor.pas
index 3bfa0346..b8491804 100644
--- a/source/uCEFDomVisitor.pas
+++ b/source/uCEFDomVisitor.pas
@@ -47,10 +47,10 @@ unit uCEFDomVisitor;
interface
uses
- uCEFBase, uCEFInterfaces;
+ uCEFBaseRefCounted, uCEFInterfaces;
type
- TCefDomVisitorOwn = class(TCefBaseOwn, ICefDomVisitor)
+ TCefDomVisitorOwn = class(TCefBaseRefCountedOwn, ICefDomVisitor)
protected
procedure visit(const document: ICefDomDocument); virtual;
diff --git a/source/uCEFDownLoadItem.pas b/source/uCEFDownLoadItem.pas
index e953e904..f0bd268b 100644
--- a/source/uCEFDownLoadItem.pas
+++ b/source/uCEFDownLoadItem.pas
@@ -47,10 +47,10 @@ unit uCEFDownLoadItem;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefDownLoadItemRef = class(TCefBaseRef, ICefDownLoadItem)
+ TCefDownLoadItemRef = class(TCefBaseRefCountedRef, ICefDownLoadItem)
protected
function IsValid: Boolean;
function IsInProgress: Boolean;
diff --git a/source/uCEFDownloadHandler.pas b/source/uCEFDownloadHandler.pas
index be7a035a..95633382 100644
--- a/source/uCEFDownloadHandler.pas
+++ b/source/uCEFDownloadHandler.pas
@@ -47,10 +47,10 @@ unit uCEFDownloadHandler;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefDownloadHandlerOwn = class(TCefBaseOwn, ICefDownloadHandler)
+ TCefDownloadHandlerOwn = class(TCefBaseRefCountedOwn, ICefDownloadHandler)
protected
procedure OnBeforeDownload(const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const suggestedName: ustring; const callback: ICefBeforeDownloadCallback); virtual;
procedure OnDownloadUpdated(const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const callback: ICefDownloadItemCallback); virtual;
diff --git a/source/uCEFDownloadImageCallBack.pas b/source/uCEFDownloadImageCallBack.pas
index 681fbbfe..b022654e 100644
--- a/source/uCEFDownloadImageCallBack.pas
+++ b/source/uCEFDownloadImageCallBack.pas
@@ -47,10 +47,10 @@ unit uCEFDownloadImageCallBack;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefDownloadImageCallbackOwn = class(TCefBaseOwn, ICefDownloadImageCallback)
+ TCefDownloadImageCallbackOwn = class(TCefBaseRefCountedOwn, ICefDownloadImageCallback)
protected
procedure OnDownloadImageFinished(const imageUrl: ustring; httpStatusCode: Integer; const image: ICefImage); virtual; abstract;
diff --git a/source/uCEFDownloadItemCallback.pas b/source/uCEFDownloadItemCallback.pas
index 39356779..f7b5189b 100644
--- a/source/uCEFDownloadItemCallback.pas
+++ b/source/uCEFDownloadItemCallback.pas
@@ -47,10 +47,10 @@ unit uCEFDownloadItemCallback;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefDownloadItemCallbackRef = class(TCefBaseRef, ICefDownloadItemCallback)
+ TCefDownloadItemCallbackRef = class(TCefBaseRefCountedRef, ICefDownloadItemCallback)
protected
procedure Cancel;
procedure Pause;
diff --git a/source/uCEFDragData.pas b/source/uCEFDragData.pas
index db0c6c29..1c12675d 100644
--- a/source/uCEFDragData.pas
+++ b/source/uCEFDragData.pas
@@ -52,10 +52,10 @@ uses
{$ELSE}
Classes,
{$ENDIF}
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefDragDataRef = class(TCefBaseRef, ICefDragData)
+ TCefDragDataRef = class(TCefBaseRefCountedRef, ICefDragData)
protected
function Clone: ICefDragData;
function IsReadOnly: Boolean;
diff --git a/source/uCEFDragHandler.pas b/source/uCEFDragHandler.pas
index dadef26a..aaaaa8ad 100644
--- a/source/uCEFDragHandler.pas
+++ b/source/uCEFDragHandler.pas
@@ -47,10 +47,10 @@ unit uCEFDragHandler;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefDragHandlerOwn = class(TCefBaseOwn, ICefDragHandler)
+ TCefDragHandlerOwn = class(TCefBaseRefCountedOwn, ICefDragHandler)
protected
function OnDragEnter(const browser: ICefBrowser; const dragData: ICefDragData; mask: TCefDragOperations): Boolean; virtual;
procedure OnDraggableRegionsChanged(const browser: ICefBrowser; regionsCount: NativeUInt; regions: PCefDraggableRegionArray); virtual;
diff --git a/source/uCEFEndTracingCallback.pas b/source/uCEFEndTracingCallback.pas
index 25ec7519..b6da23d6 100644
--- a/source/uCEFEndTracingCallback.pas
+++ b/source/uCEFEndTracingCallback.pas
@@ -47,10 +47,10 @@ unit uCEFEndTracingCallback;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefEndTracingCallbackOwn = class(TCefBaseOwn, ICefEndTracingCallback)
+ TCefEndTracingCallbackOwn = class(TCefBaseRefCountedOwn, ICefEndTracingCallback)
protected
procedure OnEndTracingComplete(const tracingFile: ustring); virtual;
public
diff --git a/source/uCEFFileDialogCallback.pas b/source/uCEFFileDialogCallback.pas
index 75232734..8efd2e79 100644
--- a/source/uCEFFileDialogCallback.pas
+++ b/source/uCEFFileDialogCallback.pas
@@ -52,10 +52,10 @@ uses
{$ELSE}
Classes,
{$ENDIF}
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefFileDialogCallbackRef = class(TCefBaseRef, ICefFileDialogCallback)
+ TCefFileDialogCallbackRef = class(TCefBaseRefCountedRef, ICefFileDialogCallback)
protected
procedure Cont(selectedAcceptFilter: Integer; filePaths: TStrings);
procedure Cancel;
diff --git a/source/uCEFFindHandler.pas b/source/uCEFFindHandler.pas
index 8b031173..20a5cd41 100644
--- a/source/uCEFFindHandler.pas
+++ b/source/uCEFFindHandler.pas
@@ -47,10 +47,10 @@ unit uCEFFindHandler;
interface
uses
- uCEFBase, uCEFTypes, uCEFInterfaces;
+ uCEFBaseRefCounted, uCEFTypes, uCEFInterfaces;
type
- TCefFindHandlerOwn = class(TCefBaseOwn, ICefFindHandler)
+ TCefFindHandlerOwn = class(TCefBaseRefCountedOwn, ICefFindHandler)
protected
procedure OnFindResult(const browser: ICefBrowser; identifier, count: Integer; const selectionRect: PCefRect; activeMatchOrdinal: Integer; finalUpdate: Boolean); virtual; abstract;
diff --git a/source/uCEFFocusHandler.pas b/source/uCEFFocusHandler.pas
index be76a410..1dd66fd7 100644
--- a/source/uCEFFocusHandler.pas
+++ b/source/uCEFFocusHandler.pas
@@ -47,10 +47,10 @@ unit uCEFFocusHandler;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefFocusHandlerOwn = class(TCefBaseOwn, ICefFocusHandler)
+ TCefFocusHandlerOwn = class(TCefBaseRefCountedOwn, ICefFocusHandler)
protected
procedure OnTakeFocus(const browser: ICefBrowser; next: Boolean); virtual;
function OnSetFocus(const browser: ICefBrowser; source: TCefFocusSource): Boolean; virtual;
diff --git a/source/uCEFFrame.pas b/source/uCEFFrame.pas
index 7d590eba..2dcd3447 100644
--- a/source/uCEFFrame.pas
+++ b/source/uCEFFrame.pas
@@ -47,10 +47,10 @@ unit uCEFFrame;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefFrameRef = class(TCefBaseRef, ICefFrame)
+ TCefFrameRef = class(TCefBaseRefCountedRef, ICefFrame)
public
function IsValid: Boolean;
procedure Undo;
diff --git a/source/uCEFGeolocationCallback.pas b/source/uCEFGeolocationCallback.pas
index d08ebd8a..7c0ad2af 100644
--- a/source/uCEFGeolocationCallback.pas
+++ b/source/uCEFGeolocationCallback.pas
@@ -47,10 +47,10 @@ unit uCEFGeolocationCallback;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefGeolocationCallbackRef = class(TCefBaseRef, ICefGeolocationCallback)
+ TCefGeolocationCallbackRef = class(TCefBaseRefCountedRef, ICefGeolocationCallback)
protected
procedure Cont(allow: Boolean);
public
diff --git a/source/uCEFGeolocationHandler.pas b/source/uCEFGeolocationHandler.pas
index 024d9214..aed46383 100644
--- a/source/uCEFGeolocationHandler.pas
+++ b/source/uCEFGeolocationHandler.pas
@@ -47,10 +47,10 @@ unit uCEFGeolocationHandler;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefGeolocationHandlerOwn = class(TCefBaseOwn, ICefGeolocationHandler)
+ TCefGeolocationHandlerOwn = class(TCefBaseRefCountedOwn, ICefGeolocationHandler)
protected
function OnRequestGeolocationPermission(const browser: ICefBrowser; const requestingUrl: ustring; requestId: Integer; const callback: ICefGeolocationCallback): Boolean; virtual;
procedure OnCancelGeolocationPermission(const browser: ICefBrowser; requestId: Integer); virtual;
diff --git a/source/uCEFGetGeolocationCallback.pas b/source/uCEFGetGeolocationCallback.pas
index 03f035bb..03caab01 100644
--- a/source/uCEFGetGeolocationCallback.pas
+++ b/source/uCEFGetGeolocationCallback.pas
@@ -47,10 +47,10 @@ unit uCEFGetGeolocationCallback;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefGetGeolocationCallbackOwn = class(TCefBaseOwn, ICefGetGeolocationCallback)
+ TCefGetGeolocationCallbackOwn = class(TCefBaseRefCountedOwn, ICefGetGeolocationCallback)
protected
procedure OnLocationUpdate(const position: PCefGeoposition); virtual;
diff --git a/source/uCEFImage.pas b/source/uCEFImage.pas
index 4dd216dc..c1110bf5 100644
--- a/source/uCEFImage.pas
+++ b/source/uCEFImage.pas
@@ -52,10 +52,10 @@ uses
{$ELSE}
Windows,
{$ENDIF}
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefImageRef = class(TCefBaseRef, ICefImage)
+ TCefImageRef = class(TCefBaseRefCountedRef, ICefImage)
protected
function IsEmpty: Boolean;
function IsSame(const that: ICefImage): Boolean;
diff --git a/source/uCEFInterfaces.pas b/source/uCEFInterfaces.pas
index 47efa0da..371bca87 100644
--- a/source/uCEFInterfaces.pas
+++ b/source/uCEFInterfaces.pas
@@ -52,7 +52,7 @@ uses
{$ELSE}
Windows, Classes,
{$ENDIF}
- uCEFTypes;
+ uCEFTypes, uCEFSchemeRegistrar;
type
ICefBrowser = interface;
@@ -85,7 +85,6 @@ type
ICefX509CertPrincipal = interface;
ICefX509Certificate = interface;
ICefSelectClientCertificateCallback = interface;
- ICefSchemeRegistrar = interface;
ICefCommandLine = interface;
ICefRequestHandler = interface;
ICefResourceBundleHandler = interface;
@@ -99,7 +98,7 @@ type
TCefDomVisitorProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const document: ICefDomDocument);
TCefStringVisitorProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const str: ustring);
- TOnRegisterCustomSchemes = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const registrar: ICefSchemeRegistrar) {$IFNDEF DELPHI12_UP}of object{$ENDIF};
+ TOnRegisterCustomSchemes = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const registrar: TCefSchemeRegistrarRef) {$IFNDEF DELPHI12_UP}of object{$ENDIF};
TOnGetResourceBundleHandler = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(var aCefResourceBundleHandler : ICefResourceBundleHandler) {$IFNDEF DELPHI12_UP}of object{$ENDIF};
TOnGetBrowserProcessHandler = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(var aCefBrowserProcessHandler : ICefBrowserProcessHandler) {$IFNDEF DELPHI12_UP}of object{$ENDIF};
TOnGetRenderProcessHandler = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(var aCefRenderProcessHandler : ICefRenderProcessHandler) {$IFNDEF DELPHI12_UP}of object{$ENDIF};
@@ -111,12 +110,12 @@ type
- ICefBase = interface
+ ICefBaseRefCounted = interface
['{1F9A7B44-DCDC-4477-9180-3ADD44BDEB7B}']
function Wrap: Pointer;
end;
- ICefRunFileDialogCallback = interface(ICefBase)
+ ICefRunFileDialogCallback = interface(ICefBaseRefCounted)
['{59FCECC6-E897-45BA-873B-F09586C4BE47}']
procedure OnFileDialogDismissed(selectedAcceptFilter: Integer; filePaths: TStrings);
end;
@@ -124,7 +123,7 @@ type
TCefRunFileDialogCallbackProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF}
procedure(selectedAcceptFilter: Integer; filePaths: TStrings);
- ICefNavigationEntryVisitor = interface(ICefBase)
+ ICefNavigationEntryVisitor = interface(ICefBaseRefCounted)
['{CC4D6BC9-0168-4C2C-98BA-45E9AA9CD619}']
function Visit(const entry: ICefNavigationEntry;
current: Boolean; index, total: Integer): Boolean;
@@ -133,7 +132,7 @@ type
TCefNavigationEntryVisitorProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF}
function(const entry: ICefNavigationEntry; current: Boolean; index, total: Integer): Boolean;
- ICefPdfPrintCallback = interface(ICefBase)
+ ICefPdfPrintCallback = interface(ICefBaseRefCounted)
['{F1CC58E9-2C30-4932-91AE-467C8D8EFB8E}']
procedure OnPdfPrintFinished(const path: ustring; ok: Boolean);
end;
@@ -141,13 +140,13 @@ type
TOnDownloadImageFinishedProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF}
procedure(const imageUrl: ustring; httpStatusCode: Integer; const image: ICefImage);
- ICefDownloadImageCallback = interface(ICefBase)
+ ICefDownloadImageCallback = interface(ICefBaseRefCounted)
['{0C6E9032-27DF-4584-95C6-DC3C7CB63727}']
procedure OnDownloadImageFinished(const imageUrl: ustring;
httpStatusCode: Integer; const image: ICefImage);
end;
- ICefBrowserHost = interface(ICefBase)
+ ICefBrowserHost = interface(ICefBaseRefCounted)
['{53AE02FF-EF5D-48C3-A43E-069DA9535424}']
function GetBrowser: ICefBrowser;
procedure CloseBrowser(forceClose: Boolean);
@@ -211,7 +210,7 @@ type
property VisibleNavigationEntry : ICefNavigationEntry read GetVisibleNavigationEntry;
end;
- ICefProcessMessage = interface(ICefBase)
+ ICefProcessMessage = interface(ICefBaseRefCounted)
['{E0B1001A-8777-425A-869B-29D40B8B93B1}']
function IsValid: Boolean;
function IsReadOnly: Boolean;
@@ -222,7 +221,7 @@ type
property ArgumentList: ICefListValue read GetArgumentList;
end;
- ICefBrowser = interface(ICefBase)
+ ICefBrowser = interface(ICefBaseRefCounted)
['{BA003C2E-CF15-458F-9D4A-FE3CEFCF3EEF}']
function GetHost: ICefBrowserHost;
function CanGoBack: Boolean;
@@ -253,7 +252,7 @@ type
property Identifier: Integer read GetIdentifier;
end;
- ICefPostDataElement = interface(ICefBase)
+ ICefPostDataElement = interface(ICefBaseRefCounted)
['{3353D1B8-0300-4ADC-8D74-4FF31C77D13C}']
function IsReadOnly: Boolean;
procedure SetToEmpty;
@@ -265,7 +264,7 @@ type
function GetBytes(size: NativeUInt; bytes: Pointer): NativeUInt;
end;
- ICefPostData = interface(ICefBase)
+ ICefPostData = interface(ICefBaseRefCounted)
['{1E677630-9339-4732-BB99-D6FE4DE4AEC0}']
function IsReadOnly: Boolean;
function HasExcludedElements: Boolean;
@@ -310,7 +309,7 @@ type
property Enumerate[const Key: ustring; ValueIndex: Integer]: ustring read GetEnumerate;
end;
- ICefRequest = interface(ICefBase)
+ ICefRequest = interface(ICefBaseRefCounted)
['{FB4718D3-7D13-4979-9F4C-D7F6C0EC592A}']
function IsReadOnly: Boolean;
function GetUrl: ustring;
@@ -347,12 +346,12 @@ type
property Identifier: UInt64 read GetIdentifier;
end;
- ICefStringVisitor = interface(ICefBase)
+ ICefStringVisitor = interface(ICefBaseRefCounted)
['{63ED4D6C-2FC8-4537-964B-B84C008F6158}']
procedure Visit(const str: ustring);
end;
- ICefFrame = interface(ICefBase)
+ ICefFrame = interface(ICefBaseRefCounted)
['{8FD3D3A6-EA3A-4A72-8501-0276BD5C3D1D}']
function IsValid: Boolean;
procedure Undo;
@@ -388,7 +387,7 @@ type
end;
- ICefCustomStreamReader = interface(ICefBase)
+ ICefCustomStreamReader = interface(ICefBaseRefCounted)
['{BBCFF23A-6FE7-4C28-B13E-6D2ACA5C83B7}']
function Read(ptr: Pointer; size, n: NativeUInt): NativeUInt;
function Seek(offset: Int64; whence: Integer): Integer;
@@ -397,7 +396,7 @@ type
function MayBlock: Boolean;
end;
- ICefStreamReader = interface(ICefBase)
+ ICefStreamReader = interface(ICefBaseRefCounted)
['{DD5361CB-E558-49C5-A4BD-D1CE84ADB277}']
function Read(ptr: Pointer; size, n: NativeUInt): NativeUInt;
function Seek(offset: Int64; whence: Integer): Integer;
@@ -406,7 +405,7 @@ type
function MayBlock: Boolean;
end;
- ICefWriteHandler = interface(ICefBase)
+ ICefWriteHandler = interface(ICefBaseRefCounted)
['{F2431888-4EAB-421E-9EC3-320BE695AF30}']
function Write(const ptr: Pointer; size, n: NativeUInt): NativeUInt;
function Seek(offset: Int64; whence: Integer): Integer;
@@ -415,7 +414,7 @@ type
function MayBlock: Boolean;
end;
- ICefStreamWriter = interface(ICefBase)
+ ICefStreamWriter = interface(ICefBaseRefCounted)
['{4AA6C477-7D8A-4D5A-A704-67F900A827E7}']
function Write(const ptr: Pointer; size, n: NativeUInt): NativeUInt;
function Seek(offset: Int64; whence: Integer): Integer;
@@ -424,7 +423,7 @@ type
function MayBlock: Boolean;
end;
- ICefResponse = interface(ICefBase)
+ ICefResponse = interface(ICefBaseRefCounted)
['{E9C896E4-59A8-4B96-AB5E-6EA3A498B7F1}']
function IsReadOnly: Boolean;
function GetError: TCefErrorCode;
@@ -444,7 +443,7 @@ type
property Error: TCefErrorCode read GetError write SetError;
end;
- ICefDownloadItem = interface(ICefBase)
+ ICefDownloadItem = interface(ICefBaseRefCounted)
['{B34BD320-A82E-4185-8E84-B98E5EEC803F}']
function IsValid: Boolean;
function IsInProgress: Boolean;
@@ -479,19 +478,19 @@ type
property MimeType: ustring read GetMimeType;
end;
- ICefBeforeDownloadCallback = interface(ICefBase)
+ ICefBeforeDownloadCallback = interface(ICefBaseRefCounted)
['{5A81AF75-CBA2-444D-AD8E-522160F36433}']
procedure Cont(const downloadPath: ustring; showDialog: Boolean);
end;
- ICefDownloadItemCallback = interface(ICefBase)
+ ICefDownloadItemCallback = interface(ICefBaseRefCounted)
['{498F103F-BE64-4D5F-86B7-B37EC69E1735}']
procedure Cancel;
procedure Pause;
procedure Resume;
end;
- ICefDownloadHandler = interface(ICefBase)
+ ICefDownloadHandler = interface(ICefBaseRefCounted)
['{3137F90A-5DC5-43C1-858D-A269F28EF4F1}']
procedure OnBeforeDownload(const browser: ICefBrowser; const downloadItem: ICefDownloadItem;
const suggestedName: ustring; const callback: ICefBeforeDownloadCallback);
@@ -499,7 +498,7 @@ type
const callback: ICefDownloadItemCallback);
end;
- ICefV8Exception = interface(ICefBase)
+ ICefV8Exception = interface(ICefBaseRefCounted)
['{7E422CF0-05AC-4A60-A029-F45105DCE6A4}']
function GetMessage: ustring;
function GetSourceLine: ustring;
@@ -520,7 +519,7 @@ type
property EndColumn: Integer read GetEndColumn;
end;
- ICefv8Context = interface(ICefBase)
+ ICefv8Context = interface(ICefBaseRefCounted)
['{2295A11A-8773-41F2-AD42-308C215062D9}']
function GetTaskRunner: ICefTaskRunner;
function IsValid: Boolean;
@@ -536,14 +535,14 @@ type
property Global: ICefv8Value read GetGlobal;
end;
- ICefv8Handler = interface(ICefBase)
+ ICefv8Handler = interface(ICefBaseRefCounted)
['{F94CDC60-FDCB-422D-96D5-D2A775BD5D73}']
function Execute(const name: ustring; const obj: ICefv8Value;
const arguments: TCefv8ValueArray; var retval: ICefv8Value;
var exception: ustring): Boolean;
end;
- ICefV8Interceptor = interface(ICefBase)
+ ICefV8Interceptor = interface(ICefBaseRefCounted)
['{B3B8FD7C-A916-4B25-93A2-2892AC324F21}']
function GetByName(const name: ustring; const obj: ICefv8Value; out retval: ICefv8Value; const exception: ustring): boolean;
function GetByIndex(index: integer; const obj: ICefv8Value; out retval: ICefv8Value; const exception: ustring): boolean;
@@ -551,18 +550,18 @@ type
function SetByIndex(index: integer; const obj: ICefv8Value; const value: ICefv8Value; const exception: ustring): boolean;
end;
- ICefV8Accessor = interface(ICefBase)
+ ICefV8Accessor = interface(ICefBaseRefCounted)
['{DCA6D4A2-726A-4E24-AA64-5E8C731D868A}']
function Get(const name: ustring; const obj: ICefv8Value; out value: ICefv8Value; const exception: ustring): Boolean;
function Put(const name: ustring; const obj: ICefv8Value; const value: ICefv8Value; const exception: ustring): Boolean;
end;
- ICefTask = interface(ICefBase)
+ ICefTask = interface(ICefBaseRefCounted)
['{0D965470-4A86-47CE-BD39-A8770021AD7E}']
procedure Execute;
end;
- ICefTaskRunner = interface(ICefBase)
+ ICefTaskRunner = interface(ICefBaseRefCounted)
['{6A500FA3-77B7-4418-8EA8-6337EED1337B}']
function IsSame(const that: ICefTaskRunner): Boolean;
function BelongsToCurrentThread: Boolean;
@@ -571,7 +570,7 @@ type
function PostDelayedTask(const task: ICefTask; delayMs: Int64): Boolean;
end;
- ICefThread = interface(ICefBase)
+ ICefThread = interface(ICefBaseRefCounted)
['{26B30EA5-F44A-4C40-97DF-67FD9E73A4FF}']
function GetTaskRunner : ICefTaskRunner;
function GetPlatformThreadID : TCefPlatformThreadId;
@@ -579,7 +578,7 @@ type
function IsRunning : boolean;
end;
- ICefWaitableEvent = interface(ICefBase)
+ ICefWaitableEvent = interface(ICefBaseRefCounted)
['{965C90C9-3DAE-457F-AA64-E04FF508094A}']
procedure Reset;
procedure Signal;
@@ -588,7 +587,7 @@ type
function TimedWait(max_ms: int64): boolean;
end;
- ICefv8Value = interface(ICefBase)
+ ICefv8Value = interface(ICefBaseRefCounted)
['{52319B8D-75A8-422C-BD4B-16FA08CC7F42}']
function IsValid: Boolean;
function IsUndefined: Boolean;
@@ -640,7 +639,7 @@ type
const obj: ICefv8Value; const arguments: TCefv8ValueArray): ICefv8Value;
end;
- ICefV8StackFrame = interface(ICefBase)
+ ICefV8StackFrame = interface(ICefBaseRefCounted)
['{BA1FFBF4-E9F2-4842-A827-DC220F324286}']
function IsValid: Boolean;
function GetScriptName: ustring;
@@ -658,7 +657,7 @@ type
property Column: Integer read GetColumn;
end;
- ICefV8StackTrace = interface(ICefBase)
+ ICefV8StackTrace = interface(ICefBaseRefCounted)
['{32111C84-B7F7-4E3A-92B9-7CA1D0ADB613}']
function IsValid: Boolean;
function GetFrameCount: Integer;
@@ -667,7 +666,7 @@ type
property Frame[index: Integer]: ICefV8StackFrame read GetFrame;
end;
- ICefXmlReader = interface(ICefBase)
+ ICefXmlReader = interface(ICefBaseRefCounted)
['{0DE686C3-A8D7-45D2-82FD-92F7F4E62A90}']
function MoveToNextNode: Boolean;
function Close: Boolean;
@@ -700,7 +699,7 @@ type
function MoveToCarryingElement: Boolean;
end;
- ICefZipReader = interface(ICefBase)
+ ICefZipReader = interface(ICefBaseRefCounted)
['{3B6C591F-9877-42B3-8892-AA7B27DA34A8}']
function MoveToFirstFile: Boolean;
function MoveToNextFile: Boolean;
@@ -716,7 +715,7 @@ type
function Eof: Boolean;
end;
- ICefDomNode = interface(ICefBase)
+ ICefDomNode = interface(ICefBaseRefCounted)
['{96C03C9E-9C98-491A-8DAD-1947332232D6}']
function GetType: TCefDomNodeType;
function IsText: Boolean;
@@ -759,7 +758,7 @@ type
property ElementBounds: TCefRect read GetElementBounds;
end;
- ICefDomDocument = interface(ICefBase)
+ ICefDomDocument = interface(ICefBaseRefCounted)
['{08E74052-45AF-4F69-A578-98A5C3959426}']
function GetType: TCefDomDocumentType;
function GetDocument: ICefDomNode;
@@ -788,25 +787,25 @@ type
property BaseUrl: ustring read GetBaseUrl;
end;
- ICefDomVisitor = interface(ICefBase)
+ ICefDomVisitor = interface(ICefBaseRefCounted)
['{30398428-3196-4531-B968-2DDBED36F6B0}']
procedure visit(const document: ICefDomDocument);
end;
- ICefCookieVisitor = interface(ICefBase)
+ ICefCookieVisitor = interface(ICefBaseRefCounted)
['{8378CF1B-84AB-4FDB-9B86-34DDABCCC402}']
function visit(const name, value, domain, path: ustring; secure, httponly,
hasExpires: Boolean; const creation, lastAccess, expires: TDateTime;
count, total: Integer; out deleteCookie: Boolean): Boolean;
end;
- ICefResourceBundleHandler = interface(ICefBase)
+ ICefResourceBundleHandler = interface(ICefBaseRefCounted)
['{09C264FD-7E03-41E3-87B3-4234E82B5EA2}']
function GetLocalizedString(stringId: Integer; out stringVal: ustring): Boolean;
function GetDataResource(resourceId: Integer; out data: Pointer; out dataSize: NativeUInt): Boolean;
end;
- ICefCommandLine = interface(ICefBase)
+ ICefCommandLine = interface(ICefBaseRefCounted)
['{6B43D21B-0F2C-4B94-B4E6-4AF0D7669D8E}']
function IsValid: Boolean;
function IsReadOnly: Boolean;
@@ -831,7 +830,7 @@ type
property CommandLineString: ustring read GetCommandLineString;
end;
- ICefBrowserProcessHandler = interface(ICefBase)
+ ICefBrowserProcessHandler = interface(ICefBaseRefCounted)
['{27291B7A-C0AE-4EE0-9115-15C810E22F6C}']
procedure OnContextInitialized;
procedure OnBeforeChildProcessLaunch(const commandLine: ICefCommandLine);
@@ -839,13 +838,7 @@ type
procedure OnScheduleMessagePumpWork(delayMs: Int64);
end;
- ICefSchemeRegistrar = interface(ICefBase)
- ['{1832FF6E-100B-4E8B-B996-AD633168BEE7}']
- function AddCustomScheme(const schemeName: ustring; IsStandard, IsLocal,
- IsDisplayIsolated: Boolean): Boolean; stdcall;
- end;
-
- ICefRenderProcessHandler = interface(IcefBase)
+ ICefRenderProcessHandler = interface(ICefBaseRefCounted)
['{FADEE3BC-BF66-430A-BA5D-1EE3782ECC58}']
procedure OnRenderThreadCreated(const extraInfo: ICefListValue) ;
procedure OnWebKitInitialized;
@@ -864,14 +857,13 @@ type
sourceProcess: TCefProcessId; const message: ICefProcessMessage): Boolean;
end;
- ICefApp = interface(ICefBase)
+ ICefApp = interface(ICefBaseRefCounted)
['{970CA670-9070-4642-B188-7D8A22DAEED4}']
- procedure OnBeforeCommandLineProcessing(const processType: ustring;
- const commandLine: ICefCommandLine);
- procedure OnRegisterCustomSchemes(const registrar: ICefSchemeRegistrar);
- function GetResourceBundleHandler: ICefResourceBundleHandler;
- function GetBrowserProcessHandler: ICefBrowserProcessHandler;
- function GetRenderProcessHandler: ICefRenderProcessHandler;
+ procedure OnBeforeCommandLineProcessing(const processType: ustring; const commandLine: ICefCommandLine);
+ procedure OnRegisterCustomSchemes(const registrar: TCefSchemeRegistrarRef);
+ function GetResourceBundleHandler: ICefResourceBundleHandler;
+ function GetBrowserProcessHandler: ICefBrowserProcessHandler;
+ function GetRenderProcessHandler: ICefRenderProcessHandler;
end;
TCefCookieVisitorProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} function(
@@ -879,22 +871,22 @@ type
hasExpires: Boolean; const creation, lastAccess, expires: TDateTime;
count, total: Integer; out deleteCookie: Boolean): Boolean;
- ICefCompletionCallback = interface(ICefBase)
+ ICefCompletionCallback = interface(ICefBaseRefCounted)
['{A8ECCFBB-FEE0-446F-AB32-AD69A7478D57}']
procedure OnComplete;
end;
- ICefSetCookieCallback = interface(ICefBase)
+ ICefSetCookieCallback = interface(ICefBaseRefCounted)
['{16E14B6F-CB0A-4F9D-A008-239E0BC7B892}']
procedure OnComplete(success: Boolean);
end;
- ICefDeleteCookiesCallback = interface(ICefBase)
+ ICefDeleteCookiesCallback = interface(ICefBaseRefCounted)
['{758B79A1-B9E8-4F0D-94A0-DCE5AFADE33D}']
procedure OnComplete(numDeleted: Integer);
end;
- ICefCookieManager = Interface(ICefBase)
+ ICefCookieManager = Interface(ICefBaseRefCounted)
['{CC1749E6-9AD3-4283-8430-AF6CBF3E8785}']
procedure SetSupportedSchemes(schemes: TStrings; const callback: ICefCompletionCallback);
procedure SetSupportedSchemesProc(schemes: TStrings; const callback: TCefCompletionCallbackProc);
@@ -918,7 +910,7 @@ type
function FlushStoreProc(const proc: TCefCompletionCallbackProc): Boolean;
end;
- ICefWebPluginInfo = interface(ICefBase)
+ ICefWebPluginInfo = interface(ICefBaseRefCounted)
['{AA879E58-F649-44B1-AF9C-655FF5B79A02}']
function GetName: ustring;
function GetPath: ustring;
@@ -931,13 +923,13 @@ type
property Description: ustring read GetDescription;
end;
- ICefCallback = interface(ICefBase)
+ ICefCallback = interface(ICefBaseRefCounted)
['{1B8C449F-E2D6-4B78-9BBA-6F47E8BCDF37}']
procedure Cont;
procedure Cancel;
end;
- ICefResourceHandler = interface(ICefBase)
+ ICefResourceHandler = interface(ICefBaseRefCounted)
['{BD3EA208-AAAD-488C-BFF2-76993022F2B5}']
function ProcessRequest(const request: ICefRequest; const callback: ICefCallback): Boolean;
procedure GetResponseHeaders(const response: ICefResponse;
@@ -949,24 +941,24 @@ type
procedure Cancel;
end;
- ICefSchemeHandlerFactory = interface(ICefBase)
+ ICefSchemeHandlerFactory = interface(ICefBaseRefCounted)
['{4D9B7960-B73B-4EBD-9ABE-6C1C43C245EB}']
function New(const browser: ICefBrowser; const frame: ICefFrame;
const schemeName: ustring; const request: ICefRequest): ICefResourceHandler;
end;
- ICefAuthCallback = interface(ICefBase)
+ ICefAuthCallback = interface(ICefBaseRefCounted)
['{500C2023-BF4D-4FF7-9C04-165E5C389131}']
procedure Cont(const username, password: ustring);
procedure Cancel;
end;
- ICefJsDialogCallback = interface(ICefBase)
+ ICefJsDialogCallback = interface(ICefBaseRefCounted)
['{187B2156-9947-4108-87AB-32E559E1B026}']
procedure Cont(success: Boolean; const userInput: ustring);
end;
- ICefContextMenuParams = interface(ICefBase)
+ ICefContextMenuParams = interface(ICefBaseRefCounted)
['{E31BFA9E-D4E2-49B7-A05D-20018C8794EB}']
function GetXCoord: Integer;
function GetYCoord: Integer;
@@ -1006,8 +998,9 @@ type
property EditStateFlags: TCefContextMenuEditStateFlags read GetEditStateFlags;
end;
- ICefMenuModel = interface(ICefBase)
+ ICefMenuModel = interface(ICefBaseRefCounted)
['{40AF19D3-8B4E-44B8-8F89-DEB5907FC495}']
+ function IsSubMenu: Boolean;
function Clear: Boolean;
function GetCount: Integer;
function AddSeparator: Boolean;
@@ -1057,9 +1050,15 @@ type
function RemoveAcceleratorAt(index: Integer): Boolean;
function GetAccelerator(commandId: Integer; out keyCode: Integer; out shiftPressed, ctrlPressed, altPressed: Boolean): Boolean;
function GetAcceleratorAt(index: Integer; out keyCode: Integer; out shiftPressed, ctrlPressed, altPressed: Boolean): Boolean;
+ function SetColor(commandId: Integer; colorType: TCefMenuColorType; color: TCefColor): Boolean;
+ function SetColorAt(index: Integer; colorType: TCefMenuColorType; color: TCefColor): Boolean;
+ function GetColor(commandId: Integer; colorType: TCefMenuColorType; out color: TCefColor): Boolean;
+ function GetColorAt(index: Integer; colorType: TCefMenuColorType; out color: TCefColor): Boolean;
+ function SetFontList(commandId: Integer; const fontList: ustring): Boolean;
+ function SetFontListAt(index: Integer; const fontList: ustring): Boolean;
end;
- ICefValue = interface(ICefBase)
+ ICefValue = interface(ICefBaseRefCounted)
['{66F9F439-B12B-4EC3-A945-91AE4EF4D4BA}']
function IsValid: Boolean;
function IsOwned: Boolean;
@@ -1088,7 +1087,7 @@ type
function SetList(const value: ICefListValue): Boolean;
end;
- ICefBinaryValue = interface(ICefBase)
+ ICefBinaryValue = interface(ICefBaseRefCounted)
['{974AA40A-9C5C-4726-81F0-9F0D46D7C5B3}']
function IsValid: Boolean;
function IsOwned: Boolean;
@@ -1099,7 +1098,7 @@ type
function GetData(buffer: Pointer; bufferSize, dataOffset: NativeUInt): NativeUInt;
end;
- ICefDictionaryValue = interface(ICefBase)
+ ICefDictionaryValue = interface(ICefBaseRefCounted)
['{B9638559-54DC-498C-8185-233EEF12BC69}']
function IsValid: Boolean;
function isOwned: Boolean;
@@ -1133,7 +1132,7 @@ type
end;
- ICefListValue = interface(ICefBase)
+ ICefListValue = interface(ICefBaseRefCounted)
['{09174B9D-0CC6-4360-BBB0-3CC0117F70F6}']
function IsValid: Boolean;
function IsOwned: Boolean;
@@ -1166,7 +1165,7 @@ type
end;
- ICefLifeSpanHandler = interface(ICefBase)
+ ICefLifeSpanHandler = interface(ICefBaseRefCounted)
['{0A3EB782-A319-4C35-9B46-09B2834D7169}']
function OnBeforePopup(const browser: ICefBrowser; const frame: ICefFrame;
const targetUrl, targetFrameName: ustring;
@@ -1179,7 +1178,7 @@ type
function DoClose(const browser: ICefBrowser): Boolean;
end;
- ICefLoadHandler = interface(ICefBase)
+ ICefLoadHandler = interface(ICefBaseRefCounted)
['{2C63FB82-345D-4A5B-9858-5AE7A85C9F49}']
procedure OnLoadingStateChange(const browser: ICefBrowser; isLoading, canGoBack, canGoForward: Boolean);
procedure OnLoadStart(const browser: ICefBrowser; const frame: ICefFrame; transitionType: TCefTransitionType);
@@ -1188,20 +1187,20 @@ type
const errorText, failedUrl: ustring);
end;
- ICefRequestCallback = interface(ICefBase)
+ ICefRequestCallback = interface(ICefBaseRefCounted)
['{A35B8FD5-226B-41A8-A763-1940787D321C}']
procedure Cont(allow: Boolean);
procedure Cancel;
end;
- ICefResponseFilter = interface(ICefBase)
+ ICefResponseFilter = interface(ICefBaseRefCounted)
['{5013BC3C-F1AE-407A-A571-A4C6B1D6831E}']
function InitFilter: Boolean;
function Filter(dataIn: Pointer; dataInSize, dataInRead: NativeUInt;
dataOut: Pointer; dataOutSize, dataOutWritten: NativeUInt): TCefResponseFilterStatus;
end;
- ICefRequestHandler = interface(ICefBase)
+ ICefRequestHandler = interface(ICefBaseRefCounted)
['{050877A9-D1F8-4EB3-B58E-50DC3E3D39FD}']
function OnBeforeBrowse(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; isRedirect: Boolean): Boolean;
function OnOpenUrlFromTab(const browser: ICefBrowser; const frame: ICefFrame; const targetUrl: ustring; targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean): Boolean;
@@ -1221,7 +1220,7 @@ type
procedure OnRenderProcessTerminated(const browser: ICefBrowser; status: TCefTerminationStatus);
end;
- ICefDisplayHandler = interface(ICefBase)
+ ICefDisplayHandler = interface(ICefBaseRefCounted)
['{1EC7C76D-6969-41D1-B26D-079BCFF054C4}']
procedure OnAddressChange(const browser: ICefBrowser; const frame: ICefFrame; const url: ustring);
procedure OnTitleChange(const browser: ICefBrowser; const title: ustring);
@@ -1232,14 +1231,14 @@ type
function OnConsoleMessage(const browser: ICefBrowser; const message, source: ustring; line: Integer): Boolean;
end;
- ICefFocusHandler = interface(ICefBase)
+ ICefFocusHandler = interface(ICefBaseRefCounted)
['{BB7FA3FA-7B1A-4ADC-8E50-12A24018DD90}']
procedure OnTakeFocus(const browser: ICefBrowser; next: Boolean);
function OnSetFocus(const browser: ICefBrowser; source: TCefFocusSource): Boolean;
procedure OnGotFocus(const browser: ICefBrowser);
end;
- ICefKeyboardHandler = interface(ICefBase)
+ ICefKeyboardHandler = interface(ICefBaseRefCounted)
['{0512F4EC-ED88-44C9-90D3-5C6D03D3B146}']
function OnPreKeyEvent(const browser: ICefBrowser; const event: PCefKeyEvent;
osEvent: TCefEventHandle; out isKeyboardShortcut: Boolean): Boolean;
@@ -1247,7 +1246,7 @@ type
osEvent: TCefEventHandle): Boolean;
end;
- ICefJsDialogHandler = interface(ICefBase)
+ ICefJsDialogHandler = interface(ICefBaseRefCounted)
['{64E18F86-DAC5-4ED1-8589-44DE45B9DB56}']
function OnJsdialog(const browser: ICefBrowser; const originUrl: ustring;
dialogType: TCefJsDialogType; const messageText, defaultPromptText: ustring;
@@ -1259,12 +1258,12 @@ type
procedure OnDialogClosed(const browser: ICefBrowser);
end;
- ICefRunContextMenuCallback = interface(ICefBase)
+ ICefRunContextMenuCallback = interface(ICefBaseRefCounted)
['{44C3C6E3-B64D-4F6E-A318-4A0F3A72EB00}']
procedure Cont(commandId: Integer; eventFlags: TCefEventFlags);
procedure Cancel;
end;
- ICefContextMenuHandler = interface(ICefBase)
+ ICefContextMenuHandler = interface(ICefBaseRefCounted)
['{C2951895-4087-49D5-BA18-4D9BA4F5EDD7}']
procedure OnBeforeContextMenu(const browser: ICefBrowser; const frame: ICefFrame;
const params: ICefContextMenuParams; const model: ICefMenuModel);
@@ -1277,25 +1276,25 @@ type
procedure OnContextMenuDismissed(const browser: ICefBrowser; const frame: ICefFrame);
end;
- ICefDialogHandler = interface(ICefBase)
+ ICefDialogHandler = interface(ICefBaseRefCounted)
['{7763F4B2-8BE1-4E80-AC43-8B825850DC67}']
function OnFileDialog(const browser: ICefBrowser; mode: TCefFileDialogMode;
const title, defaultFilePath: ustring; acceptFilters: TStrings;
selectedAcceptFilter: Integer; const callback: ICefFileDialogCallback): Boolean;
end;
- ICefGeolocationCallback = interface(ICefBase)
+ ICefGeolocationCallback = interface(ICefBaseRefCounted)
['{272B8E4F-4AE4-4F14-BC4E-5924FA0C149D}']
procedure Cont(allow: Boolean);
end;
- ICefGeolocationHandler = interface(ICefBase)
+ ICefGeolocationHandler = interface(ICefBaseRefCounted)
['{1178EE62-BAE7-4E44-932B-EAAC7A18191C}']
function OnRequestGeolocationPermission(const browser: ICefBrowser; const requestingUrl: ustring; requestId: Integer; const callback: ICefGeolocationCallback): Boolean;
procedure OnCancelGeolocationPermission(const browser: ICefBrowser; requestId: Integer);
end;
- ICefRenderHandler = interface(ICefBase)
+ ICefRenderHandler = interface(ICefBaseRefCounted)
['{1FC1C22B-085A-4741-9366-5249B88EC410}']
function GetRootScreenRect(const browser: ICefBrowser; rect: PCefRect): Boolean;
function GetViewRect(const browser: ICefBrowser; rect: PCefRect): Boolean;
@@ -1311,7 +1310,7 @@ type
procedure OnIMECompositionRangeChanged(const browser: ICefBrowser; const selected_range: PCefRange; character_boundsCount: NativeUInt; const character_bounds: PCefRect);
end;
- ICefClient = interface(ICefBase)
+ ICefClient = interface(ICefBaseRefCounted)
['{1D502075-2FF0-4E13-A112-9E541CD811F4}']
function GetContextMenuHandler: ICefContextMenuHandler;
function GetDisplayHandler: ICefDisplayHandler;
@@ -1328,7 +1327,7 @@ type
sourceProcess: TCefProcessId; const message: ICefProcessMessage): Boolean;
end;
- ICefUrlRequest = interface(ICefBase)
+ ICefUrlRequest = interface(ICefBaseRefCounted)
['{59226AC1-A0FA-4D59-9DF4-A65C42391A67}']
function GetRequest: ICefRequest;
function GetRequestStatus: TCefUrlRequestStatus;
@@ -1337,7 +1336,7 @@ type
procedure Cancel;
end;
- ICefUrlrequestClient = interface(ICefBase)
+ ICefUrlrequestClient = interface(ICefBaseRefCounted)
['{114155BD-C248-4651-9A4F-26F3F9A4F737}']
procedure OnRequestComplete(const request: ICefUrlRequest);
procedure OnUploadProgress(const request: ICefUrlRequest; current, total: Int64);
@@ -1347,38 +1346,38 @@ type
const realm, scheme: ustring; const callback: ICefAuthCallback): Boolean;
end;
- ICefWebPluginInfoVisitor = interface(ICefBase)
+ ICefWebPluginInfoVisitor = interface(ICefBaseRefCounted)
['{7523D432-4424-4804-ACAD-E67D2313436E}']
function Visit(const info: ICefWebPluginInfo; count, total: Integer): Boolean;
end;
- ICefWebPluginUnstableCallback = interface(ICefBase)
+ ICefWebPluginUnstableCallback = interface(ICefBaseRefCounted)
['{67459829-EB47-4B7E-9D69-2EE77DF0E71E}']
procedure IsUnstable(const path: ustring; unstable: Boolean);
end;
- ICefRegisterCDMCallback = interface(ICefBase)
+ ICefRegisterCDMCallback = interface(ICefBaseRefCounted)
['{6C39AB3B-F724-483F-ABA0-37F6E0AECF35}']
procedure OnCDMRegistrationComplete(result: TCefCDMRegistrationError; const error_message: ustring);
end;
- ICefEndTracingCallback = interface(ICefBase)
+ ICefEndTracingCallback = interface(ICefBaseRefCounted)
['{79020EBE-9D1D-49A6-9714-8778FE8929F2}']
procedure OnEndTracingComplete(const tracingFile: ustring);
end;
- ICefGetGeolocationCallback = interface(ICefBase)
+ ICefGetGeolocationCallback = interface(ICefBaseRefCounted)
['{ACB82FD9-3FFD-43F9-BF1A-A4849BF5B814}']
procedure OnLocationUpdate(const position: PCefGeoposition);
end;
- ICefFileDialogCallback = interface(ICefBase)
+ ICefFileDialogCallback = interface(ICefBaseRefCounted)
['{1AF659AB-4522-4E39-9C52-184000D8E3C7}']
procedure Cont(selectedAcceptFilter: Integer; filePaths: TStrings);
procedure Cancel;
end;
- ICefDragData = interface(ICefBase)
+ ICefDragData = interface(ICefBaseRefCounted)
['{FBB6A487-F633-4055-AB3E-6619EDE75683}']
function Clone: ICefDragData;
function IsReadOnly: Boolean;
@@ -1404,7 +1403,7 @@ type
procedure AddFile(const path, displayName: ustring);
end;
- ICefDragHandler = interface(ICefBase)
+ ICefDragHandler = interface(ICefBaseRefCounted)
['{59A89579-5B18-489F-A25C-5CC25FF831FC}']
function OnDragEnter(const browser: ICefBrowser; const dragData: ICefDragData;
mask: TCefDragOperations): Boolean;
@@ -1412,26 +1411,26 @@ type
regionsCount: NativeUInt; regions: PCefDraggableRegionArray);
end;
- ICefFindHandler = interface(ICefBase)
+ ICefFindHandler = interface(ICefBaseRefCounted)
['{F20DF234-BD43-42B3-A80B-D354A9E5B787}']
procedure OnFindResult(const browser: ICefBrowser;
identifier, count: Integer; const selectionRect: PCefRect;
activeMatchOrdinal: Integer; finalUpdate: Boolean);
end;
- ICefRequestContextHandler = interface(ICefBase)
+ ICefRequestContextHandler = interface(ICefBaseRefCounted)
['{76EB1FA7-78DF-4FD5-ABB3-1CDD3E73A140}']
function GetCookieManager: ICefCookieManager;
function OnBeforePluginLoad(const mimeType, pluginUrl:ustring; isMainFrame : boolean; const topOriginUrl: ustring;
const pluginInfo: ICefWebPluginInfo; pluginPolicy: PCefPluginPolicy): Boolean;
end;
- ICefResolveCallback = interface(ICefBase)
+ ICefResolveCallback = interface(ICefBaseRefCounted)
['{0C0EA252-7968-4163-A1BE-A1453576DD06}']
procedure OnResolveCompleted(result: TCefErrorCode; resolvedIps: TStrings);
end;
- ICefRequestContext = interface(ICefBase)
+ ICefRequestContext = interface(ICefBaseRefCounted)
['{5830847A-2971-4BD5-ABE6-21451F8923F7}']
function IsSame(const other: ICefRequestContext): Boolean;
function IsSharingWith(const other: ICefRequestContext): Boolean;
@@ -1455,7 +1454,7 @@ type
function ResolveHostCached(const origin: ustring; resolvedIps: TStrings): TCefErrorCode;
end;
- ICefPrintSettings = Interface(ICefBase)
+ ICefPrintSettings = Interface(ICefBaseRefCounted)
['{ACBD2395-E9C1-49E5-B7F3-344DAA4A0F12}']
function IsValid: Boolean;
function IsReadOnly: Boolean;
@@ -1494,7 +1493,7 @@ type
property DuplexMode: TCefDuplexMode read GetDuplexMode write SetDuplexMode;
end;
- ICefNavigationEntry = interface(ICefBase)
+ ICefNavigationEntry = interface(ICefBaseRefCounted)
['{D17B4B37-AA45-42D9-B4E4-AAB6FE2AB297}']
function IsValid: Boolean;
function GetUrl: ustring;
@@ -1517,7 +1516,7 @@ type
property SSLStatus: ICefSSLStatus read GetSSLStatus;
end;
- ICefX509CertPrincipal = interface(ICefBase)
+ ICefX509CertPrincipal = interface(ICefBaseRefCounted)
['{CD3621ED-7D68-4A1F-95B5-190C7001B65F}']
function GetDisplayName: ustring;
function GetCommonName: ustring;
@@ -1530,7 +1529,7 @@ type
procedure GetDomainComponents(components: TStrings);
end;
- ICefX509Certificate = interface(ICefBase)
+ ICefX509Certificate = interface(ICefBaseRefCounted)
['{C897979D-F068-4428-82DF-4221612FF7E0}']
function GetSubject: ICefX509CertPrincipal;
function GetIssuer: ICefX509CertPrincipal;
@@ -1544,13 +1543,13 @@ type
function GetPEMEncodedIssuerChain(chainCount: NativeUInt): IInterfaceList;
end;
- ICefSslInfo = interface(ICefBase)
+ ICefSslInfo = interface(ICefBaseRefCounted)
['{67EC86BD-DE7D-453D-908F-AD15626C514F}']
function GetCertStatus: TCefCertStatus;
function GetX509Certificate: ICefX509Certificate;
end;
- ICefSSLStatus = interface(ICefBase)
+ ICefSSLStatus = interface(ICefBaseRefCounted)
['{E3F004F2-03D5-46A2-91D0-510C50F3B225}']
function IsSecureConnection: boolean;
function GetCertStatus: TCefCertStatus;
@@ -1559,12 +1558,12 @@ type
function GetX509Certificate: ICefX509Certificate;
end;
- ICefSelectClientCertificateCallback = interface(ICefBase)
+ ICefSelectClientCertificateCallback = interface(ICefBaseRefCounted)
['{003E3D09-ADE8-4C6E-A174-079D3D616608}']
procedure Select(const cert: ICefX509Certificate);
end;
- ICefResourceBundle = interface(ICefBase)
+ ICefResourceBundle = interface(ICefBaseRefCounted)
['{3213CF97-C854-452B-B615-39192F8D07DC}']
function GetLocalizedString(stringId: Integer): ustring;
function GetDataResource(resourceId: Integer;
@@ -1573,7 +1572,7 @@ type
out data: Pointer; out dataSize: NativeUInt): Boolean;
end;
- ICefImage = interface(ICefBase)
+ ICefImage = interface(ICefBaseRefCounted)
['{E2C2F424-26A2-4498-BB45-DA23219831BE}']
function IsEmpty: Boolean;
function IsSame(const that: ICefImage): Boolean;
@@ -1599,9 +1598,12 @@ type
property Height: NativeUInt read GetHeight;
end;
- ICefMenuModelDelegate = interface(ICefBase)
+ ICefMenuModelDelegate = interface(ICefBaseRefCounted)
['{1430D202-2795-433E-9A35-C79A0996F316}']
procedure ExecuteCommand(const menuModel: ICefMenuModel; commandId: Integer; eventFlags: TCefEventFlags);
+ procedure MouseOutsideMenu(const menuModel: ICefMenuModel; const screenPoint: PCefPoint);
+ procedure UnhandledOpenSubmenu(const menuModel: ICefMenuModel; isRTL: boolean);
+ procedure UnhandledCloseSubmenu(const menuModel: ICefMenuModel; isRTL: boolean);
procedure MenuWillShow(const menuModel: ICefMenuModel);
procedure MenuClosed(const menuModel: ICefMenuModel);
function FormatLabel(const menuModel: ICefMenuModel; const label_ : ustring) : boolean;
diff --git a/source/uCEFJsDialogCallback.pas b/source/uCEFJsDialogCallback.pas
index 764d424d..b3ffe294 100644
--- a/source/uCEFJsDialogCallback.pas
+++ b/source/uCEFJsDialogCallback.pas
@@ -47,10 +47,10 @@ unit uCEFJsDialogCallback;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefJsDialogCallbackRef = class(TCefBaseRef, ICefJsDialogCallback)
+ TCefJsDialogCallbackRef = class(TCefBaseRefCountedRef, ICefJsDialogCallback)
protected
procedure Cont(success: Boolean; const userInput: ustring);
public
diff --git a/source/uCEFJsDialogHandler.pas b/source/uCEFJsDialogHandler.pas
index 149472b0..cca47f0e 100644
--- a/source/uCEFJsDialogHandler.pas
+++ b/source/uCEFJsDialogHandler.pas
@@ -47,10 +47,10 @@ unit uCEFJsDialogHandler;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefJsDialogHandlerOwn = class(TCefBaseOwn, ICefJsDialogHandler)
+ TCefJsDialogHandlerOwn = class(TCefBaseRefCountedOwn, ICefJsDialogHandler)
protected
function OnJsdialog(const browser: ICefBrowser; const originUrl: ustring; dialogType: TCefJsDialogType; const messageText, defaultPromptText: ustring; const callback: ICefJsDialogCallback; out suppressMessage: Boolean): Boolean; virtual;
function OnBeforeUnloadDialog(const browser: ICefBrowser; const messageText: ustring; isReload: Boolean; const callback: ICefJsDialogCallback): Boolean; virtual;
diff --git a/source/uCEFKeyboardHandler.pas b/source/uCEFKeyboardHandler.pas
index 82fad1cd..9dd249b9 100644
--- a/source/uCEFKeyboardHandler.pas
+++ b/source/uCEFKeyboardHandler.pas
@@ -47,10 +47,10 @@ unit uCEFKeyboardHandler;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefKeyboardHandlerOwn = class(TCefBaseOwn, ICefKeyboardHandler)
+ TCefKeyboardHandlerOwn = class(TCefBaseRefCountedOwn, ICefKeyboardHandler)
protected
function OnPreKeyEvent(const browser: ICefBrowser; const event: PCefKeyEvent; osEvent: TCefEventHandle; out isKeyboardShortcut: Boolean): Boolean; virtual;
function OnKeyEvent(const browser: ICefBrowser; const event: PCefKeyEvent; osEvent: TCefEventHandle): Boolean; virtual;
diff --git a/source/uCEFLibFunctions.pas b/source/uCEFLibFunctions.pas
index 0ea74cd5..e4855e36 100644
--- a/source/uCEFLibFunctions.pas
+++ b/source/uCEFLibFunctions.pas
@@ -282,6 +282,8 @@ var
cef_string_userfree_wide_free : procedure(str: PCefStringUserFreeWide); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_userfree_utf8_free : procedure(str: PCefStringUserFreeUtf8); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_userfree_utf16_free : procedure(str: PCefStringUserFreeUtf16); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
+ cef_string_utf16_to_lower : function(const src: PChar16; src_len: NativeUInt; output: PCefStringUtf16): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
+ cef_string_utf16_to_upper : function(const src: PChar16; src_len: NativeUInt; output: PCefStringUtf16): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
// /include/internal/cef_thread_internal.h
cef_get_current_platform_thread_id : function : TCefPlatformThreadId; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
diff --git a/source/uCEFLifeSpanHandler.pas b/source/uCEFLifeSpanHandler.pas
index a440dc7d..1bdf49c4 100644
--- a/source/uCEFLifeSpanHandler.pas
+++ b/source/uCEFLifeSpanHandler.pas
@@ -47,10 +47,10 @@ unit uCEFLifeSpanHandler;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefLifeSpanHandlerOwn = class(TCefBaseOwn, ICefLifeSpanHandler)
+ TCefLifeSpanHandlerOwn = class(TCefBaseRefCountedOwn, ICefLifeSpanHandler)
protected
function OnBeforePopup(const browser: ICefBrowser; const frame: ICefFrame; const targetUrl, targetFrameName: ustring; targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean; var popupFeatures: TCefPopupFeatures; var windowInfo: TCefWindowInfo; var client: ICefClient; var settings: TCefBrowserSettings; var noJavascriptAccess: Boolean): Boolean; virtual;
procedure OnAfterCreated(const browser: ICefBrowser); virtual;
diff --git a/source/uCEFListValue.pas b/source/uCEFListValue.pas
index 8015cc8c..ca10dc4f 100644
--- a/source/uCEFListValue.pas
+++ b/source/uCEFListValue.pas
@@ -47,10 +47,10 @@ unit uCEFListValue;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefListValueRef = class(TCefBaseRef, ICefListValue)
+ TCefListValueRef = class(TCefBaseRefCountedRef, ICefListValue)
protected
function IsValid: Boolean;
function IsOwned: Boolean;
diff --git a/source/uCEFLoadHandler.pas b/source/uCEFLoadHandler.pas
index 4693bc76..b76dc0b2 100644
--- a/source/uCEFLoadHandler.pas
+++ b/source/uCEFLoadHandler.pas
@@ -47,10 +47,10 @@ unit uCEFLoadHandler;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefLoadHandlerOwn = class(TCefBaseOwn, ICefLoadHandler)
+ TCefLoadHandlerOwn = class(TCefBaseRefCountedOwn, ICefLoadHandler)
protected
procedure OnLoadingStateChange(const browser: ICefBrowser; isLoading, canGoBack, canGoForward: Boolean); virtual;
procedure OnLoadStart(const browser: ICefBrowser; const frame: ICefFrame; transitionType: TCefTransitionType); virtual;
diff --git a/source/uCEFMenuModel.pas b/source/uCEFMenuModel.pas
index 6a8f21cf..9247db8e 100644
--- a/source/uCEFMenuModel.pas
+++ b/source/uCEFMenuModel.pas
@@ -47,11 +47,12 @@ unit uCEFMenuModel;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefMenuModelRef = class(TCefBaseRef, ICefMenuModel)
+ TCefMenuModelRef = class(TCefBaseRefCountedRef, ICefMenuModel)
protected
+ function IsSubMenu: Boolean;
function Clear: Boolean;
function GetCount: Integer;
function AddSeparator: Boolean;
@@ -101,6 +102,12 @@ type
function RemoveAcceleratorAt(index: Integer): Boolean;
function GetAccelerator(commandId: Integer; out keyCode: Integer; out shiftPressed, ctrlPressed, altPressed: Boolean): Boolean;
function GetAcceleratorAt(index: Integer; out keyCode: Integer; out shiftPressed, ctrlPressed, altPressed: Boolean): Boolean;
+ function SetColor(commandId: Integer; colorType: TCefMenuColorType; color: TCefColor): Boolean;
+ function SetColorAt(index: Integer; colorType: TCefMenuColorType; color: TCefColor): Boolean;
+ function GetColor(commandId: Integer; colorType: TCefMenuColorType; out color: TCefColor): Boolean;
+ function GetColorAt(index: Integer; colorType: TCefMenuColorType; out color: TCefColor): Boolean;
+ function SetFontList(commandId: Integer; const fontList: ustring): Boolean;
+ function SetFontListAt(index: Integer; const fontList: ustring): Boolean;
public
class function UnWrap(data: Pointer): ICefMenuModel;
class function New(const delegate: ICefMenuModelDelegate): ICefMenuModel;
@@ -153,6 +160,11 @@ begin
Result := TCefMenuModelRef.UnWrap(PCefMenuModel(FData).add_sub_menu(PCefMenuModel(FData), commandId, @t));
end;
+function TCefMenuModelRef.IsSubMenu: Boolean;
+begin
+ Result := PCefMenuModel(FData).is_sub_menu(PCefMenuModel(FData)) <> 0;
+end;
+
function TCefMenuModelRef.Clear: Boolean;
begin
Result := PCefMenuModel(FData).clear(PCefMenuModel(FData)) <> 0;
@@ -183,6 +195,42 @@ begin
altPressed := ap <> 0;
end;
+function TCefMenuModelRef.SetColor(commandId: Integer; colorType: TCefMenuColorType; color: TCefColor): Boolean;
+begin
+ Result := PCefMenuModel(FData).set_color(PCefMenuModel(FData), commandId, colorType, color) <> 0;
+end;
+
+function TCefMenuModelRef.SetColorAt(index: Integer; colorType: TCefMenuColorType; color: TCefColor): Boolean;
+begin
+ Result := PCefMenuModel(FData).set_color_at(PCefMenuModel(FData), index, colorType, color) <> 0;
+end;
+
+function TCefMenuModelRef.GetColor(commandId: Integer; colorType: TCefMenuColorType; out color: TCefColor): Boolean;
+begin
+ Result := PCefMenuModel(FData).get_color(PCefMenuModel(FData), commandId, colorType, @color) <> 0;
+end;
+
+function TCefMenuModelRef.GetColorAt(index: Integer; colorType: TCefMenuColorType; out color: TCefColor): Boolean;
+begin
+ Result := PCefMenuModel(FData).get_color_at(PCefMenuModel(FData), index, colorType, @color) <> 0;
+end;
+
+function TCefMenuModelRef.SetFontList(commandId: Integer; const fontList: ustring): Boolean;
+var
+ TempString : TCefString;
+begin
+ TempString := CefString(fontList);
+ Result := PCefMenuModel(FData).set_font_list(PCefMenuModel(FData), commandId, @TempString) <> 0;
+end;
+
+function TCefMenuModelRef.SetFontListAt(index: Integer; const fontList: ustring): Boolean;
+var
+ TempString : TCefString;
+begin
+ TempString := CefString(fontList);
+ Result := PCefMenuModel(FData).set_font_list_at(PCefMenuModel(FData), index, @TempString) <> 0;
+end;
+
function TCefMenuModelRef.GetCommandIdAt(index: Integer): Integer;
begin
Result := PCefMenuModel(FData).get_command_id_at(PCefMenuModel(FData), index);
diff --git a/source/uCEFMenuModelDelegate.pas b/source/uCEFMenuModelDelegate.pas
index f0bcd7f4..8c825418 100644
--- a/source/uCEFMenuModelDelegate.pas
+++ b/source/uCEFMenuModelDelegate.pas
@@ -47,12 +47,15 @@ unit uCEFMenuModelDelegate;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefMenuModelDelegateOwn = class(TCefBaseOwn, ICefMenuModelDelegate)
+ TCefMenuModelDelegateOwn = class(TCefBaseRefCountedOwn, ICefMenuModelDelegate)
protected
procedure ExecuteCommand(const menuModel: ICefMenuModel; commandId: Integer; eventFlags: TCefEventFlags); virtual;
+ procedure MouseOutsideMenu(const menuModel: ICefMenuModel; const screenPoint: PCefPoint); virtual;
+ procedure UnhandledOpenSubmenu(const menuModel: ICefMenuModel; isRTL: boolean); virtual;
+ procedure UnhandledCloseSubmenu(const menuModel: ICefMenuModel; isRTL: boolean); virtual;
procedure MenuWillShow(const menuModel: ICefMenuModel); virtual;
procedure MenuClosed(const menuModel: ICefMenuModel); virtual;
function FormatLabel(const menuModel: ICefMenuModel; const label_ : uString) : boolean; virtual;
@@ -72,6 +75,30 @@ begin
ExecuteCommand(TCefMenuModelRef.UnWrap(menu_model), command_id, event_flags);
end;
+procedure cef_menu_model_delegate_mouse_outside_menu(self: PCefMenuModelDelegate;
+ menu_model: PCefMenuModel;
+ const screen_point: PCefPoint); stdcall;
+begin
+ with TCefMenuModelDelegateOwn(CefGetObject(self)) do
+ MouseOutsideMenu(TCefMenuModelRef.UnWrap(menu_model), screen_point);
+end;
+
+procedure cef_menu_model_delegate_unhandled_open_submenu(self: PCefMenuModelDelegate;
+ menu_model: PCefMenuModel;
+ is_rtl: integer); stdcall;
+begin
+ with TCefMenuModelDelegateOwn(CefGetObject(self)) do
+ UnhandledOpenSubmenu(TCefMenuModelRef.UnWrap(menu_model), is_rtl <> 0);
+end;
+
+procedure cef_menu_model_delegate_unhandled_close_submenu(self: PCefMenuModelDelegate;
+ menu_model: PCefMenuModel;
+ is_rtl: integer); stdcall;
+begin
+ with TCefMenuModelDelegateOwn(CefGetObject(self)) do
+ UnhandledCloseSubmenu(TCefMenuModelRef.UnWrap(menu_model), is_rtl <> 0);
+end;
+
procedure cef_menu_model_delegate_menu_will_show(self: PCefMenuModelDelegate; menu_model: PCefMenuModel); stdcall;
begin
with TCefMenuModelDelegateOwn(CefGetObject(self)) do
@@ -96,10 +123,13 @@ begin
with PCefMenuModelDelegate(FData)^ do
begin
- execute_command := cef_menu_model_delegate_execute_command;
- menu_will_show := cef_menu_model_delegate_menu_will_show;
- menu_closed := cef_menu_model_delegate_menu_closed;
- format_label := cef_menu_model_delegate_format_label;
+ execute_command := cef_menu_model_delegate_execute_command;
+ mouse_outside_menu := cef_menu_model_delegate_mouse_outside_menu;
+ unhandled_open_submenu := cef_menu_model_delegate_unhandled_open_submenu;
+ unhandled_close_submenu := cef_menu_model_delegate_unhandled_close_submenu;
+ menu_will_show := cef_menu_model_delegate_menu_will_show;
+ menu_closed := cef_menu_model_delegate_menu_closed;
+ format_label := cef_menu_model_delegate_format_label;
end;
end;
@@ -110,6 +140,21 @@ begin
end;
+procedure TCefMenuModelDelegateOwn.MouseOutsideMenu(const menuModel: ICefMenuModel; const screenPoint: PCefPoint);
+begin
+
+end;
+
+procedure TCefMenuModelDelegateOwn.UnhandledOpenSubmenu(const menuModel: ICefMenuModel; isRTL: boolean);
+begin
+
+end;
+
+procedure TCefMenuModelDelegateOwn.UnhandledCloseSubmenu(const menuModel: ICefMenuModel; isRTL: boolean);
+begin
+
+end;
+
procedure TCefMenuModelDelegateOwn.MenuWillShow(const menuModel: ICefMenuModel);
begin
diff --git a/source/uCEFMiscFunctions.pas b/source/uCEFMiscFunctions.pas
index 9611480e..4a8df488 100644
--- a/source/uCEFMiscFunctions.pas
+++ b/source/uCEFMiscFunctions.pas
@@ -73,7 +73,7 @@ function CefInt64GetLow(const int64_val: Int64): Integer;
function CefInt64GetHigh(const int64_val: Int64): Integer;
function CefGetObject(ptr: Pointer): TObject;
-function CefGetData(const i: ICefBase): Pointer;
+function CefGetData(const i: ICefBaseRefCounted): Pointer;
function CefStringAlloc(const str: ustring): TCefString;
function CefStringClearAndGet(var str: TCefString): ustring;
@@ -116,9 +116,8 @@ procedure CefSetCrashKeyValue(const aKey, aValue : ustring);
procedure CefLog(const aFile : string; aLine, aSeverity : integer; const aMessage : string);
procedure OutputDebugMessage(const aMessage : string);
-function CefRegisterSchemeHandlerFactory(const SchemeName, HostName: ustring; const handler: TCefResourceHandlerClass): Boolean; overload;
-function CefRegisterSchemeHandlerFactory(const SchemeName, HostName: ustring; const factory: ICefSchemeHandlerFactory): Boolean; overload;
-function CefClearSchemeHandlerFactories: Boolean;
+function CefRegisterSchemeHandlerFactory(const SchemeName, HostName: ustring; const handler: TCefResourceHandlerClass): Boolean;
+function CefClearSchemeHandlerFactories : boolean;
function CefAddCrossOriginWhitelistEntry(const SourceOrigin, TargetProtocol, TargetDomain: ustring; AllowTargetSubdomains: Boolean): Boolean;
function CefRemoveCrossOriginWhitelistEntry(const SourceOrigin, TargetProtocol, TargetDomain: ustring; AllowTargetSubdomains: Boolean): Boolean;
@@ -206,7 +205,7 @@ begin
Result := TObject(PPointer(ptr)^);
end;
-function CefGetData(const i: ICefBase): Pointer; {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF}
+function CefGetData(const i: ICefBaseRefCounted): Pointer; {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF}
begin
if (i <> nil) then
Result := i.Wrap
@@ -453,58 +452,54 @@ begin
{$ENDIF}
end;
-function CefRegisterSchemeHandlerFactory(const SchemeName, HostName: ustring;
- const handler: TCefResourceHandlerClass): Boolean;
+function CefRegisterSchemeHandlerFactory(const SchemeName : ustring;
+ const HostName : ustring;
+ const handler : TCefResourceHandlerClass) : boolean;
var
- s, h: TCefString;
+ TempScheme, TempHostName : TCefString;
+ TempFactory : ICefSchemeHandlerFactory;
begin
- s := CefString(SchemeName);
- h := CefString(HostName);
- Result := cef_register_scheme_handler_factory(
- @s,
- @h,
- CefGetData(TCefSchemeHandlerFactoryOwn.Create(handler) as ICefBase)) <> 0;
+ TempScheme := CefString(SchemeName);
+ TempHostName := CefString(HostName);
+ TempFactory := TCefSchemeHandlerFactoryOwn.Create(handler);
+ Result := cef_register_scheme_handler_factory(@TempScheme, @TempHostName, TempFactory.Wrap) <> 0;
end;
-function CefRegisterSchemeHandlerFactory(const SchemeName, HostName: ustring;
- const factory: ICefSchemeHandlerFactory): Boolean;
-var
- s, h: TCefString;
-begin
- s := CefString(SchemeName);
- h := CefString(HostName);
- Result := cef_register_scheme_handler_factory(
- @s,
- @h,
- CefGetData(factory as ICefBase)) <> 0;
-end;
-
-function CefClearSchemeHandlerFactories: Boolean;
+function CefClearSchemeHandlerFactories : boolean;
begin
Result := cef_clear_scheme_handler_factories <> 0;
end;
-function CefAddCrossOriginWhitelistEntry(const SourceOrigin, TargetProtocol,
- TargetDomain: ustring; AllowTargetSubdomains: Boolean): Boolean;
+function CefAddCrossOriginWhitelistEntry(const SourceOrigin : ustring;
+ const TargetProtocol : ustring;
+ const TargetDomain : ustring;
+ AllowTargetSubdomains : Boolean): Boolean;
var
- so, tp, td: TCefString;
+ TempSourceOrigin, TempTargetProtocol, TempTargetDomain : TCefString;
begin
- so := CefString(SourceOrigin);
- tp := CefString(TargetProtocol);
- td := CefString(TargetDomain);
- Result := cef_add_cross_origin_whitelist_entry(@so, @tp, @td, Ord(AllowTargetSubdomains)) <> 0;
+ TempSourceOrigin := CefString(SourceOrigin);
+ TempTargetProtocol := CefString(TargetProtocol);
+ TempTargetDomain := CefString(TargetDomain);
+ Result := cef_add_cross_origin_whitelist_entry(@TempSourceOrigin,
+ @TempTargetProtocol,
+ @TempTargetDomain,
+ Ord(AllowTargetSubdomains)) <> 0;
end;
-function CefRemoveCrossOriginWhitelistEntry(
- const SourceOrigin, TargetProtocol, TargetDomain: ustring;
- AllowTargetSubdomains: Boolean): Boolean;
+function CefRemoveCrossOriginWhitelistEntry(const SourceOrigin : ustring;
+ const TargetProtocol : ustring;
+ const TargetDomain : ustring;
+ AllowTargetSubdomains : Boolean): Boolean;
var
- so, tp, td: TCefString;
+ TempSourceOrigin, TempTargetProtocol, TempTargetDomain : TCefString;
begin
- so := CefString(SourceOrigin);
- tp := CefString(TargetProtocol);
- td := CefString(TargetDomain);
- Result := cef_remove_cross_origin_whitelist_entry(@so, @tp, @td, Ord(AllowTargetSubdomains)) <> 0;
+ TempSourceOrigin := CefString(SourceOrigin);
+ TempTargetProtocol := CefString(TargetProtocol);
+ TempTargetDomain := CefString(TargetDomain);
+ Result := cef_remove_cross_origin_whitelist_entry(@TempSourceOrigin,
+ @TempTargetProtocol,
+ @TempTargetDomain,
+ Ord(AllowTargetSubdomains)) <> 0;
end;
function CefClearCrossOriginWhitelist: Boolean;
diff --git a/source/uCEFNavigationEntry.pas b/source/uCEFNavigationEntry.pas
index 2b1e494c..935b3796 100644
--- a/source/uCEFNavigationEntry.pas
+++ b/source/uCEFNavigationEntry.pas
@@ -47,10 +47,10 @@ unit uCEFNavigationEntry;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefNavigationEntryRef = class(TCefBaseRef, ICefNavigationEntry)
+ TCefNavigationEntryRef = class(TCefBaseRefCountedRef, ICefNavigationEntry)
protected
function IsValid: Boolean;
function GetUrl: ustring;
diff --git a/source/uCEFNavigationEntryVisitor.pas b/source/uCEFNavigationEntryVisitor.pas
index c906ca56..1970a937 100644
--- a/source/uCEFNavigationEntryVisitor.pas
+++ b/source/uCEFNavigationEntryVisitor.pas
@@ -47,10 +47,10 @@ unit uCEFNavigationEntryVisitor;
interface
uses
- uCEFBase, uCEFInterfaces;
+ uCEFBaseRefCounted, uCEFInterfaces;
type
- TCefNavigationEntryVisitorOwn = class(TCefBaseOwn, ICefNavigationEntryVisitor)
+ TCefNavigationEntryVisitorOwn = class(TCefBaseRefCountedOwn, ICefNavigationEntryVisitor)
protected
function Visit(const entry: ICefNavigationEntry; current: Boolean; index, total: Integer): Boolean; virtual;
diff --git a/source/uCEFPDFPrintCallback.pas b/source/uCEFPDFPrintCallback.pas
index 1d2260a2..dcf64afc 100644
--- a/source/uCEFPDFPrintCallback.pas
+++ b/source/uCEFPDFPrintCallback.pas
@@ -47,10 +47,10 @@ unit uCEFPDFPrintCallback;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefPdfPrintCallbackOwn = class(TCefBaseOwn, ICefPdfPrintCallback)
+ TCefPdfPrintCallbackOwn = class(TCefBaseRefCountedOwn, ICefPdfPrintCallback)
protected
procedure OnPdfPrintFinished(const path: ustring; ok: Boolean); virtual; abstract;
diff --git a/source/uCEFPostData.pas b/source/uCEFPostData.pas
index c8e460a7..f2a2b82e 100644
--- a/source/uCEFPostData.pas
+++ b/source/uCEFPostData.pas
@@ -52,10 +52,10 @@ uses
{$ELSE}
Classes,
{$ENDIF}
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefPostDataRef = class(TCefBaseRef, ICefPostData)
+ TCefPostDataRef = class(TCefBaseRefCountedRef, ICefPostData)
protected
function IsReadOnly: Boolean;
function HasExcludedElements: Boolean;
diff --git a/source/uCEFPostDataElement.pas b/source/uCEFPostDataElement.pas
index 0193e6c0..fd170451 100644
--- a/source/uCEFPostDataElement.pas
+++ b/source/uCEFPostDataElement.pas
@@ -47,10 +47,10 @@ unit uCEFPostDataElement;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefPostDataElementRef = class(TCefBaseRef, ICefPostDataElement)
+ TCefPostDataElementRef = class(TCefBaseRefCountedRef, ICefPostDataElement)
protected
function IsReadOnly: Boolean;
procedure SetToEmpty;
@@ -66,7 +66,7 @@ type
class function New: ICefPostDataElement;
end;
- TCefPostDataElementOwn = class(TCefBaseOwn, ICefPostDataElement)
+ TCefPostDataElementOwn = class(TCefBaseRefCountedOwn, ICefPostDataElement)
protected
FDataType: TCefPostDataElementType;
FValueByte: Pointer;
diff --git a/source/uCEFPrintSettings.pas b/source/uCEFPrintSettings.pas
index 55aff94e..9f84d854 100644
--- a/source/uCEFPrintSettings.pas
+++ b/source/uCEFPrintSettings.pas
@@ -47,10 +47,10 @@ unit uCEFPrintSettings;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefPrintSettingsRef = class(TCefBaseRef, ICefPrintSettings)
+ TCefPrintSettingsRef = class(TCefBaseRefCountedRef, ICefPrintSettings)
protected
function IsValid: Boolean;
function IsReadOnly: Boolean;
diff --git a/source/uCEFProcessMessage.pas b/source/uCEFProcessMessage.pas
index e097374a..3d676464 100644
--- a/source/uCEFProcessMessage.pas
+++ b/source/uCEFProcessMessage.pas
@@ -47,10 +47,10 @@ unit uCEFProcessMessage;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefProcessMessageRef = class(TCefBaseRef, ICefProcessMessage)
+ TCefProcessMessageRef = class(TCefBaseRefCountedRef, ICefProcessMessage)
protected
function IsValid: Boolean;
function IsReadOnly: Boolean;
diff --git a/source/uCEFRegisterCDMCallback.pas b/source/uCEFRegisterCDMCallback.pas
index 447a6e5b..7d0731ed 100644
--- a/source/uCEFRegisterCDMCallback.pas
+++ b/source/uCEFRegisterCDMCallback.pas
@@ -47,12 +47,12 @@ unit uCEFRegisterCDMCallback;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
TCefRegisterCDMProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(result: TCefCDMRegistrationError; const error_message: ustring);
- TCefRegisterCDMCallbackOwn = class(TCefBaseOwn, ICefRegisterCDMCallback)
+ TCefRegisterCDMCallbackOwn = class(TCefBaseRefCountedOwn, ICefRegisterCDMCallback)
protected
procedure OnCDMRegistrationComplete(result: TCefCDMRegistrationError; const error_message: ustring); virtual;
diff --git a/source/uCEFRenderHandler.pas b/source/uCEFRenderHandler.pas
index 4ca7c392..156ec794 100644
--- a/source/uCEFRenderHandler.pas
+++ b/source/uCEFRenderHandler.pas
@@ -47,10 +47,10 @@ unit uCEFRenderHandler;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefRenderHandlerOwn = class(TCefBaseOwn, ICefRenderHandler)
+ TCefRenderHandlerOwn = class(TCefBaseRefCountedOwn, ICefRenderHandler)
protected
function GetRootScreenRect(const browser: ICefBrowser; rect: PCefRect): Boolean; virtual;
function GetViewRect(const browser: ICefBrowser; rect: PCefRect): Boolean; virtual;
diff --git a/source/uCEFRenderProcessHandler.pas b/source/uCEFRenderProcessHandler.pas
index 3185ebe0..07545acf 100644
--- a/source/uCEFRenderProcessHandler.pas
+++ b/source/uCEFRenderProcessHandler.pas
@@ -47,11 +47,11 @@ unit uCEFRenderProcessHandler;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes, uCEFListValue, uCEFBrowser, uCEFFrame, uCEFRequest,
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes, uCEFListValue, uCEFBrowser, uCEFFrame, uCEFRequest,
uCEFv8Context, uCEFv8Exception, uCEFv8StackTrace, uCEFDomNode, uCEFProcessMessage;
type
- TCefRenderProcessHandlerOwn = class(TCefBaseOwn, ICefRenderProcessHandler)
+ TCefRenderProcessHandlerOwn = class(TCefBaseRefCountedOwn, ICefRenderProcessHandler)
protected
procedure OnRenderThreadCreated(const extraInfo: ICefListValue); virtual;
procedure OnWebKitInitialized; virtual;
diff --git a/source/uCEFRequest.pas b/source/uCEFRequest.pas
index dd4bf3c2..cebfb2c5 100644
--- a/source/uCEFRequest.pas
+++ b/source/uCEFRequest.pas
@@ -47,10 +47,10 @@ unit uCEFRequest;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefRequestRef = class(TCefBaseRef, ICefRequest)
+ TCefRequestRef = class(TCefBaseRefCountedRef, ICefRequest)
protected
function IsReadOnly: Boolean;
function GetUrl: ustring;
diff --git a/source/uCEFRequestCallback.pas b/source/uCEFRequestCallback.pas
index ac0da2c1..effe6131 100644
--- a/source/uCEFRequestCallback.pas
+++ b/source/uCEFRequestCallback.pas
@@ -47,10 +47,10 @@ unit uCEFRequestCallback;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefRequestCallbackRef = class(TCefBaseRef, ICefRequestCallback)
+ TCefRequestCallbackRef = class(TCefBaseRefCountedRef, ICefRequestCallback)
protected
procedure Cont(allow: Boolean);
procedure Cancel;
diff --git a/source/uCEFRequestContext.pas b/source/uCEFRequestContext.pas
index 4137cf07..65f482bb 100644
--- a/source/uCEFRequestContext.pas
+++ b/source/uCEFRequestContext.pas
@@ -52,10 +52,10 @@ uses
{$ELSE}
Classes,
{$ENDIF}
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefRequestContextRef = class(TCefBaseRef, ICefRequestContext)
+ TCefRequestContextRef = class(TCefBaseRefCountedRef, ICefRequestContext)
protected
function IsSame(const other: ICefRequestContext): Boolean;
function IsSharingWith(const other: ICefRequestContext): Boolean;
diff --git a/source/uCEFRequestContextHandler.pas b/source/uCEFRequestContextHandler.pas
index e3e5aebf..a7c15b15 100644
--- a/source/uCEFRequestContextHandler.pas
+++ b/source/uCEFRequestContextHandler.pas
@@ -47,12 +47,12 @@ unit uCEFRequestContextHandler;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
TCefRequestContextHandlerProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} function: ICefCookieManager;
- TCefRequestContextHandlerRef = class(TCefBaseRef, ICefRequestContextHandler)
+ TCefRequestContextHandlerRef = class(TCefBaseRefCountedRef, ICefRequestContextHandler)
protected
function GetCookieManager: ICefCookieManager;
function OnBeforePluginLoad(const mimeType, pluginUrl: ustring; isMainFrame : boolean; const topOriginUrl: ustring; const pluginInfo: ICefWebPluginInfo; pluginPolicy: PCefPluginPolicy): Boolean;
@@ -61,7 +61,7 @@ type
class function UnWrap(data: Pointer): ICefRequestContextHandler;
end;
- TCefRequestContextHandlerOwn = class(TCefBaseOwn, ICefRequestContextHandler)
+ TCefRequestContextHandlerOwn = class(TCefBaseRefCountedOwn, ICefRequestContextHandler)
protected
function GetCookieManager: ICefCookieManager; virtual;
function OnBeforePluginLoad(const mimeType, pluginUrl: ustring; isMainFrame : boolean; const topOriginUrl: ustring; const pluginInfo: ICefWebPluginInfo; pluginPolicy: PCefPluginPolicy): Boolean; virtual;
diff --git a/source/uCEFRequestHandler.pas b/source/uCEFRequestHandler.pas
index 44f7ab2d..59f1ee29 100644
--- a/source/uCEFRequestHandler.pas
+++ b/source/uCEFRequestHandler.pas
@@ -47,10 +47,10 @@ unit uCEFRequestHandler;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefRequestHandlerOwn = class(TCefBaseOwn, ICefRequestHandler)
+ TCefRequestHandlerOwn = class(TCefBaseRefCountedOwn, ICefRequestHandler)
protected
function OnBeforeBrowse(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; isRedirect: Boolean): Boolean; virtual;
function OnOpenUrlFromTab(const browser: ICefBrowser; const frame: ICefFrame; const targetUrl: ustring; targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean): Boolean; virtual;
diff --git a/source/uCEFResolveCallback.pas b/source/uCEFResolveCallback.pas
index db10c07a..7685b207 100644
--- a/source/uCEFResolveCallback.pas
+++ b/source/uCEFResolveCallback.pas
@@ -52,10 +52,10 @@ uses
{$ELSE}
Classes,
{$ENDIF}
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefResolveCallbackOwn = class(TCefBaseOwn, ICefResolveCallback)
+ TCefResolveCallbackOwn = class(TCefBaseRefCountedOwn, ICefResolveCallback)
protected
procedure OnResolveCompleted(result: TCefErrorCode; resolvedIps: TStrings); virtual; abstract;
public
diff --git a/source/uCEFResourceBundle.pas b/source/uCEFResourceBundle.pas
index a9fc5250..12d491b4 100644
--- a/source/uCEFResourceBundle.pas
+++ b/source/uCEFResourceBundle.pas
@@ -47,10 +47,10 @@ unit uCEFResourceBundle;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefResourceBundleRef = class(TCefBaseRef, ICefResourceBundle)
+ TCefResourceBundleRef = class(TCefBaseRefCountedRef, ICefResourceBundle)
protected
function GetLocalizedString(stringId: Integer): ustring;
function GetDataResource(resourceId: Integer;
diff --git a/source/uCEFResourceBundleHandler.pas b/source/uCEFResourceBundleHandler.pas
index 4d761b10..3a555ceb 100644
--- a/source/uCEFResourceBundleHandler.pas
+++ b/source/uCEFResourceBundleHandler.pas
@@ -47,10 +47,10 @@ unit uCEFResourceBundleHandler;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefResourceBundleHandlerOwn = class(TCefBaseOwn, ICefResourceBundleHandler)
+ TCefResourceBundleHandlerOwn = class(TCefBaseRefCountedOwn, ICefResourceBundleHandler)
protected
function GetDataResource(stringId: Integer; out data: Pointer; out dataSize: NativeUInt): Boolean; virtual; abstract;
function GetLocalizedString(messageId: Integer; out stringVal: ustring): Boolean; virtual; abstract;
diff --git a/source/uCEFResourceHandler.pas b/source/uCEFResourceHandler.pas
index 8e703f36..e278dc01 100644
--- a/source/uCEFResourceHandler.pas
+++ b/source/uCEFResourceHandler.pas
@@ -47,10 +47,10 @@ unit uCEFResourceHandler;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefResourceHandlerOwn = class(TCefBaseOwn, ICefResourceHandler)
+ TCefResourceHandlerOwn = class(TCefBaseRefCountedOwn, ICefResourceHandler)
protected
function ProcessRequest(const request: ICefRequest; const callback: ICefCallback): Boolean; virtual;
procedure GetResponseHeaders(const response: ICefResponse; out responseLength: Int64; out redirectUrl: ustring); virtual;
@@ -124,38 +124,40 @@ begin
Result := False;
end;
-constructor TCefResourceHandlerOwn.Create(const browser: ICefBrowser;
- const frame: ICefFrame; const schemeName: ustring;
- const request: ICefRequest);
+constructor TCefResourceHandlerOwn.Create(const browser : ICefBrowser;
+ const frame : ICefFrame;
+ const schemeName : ustring;
+ const request : ICefRequest);
begin
inherited CreateData(SizeOf(TCefResourceHandler));
+
with PCefResourceHandler(FData)^ do
- begin
- process_request := cef_resource_handler_process_request;
- get_response_headers := cef_resource_handler_get_response_headers;
- read_response := cef_resource_handler_read_response;
- can_get_cookie := cef_resource_handler_can_get_cookie;
- can_set_cookie := cef_resource_handler_can_set_cookie;
- cancel:= cef_resource_handler_cancel;
- end;
+ begin
+ process_request := cef_resource_handler_process_request;
+ get_response_headers := cef_resource_handler_get_response_headers;
+ read_response := cef_resource_handler_read_response;
+ can_get_cookie := cef_resource_handler_can_get_cookie;
+ can_set_cookie := cef_resource_handler_can_set_cookie;
+ cancel := cef_resource_handler_cancel;
+ end;
end;
-procedure TCefResourceHandlerOwn.GetResponseHeaders(
- const response: ICefResponse; out responseLength: Int64;
- out redirectUrl: ustring);
+procedure TCefResourceHandlerOwn.GetResponseHeaders(const response : ICefResponse;
+ out responseLength : Int64;
+ out redirectUrl : ustring);
begin
end;
-function TCefResourceHandlerOwn.ProcessRequest(const request: ICefRequest;
- const callback: ICefCallback): Boolean;
+function TCefResourceHandlerOwn.ProcessRequest(const request: ICefRequest; const callback: ICefCallback): Boolean;
begin
Result := False;
end;
-function TCefResourceHandlerOwn.ReadResponse(const dataOut: Pointer;
- bytesToRead: Integer; var bytesRead: Integer;
- const callback: ICefCallback): Boolean;
+function TCefResourceHandlerOwn.ReadResponse(const dataOut : Pointer;
+ bytesToRead : Integer;
+ var bytesRead : Integer;
+ const callback : ICefCallback): Boolean;
begin
Result := False;
end;
diff --git a/source/uCEFResponse.pas b/source/uCEFResponse.pas
index 997c9b8e..eaac399b 100644
--- a/source/uCEFResponse.pas
+++ b/source/uCEFResponse.pas
@@ -47,10 +47,10 @@ unit uCEFResponse;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefResponseRef = class(TCefBaseRef, ICefResponse)
+ TCefResponseRef = class(TCefBaseRefCountedRef, ICefResponse)
protected
function IsReadOnly: Boolean;
function GetError: TCefErrorCode;
diff --git a/source/uCEFResponseFilter.pas b/source/uCEFResponseFilter.pas
index 33f168ab..03cc960c 100644
--- a/source/uCEFResponseFilter.pas
+++ b/source/uCEFResponseFilter.pas
@@ -47,10 +47,10 @@ unit uCEFResponseFilter;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefResponseFilterOwn = class(TCefBaseOwn, ICefResponseFilter)
+ TCefResponseFilterOwn = class(TCefBaseRefCountedOwn, ICefResponseFilter)
protected
function InitFilter: Boolean; virtual; abstract;
function Filter(dataIn: Pointer; dataInSize, dataInRead: NativeUInt; dataOut: Pointer;
diff --git a/source/uCEFRunContextMenuCallback.pas b/source/uCEFRunContextMenuCallback.pas
index 2b2b6c35..732c01a6 100644
--- a/source/uCEFRunContextMenuCallback.pas
+++ b/source/uCEFRunContextMenuCallback.pas
@@ -47,10 +47,10 @@ unit uCEFRunContextMenuCallback;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefRunContextMenuCallbackRef = class(TCefBaseRef, ICefRunContextMenuCallback)
+ TCefRunContextMenuCallbackRef = class(TCefBaseRefCountedRef, ICefRunContextMenuCallback)
protected
procedure Cont(commandId: Integer; eventFlags: TCefEventFlags);
procedure Cancel;
diff --git a/source/uCEFRunFileDialogCallback.pas b/source/uCEFRunFileDialogCallback.pas
index 0a761bf8..308116e3 100644
--- a/source/uCEFRunFileDialogCallback.pas
+++ b/source/uCEFRunFileDialogCallback.pas
@@ -52,10 +52,10 @@ uses
{$ELSE}
Classes,
{$ENDIF}
- uCEFBase, uCEFInterfaces;
+ uCEFBaseRefCounted, uCEFInterfaces;
type
- TCefRunFileDialogCallbackOwn = class(TCefBaseOwn, ICefRunFileDialogCallback)
+ TCefRunFileDialogCallbackOwn = class(TCefBaseRefCountedOwn, ICefRunFileDialogCallback)
protected
procedure OnFileDialogDismissed(selectedAcceptFilter: Integer; filePaths: TStrings); virtual;
diff --git a/source/uCEFSSLStatus.pas b/source/uCEFSSLStatus.pas
index 59264c39..c4798389 100644
--- a/source/uCEFSSLStatus.pas
+++ b/source/uCEFSSLStatus.pas
@@ -52,10 +52,10 @@ uses
{$ELSE}
Classes,
{$ENDIF}
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefSSLStatusRef = class(TCefBaseRef, ICefSSLStatus)
+ TCefSSLStatusRef = class(TCefBaseRefCountedRef, ICefSSLStatus)
protected
function IsSecureConnection: boolean;
function GetCertStatus: TCefCertStatus;
diff --git a/source/uCEFSchemeHandlerFactory.pas b/source/uCEFSchemeHandlerFactory.pas
index 30807ac4..0efe53ce 100644
--- a/source/uCEFSchemeHandlerFactory.pas
+++ b/source/uCEFSchemeHandlerFactory.pas
@@ -47,12 +47,12 @@ unit uCEFSchemeHandlerFactory;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes, uCEFResourceHandler;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes, uCEFResourceHandler;
type
- TCefSchemeHandlerFactoryOwn = class(TCefBaseOwn, ICefSchemeHandlerFactory)
+ TCefSchemeHandlerFactoryOwn = class(TCefBaseRefCountedOwn, ICefSchemeHandlerFactory)
protected
- FClass: TCefResourceHandlerClass;
+ FClass : TCefResourceHandlerClass;
function New(const browser: ICefBrowser; const frame: ICefFrame; const schemeName: ustring; const request: ICefRequest): ICefResourceHandler; virtual;
@@ -65,28 +65,33 @@ implementation
uses
uCEFMiscFunctions, uCEFLibFunctions, uCEFBrowser, uCEFFrame, uCEFRequest;
-function cef_scheme_handler_factory_create(self: PCefSchemeHandlerFactory;
- browser: PCefBrowser; frame: PCefFrame; const scheme_name: PCefString;
- request: PCefRequest): PCefResourceHandler; stdcall;
+function cef_scheme_handler_factory_create( self : PCefSchemeHandlerFactory;
+ browser : PCefBrowser;
+ frame : PCefFrame;
+ const scheme_name : PCefString;
+ request : PCefRequest): PCefResourceHandler; stdcall;
begin
-
with TCefSchemeHandlerFactoryOwn(CefGetObject(self)) do
- Result := CefGetData(New(TCefBrowserRef.UnWrap(browser), TCefFrameRef.UnWrap(frame),
- CefString(scheme_name), TCefRequestRef.UnWrap(request)));
+ Result := CefGetData(New(TCefBrowserRef.UnWrap(browser),
+ TCefFrameRef.UnWrap(frame),
+ CefString(scheme_name),
+ TCefRequestRef.UnWrap(request)));
end;
-constructor TCefSchemeHandlerFactoryOwn.Create(
- const AClass: TCefResourceHandlerClass);
+constructor TCefSchemeHandlerFactoryOwn.Create(const AClass: TCefResourceHandlerClass);
begin
inherited CreateData(SizeOf(TCefSchemeHandlerFactory));
+
FClass := AClass;
+
with PCefSchemeHandlerFactory(FData)^ do
create := cef_scheme_handler_factory_create;
end;
-function TCefSchemeHandlerFactoryOwn.New(const browser: ICefBrowser;
- const frame: ICefFrame; const schemeName: ustring;
- const request: ICefRequest): ICefResourceHandler;
+function TCefSchemeHandlerFactoryOwn.New(const browser : ICefBrowser;
+ const frame : ICefFrame;
+ const schemeName : ustring;
+ const request : ICefRequest): ICefResourceHandler;
begin
Result := FClass.Create(browser, frame, schemeName, request);
end;
diff --git a/source/uCEFSchemeRegistrar.pas b/source/uCEFSchemeRegistrar.pas
index d325e8f9..0377356b 100644
--- a/source/uCEFSchemeRegistrar.pas
+++ b/source/uCEFSchemeRegistrar.pas
@@ -47,15 +47,12 @@ unit uCEFSchemeRegistrar;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseScopedWrapper, uCEFTypes;
type
- TCefSchemeRegistrarRef = class(TCefBaseRef, ICefSchemeRegistrar)
- protected
- function AddCustomScheme(const schemeName: ustring; IsStandard, IsLocal, IsDisplayIsolated: Boolean): Boolean; stdcall;
-
+ TCefSchemeRegistrarRef = class(TCEFBaseScopedWrapperRef)
public
- class function UnWrap(data: Pointer): ICefSchemeRegistrar;
+ function AddCustomScheme(const schemeName: ustring; IsStandard, IsLocal, IsDisplayIsolated, IsSecure, IsCorsEnabled: Boolean): Boolean; stdcall;
end;
implementation
@@ -63,19 +60,18 @@ implementation
uses
uCEFMiscFunctions;
-function TCefSchemeRegistrarRef.AddCustomScheme(const schemeName: ustring; IsStandard, IsLocal, IsDisplayIsolated: Boolean): Boolean;
+function TCefSchemeRegistrarRef.AddCustomScheme(const schemeName: ustring; IsStandard, IsLocal, IsDisplayIsolated, IsSecure, IsCorsEnabled: Boolean): Boolean;
var
sn: TCefString;
begin
sn := CefString(schemeName);
- Result := PCefSchemeRegistrar(FData).add_custom_scheme(PCefSchemeRegistrar(FData), @sn, Ord(IsStandard), Ord(IsLocal), Ord(IsDisplayIsolated)) <> 0;
-end;
-
-class function TCefSchemeRegistrarRef.UnWrap(data: Pointer): ICefSchemeRegistrar;
-begin
- if data <> nil then
- Result := Create(data) as ICefSchemeRegistrar else
- Result := nil;
+ Result := PCefSchemeRegistrar(FData).add_custom_scheme(PCefSchemeRegistrar(FData),
+ @sn,
+ Ord(IsStandard),
+ Ord(IsLocal),
+ Ord(IsDisplayIsolated),
+ Ord(isSecure),
+ Ord(IsCorsEnabled)) <> 0;
end;
end.
diff --git a/source/uCEFSelectClientCertificateCallback.pas b/source/uCEFSelectClientCertificateCallback.pas
index 03b19dbb..7517b0f7 100644
--- a/source/uCEFSelectClientCertificateCallback.pas
+++ b/source/uCEFSelectClientCertificateCallback.pas
@@ -47,10 +47,10 @@ unit uCEFSelectClientCertificateCallback;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefSelectClientCertificateCallbackRef = class(TCefBaseRef, ICefSelectClientCertificateCallback)
+ TCefSelectClientCertificateCallbackRef = class(TCefBaseRefCountedRef, ICefSelectClientCertificateCallback)
protected
procedure Select(const cert: ICefX509Certificate);
diff --git a/source/uCEFSetCookieCallback.pas b/source/uCEFSetCookieCallback.pas
index 771ca37a..e423d306 100644
--- a/source/uCEFSetCookieCallback.pas
+++ b/source/uCEFSetCookieCallback.pas
@@ -47,10 +47,10 @@ unit uCEFSetCookieCallback;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefSetCookieCallbackOwn = class(TCefBaseOwn, ICefSetCookieCallback)
+ TCefSetCookieCallbackOwn = class(TCefBaseRefCountedOwn, ICefSetCookieCallback)
protected
procedure OnComplete(success: Boolean); virtual; abstract;
diff --git a/source/uCEFSslInfo.pas b/source/uCEFSslInfo.pas
index 1f6105ef..9bf309c9 100644
--- a/source/uCEFSslInfo.pas
+++ b/source/uCEFSslInfo.pas
@@ -52,10 +52,10 @@ uses
{$ELSE}
Classes,
{$ENDIF}
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefSslInfoRef = class(TCefBaseRef, ICefSslInfo)
+ TCefSslInfoRef = class(TCefBaseRefCountedRef, ICefSslInfo)
protected
function GetCertStatus: TCefCertStatus;
function GetX509Certificate: ICefX509Certificate;
diff --git a/source/uCEFStreamReader.pas b/source/uCEFStreamReader.pas
index d825c660..941944a6 100644
--- a/source/uCEFStreamReader.pas
+++ b/source/uCEFStreamReader.pas
@@ -52,10 +52,10 @@ uses
{$ELSE}
Classes,
{$ENDIF}
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefStreamReaderRef = class(TCefBaseRef, ICefStreamReader)
+ TCefStreamReaderRef = class(TCefBaseRefCountedRef, ICefStreamReader)
protected
function Read(ptr: Pointer; size, n: NativeUInt): NativeUInt;
function Seek(offset: Int64; whence: Integer): Integer;
diff --git a/source/uCEFStreamWriter.pas b/source/uCEFStreamWriter.pas
index 162d3a8c..ef007f9d 100644
--- a/source/uCEFStreamWriter.pas
+++ b/source/uCEFStreamWriter.pas
@@ -47,10 +47,10 @@ unit uCEFStreamWriter;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefStreamWriterRef = class(TCefBaseRef, ICefStreamWriter)
+ TCefStreamWriterRef = class(TCefBaseRefCountedRef, ICefStreamWriter)
protected
function write(const ptr: Pointer; size, n: NativeUInt): NativeUInt;
function Seek(offset: Int64; whence: Integer): Integer;
diff --git a/source/uCEFStringMap.pas b/source/uCEFStringMap.pas
index 2df05d35..20b7b70e 100644
--- a/source/uCEFStringMap.pas
+++ b/source/uCEFStringMap.pas
@@ -47,7 +47,7 @@ unit uCEFStringMap;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
TCefStringMapOwn = class(TInterfacedObject, ICefStringMap)
diff --git a/source/uCEFStringMultimap.pas b/source/uCEFStringMultimap.pas
index d71408f9..878893de 100644
--- a/source/uCEFStringMultimap.pas
+++ b/source/uCEFStringMultimap.pas
@@ -47,7 +47,7 @@ unit uCEFStringMultimap;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
TCefStringMultimapOwn = class(TInterfacedObject, ICefStringMultimap)
diff --git a/source/uCEFStringVisitor.pas b/source/uCEFStringVisitor.pas
index 84372551..c221027c 100644
--- a/source/uCEFStringVisitor.pas
+++ b/source/uCEFStringVisitor.pas
@@ -47,10 +47,10 @@ unit uCEFStringVisitor;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefStringVisitorOwn = class(TCefBaseOwn, ICefStringVisitor)
+ TCefStringVisitorOwn = class(TCefBaseRefCountedOwn, ICefStringVisitor)
protected
procedure Visit(const str: ustring); virtual;
diff --git a/source/uCEFTask.pas b/source/uCEFTask.pas
index 857f043b..e1d017be 100644
--- a/source/uCEFTask.pas
+++ b/source/uCEFTask.pas
@@ -47,10 +47,10 @@ unit uCEFTask;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefTaskOwn = class(TCefBaseOwn, ICefTask)
+ TCefTaskOwn = class(TCefBaseRefCountedOwn, ICefTask)
protected
procedure Execute; virtual;
@@ -58,7 +58,7 @@ type
constructor Create; virtual;
end;
- TCefTaskRef = class(TCefBaseRef, ICefTask)
+ TCefTaskRef = class(TCefBaseRefCountedRef, ICefTask)
protected
procedure Execute; virtual;
diff --git a/source/uCEFTaskRunner.pas b/source/uCEFTaskRunner.pas
index 9e1a9cd3..7ea8275d 100644
--- a/source/uCEFTaskRunner.pas
+++ b/source/uCEFTaskRunner.pas
@@ -47,10 +47,10 @@ unit uCEFTaskRunner;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefTaskRunnerRef = class(TCefBaseRef, ICefTaskRunner)
+ TCefTaskRunnerRef = class(TCefBaseRefCountedRef, ICefTaskRunner)
protected
function IsSame(const that: ICefTaskRunner): Boolean;
function BelongsToCurrentThread: Boolean;
diff --git a/source/uCEFThread.pas b/source/uCEFThread.pas
index d09fd027..9d775c12 100644
--- a/source/uCEFThread.pas
+++ b/source/uCEFThread.pas
@@ -47,10 +47,10 @@ unit uCEFThread;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefThreadRef = class(TCefBaseRef, ICefThread)
+ TCefThreadRef = class(TCefBaseRefCountedRef, ICefThread)
protected
function GetTaskRunner : ICefTaskRunner;
function GetPlatformThreadID : TCefPlatformThreadId;
diff --git a/source/uCEFTypes.pas b/source/uCEFTypes.pas
index 798b7fb0..311dd4fb 100644
--- a/source/uCEFTypes.pas
+++ b/source/uCEFTypes.pas
@@ -63,7 +63,8 @@ type
PPCefBinaryValue = ^PCefBinaryValue;
PCefSchemeRegistrar = ^TCefSchemeRegistrar;
PCefCommandLine = ^TCefCommandLine;
- PCefBase = ^TCefBase;
+ PCefBaseRefCounted = ^TCefBaseRefCounted;
+ PCefBaseScoped = ^TCefBaseScoped;
PCefWindowInfo = ^TCefWindowInfo;
PCefSettings = ^TCefSettings;
PCefStringUtf8 = ^TCefStringUtf8;
@@ -920,6 +921,17 @@ type
CEF_MENU_ANCHOR_BOTTOMCENTER
);
+ // /include/internal/cef_types.h (cef_menu_color_type_t)
+ TCefMenuColorType = (
+ CEF_MENU_COLOR_TEXT,
+ CEF_MENU_COLOR_TEXT_HOVERED,
+ CEF_MENU_COLOR_TEXT_ACCELERATOR,
+ CEF_MENU_COLOR_TEXT_ACCELERATOR_HOVERED,
+ CEF_MENU_COLOR_BACKGROUND,
+ CEF_MENU_COLOR_BACKGROUND_HOVERED,
+ CEF_MENU_COLOR_COUNT
+ );
+
// /include/internal/cef_types.h (cef_ssl_content_status_t)
TCefSSLContentStatusFlags = (
SSL_CONTENT_DISPLAYED_INSECURE_CONTENT,
@@ -955,17 +967,23 @@ type
millisecond: Integer;
end;
- // /include/capi/cef_base_capi.h (cef_base_t)
- TCefBase = record
+ // /include/capi/cef_base_capi.h (cef_base_ref_counted_t)
+ TCefBaseRefCounted = record
size: NativeUInt;
- add_ref: procedure(self: PCefBase); stdcall;
- release: function(self: PCefBase): Integer; stdcall;
- has_one_ref: function(self: PCefBase): Integer; stdcall;
+ add_ref: procedure(self: PCefBaseRefCounted); stdcall;
+ release: function(self: PCefBaseRefCounted): Integer; stdcall;
+ has_one_ref: function(self: PCefBaseRefCounted): Integer; stdcall;
+ end;
+
+ // /include/capi/cef_base_capi.h (cef_base_scoped_t)
+ TCefBaseScoped = record
+ size: NativeUInt;
+ del: procedure(self: PCefBaseScoped); stdcall;
end;
// /include/capi/cef_stream_capi.h (cef_stream_writer_t)
TCefStreamWriter = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
write: function(self: PCefStreamWriter; const ptr: Pointer; size, n: NativeUInt): NativeUInt; stdcall;
seek: function(self: PCefStreamWriter; offset: Int64; whence: Integer): Integer; stdcall;
tell: function(self: PCefStreamWriter): Int64; stdcall;
@@ -1037,7 +1055,7 @@ type
// /include/capi/cef_x509_certificate_capi.h (cef_x509cert_principal_t)
TCefX509CertPrincipal = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
get_display_name: function(self: PCefX509CertPrincipal): PCefStringUserFree; stdcall;
get_common_name: function(self: PCefX509CertPrincipal): PCefStringUserFree; stdcall;
get_locality_name: function(self: PCefX509CertPrincipal): PCefStringUserFree; stdcall;
@@ -1051,7 +1069,7 @@ type
// /include/capi/cef_x509_certificate_capi.h (cef_x509certificate_t)
TCefX509Certificate = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
get_subject: function(self: PCefX509Certificate): PCefX509CertPrincipal; stdcall;
get_issuer: function(self: PCefX509Certificate): PCefX509CertPrincipal; stdcall;
get_serial_number: function(self: PCefX509Certificate): PCefBinaryValue; stdcall;
@@ -1066,14 +1084,14 @@ type
// /include/capi/cef_ssl_info_capi.h (cef_sslinfo_t)
TCefSslInfo = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
get_cert_status: function(self: PCefSslInfo): TCefCertStatus; stdcall;
get_x509certificate: function(self: PCefSslInfo): PCefX509Certificate; stdcall;
end;
// /include/capi/cef_ssl_status_capi.h (cef_sslstatus_t)
TCefSSLStatus = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
is_secure_connection: function(self: PCefSSLStatus): integer; stdcall;
get_cert_status: function(self: PCefSSLStatus): TCefCertStatus; stdcall;
get_sslversion: function(self: PCefSSLStatus): TCefSSLVersion; stdcall;
@@ -1083,33 +1101,33 @@ type
// /include/capi/cef_request_handler_capi.h (cef_select_client_certificate_callback_t)
TCefSelectClientCertificateCallback = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
select: procedure(self: PCefSelectClientCertificateCallback; cert: PCefX509Certificate); stdcall;
end;
// /include/capi/cef_context_menu_handler_capi.h (cef_run_context_menu_callback_t)
TCefRunContextMenuCallback = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
cont: procedure(self: PCefRunContextMenuCallback; command_id: Integer; event_flags: TCefEventFlags); stdcall;
cancel: procedure(self: PCefRunContextMenuCallback); stdcall;
end;
// /include/capi/cef_dialog_handler_capi.h (cef_file_dialog_callback_t)
TCefFileDialogCallback = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
cont: procedure(self: PCefFileDialogCallback; selected_accept_filter: Integer; file_paths: TCefStringList); stdcall;
cancel: procedure(self: PCefFileDialogCallback); stdcall;
end;
// /include/capi/cef_dialog_handler_capi.h (cef_dialog_handler_t)
TCefDialogHandler = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_file_dialog: function(self: PCefDialogHandler; browser: PCefBrowser; mode: TCefFileDialogMode; const title, default_file_path: PCefString; accept_filters: TCefStringList; selected_accept_filter: Integer; callback: PCefFileDialogCallback): Integer; stdcall;
end;
// /include/capi/cef_display_handler_capi.h (cef_display_handler_t)
TCefDisplayHandler = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_address_change: procedure(self: PCefDisplayHandler; browser: PCefBrowser; frame: PCefFrame; const url: PCefString); stdcall;
on_title_change: procedure(self: PCefDisplayHandler; browser: PCefBrowser; const title: PCefString); stdcall;
on_favicon_urlchange: procedure(self: PCefDisplayHandler; browser: PCefBrowser; icon_urls: TCefStringList); stdcall;
@@ -1121,7 +1139,7 @@ type
// /include/capi/cef_download_handler_capi.h (cef_download_handler_t)
TCefDownloadHandler = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_before_download: procedure(self: PCefDownloadHandler; browser: PCefBrowser; download_item: PCefDownloadItem; const suggested_name: PCefString; callback: PCefBeforeDownloadCallback); stdcall;
on_download_updated: procedure(self: PCefDownloadHandler; browser: PCefBrowser; download_item: PCefDownloadItem; callback: PCefDownloadItemCallback); stdcall;
end;
@@ -1136,20 +1154,20 @@ type
// /include/capi/cef_drag_handler_capi.h (cef_drag_handler_t)
TCefDragHandler = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_drag_enter: function(self: PCefDragHandler; browser: PCefBrowser; dragData: PCefDragData; mask: TCefDragOperations): Integer; stdcall;
on_draggable_regions_changed: procedure(self: PCefDragHandler; browser: PCefBrowser; regionsCount: NativeUInt; regions: PCefDraggableRegionArray); stdcall;
end;
// /include/capi/cef_find_handler_capi.h (cef_find_handler_t)
TCefFindHandler = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_find_result: procedure(self: PCefFindHandler; browser: PCefBrowser; identifier, count: Integer; const selection_rect: PCefRect; active_match_ordinal, final_update: Integer); stdcall;
end;
// /include/capi/cef_focus_handler_capi.h (cef_focus_handler_t)
TCefFocusHandler = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_take_focus: procedure(self: PCefFocusHandler; browser: PCefBrowser; next: Integer); stdcall;
on_set_focus: function(self: PCefFocusHandler; browser: PCefBrowser; source: TCefFocusSource): Integer; stdcall;
on_got_focus: procedure(self: PCefFocusHandler; browser: PCefBrowser); stdcall;
@@ -1157,7 +1175,7 @@ type
// /include/capi/cef_jsdialog_handler_capi.h (cef_jsdialog_handler_t)
TCefJsDialogHandler = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_jsdialog: function(self: PCefJsDialogHandler; browser: PCefBrowser; const origin_url: PCefString; dialog_type: TCefJsDialogType; const message_text, default_prompt_text: PCefString; callback: PCefJsDialogCallback; suppress_message: PInteger): Integer; stdcall;
on_before_unload_dialog: function(self: PCefJsDialogHandler; browser: PCefBrowser; const message_text: PCefString; is_reload: Integer; callback: PCefJsDialogCallback): Integer; stdcall;
on_reset_dialog_state: procedure(self: PCefJsDialogHandler; browser: PCefBrowser); stdcall;
@@ -1166,20 +1184,20 @@ type
// /include/capi/cef_jsdialog_handler_capi.h (cef_jsdialog_callback_t)
TCefJsDialogCallback = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
cont: procedure(self: PCefJsDialogCallback; success: Integer; const user_input: PCefString); stdcall;
end;
// /include/capi/cef_geolocation_handler_capi.h (cef_geolocation_handler_t)
TCefGeolocationHandler = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_request_geolocation_permission: function(self: PCefGeolocationHandler; browser: PCefBrowser; const requesting_url: PCefString; request_id: Integer; callback: PCefGeolocationCallback): Integer; stdcall;
on_cancel_geolocation_permission: procedure(self: PCefGeolocationHandler; browser: PCefBrowser; request_id: Integer); stdcall;
end;
// /include/capi/cef_geolocation_handler_capi.h (cef_geolocation_callback_t)
TCefGeolocationCallback = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
cont: procedure(self: PCefGeolocationCallback; allow: Integer); stdcall;
end;
@@ -1197,14 +1215,14 @@ type
// /include/capi/cef_keyboard_handler_capi.h (cef_keyboard_handler_t)
TCefKeyboardHandler = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_pre_key_event: function(self: PCefKeyboardHandler; browser: PCefBrowser; const event: PCefKeyEvent; os_event: TCefEventHandle; is_keyboard_shortcut: PInteger): Integer; stdcall;
on_key_event: function(self: PCefKeyboardHandler; browser: PCefBrowser; const event: PCefKeyEvent; os_event: TCefEventHandle): Integer; stdcall;
end;
// /include/capi/cef_life_span_handler_capi.h (cef_life_span_handler_t)
TCefLifeSpanHandler = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_before_popup: function(self: PCefLifeSpanHandler; browser: PCefBrowser; frame: PCefFrame; const target_url, target_frame_name: PCefString; target_disposition: TCefWindowOpenDisposition; user_gesture: Integer; const popupFeatures: PCefPopupFeatures; windowInfo: PCefWindowInfo; var client: PCefClient; settings: PCefBrowserSettings; no_javascript_access: PInteger): Integer; stdcall;
on_after_created: procedure(self: PCefLifeSpanHandler; browser: PCefBrowser); stdcall;
do_close: function(self: PCefLifeSpanHandler; browser: PCefBrowser): Integer; stdcall;
@@ -1271,7 +1289,7 @@ type
// /include/capi/cef_load_handler_capi.h (cef_load_handler_t)
TCefLoadHandler = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_loading_state_change: procedure(self: PCefLoadHandler; browser: PCefBrowser; isLoading, canGoBack, canGoForward: Integer); stdcall;
on_load_start: procedure(self: PCefLoadHandler; browser: PCefBrowser; frame: PCefFrame; transition_type:TCefTransitionType); stdcall;
on_load_end: procedure(self: PCefLoadHandler; browser: PCefBrowser; frame: PCefFrame; httpStatusCode: Integer); stdcall;
@@ -1280,7 +1298,7 @@ type
// /include/capi/cef_render_handler_capi.h (cef_render_handler_t)
TCefRenderHandler = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
get_root_screen_rect: function(self: PCefRenderHandler; browser: PCefBrowser; rect: PCefRect): Integer; stdcall;
get_view_rect: function(self: PCefRenderHandler; browser: PCefBrowser; rect: PCefRect): Integer; stdcall;
get_screen_point: function(self: PCefRenderHandler; browser: PCefBrowser; viewX, viewY: Integer; screenX, screenY: PInteger): Integer; stdcall;
@@ -1307,7 +1325,7 @@ type
// /include/capi/cef_v8_capi.h (cef_v8stack_trace_t)
TCefV8StackTrace = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
is_valid: function(self: PCefV8StackTrace): Integer; stdcall;
get_frame_count: function(self: PCefV8StackTrace): Integer; stdcall;
get_frame: function(self: PCefV8StackTrace; index: Integer): PCefV8StackFrame; stdcall;
@@ -1315,7 +1333,7 @@ type
// /include/capi/cef_v8_capi.h (cef_v8stack_frame_t)
TCefV8StackFrame = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
is_valid: function(self: PCefV8StackFrame): Integer; stdcall;
get_script_name: function(self: PCefV8StackFrame): PCefStringUserFree; stdcall;
get_script_name_or_source_url: function(self: PCefV8StackFrame): PCefStringUserFree; stdcall;
@@ -1328,7 +1346,7 @@ type
// /include/capi/cef_stream_capi.h (cef_stream_reader_t)
TCefStreamReader = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
read: function(self: PCefStreamReader; ptr: Pointer; size, n: NativeUInt): NativeUInt; stdcall;
seek: function(self: PCefStreamReader; offset: Int64; whence: Integer): Integer; stdcall;
tell: function(self: PCefStreamReader): Int64; stdcall;
@@ -1338,7 +1356,7 @@ type
// /include/capi/cef_stream_capi.h (cef_read_handler_t)
TCefReadHandler = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
read: function(self: PCefReadHandler; ptr: Pointer; size, n: NativeUInt): NativeUInt; stdcall;
seek: function(self: PCefReadHandler; offset: Int64; whence: Integer): Integer; stdcall;
tell: function(self: PCefReadHandler): Int64; stdcall;
@@ -1348,7 +1366,7 @@ type
// /include/capi/cef_stream_capi.h (cef_write_handler_t)
TCefWriteHandler = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
write: function(self: PCefWriteHandler; const ptr: Pointer; size, n: NativeUInt): NativeUInt; stdcall;
seek: function(self: PCefWriteHandler; offset: Int64; whence: Integer): Integer; stdcall;
tell: function(self: PCefWriteHandler): Int64; stdcall;
@@ -1358,7 +1376,7 @@ type
// /include/capi/cef_xml_reader_capi.h (cef_xml_reader_t)
TCefXmlReader = record
- base: TcefBase;
+ base: TCefBaseRefCounted;
move_to_next_node: function(self: PCefXmlReader): Integer; stdcall;
close: function(self: PCefXmlReader): Integer; stdcall;
has_error: function(self: PCefXmlReader): Integer; stdcall;
@@ -1392,7 +1410,7 @@ type
// /include/capi/cef_zip_reader_capi.h (cef_zip_reader_t)
TCefZipReader = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
move_to_first_file: function(self: PCefZipReader): Integer; stdcall;
move_to_next_file: function(self: PCefZipReader): Integer; stdcall;
move_to_file: function(self: PCefZipReader; const fileName: PCefString; caseSensitive: Integer): Integer; stdcall;
@@ -1409,7 +1427,7 @@ type
// /include/capi/cef_urlrequest_capi.h (cef_urlrequest_client_t)
TCefUrlrequestClient = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_request_complete: procedure(self: PCefUrlRequestClient; request: PCefUrlRequest); stdcall;
on_upload_progress: procedure(self: PCefUrlRequestClient; request: PCefUrlRequest; current, total: Int64); stdcall;
on_download_progress: procedure(self: PCefUrlRequestClient; request: PCefUrlRequest; current, total: Int64); stdcall;
@@ -1419,7 +1437,7 @@ type
// /include/capi/cef_urlrequest_capi.h (cef_urlrequest_t)
TCefUrlRequest = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
get_request: function(self: PCefUrlRequest): PCefRequest; stdcall;
get_client: function(self: PCefUrlRequest): PCefUrlRequestClient; stdcall;
get_request_status: function(self: PCefUrlRequest): TCefUrlRequestStatus; stdcall;
@@ -1430,25 +1448,25 @@ type
// /include/capi/cef_web_plugin_capi.h (cef_web_plugin_info_visitor_t)
TCefWebPluginInfoVisitor = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
visit: function(self: PCefWebPluginInfoVisitor; info: PCefWebPluginInfo; count, total: Integer): Integer; stdcall;
end;
// /include/capi/cef_web_plugin_capi.h (cef_web_plugin_unstable_callback_t)
TCefWebPluginUnstableCallback = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
is_unstable: procedure(self: PCefWebPluginUnstableCallback; const path: PCefString; unstable: Integer); stdcall;
end;
// /include/capi/cef_web_plugin_capi.h (cef_register_cdm_callback_t)
TCefRegisterCDMCallback = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_cdm_registration_complete: procedure(self:PCefRegisterCDMCallback; result: TCefCDMRegistrationError; const error_message: PCefString); stdcall;
end;
// /include/capi/cef_geolocation_capi.h (cef_get_geolocation_callback_t)
TCefGetGeolocationCallback = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_location_update: procedure(self: PCefGetGeolocationCallback; const position: Pcefgeoposition); stdcall;
end;
@@ -1468,7 +1486,7 @@ type
// /include/capi/cef_thread_capi.h (cef_thread_t)
TCefThread = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
get_task_runner: function(self: PCefThread): PCefTaskRunner; stdcall;
get_platform_thread_id: function(self: PCefThread): TCefPlatformThreadId; stdcall;
stop: procedure(self: PCefThread); stdcall;
@@ -1477,7 +1495,7 @@ type
// /include/capi/cef_waitable_event_capi.h (cef_waitable_event_t)
TCefWaitableEvent = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
reset: procedure(self: PCefWaitableEvent); stdcall;
signal: procedure(self: PCefWaitableEvent); stdcall;
is_signaled: function(self: PCefWaitableEvent): integer; stdcall;
@@ -1487,7 +1505,7 @@ type
// /include/capi/cef_task_capi.h (cef_task_runner_t)
TCefTaskRunner = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
is_same: function(self, that: PCefTaskRunner): Integer; stdcall;
belongs_to_current_thread: function(self: PCefTaskRunner): Integer; stdcall;
belongs_to_thread: function(self: PCefTaskRunner; threadId: TCefThreadId): Integer; stdcall;
@@ -1497,7 +1515,7 @@ type
// /include/capi/cef_trace_capi.h (cef_end_tracing_callback_t)
TCefEndTracingCallback = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_end_tracing_complete: procedure(self: PCefEndTracingCallback; const tracing_file: PCefString); stdcall;
end;
@@ -1514,7 +1532,7 @@ type
// /include/capi/cef_resource_bundle_capi.h (cef_resource_bundle_t)
TCefResourceBundle = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
get_localized_string: function(self: PCefResourceBundle; string_id: Integer): PCefStringUserFree; stdcall;
get_data_resource: function(self: PCefResourceBundle; resource_id: Integer; out data: Pointer; out data_size: NativeUInt): Integer; stdcall;
get_data_resource_for_scale: function(self: PCefResourceBundle; resource_id: Integer; scale_factor: TCefScaleFactor; out data: Pointer; out data_size: NativeUInt): Integer; stdcall;
@@ -1522,8 +1540,11 @@ type
// /include/capi/cef_menu_model_delegate_capi.h (cef_menu_model_delegate_t)
TCefMenuModelDelegate = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
execute_command: procedure(self: PCefMenuModelDelegate; menu_model: PCefMenuModel; command_id: Integer; event_flags: TCefEventFlags); stdcall;
+ mouse_outside_menu: procedure(self: PCefMenuModelDelegate; menu_model: PCefMenuModel; const screen_point: PCefPoint); stdcall;
+ unhandled_open_submenu: procedure(self: PCefMenuModelDelegate; menu_model: PCefMenuModel; is_rtl: integer); stdcall;
+ unhandled_close_submenu: procedure(self: PCefMenuModelDelegate; menu_model: PCefMenuModel; is_rtl: integer); stdcall;
menu_will_show: procedure(self: PCefMenuModelDelegate; menu_model: PCefMenuModel); stdcall;
menu_closed: procedure(self: PCefMenuModelDelegate; menu_model: PCefMenuModel); stdcall;
format_label: function(self: PCefMenuModelDelegate; menu_model: PCefMenuModel; label_ : PCefString) : integer; stdcall;
@@ -1531,7 +1552,7 @@ type
// /include/capi/cef_process_message_capi.h (cef_process_message_t)
TCefProcessMessage = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
is_valid: function(self: PCefProcessMessage): Integer; stdcall;
is_read_only: function(self: PCefProcessMessage): Integer; stdcall;
copy: function(self: PCefProcessMessage): PCefProcessMessage; stdcall;
@@ -1541,7 +1562,7 @@ type
// /include/capi/cef_render_process_handler_capi.h (cef_render_process_handler_t)
TCefRenderProcessHandler = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_render_thread_created: procedure(self: PCefRenderProcessHandler; extra_info: PCefListValue); stdcall;
on_web_kit_initialized: procedure(self: PCefRenderProcessHandler); stdcall;
on_browser_created: procedure(self: PCefRenderProcessHandler; browser: PCefBrowser); stdcall;
@@ -1557,7 +1578,7 @@ type
// /include/capi/cef_request_handler_capi.h (cef_request_handler_t)
TCefRequestHandler = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_before_browse: function(self: PCefRequestHandler; browser: PCefBrowser; frame: PCefFrame; request: PCefRequest; isRedirect: Integer): Integer; stdcall;
on_open_urlfrom_tab: function(self: PCefRequestHandler; browser:PCefBrowser; frame: PCefFrame; const target_url: PCefString; target_disposition: TCefWindowOpenDisposition; user_gesture: Integer): Integer; stdcall;
on_before_resource_load: function(self: PCefRequestHandler; browser: PCefBrowser; frame: PCefFrame; request: PCefRequest; callback: PCefRequestCallback): TCefReturnValue; stdcall;
@@ -1578,14 +1599,14 @@ type
// /include/capi/cef_request_handler_capi.h (cef_request_callback_t)
TCefRequestCallback = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
cont: procedure(self: PCefRequestCallback; allow: Integer); stdcall;
cancel: procedure(self: PCefRequestCallback); stdcall;
end;
// /include/capi/cef_resource_handler_capi.h (cef_resource_handler_t)
TCefResourceHandler = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
process_request: function(self: PCefResourceHandler; request: PCefRequest; callback: PCefCallback): Integer; stdcall;
get_response_headers: procedure(self: PCefResourceHandler; response: PCefResponse; response_length: PInt64; redirectUrl: PCefString); stdcall;
read_response: function(self: PCefResourceHandler; data_out: Pointer; bytes_to_read: Integer; bytes_read: PInteger; callback: PCefCallback): Integer; stdcall;
@@ -1596,7 +1617,7 @@ type
// /include/capi/cef_response_capi.h (cef_response_t)
TCefResponse = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
is_read_only: function(self: PCefResponse): Integer; stdcall;
get_error: function(self: PCefResponse): TCefErrorCode; stdcall;
set_error: procedure(self: PCefResponse; error: TCefErrorCode); stdcall;
@@ -1613,21 +1634,21 @@ type
// /include/capi/cef_response_filter_capi.h (cef_response_filter_t)
TCefResponseFilter = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
init_filter: function(self: PCefResponseFilter): Integer; stdcall;
filter: function(self: PCefResponseFilter; data_in: Pointer; data_in_size, data_in_read: NativeUInt; data_out: Pointer; data_out_size, data_out_written: NativeUInt): TCefResponseFilterStatus; stdcall;
end;
// /include/capi/cef_auth_callback_capi.h (cef_auth_callback_t)
TCefAuthCallback = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
cont: procedure(self: PCefAuthCallback; const username, password: PCefString); stdcall;
cancel: procedure(self: PCefAuthCallback); stdcall;
end;
// /include/capi/cef_callback_capi.h (cef_callback_t)
TCefCallback = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
cont: procedure(self: PCefCallback); stdcall;
cancel: procedure(self: PCefCallback); stdcall;
end;
@@ -1648,7 +1669,7 @@ type
// /include/capi/cef_request_context_capi.h (cef_request_context_t)
TCefRequestContext = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
is_same: function(self, other: PCefRequestContext): Integer; stdcall;
is_sharing_with: function(self, other: PCefRequestContext): Integer; stdcall;
is_global: function(self: PCefRequestContext): Integer; stdcall;
@@ -1671,20 +1692,20 @@ type
// /include/capi/cef_request_context_handler_capi.h (cef_request_context_handler_t)
TCefRequestContextHandler = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
get_cookie_manager: function(self: PCefRequestContextHandler): PCefCookieManager; stdcall;
on_before_plugin_load: function(self: PCefRequestContextHandler; const mime_type, plugin_url : PCefString; is_main_frame : integer; const top_origin_url: PCefString; plugin_info: PCefWebPluginInfo; plugin_policy: PCefPluginPolicy): Integer; stdcall;
end;
// /include/capi/cef_callback_capi.h (cef_completion_callback_t)
TCefCompletionCallback = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_complete: procedure(self: PCefCompletionCallback); stdcall;
end;
// /include/capi/cef_cookie_capi.h (cef_cookie_manager_t)
TCefCookieManager = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
set_supported_schemes: procedure(self: PCefCookieManager; schemes: TCefStringList; callback: PCefCompletionCallback); stdcall;
visit_all_cookies: function(self: PCefCookieManager; visitor: PCefCookieVisitor): Integer; stdcall;
visit_url_cookies: function(self: PCefCookieManager; const url: PCefString; includeHttpOnly: Integer; visitor: PCefCookieVisitor): Integer; stdcall;
@@ -1696,19 +1717,19 @@ type
// /include/capi/cef_scheme_capi.h (cef_scheme_handler_factory_t)
TCefSchemeHandlerFactory = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
create: function(self: PCefSchemeHandlerFactory; browser: PCefBrowser; frame: PCefFrame; const scheme_name: PCefString; request: PCefRequest): PCefResourceHandler; stdcall;
end;
// /include/capi/cef_request_context_capi.h (cef_resolve_callback_t)
TCefResolveCallback = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_resolve_completed: procedure(self: PCefResolveCallback; result: TCefErrorCode; resolved_ips: TCefStringList); stdcall;
end;
// /include/capi/cef_web_plugin_capi.h (cef_web_plugin_info_t)
TCefWebPluginInfo = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
get_name: function(self: PCefWebPluginInfo): PCefStringUserFree; stdcall;
get_path: function(self: PCefWebPluginInfo): PCefStringUserFree; stdcall;
get_version: function(self: PCefWebPluginInfo): PCefStringUserFree; stdcall;
@@ -1717,37 +1738,37 @@ type
// /include/capi/cef_cookie_capi.h (cef_cookie_visitor_t)
TCefCookieVisitor = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
visit: function(self: PCefCookieVisitor; const cookie: PCefCookie; count, total: Integer; deleteCookie: PInteger): Integer; stdcall;
end;
// /include/capi/cef_cookie_capi.h (cef_set_cookie_callback_t)
TCefSetCookieCallback = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_complete: procedure(self: PCefSetCookieCallback; success: Integer); stdcall;
end;
// /include/capi/cef_cookie_capi.h (cef_delete_cookies_callback_t)
TCefDeleteCookiesCallback = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_complete: procedure(self: PCefDeleteCookiesCallback; num_deleted: Integer); stdcall;
end;
// /include/capi/cef_browser_capi.h (cef_run_file_dialog_callback_t)
TCefRunFileDialogCallback = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_file_dialog_dismissed: procedure(self: PCefRunFileDialogCallback; selected_accept_filter: Integer; file_paths: TCefStringList); stdcall;
end;
// /include/capi/cef_browser_capi.h (cef_download_image_callback_t)
TCefDownloadImageCallback = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_download_image_finished: procedure(self: PCefDownloadImageCallback; const image_url: PCefString; http_status_code: Integer; image: PCefImage); stdcall;
end;
// /include/capi/cef_image_capi.h (cef_image_t)
TCefImage = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
is_empty: function(self: PCefImage): Integer; stdcall;
is_same: function(self, that: PCefImage): Integer; stdcall;
add_bitmap: function(self: PCefImage; scale_factor: Single; pixel_width, pixel_height: Integer; color_type: TCefColorType; alpha_type: TCefAlphaType; pixel_data: Pointer; pixel_data_size: NativeUInt): Integer; stdcall;
@@ -1782,19 +1803,19 @@ type
// /include/capi/cef_browser_capi.h (cef_pdf_print_callback_t)
TCefPdfPrintCallback = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_pdf_print_finished: procedure(self: PCefPdfPrintCallback; const path: PCefString; ok: Integer); stdcall;
end;
// /include/capi/cef_browser_capi.h (cef_navigation_entry_visitor_t)
TCefNavigationEntryVisitor = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
visit: function(self: PCefNavigationEntryVisitor; entry: PCefNavigationEntry; current, index, total: Integer): Integer; stdcall;
end;
// /include/capi/cef_navigation_entry_capi.h (cef_navigation_entry_t)
TCefNavigationEntry = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
is_valid: function(self: PCefNavigationEntry): Integer; stdcall;
get_url: function(self: PCefNavigationEntry): PCefStringUserFree; stdcall;
get_display_url: function(self: PCefNavigationEntry): PCefStringUserFree; stdcall;
@@ -1816,7 +1837,7 @@ type
// /include/capi/cef_print_settings_capi.h (cef_print_settings_t)
TCefPrintSettings = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
is_valid: function(self: PCefPrintSettings): Integer; stdcall;
is_read_only: function(self: PCefPrintSettings): Integer; stdcall;
copy: function(self: PCefPrintSettings): PCefPrintSettings; stdcall;
@@ -1844,20 +1865,20 @@ type
// /include/capi/cef_print_handler_capi.h (cef_print_dialog_callback_t)
TCefPrintDialogCallback = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
cont: procedure(self: PCefPrintDialogCallback; settings: PCefPrintSettings); stdcall;
cancel: procedure(self: PCefPrintDialogCallback); stdcall;
end;
// /include/capi/cef_print_handler_capi.h (cef_print_job_callback_t)
TCefPrintJobCallback = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
cont: procedure(self: PCefPrintJobCallback); stdcall;
end;
// /include/capi/cef_drag_data_capi.h (cef_drag_data_t)
TCefDragData = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
clone: function(self: PCefDragData): PCefDragData; stdcall;
is_read_only: function(self: PCefDragData): Integer; stdcall;
is_link: function(self: PCefDragData): Integer; stdcall;
@@ -1884,7 +1905,7 @@ type
// /include/capi/cef_command_line_capi.h (cef_command_line_t)
TCefCommandLine = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
is_valid: function(self: PCefCommandLine): Integer; stdcall;
is_read_only: function(self: PCefCommandLine): Integer; stdcall;
copy: function(self: PCefCommandLine): PCefCommandLine; stdcall;
@@ -1909,13 +1930,13 @@ type
// /include/capi/cef_scheme_capi.h (cef_scheme_registrar_t)
TCefSchemeRegistrar = record
- base: TCefBase;
- add_custom_scheme: function(self: PCefSchemeRegistrar; const scheme_name: PCefString; is_standard, is_local, is_display_isolated: Integer): Integer; stdcall;
+ base: TCefBaseScoped;
+ add_custom_scheme: function(self: PCefSchemeRegistrar; const scheme_name: PCefString; is_standard, is_local, is_display_isolated, is_secure, is_cors_enabled: Integer): Integer; stdcall;
end;
// /include/capi/cef_values_capi.h (cef_binary_value_t)
TCefBinaryValue = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
is_valid: function(self: PCefBinaryValue): Integer; stdcall;
is_owned: function(self: PCefBinaryValue): Integer; stdcall;
is_same: function(self, that: PCefBinaryValue):Integer; stdcall;
@@ -1927,7 +1948,7 @@ type
// /include/capi/cef_values_capi.h (cef_value_t)
TCefValue = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
is_valid: function(self: PCefValue): Integer; stdcall;
is_owned: function(self: PCefValue): Integer; stdcall;
is_read_only: function(self: PCefValue): Integer; stdcall;
@@ -1954,7 +1975,7 @@ type
// /include/capi/cef_values_capi.h (cef_dictionary_value_t)
TCefDictionaryValue = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
is_valid: function(self: PCefDictionaryValue): Integer; stdcall;
is_owned: function(self: PCefDictionaryValue): Integer; stdcall;
is_read_only: function(self: PCefDictionaryValue): Integer; stdcall;
@@ -1988,7 +2009,7 @@ type
// /include/capi/cef_values_capi.h (cef_list_value_t)
TCefListValue = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
is_valid: function(self: PCefListValue): Integer; stdcall;
is_owned: function(self: PCefListValue): Integer; stdcall;
is_read_only: function(self: PCefListValue): Integer; stdcall;
@@ -2021,7 +2042,7 @@ type
// /include/capi/cef_string_visitor_capi.h (cef_string_visitor_t)
TCefStringVisitor = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
visit: procedure(self: PCefStringVisitor; const str: PCefString); stdcall;
end;
@@ -2029,7 +2050,7 @@ type
// /include/capi/cef_request_capi.h (cef_post_data_element_t)
TCefPostDataElement = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
is_read_only: function(self: PCefPostDataElement): Integer; stdcall;
set_to_empty: procedure(self: PCefPostDataElement); stdcall;
set_to_file: procedure(self: PCefPostDataElement; const fileName: PCefString); stdcall;
@@ -2042,7 +2063,7 @@ type
// /include/capi/cef_request_capi.h (cef_post_data_t)
TCefPostData = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
is_read_only: function(self: PCefPostData):Integer; stdcall;
has_excluded_elements: function(self: PCefPostData): Integer; stdcall;
get_element_count: function(self: PCefPostData): NativeUInt; stdcall;
@@ -2054,7 +2075,7 @@ type
// /include/capi/cef_request_capi.h (cef_request_t)
TCefRequest = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
is_read_only: function(self: PCefRequest): Integer; stdcall;
get_url: function(self: PCefRequest): PCefStringUserFree; stdcall;
set_url: procedure(self: PCefRequest; const url: PCefString); stdcall;
@@ -2079,19 +2100,20 @@ type
// /include/capi/cef_task_capi.h (cef_task_t)
TCefTask = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
execute: procedure(self: PCefTask); stdcall;
end;
// /include/capi/cef_dom_capi.h (cef_domvisitor_t)
TCefDomVisitor = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
visit: procedure(self: PCefDomVisitor; document: PCefDomDocument); stdcall;
end;
// /include/capi/cef_menu_model_capi.h (cef_menu_model_t)
TCefMenuModel = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
+ is_sub_menu: function(self: PCefMenuModel): Integer; stdcall;
clear: function(self: PCefMenuModel): Integer; stdcall;
get_count: function(self: PCefMenuModel): Integer; stdcall;
add_separator: function(self: PCefMenuModel): Integer; stdcall;
@@ -2141,11 +2163,17 @@ type
remove_accelerator_at: function(self: PCefMenuModel; index: Integer): Integer; stdcall;
get_accelerator: function(self: PCefMenuModel; command_id: Integer; key_code, shift_pressed, ctrl_pressed, alt_pressed: PInteger): Integer; stdcall;
get_accelerator_at: function(self: PCefMenuModel; index: Integer; key_code, shift_pressed, ctrl_pressed, alt_pressed: PInteger): Integer; stdcall;
+ set_color: function(self: PCefMenuModel; command_id: Integer; color_type: TCefMenuColorType; color: TCefColor): Integer; stdcall;
+ set_color_at: function(self: PCefMenuModel; index: Integer; color_type: TCefMenuColorType; color: TCefColor): Integer; stdcall;
+ get_color: function(self: PCefMenuModel; command_id: Integer; color_type: TCefMenuColorType; color: PCefColor): Integer; stdcall;
+ get_color_at: function(self: PCefMenuModel; index: Integer; color_type: TCefMenuColorType; color: PCefColor): Integer; stdcall;
+ set_font_list: function(self: PCefMenuModel; command_id: Integer; const font_list: PCefString): Integer; stdcall;
+ set_font_list_at: function(self: PCefMenuModel; index: Integer; const font_list: PCefString): Integer; stdcall;
end;
// /include/capi/cef_context_menu_handler_capi.h (cef_context_menu_params_t)
TCefContextMenuParams = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
get_xcoord: function(self: PCefContextMenuParams): Integer; stdcall;
get_ycoord: function(self: PCefContextMenuParams): Integer; stdcall;
get_type_flags: function(self: PCefContextMenuParams): Integer; stdcall;
@@ -2171,7 +2199,7 @@ type
// /include/capi/cef_download_item_capi.h (cef_download_item_t)
TCefDownloadItem = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
is_valid: function(self: PCefDownloadItem): Integer; stdcall;
is_in_progress: function(self: PCefDownloadItem): Integer; stdcall;
is_complete: function(self: PCefDownloadItem): Integer; stdcall;
@@ -2193,13 +2221,13 @@ type
// /include/capi/cef_download_handler_capi.h (cef_before_download_callback_t)
TCefBeforeDownloadCallback = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
cont: procedure(self: PCefBeforeDownloadCallback; const download_path: PCefString; show_dialog: Integer); stdcall;
end;
// /include/capi/cef_download_handler_capi.h (cef_download_item_callback_t)
TCefDownloadItemCallback = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
cancel: procedure(self: PCefDownloadItemCallback); stdcall;
pause: procedure(self: PCefDownloadItemCallback); stdcall;
resume: procedure(self: PCefDownloadItemCallback); stdcall;
@@ -2207,7 +2235,7 @@ type
// /include/capi/cef_dom_capi.h (cef_domnode_t)
TCefDomNode = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
get_type: function(self: PCefDomNode): TCefDomNodeType; stdcall;
is_text: function(self: PCefDomNode): Integer; stdcall;
is_element: function(self: PCefDomNode): Integer; stdcall;
@@ -2238,7 +2266,7 @@ type
// /include/capi/cef_dom_capi.h (cef_domdocument_t)
TCefDomDocument = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
get_type: function(self: PCefDomDocument): TCefDomDocumentType; stdcall;
get_document: function(self: PCefDomDocument): PCefDomNode; stdcall;
get_body: function(self: PCefDomDocument): PCefDomNode; stdcall;
@@ -2259,13 +2287,13 @@ type
// /include/capi/cef_v8_capi.h (cef_v8handler_t)
TCefv8Handler = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
execute: function(self: PCefv8Handler; const name: PCefString; obj: PCefv8Value; argumentsCount: NativeUInt; const arguments: PPCefV8Value; var retval: PCefV8Value; var exception: TCefString): Integer; stdcall;
end;
// /include/capi/cef_v8_capi.h (cef_v8exception_t)
TCefV8Exception = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
get_message: function(self: PCefV8Exception): PCefStringUserFree; stdcall;
get_source_line: function(self: PCefV8Exception): PCefStringUserFree; stdcall;
get_script_resource_name: function(self: PCefV8Exception): PCefStringUserFree; stdcall;
@@ -2278,7 +2306,7 @@ type
// /include/capi/cef_v8_capi.h (cef_v8value_t)
TCefv8Value = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
is_valid: function(self: PCefv8Value): Integer; stdcall;
is_undefined: function(self: PCefv8Value): Integer; stdcall;
is_null: function(self: PCefv8Value): Integer; stdcall;
@@ -2314,8 +2342,8 @@ type
set_value_byindex: function(self: PCefv8Value; index: Integer; value: PCefv8Value): Integer; stdcall;
set_value_byaccessor: function(self: PCefv8Value; const key: PCefString; settings: Integer; attribute: Integer): Integer; stdcall;
get_keys: function(self: PCefv8Value; keys: TCefStringList): Integer; stdcall;
- set_user_data: function(self: PCefv8Value; user_data: PCefBase): Integer; stdcall;
- get_user_data: function(self: PCefv8Value): PCefBase; stdcall;
+ set_user_data: function(self: PCefv8Value; user_data: PCefBaseRefCounted): Integer; stdcall;
+ get_user_data: function(self: PCefv8Value): PCefBaseRefCounted; stdcall;
get_externally_allocated_memory: function(self: PCefv8Value): Integer; stdcall;
adjust_externally_allocated_memory: function(self: PCefv8Value; change_in_bytes: Integer): Integer; stdcall;
get_array_length: function(self: PCefv8Value): Integer; stdcall;
@@ -2327,7 +2355,7 @@ type
// /include/capi/cef_v8_capi.h (cef_v8context_t)
TCefV8Context = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
get_task_runner: function(self: PCefv8Context): PCefTask; stdcall;
is_valid: function(self: PCefv8Context): Integer; stdcall;
get_browser: function(self: PCefv8Context): PCefBrowser; stdcall;
@@ -2341,7 +2369,7 @@ type
// /include/capi/cef_v8_capi.h (cef_v8interceptor_t)
TCefV8Interceptor = record
- base : TCefBase;
+ base : TCefBaseRefCounted;
get_byname : function(self: PCefV8Interceptor; const name: PCefString; const obj: PCefV8Value; out retval: PCefv8Value; exception: PCefString): integer; stdcall;
get_byindex : function(self: PCefV8Interceptor; index: integer; const obj: PCefV8Value; out retval: PCefv8Value; exception: PCefString): integer; stdcall;
set_byname : function(self: PCefV8Interceptor; const name: PCefString; const obj: PCefV8Value; value: PCefv8Value; exception: PCefString): integer; stdcall;
@@ -2350,14 +2378,14 @@ type
// /include/capi/cef_v8_capi.h (cef_v8accessor_t)
TCefV8Accessor = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
get: function(self: PCefV8Accessor; const name: PCefString; obj: PCefv8Value; out retval: PCefv8Value; exception: PCefString): Integer; stdcall;
put: function(self: PCefV8Accessor; const name: PCefString; obj: PCefv8Value; value: PCefv8Value; exception: PCefString): Integer; stdcall;
end;
// /include/capi/cef_frame_capi.h (cef_frame_t)
TCefFrame = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
is_valid: function(self: PCefFrame): Integer; stdcall;
undo: procedure(self: PCefFrame); stdcall;
redo: procedure(self: PCefFrame); stdcall;
@@ -2386,7 +2414,7 @@ type
// /include/capi/cef_context_menu_handler_capi.h (cef_context_menu_handler_t)
TCefContextMenuHandler = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_before_context_menu: procedure(self: PCefContextMenuHandler; browser: PCefBrowser; frame: PCefFrame; params: PCefContextMenuParams; model: PCefMenuModel); stdcall;
run_context_menu: function(self: PCefContextMenuHandler; browser: PCefBrowser; frame: PCefFrame; params: PCefContextMenuParams; model: PCefMenuModel; callback: PCefRunContextMenuCallback): Integer; stdcall;
on_context_menu_command: function(self: PCefContextMenuHandler; browser: PCefBrowser; frame: PCefFrame; params: PCefContextMenuParams; command_id: Integer; event_flags: Integer): Integer; stdcall;
@@ -2395,7 +2423,7 @@ type
// /include/capi/cef_client_capi.h (cef_client_t)
TCefClient = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
get_context_menu_handler: function(self: PCefClient): PCefContextMenuHandler; stdcall;
get_dialog_handler: function(self: PCefClient): PCefDialogHandler; stdcall;
get_display_handler: function(self: PCefClient): PCefDisplayHandler; stdcall;
@@ -2415,7 +2443,7 @@ type
// /include/capi/cef_browser_capi.h (cef_browser_host_t)
TCefBrowserHost = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
get_browser: function(self: PCefBrowserHost): PCefBrowser; stdcall;
close_browser: procedure(self: PCefBrowserHost; force_close: Integer); stdcall;
try_close_browser: function(self: PCefBrowserHost): Integer; stdcall;
@@ -2471,7 +2499,7 @@ type
// /include/capi/cef_browser_capi.h (cef_browser_t)
TCefBrowser = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
get_host: function(self: PCefBrowser): PCefBrowserHost; stdcall;
can_go_back: function(self: PCefBrowser): Integer; stdcall;
go_back: procedure(self: PCefBrowser); stdcall;
@@ -2497,7 +2525,7 @@ type
// /include/capi/cef_print_handler_capi.h (cef_print_handler_t)
TCefPrintHandler = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_print_start: procedure(self: PCefPrintHandler; browser: PCefBrowser); stdcall;
on_print_settings: procedure(self: PCefPrintHandler; settings: PCefPrintSettings; get_defaults: Integer); stdcall;
on_print_dialog: function(self: PCefPrintHandler; has_selection: Integer; callback: PCefPrintDialogCallback): Integer; stdcall;
@@ -2508,7 +2536,7 @@ type
// /include/capi/cef_resource_bundle_handler_capi.h (cef_resource_bundle_handler_t)
TCefResourceBundleHandler = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
get_localized_string: function(self: PCefResourceBundleHandler; string_id: Integer; string_val: PCefString): Integer; stdcall;
get_data_resource: function(self: PCefResourceBundleHandler; resource_id: Integer; var data: Pointer; var data_size: NativeUInt): Integer; stdcall;
get_data_resource_for_scale: function(self: PCefResourceBundleHandler; resource_id: Integer; scale_factor: TCefScaleFactor; out data: Pointer; data_size: NativeUInt): Integer; stdcall;
@@ -2516,7 +2544,7 @@ type
// /include/capi/cef_browser_process_handler_capi.h (cef_browser_process_handler_t)
TCefBrowserProcessHandler = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_context_initialized: procedure(self: PCefBrowserProcessHandler); stdcall;
on_before_child_process_launch: procedure(self: PCefBrowserProcessHandler; command_line: PCefCommandLine); stdcall;
on_render_process_thread_created: procedure(self: PCefBrowserProcessHandler; extra_info: PCefListValue); stdcall;
@@ -2526,7 +2554,7 @@ type
// /include/capi/cef_app_capi.h (cef_app_t)
TCefApp = record
- base: TCefBase;
+ base: TCefBaseRefCounted;
on_before_command_line_processing: procedure(self: PCefApp; const process_type: PCefString; command_line: PCefCommandLine); stdcall;
on_register_custom_schemes: procedure(self: PCefApp; registrar: PCefSchemeRegistrar); stdcall;
get_resource_bundle_handler: function(self: PCefApp): PCefResourceBundleHandler; stdcall;
diff --git a/source/uCEFUrlRequest.pas b/source/uCEFUrlRequest.pas
index e3dab53c..05ac6915 100644
--- a/source/uCEFUrlRequest.pas
+++ b/source/uCEFUrlRequest.pas
@@ -47,10 +47,10 @@ unit uCEFUrlRequest;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefUrlRequestRef = class(TCefBaseRef, ICefUrlRequest)
+ TCefUrlRequestRef = class(TCefBaseRefCountedRef, ICefUrlRequest)
protected
function GetRequest: ICefRequest;
function GetRequestStatus: TCefUrlRequestStatus;
diff --git a/source/uCEFUrlrequestClient.pas b/source/uCEFUrlrequestClient.pas
index e17c170d..9509ace8 100644
--- a/source/uCEFUrlrequestClient.pas
+++ b/source/uCEFUrlrequestClient.pas
@@ -47,10 +47,10 @@ unit uCEFUrlrequestClient;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefUrlrequestClientOwn = class(TCefBaseOwn, ICefUrlrequestClient)
+ TCefUrlrequestClientOwn = class(TCefBaseRefCountedOwn, ICefUrlrequestClient)
protected
procedure OnRequestComplete(const request: ICefUrlRequest); virtual;
procedure OnUploadProgress(const request: ICefUrlRequest; current, total: Int64); virtual;
diff --git a/source/uCEFV8Exception.pas b/source/uCEFV8Exception.pas
index bf099a8a..b80ed39f 100644
--- a/source/uCEFV8Exception.pas
+++ b/source/uCEFV8Exception.pas
@@ -47,10 +47,10 @@ unit uCEFV8Exception;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefV8ExceptionRef = class(TCefBaseRef, ICefV8Exception)
+ TCefV8ExceptionRef = class(TCefBaseRefCountedRef, ICefV8Exception)
protected
function GetMessage: ustring;
function GetSourceLine: ustring;
diff --git a/source/uCEFValue.pas b/source/uCEFValue.pas
index 9c2c59ad..bdecb939 100644
--- a/source/uCEFValue.pas
+++ b/source/uCEFValue.pas
@@ -47,10 +47,10 @@ unit uCEFValue;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefValueRef = class(TCefBaseRef, ICefValue)
+ TCefValueRef = class(TCefBaseRefCountedRef, ICefValue)
protected
function IsValid: Boolean;
function IsOwned: Boolean;
diff --git a/source/uCEFWaitableEvent.pas b/source/uCEFWaitableEvent.pas
index afd51d7f..164e0883 100644
--- a/source/uCEFWaitableEvent.pas
+++ b/source/uCEFWaitableEvent.pas
@@ -47,10 +47,10 @@ unit uCEFWaitableEvent;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefWaitableEventRef = class(TCefBaseRef, ICefWaitableEvent)
+ TCefWaitableEventRef = class(TCefBaseRefCountedRef, ICefWaitableEvent)
protected
procedure Reset;
procedure Signal;
diff --git a/source/uCEFWebPluginInfo.pas b/source/uCEFWebPluginInfo.pas
index 88aaa4ff..2bf0c279 100644
--- a/source/uCEFWebPluginInfo.pas
+++ b/source/uCEFWebPluginInfo.pas
@@ -47,10 +47,10 @@ unit uCEFWebPluginInfo;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefWebPluginInfoRef = class(TCefBaseRef, ICefWebPluginInfo)
+ TCefWebPluginInfoRef = class(TCefBaseRefCountedRef, ICefWebPluginInfo)
protected
function GetName: ustring;
function GetPath: ustring;
diff --git a/source/uCEFWebPluginInfoVisitor.pas b/source/uCEFWebPluginInfoVisitor.pas
index 93e0390f..fa5a9378 100644
--- a/source/uCEFWebPluginInfoVisitor.pas
+++ b/source/uCEFWebPluginInfoVisitor.pas
@@ -47,10 +47,10 @@ unit uCEFWebPluginInfoVisitor;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefWebPluginInfoVisitorOwn = class(TCefBaseOwn, ICefWebPluginInfoVisitor)
+ TCefWebPluginInfoVisitorOwn = class(TCefBaseRefCountedOwn, ICefWebPluginInfoVisitor)
protected
function Visit(const info: ICefWebPluginInfo; count, total: Integer): Boolean; virtual;
diff --git a/source/uCEFWebPluginUnstableCallback.pas b/source/uCEFWebPluginUnstableCallback.pas
index e04f0cde..bb6a8d04 100644
--- a/source/uCEFWebPluginUnstableCallback.pas
+++ b/source/uCEFWebPluginUnstableCallback.pas
@@ -47,12 +47,12 @@ unit uCEFWebPluginUnstableCallback;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
TCefWebPluginIsUnstableProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const path: ustring; unstable: Boolean);
- TCefWebPluginUnstableCallbackOwn = class(TCefBaseOwn, ICefWebPluginUnstableCallback)
+ TCefWebPluginUnstableCallbackOwn = class(TCefBaseRefCountedOwn, ICefWebPluginUnstableCallback)
protected
procedure IsUnstable(const path: ustring; unstable: Boolean); virtual;
diff --git a/source/uCEFWriteHandler.pas b/source/uCEFWriteHandler.pas
index 674504d4..f5be8e23 100644
--- a/source/uCEFWriteHandler.pas
+++ b/source/uCEFWriteHandler.pas
@@ -47,10 +47,10 @@ unit uCEFWriteHandler;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefWriteHandlerOwn = class(TCefBaseOwn, ICefWriteHandler)
+ TCefWriteHandlerOwn = class(TCefBaseRefCountedOwn, ICefWriteHandler)
protected
function Write(const ptr: Pointer; size, n: NativeUInt): NativeUInt; virtual;
function Seek(offset: Int64; whence: Integer): Integer; virtual;
diff --git a/source/uCEFX509CertPrincipal.pas b/source/uCEFX509CertPrincipal.pas
index 85131f27..d76197be 100644
--- a/source/uCEFX509CertPrincipal.pas
+++ b/source/uCEFX509CertPrincipal.pas
@@ -52,10 +52,10 @@ uses
{$ELSE}
Classes,
{$ENDIF}
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefX509CertPrincipalRef = class(TCefBaseRef, ICefX509CertPrincipal)
+ TCefX509CertPrincipalRef = class(TCefBaseRefCountedRef, ICefX509CertPrincipal)
protected
function GetDisplayName: ustring;
function GetCommonName: ustring;
diff --git a/source/uCEFX509Certificate.pas b/source/uCEFX509Certificate.pas
index ba44a075..8123a3f4 100644
--- a/source/uCEFX509Certificate.pas
+++ b/source/uCEFX509Certificate.pas
@@ -52,10 +52,10 @@ uses
{$ELSE}
Classes,
{$ENDIF}
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCEFX509CertificateRef = class(TCefBaseRef, ICefX509Certificate)
+ TCEFX509CertificateRef = class(TCefBaseRefCountedRef, ICefX509Certificate)
protected
function GetSubject: ICefX509CertPrincipal;
function GetIssuer: ICefX509CertPrincipal;
diff --git a/source/uCEFXmlReader.pas b/source/uCEFXmlReader.pas
index 6370f95e..0139201a 100644
--- a/source/uCEFXmlReader.pas
+++ b/source/uCEFXmlReader.pas
@@ -47,10 +47,10 @@ unit uCEFXmlReader;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefXmlReaderRef = class(TCefBaseRef, ICefXmlReader)
+ TCefXmlReaderRef = class(TCefBaseRefCountedRef, ICefXmlReader)
protected
function MoveToNextNode: Boolean;
function Close: Boolean;
diff --git a/source/uCEFZipReader.pas b/source/uCEFZipReader.pas
index 480cf026..32ba812e 100644
--- a/source/uCEFZipReader.pas
+++ b/source/uCEFZipReader.pas
@@ -47,10 +47,10 @@ unit uCEFZipReader;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefZipReaderRef = class(TCefBaseRef, ICefZipReader)
+ TCefZipReaderRef = class(TCefBaseRefCountedRef, ICefZipReader)
protected
function MoveToFirstFile: Boolean;
function MoveToNextFile: Boolean;
diff --git a/source/uCEFv8Accessor.pas b/source/uCEFv8Accessor.pas
index ba659dec..ee28d75e 100644
--- a/source/uCEFv8Accessor.pas
+++ b/source/uCEFv8Accessor.pas
@@ -47,10 +47,10 @@ unit uCEFv8Accessor;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes, uCEFv8Types;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes, uCEFv8Types;
type
- TCefV8AccessorOwn = class(TCefBaseOwn, ICefV8Accessor)
+ TCefV8AccessorOwn = class(TCefBaseRefCountedOwn, ICefV8Accessor)
protected
function Get(const name: ustring; const obj: ICefv8Value; out value: ICefv8Value; const exception: ustring): Boolean; virtual;
function Put(const name: ustring; const obj, value: ICefv8Value; const exception: ustring): Boolean; virtual;
diff --git a/source/uCEFv8Context.pas b/source/uCEFv8Context.pas
index d0274343..26366f22 100644
--- a/source/uCEFv8Context.pas
+++ b/source/uCEFv8Context.pas
@@ -47,10 +47,10 @@ unit uCEFv8Context;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefv8ContextRef = class(TCefBaseRef, ICefv8Context)
+ TCefv8ContextRef = class(TCefBaseRefCountedRef, ICefv8Context)
protected
function GetTaskRunner: ICefTaskRunner;
function IsValid: Boolean;
diff --git a/source/uCEFv8Handler.pas b/source/uCEFv8Handler.pas
index 1e629a59..6ee09365 100644
--- a/source/uCEFv8Handler.pas
+++ b/source/uCEFv8Handler.pas
@@ -56,10 +56,10 @@ uses
{$ENDIF}
TypInfo, Variants, SysUtils, Classes, Math, SyncObjs, Windows,
{$ENDIF}
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefv8HandlerRef = class(TCefBaseRef, ICefv8Handler)
+ TCefv8HandlerRef = class(TCefBaseRefCountedRef, ICefv8Handler)
protected
function Execute(const name: ustring; const obj: ICefv8Value; const arguments: TCefv8ValueArray; var retval: ICefv8Value; var exception: ustring): Boolean;
@@ -67,7 +67,7 @@ type
class function UnWrap(data: Pointer): ICefv8Handler;
end;
- TCefv8HandlerOwn = class(TCefBaseOwn, ICefv8Handler)
+ TCefv8HandlerOwn = class(TCefBaseRefCountedOwn, ICefv8Handler)
protected
function Execute(const name: ustring; const obj: ICefv8Value; const arguments: TCefv8ValueArray; var retval: ICefv8Value; var exception: ustring): Boolean; virtual;
diff --git a/source/uCEFv8Interceptor.pas b/source/uCEFv8Interceptor.pas
index 067c5204..6e473327 100644
--- a/source/uCEFv8Interceptor.pas
+++ b/source/uCEFv8Interceptor.pas
@@ -47,10 +47,10 @@ unit uCEFv8Interceptor;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes, uCEFv8Types;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes, uCEFv8Types;
type
- TCefV8InterceptorOwn = class(TCefBaseOwn, ICefV8Interceptor)
+ TCefV8InterceptorOwn = class(TCefBaseRefCountedOwn, ICefV8Interceptor)
protected
function GetByName(const name: ustring; const obj: ICefv8Value; out retval: ICefv8Value; const exception: ustring): boolean; virtual;
function GetByIndex(index: integer; const obj: ICefv8Value; out retval: ICefv8Value; const exception: ustring): boolean; virtual;
diff --git a/source/uCEFv8StackFrame.pas b/source/uCEFv8StackFrame.pas
index b94c13d7..abd0bab9 100644
--- a/source/uCEFv8StackFrame.pas
+++ b/source/uCEFv8StackFrame.pas
@@ -47,10 +47,10 @@ unit uCEFv8StackFrame;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefV8StackFrameRef = class(TCefBaseRef, ICefV8StackFrame)
+ TCefV8StackFrameRef = class(TCefBaseRefCountedRef, ICefV8StackFrame)
protected
function IsValid: Boolean;
function GetScriptName: ustring;
diff --git a/source/uCEFv8StackTrace.pas b/source/uCEFv8StackTrace.pas
index e6eb92aa..0e88ff25 100644
--- a/source/uCEFv8StackTrace.pas
+++ b/source/uCEFv8StackTrace.pas
@@ -47,10 +47,10 @@ unit uCEFv8StackTrace;
interface
uses
- uCEFBase, uCEFInterfaces, uCEFTypes;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
- TCefV8StackTraceRef = class(TCefBaseRef, ICefV8StackTrace)
+ TCefV8StackTraceRef = class(TCefBaseRefCountedRef, ICefV8StackTrace)
protected
function IsValid: Boolean;
function GetFrameCount: Integer;
diff --git a/source/uCEFv8Value.pas b/source/uCEFv8Value.pas
index 6ac31bd9..fb747922 100644
--- a/source/uCEFv8Value.pas
+++ b/source/uCEFv8Value.pas
@@ -52,10 +52,10 @@ uses
{$ELSE}
Classes,
{$ENDIF}
- uCEFBase, uCEFInterfaces, uCEFTypes, uCEFv8Types;
+ uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes, uCEFv8Types;
type
- TCefv8ValueRef = class(TCefBaseRef, ICefv8Value)
+ TCefv8ValueRef = class(TCefBaseRefCountedRef, ICefv8Value)
protected
function IsValid: Boolean;
function IsUndefined: Boolean;