1
0
mirror of https://github.com/salvadordf/CEF4Delphi.git synced 2025-06-12 22:07:39 +02:00

Added support for Lazarus/FPC (windows 32bit)

This commit is contained in:
Salvador Díaz Fau
2018-05-12 14:50:54 +02:00
parent 294a245250
commit dd5f7f42c4
220 changed files with 6385 additions and 4281 deletions

View File

@ -6,8 +6,7 @@ del /s /q *.identcache
del /s /q *.stat
del /s /q *.local
del /s /q *.~*
rmdir Win32\Debug
rmdir Win32\Release
rmdir Win32
rmdir __history
rmdir __recovery
rmdir /S /Q Win32
rmdir /S /Q backup
rmdir /S /Q __history
rmdir /S /Q __recovery

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2017 Salvador Daz Fau. All rights reserved.
// Copyright � 2017 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -40,11 +40,6 @@
{$DEFINE DELPHI_VERSION_UNKNOW}
{$IFDEF FPC}
{$DEFINE CEF_MULTI_THREADED_MESSAGE_LOOP}
{$DEFINE SUPPORTS_INLINE}
{$ENDIF}
// Delphi 5
{$IFDEF VER130}
{$UNDEF DELPHI_VERSION_UNKNOW}
@ -354,28 +349,31 @@
{$DEFINE DELPHI25_UP}
{$ENDIF}
{$IFDEF DELPHI_VERSION_UNKNOW}
{$DEFINE DELPHI5_UP}
{$DEFINE DELPHI6_UP}
{$DEFINE DELPHI7_UP}
{$DEFINE DELPHI8_UP}
{$DEFINE DELPHI9_UP}
{$DEFINE DELPHI10_UP}
{$DEFINE DELPHI11_UP}
{$DEFINE DELPHI12_UP}
{$DEFINE DELPHI14_UP}
{$DEFINE DELPHI15_UP}
{$DEFINE DELPHI16_UP}
{$DEFINE DELPHI17_UP}
{$DEFINE DELPHI18_UP}
{$DEFINE DELPHI19_UP}
{$DEFINE DELPHI20_UP}
{$DEFINE DELPHI21_UP}
{$DEFINE DELPHI22_UP}
{$DEFINE DELPHI23_UP}
{$DEFINE DELPHI24_UP}
{$DEFINE DELPHI25_UP}
{$IFDEF FPC}
{$DEFINE SUPPORTS_INLINE}
{$ELSE}
{$IFDEF DELPHI_VERSION_UNKNOW}
{$DEFINE DELPHI5_UP}
{$DEFINE DELPHI6_UP}
{$DEFINE DELPHI7_UP}
{$DEFINE DELPHI8_UP}
{$DEFINE DELPHI9_UP}
{$DEFINE DELPHI10_UP}
{$DEFINE DELPHI11_UP}
{$DEFINE DELPHI12_UP}
{$DEFINE DELPHI14_UP}
{$DEFINE DELPHI15_UP}
{$DEFINE DELPHI16_UP}
{$DEFINE DELPHI17_UP}
{$DEFINE DELPHI18_UP}
{$DEFINE DELPHI19_UP}
{$DEFINE DELPHI20_UP}
{$DEFINE DELPHI21_UP}
{$DEFINE DELPHI22_UP}
{$DEFINE DELPHI23_UP}
{$DEFINE DELPHI24_UP}
{$DEFINE DELPHI25_UP}
{$ENDIF}
{$ENDIF}
{$IFDEF DELPHI9_UP}

9
source/tbufferpanel.lrs Normal file
View File

@ -0,0 +1,9 @@
LazarusResources.Add('tbufferpanel','PNG',[
#137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#24#0#0#0#24#8#2#0#0#0'o'#21#170#175
+#0#0#0#9'pHYs'#0#0#11#19#0#0#11#19#1#0#154#156#24#0#0#0#7'tIME'#7#226#5#11#10
+#31#1'?s'#163#134#0#0#0'_IDAT8'#203#237#149#177#13#192'@'#8#3#237'('#3'y'#255
+')'#204'D'#164'x'#233#147#250#161#137#132#11#228#234'd('#12'QSf.s'#3#176'}F'
+#145#180#253#133'&UA$#'#130'd'#21#180#206'b'#187'g5I='#160'I4'#137'&'#209#255
+#18#177#165#143#0'p'#183'7'#201'Jy'#191#160#136#168#254#147#165'oo'#30#204#7
+#197#194'RJ]'#169#215#177#0#0#0#0'IEND'#174'B`'#130
]);

View File

@ -0,0 +1,39 @@
LazarusResources.Add('tcefservercomponent','PNG',[
#137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#24#0#0#0#24#8#2#0#0#0'o'#21#170#175
+#0#0#0#9'pHYs'#0#0#13#215#0#0#13#215#1'B('#155'x'#0#0#0#7'tIME'#7#226#5#11#10
+' (%'#31#17#214#0#0#3':IDAT8'#203#205'T]O#e'#20'>'#239#204#180'3'#210#233'n'
+#165#166#4#136'Ea'#145'&B*'#169'F'#8#152#172'B'#137'!ao'#12#23#198'{'#255#131
+#255#193'+'#255#3#198#11'oH'#16'#LbH(K'#22#200'*'#141#13'Q'#145'B'#150'Rh('
+#237'0'#157#175#247#227#236#197#140'M'#183'&'#155#221#132#11#207#213#204'y'
+#207#251#188#231'<'#207'9'#135' "'#220#133'IpG'#166#188#252#24#17#183#183#183
+#207#206#206#186#252#154#166#205#206#206#246#245#245#189'jF'#133'BA D{'#238
+'G'#180#184#172#198'H'#164#7'dMH*Q'#180#205#205#205#215#200#232#226#226#2'%m'
+'|b'#210#181#221'{'#201#4'" ""'#238#237'?M'#165'R'#221'@WWW'#134'a'#180'Y'''
+#132',..&'#18#137#224#151#163#248#246#251#199'>'#229#148'q'#202'8c'#194'g'
+#252#29#253#230#139#249#236#11'@'#142#227#236#239#239'///w'#202#183#190#190
+'>??'#175#235':'#0#8#206#175#155'6c'#130'2'#238'3'#238#186#212'lyo'#245#219
+']r'#203#185'\nnn'#206'q'#28#218'a'#163#163#163#134'ad2'#153'R'#169#228'3'
+#248#233#201#229#205#173#227#219#205#183'{n'#222#140#222#246#197#220#228#27
+#212'm5'#203#229'r'#177'Xl6'#155#233'tZa'#140#149'J%'#203#178':'#225#227#241
+'8'#165'4,Mp'#203#246#0#224#203#135#247's'#217')'#203'j'#9'!'#4'"'#138#192
+#208#167#172'P(('#129#198'/'#225'{<'#243#224#235#207'j'#0#144#25#30#180#153
+#156#157#152#140'j*J2e'#28#17'|'#198#127#219#219#209#20#174#0'@oo/c'#172#243
+'r2'#153'<99'#1#128't:m'#221#154#143'>'#255#20#17#203#229#242#147'?'#254#154
+#24'y'#215'k'#217'{'#127'V'#127#252#245#136'2'#225'S'#246#213''''#137'P'#181
+#235#235'kY'#150';'#129'j'#181'ZH'#161',W'#171#213'J'#165#18'4'#161#231#210
+#247#198#210#0#176#241#244'Y'#189#233'X'#182'g'#218#158#224#247#0#164'0'#163
+'j'#181'J'#8'i'#215#216#223#223#127'zz'#10#0'GGG333'#129#243#240#240#176#222
+'4'#127#248#229'wD|\<{v'#213#8#194'9'#231'!P4'#26'EDJ)"'#18'B'#132#16#158#231
+#5#151'GFFVVV'#132#16#154#166#13#14#14#218#142#247#205'w?w'#145#200#133#8'K'
+#171#213'j'#245'z='#30#143#147#127'M'#146#194#209#153#158#158'f'#140'Y'#150
+#149#207#231#215#214#214#30'~8<>'#220#232#2#250'h'#242#253#127#142#255'V'#2
+'F5M'#3#128'H$'#18'|'#4#173#24'N'#163'$'#17'B'#20'E1M'#243#227#220#7#178','#7
+'S'#18#200#141#136#231#231#231'CCC'#161#252#158#231#17'B|'#223'o'#181'Z'#1
+#175#151#151#151';;;'#0'p||'#172'i'#154'a'#24#142#227#148'J%'#206'y{1'#4#243
+'D'#8'I'#165'R'#225#208#186#174#219'%'#28#165'4'#232#210'X,'#150#205'fwww'
+#147#201'd.'#151'k'#7#152#166#25'<'#169#170#234#214#214#150#210'h4t]'#31#24
+#24' '#132#180#131't]WUuaa!X'#0#149'Jejj'#234#224#224'`uu'#245#191#29#171#170
+'j>'#159''''#27#27#27#197'bQ'#8#209'u<66'#182#180#180#244#234#27#146#180#133
+#127#193'KH$'#18'y'#173'UK'#254'w'#203#255#206#128#158#3' !'#207#160'u0#'#31
+#0#0#0#0'IEND'#174'B`'#130
]);

View File

@ -0,0 +1,13 @@
LazarusResources.Add('tcefwindowparent','PNG',[
#137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#24#0#0#0#24#8#2#0#0#0'o'#21#170#175
+#0#0#0#9'pHYs'#0#0#13#215#0#0#13#215#1'B('#155'x'#0#0#0#7'tIME'#7#226#5#11#10
+#31'&'#154'y'#22#237#0#0#0#174'IDAT8'#203#173#148';'#14#196' '#12'D'#241#136
+#130#179' q'#255'+'#144#27#228#20'i'#144#136#20'18'#5#171#253#148#27#219#189
+#159#158#199#150'EU'#131'G'#197#214#218#190#239'FJ'#206'9'#212'ZI'#170#161'H'
+#214'ZA'#18#128'E'#7#0'I'#4#167'r'#3#197#16#194#156#211#7#180'2{'#140#16#145
+#143#145#15'HU-'#211#173#165#199'E!i'#9'HU_'#163'Y'#140#188'G'#179#27#173#222
+#184'('#150#140#0#204'9'#253#140#236#25#173#27't52f'#244#3#178#27#249#189#145
+#235#186#0#164#148','#151#221'{'#151#227'8'#182'm;'#207's'#140#241#239#15#16
+#17#17'I)'#149'R'#228#187#249'AR'#239#127#127#3#232'x'#222'a'#127#10#207#215
+#0#0#0#0'IEND'#174'B`'#130
]);

View File

@ -0,0 +1,40 @@
LazarusResources.Add('tcefworkscheduler','PNG',[
#137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#24#0#0#0#24#8#2#0#0#0'o'#21#170#175
+#0#0#0#9'pHYs'#0#0#13#215#0#0#13#215#1'B('#155'x'#0#0#0#7'tIME'#7#226#5#11#10
+#31'4i'#192'g'#165#0#0#3';IDAT8'#203#173'U'#205'O'#227'F'#20#159'7'#227#196
+#31#17#182#217'%'#144#8#162#174'r'#235#194#17'q'#232#30#224#4'R'#247#216'p'
+#239'j'#213#3#255#206#246#180#221#254#29#28'8q'#5#129#132#132'XP'#18#208#2'q'
+#182#145'HHld'#207#216#243#209#195'T'#238'bR'#218'C'#223'i'#230#141#231#233
+#247'1'#239#25#148'R'#232#255#8'#_]^^'#222#223#223'c'#140#17'BB'#8')'#165'RJ'
+'J)'#132#208#153'<'#169#23'B'#136'Z'#173#182#182#182'V,$'#132'h6'#155#249#22
+#0'4X'#0'(dt('#165#186#221#238#20'D'#132#144#219#219#219'0'#12#1#160#209'h '
+#132#162'('#138#162#8'!'#164#183#133#0#0'B'#200#148'B'#250#236'i'#228#160'rh'
+#255#162#145#148#146#16'bY'#22#0'DQ'#164#137'X'#150#165#233'`'#140#25'c'#140
+'1'#132#144#235#186#207#21#210#23#178','#3#128','#203#132#16#221'n'#151'R'
+#170'K'#167'iZ'#169'T'#154#205'&!'#196#247#253#167'^'#227'o'#17#229'\'#226'8'
+'>991'#12'CJ'#153#166','#203'2'#206'9c'#236#224#224' '#142'c'#0#192#24'k'#127
+#167'#'#210'U'#164#148#237'v'#219'q'#28#140#225#205#155#31'L'#179#140'1'#166
+#148'}'#249'r'#157#166#233#233#233#169#227'8'#24#227#2#193'G'#133'0'#198#0
+#208#233'tfff'#0#224#237#219#31#29#199#161#148'r'#206#165#148'/^'#204#158#157
+#153'WWW'#23#23#23#203#203#203#5#237'q'#193'5'#203#178#146'$'#9#195#240#245
+#235#239'K'#165#18#0#152#166'Y*'#149#244#251'x'#245#234';)'#229'x<'#246'}'
+#223'q'#156'o'#149'*'#138#157#166')!D'#211'L'#146#4'!'#244#225#195#175'i'#202
+'vvv'#134#195#209'x|?77www7;;['#208#27'O'#213#200'0'#12#195'0('#165#31'?'#254
+#22'E'#15#147'I'#244#254#253'/'#159'?'#159#217#182#3#0#156's'#173#247'tDRJ'
+#207#243'<'#207';::b'#140'q'#158'}'#250#244'{'#171#245'S'#181'Z'#21'BPJ5'#144
+#193'`'#144'eY'#175#215'{Nl-'#211#252#252#252'p8'#236#245#250#239#222#253#140
+'1'#30#12#6#132#16#219#182'_'#190#156#11#130'~'#154#166#11#11#11#249'C'#153
+'N-M'#211#201'd'#178#178#178#18'E'#209#245#245'u'#167's'#25#199't4'#26#233
+#142#251#250#245#143#195#195'C!'#196#198#198#134#239#251#150'e=2*'#231'y||'
+#236#186'n'#24#134#24'c'#211'4www'#203#229'2!dqqQJ'#25#4#1'cLJ'#217'j'#181
+#234#245#186'RJ)u~~'#190#186#186#250#143#212#16'B'#181'Zm{{{ooo4'#26#181#219
+'m'#157#175#215#235#155#155#155#158#231'iA'#159'kZ'#207#243'|'#223#7#128#155
+#155#27#0#216#218#218'2M'#147'R'#10#0#149'J'#133's>'#153'L'#194'0l4'#26#133
+#217'T'#28'lO{'#218#182#237'J'#165#162#205#14#195'0'#191'<'#189'i'#149'RA'#16
+'h'#180#250#11#215'u='#207'3M3'#207'('#165#202#229#178#231'y'#174#235#230#25
+#206'y'#16#4#127'#'#138#227'8'#138'"'#198#152'6'#2#0#170#213#234#211#169'fY'
+#150#30')'#185#154#140#177#135#135#135'$Il'#219#254'+'#219#239#247#247#247
+#247'{'#189'^A'#197#194#172'('#28'---'#173#175#175#215#235#245'G'#246'SJ'#147
+'$'#225#156#255#215#255#143'a8'#142#163#233'#'#132#254#4#30'`'#249'[*'#162#29
+#135#0#0#0#0'IEND'#174'B`'#130
]);

50
source/tchromium.lrs Normal file
View File

@ -0,0 +1,50 @@
LazarusResources.Add('tchromium','PNG',[
#137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#24#0#0#0#24#8#2#0#0#0'o'#21#170#175
+#0#0#0#9'pHYs'#0#0#11#19#0#0#11#19#1#0#154#156#24#0#0#0#7'tIME'#7#226#5#11#9
+#6#6'8Q!d'#0#0#4',IDAT8'#203#173#148#207'oTU'#20#199#207#185#247#190#247#230
+#205'L'#223#131#210'i'#25'J'#139#133'R!'#128'JX'#24#3#178'1,'#212'h'#130#11
+'w'#238't'#173'.t'#175'k'#255#5#227#206#173'k'#13'K$'#238#26#149#248#11#20#25
+'('#150#182'tf'#222#204'{'#247#221'_'#231#184#152'I'#5'A'#19#19#239#246'&'
+#159'|'#207#247'|'#207#23#245'H'#195#255#241#212#191#127'3'#243#246#160#2#132
+'N'#222'D'#196#255#6'b'#230#237'Aye'#253#247#155#155#197#221#221#154#25#16#0
+#145#23'g'#27#171#7#179#151#206#174#204#239'k='#14#197#191#141'6'#28#235'/'
+#174#253#248#245'O'#247#5#10#165#148'T'#10#1#24#0#24'|p'#206#185'@'#244#226
+#201#238#27#231'O'#228#237#230'?'#130'v'#139#241#199#159'_'#221#26#234'f'#154
+'J)'#4'N'#223'D&'#17#5'b'#31'BY'#233#133'<'#253#232#173#139#179'Y'#251#9#160
+#221#225#248#131'O'#175'l'#14't'#171#153'FRL@B '#0#2'03'#132#9#200#7#231#195
+#184#210#135'g['#159#188'si6o?'#226#145#247#254#203#239'7{;'#165'R'#170#172
+#173#20'('#133#144'b'#170#135#1#246'@'#129#136#136#165#138'n'#239#140'?'#251
+'j'#253#221#203'/('#165#166' f'#190'?(o'#149#209#145#165#229#222#157';'#160
+'$'#17'; '#0'xzy'#254#208'\'#6#0#158#192#19#2#0'"'#8#1#2'Q'#10'4'#206#22#165
+#222#159#181#17'Q'#1'@'#8#225#155'['#3#129'x'#242#196'j'#175'w'#215'9'#31'E*'
+'M'#162#183'_{'#222'R'#2'B'#8'D'#4'^:'#144'<('#3'#&'#17#166#145'L"'#164#224
+#183'+'#147#181#130#154#168'2'#198#220#29'x'#169#210'('#146#199#143#175#174
+#175#127#155'6'#27#239#191'y'#241#231'{'#30#165#137#148#0'@'#31#168#183'U'
+#189'|n'#190'r'#28#169#233#238#3#202#186#22#198#24#165#148#0#0'km'#223#8')'#5
+#0#28';'#186#212'j'#205#156'Z'#158'+'#180#24'i'#167'k_jWi'#167'k7*'#221'w'
+#191#13'gR'#185#183'))%Ie'#173#5#0#197#204#187#165'cff'#0#0#165#196#233'3'''
+#215#246#249'_'#255'(u'#237#189'"!'#16#0#136'!'#4#186#177'1'#186'pz'#174'v'
+#244'Pz'#193'8?'#5'y'#239#136#153#136#153#1#17#150#151#22#22'3'#218#188'1'#26
+#215'>'#146'('#4'"'#0'1'#248'@'#129'HI'#241'0'#133#152'='#17'3+'#0#200#26'"'
+#16#7'bb'#150#136'R`;'#207#142','#132#171'?'#236'()$'#2#0#18#179'''^'#233'6k'
+#23#246'@'#196#236#2'+'#197#204','#16'QI'#213#2'c'#172#243#129'&'#3'^'#223'('
+#207#159#154'7!'#12'*'#219#175'\'#191#178#253#202#218#16'.=7?'#212#254#161
+#161#130#211#149#20#18#17#5'"*'#165#230#26#193#24#231'='#237#177#214'7'#170
+#247'^_;{4'#183'!'#216#16#206#29#203'?'#188#188#166#226'i'#128#25' '#16'k'
+#227#216'j'#165#212'4Gq'#28#159#237'F7~!'#235'ir'#213'J'#138#173#194'n'#21
+#240#236#218#252#133'3'#221'@T'#232#176#163#233'P'#227'/'#138#241'T'#26'ZP.'
+#142#227'i'#178#147'$Y'#236'dO'#245#238#223'.'#1'Z'#233#196'B%'#133'@'#188
+#185'm'#0#192#216#144#167#242'x'#183'9]'#31#177#241#212#31#213#190#216':p'
+#168#157'$'#9#0#136'I'#28#178#153#236#194'J'#163'Az4'#214#181#13#198#6'c'#189
+'q'#193'yr'#158'B'#160'g'#150'Z'#204#224#194'DH'#216#25#234'bX'#28'nR6'#147
+'I)'#167' DL'#211'tq'#161#243#202'JhP5'#26'W'#181#241#181#9#181#245#218'x]'
+#251#165#217'$'#137#164'vT'#154'0'#212'asP'#245#135#197'a'#177'{'#176'3'#151
+#166#233#164'g'#166#230')'#165#242'<_Y'#14#175#194#198#181#222#224#246'8'#151
+#2#227'HE'#145#18#8#157','#30'T'#222'8_'#213#190#178'!'#170#182'VZ~y'#177#155
+#231#249#228#200#30#169#218'8'#142'g'#247#207'J!'#243#246'vos'#247#250#3#249
+#192'&'#131':Y'#238#180#238#245'u`'#22#182#140#252#184#171#170'n'''#239#204
+#29#204#243'|b'#243#147#171#214'{'#175#181'.FE1,'#198#229#216#24'c'#3#0'@,!I'
+#146'v'#171#157#229'Y6'#147#165'i'#186#167#229#201#160'I='#133#16#140'1'#214
+'Z'#239'=1'#1#192#164#194#227'8N'#146'DJ'#249'x'#249#255#9'w'#234#153' q'#137
+#228'z'#0#0#0#0'IEND'#174'B`'#130
]);

View File

@ -0,0 +1,38 @@
LazarusResources.Add('tchromiumwindow','PNG',[
#137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#24#0#0#0#24#8#2#0#0#0'o'#21#170#175
+#0#0#0#9'pHYs'#0#0#13#215#0#0#13#215#1'B('#155'x'#0#0#0#7'tIME'#7#226#5#11#10
+#31#18#187#205#226'X'#0#0#3#10'IDAT8'#203#173#149'Ml'#27'U'#16#199'g'#158'7'
+#222#197'Qk'#183'IIBl#'#156'JM'#12'V'#137#168#16'E *8Qn'#17' '#142#168#226
+#200#181#189'p'#228#128#212'['#213#3'\'#171#194#165'= TQ'#129'P'#131#26#138
+'d'#167#20'PE'#212'H'#9'_'#18'i'#226#218#241'G'#214'~'#187#222'}3'#195'a#w'
+#243'Q)'#144#206'i5o'#222'_3'#191#153'y'#139'"'#2#143#195','#215'u'#23#23#23
+#247#169'R,'#22#161'\.'#19#145#236#195#136#168'\.+"RJ'#237''''#29#165#20#17
+#237'I'#162'g'#246#192#232'Q'#7'k.\-'#223#191#241#253'M'#1#4#128#4#192#169
+#215'_}'#231#197#241#177#131#143#22'b'#230'm'#222'Oo5'#191#190'v'#205'NZ'#153
+'L'#26#5#1#128#133'ggg'#175'_'#15#222#255#224#204#187#147#187'4Z'#1#128#136
+'p'#204'.'#220'l^'#186#252#133#149't'#208'Jv'#180#239'j'#175#165#187#237#142
+'6'#146#224'D'#242#147#243#23#206']Y'#142#199'G'#3#180#153'Q'#127#154'j'#30
+#206#207#223'N$'#157#182#246#200#176#31#154#227#133#209#3#169#228'j'#203#183
+#5#6#149#12#165#7#239#222#254'a'#253#244'3'#135#156#205'+'#136#184')'#20'e'
+#20'y'#231#254#30'('#30'+'#212'j'#235'n'#167'{4w'#248#243#143#222'^m'#19#139
+'d3'#214#221#127#186':'#228#148'm'#245#180'k'#148'b'#14#251']'#3#0'+R!'#162
+#200'['#249'y!?>'#246#236'sS_~'#245#237#220#197'3'#31'_Y'#178#7#20'"z~xvfb'
+#249#129#7#28#218#142#179#244#231#253'L'#225'p'#31#144#136#168#168#180'X'#193
+'@l'#242#217#209#247'N'#191#242#203#239#27#141#166#214':'#208#186#215'r{'#183
+'~'#171#167#146#9'f'#16#129'-P'#153'w)'#141'X'#136#152#133#166'&'''#218#186
+'Wk{'#134#24#17'Z:'#232#6#6#128#1#0#1#12#131'!V'#24'+'#173#159'Q$'#20#132#20
+#24#177'mY'#217#8'_'#155#28'Zu'#189#7']'#31#1#12'K'#169#144#209#1'#'#2#3#244
+#136'@'#152#5#250#211'cE*}F'''#166#167#23#238'-'#140#28'9d)u'#227#158#251#217
+#135'/|sgMD'#222'x~'#196'0'#136#0' 4'#154#237'\6K'#180#209#135#205#204#219#25
+#189'<'#214#233't}'#207'7'#134#184#222#9#175#222'i'#13#13#165#237#212#224#210
+#154'oH'#16' 4'#208#236#132#25#232'lc'#180'} '#135#147#193'K'''#166'W'#170'u'
+#207#15'{'#129#17#162#229#170'n'#235#224#216'S'#131'!'#177#14#229#143#149'Zv'
+'|'#212#134'`'#247#129#140'o'#201'['#185#134#147'(}'#247#227#175#169''''#236
+'t'#250'`h'#248#228#241#225#182'G'#213'zk'#221#13#158#206#231'rV3'#190'T'#15
+#187#22'g'#20#217#169#145'F'#241#205#137#185'j'#166'2'#255#211#147#233#129
+#191'V'#209#13'h'#234'h'#225#228#145#214#1#171#190'5v'#171#208#206#189#29#182
+'{3'#249#234'L>'#23#243'U'#1'`G <d'#244'x'#222#236' '#8#148'R'#142#227#252'o'
+#9'D'#212'Zc'#163#209#168'T*'#158#231#25'c'#254#235#31#5#17#17#209'q'#156'R'
+#169#132#241#203';I'#237#229#193#142'>'#254#5'Ixq'#26'FW'#221'b'#0#0#0#0'IEN'
+'D'#174'B`'#130
]);

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uBufferPanel;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$I cef.inc}
interface
@ -46,8 +50,13 @@ uses
{$IFDEF MSWINDOWS}Winapi.Windows, Winapi.Messages, Vcl.ExtCtrls, Vcl.Controls, Vcl.Graphics,{$ENDIF}
System.Classes, System.SyncObjs, System.SysUtils;
{$ELSE}
Windows, Messages, Classes, Controls,
ExtCtrls, Graphics, SyncObjs, SysUtils;
Windows, Classes, Forms, Controls, Graphics,
{$IFDEF FPC}
LCLProc, LCLType, LCLIntf, LResources, LMessages, InterfaceBase,
{$ELSE}
Messages,
{$ENDIF}
ExtCtrls, SyncObjs, SysUtils;
{$ENDIF}
type
@ -98,9 +107,16 @@ type
property Alignment;
property Anchors;
property AutoSize;
{$IFNDEF FPC}
property BevelEdges;
property BevelKind;
property Ctl3D;
property Locked;
property ParentBackground;
property ParentCtl3D;
property OnCanResize;
{$ENDIF}
property BevelInner;
property BevelKind;
property BevelOuter;
property BevelWidth;
property BiDiMode;
@ -109,7 +125,6 @@ type
property Caption;
property Color;
property Constraints;
property Ctl3D;
property UseDockManager default True;
property DockSite;
property DoubleBuffered;
@ -119,11 +134,8 @@ type
property Enabled;
property FullRepaint;
property Font;
property Locked;
property ParentBiDiMode;
property ParentBackground;
property ParentColor;
property ParentCtl3D;
property ParentFont;
property ParentShowHint;
property PopupMenu;
@ -131,7 +143,6 @@ type
property TabOrder;
property TabStop;
property Visible;
property OnCanResize;
property OnClick;
property OnConstrainedResize;
property OnContextPopup;
@ -179,6 +190,10 @@ type
{$ENDIF}
end;
{$IFDEF FPC}
procedure Register;
{$ENDIF}
implementation
uses
@ -396,4 +411,12 @@ begin
end;
end;
{$IFDEF FPC}
procedure Register;
begin
{$I tbufferpanel.lrs}
RegisterComponents('Chromium', [TBufferPanel]);
end;
{$ENDIF}
end.

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFAccessibilityHandler;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -107,8 +111,8 @@ begin
with PCEFAccessibilityHandler(FData)^ do
begin
on_accessibility_tree_change := cef_accessibility_handler_on_accessibility_tree_change;
on_accessibility_location_change := cef_accessibility_handler_on_accessibility_location_change;
on_accessibility_tree_change := {$IFDEF FPC}@{$ENDIF}cef_accessibility_handler_on_accessibility_tree_change;
on_accessibility_location_change := {$IFDEF FPC}@{$ENDIF}cef_accessibility_handler_on_accessibility_location_change;
end;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFApp;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -198,11 +202,11 @@ begin
with PCefApp(FData)^ do
begin
on_before_command_line_processing := cef_app_on_before_command_line_processing;
on_register_custom_schemes := cef_app_on_register_custom_schemes;
get_resource_bundle_handler := cef_app_get_resource_bundle_handler;
get_browser_process_handler := cef_app_get_browser_process_handler;
get_render_process_handler := cef_app_get_render_process_handler;
on_before_command_line_processing := {$IFDEF FPC}@{$ENDIF}cef_app_on_before_command_line_processing;
on_register_custom_schemes := {$IFDEF FPC}@{$ENDIF}cef_app_on_register_custom_schemes;
get_resource_bundle_handler := {$IFDEF FPC}@{$ENDIF}cef_app_get_resource_bundle_handler;
get_browser_process_handler := {$IFDEF FPC}@{$ENDIF}cef_app_get_browser_process_handler;
get_render_process_handler := {$IFDEF FPC}@{$ENDIF}cef_app_get_render_process_handler;
end;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFApplication;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -126,7 +130,7 @@ type
FDisableWebSecurity : boolean;
FChromeVersionInfo : TFileVersionInfo;
FLibHandle : THandle;
FOnRegisterCustomSchemes : TOnRegisterCustomSchemes;
FOnRegisterCustomSchemes : TOnRegisterCustomSchemesEvent;
FAppSettings : TCefSettings;
FDeviceScaleFactor : single;
FCheckDevToolsResources : boolean;
@ -135,7 +139,7 @@ type
FMissingLibFiles : string;
FProcessType : TCefProcessType;
FShutdownWaitTime : cardinal;
FWidevinePath : string;
FWidevinePath : ustring;
FMustFreeLibrary : boolean;
FMustCreateResourceBundleHandler : boolean;
@ -346,11 +350,11 @@ type
property Status : TCefAplicationStatus read FStatus;
property MissingLibFiles : string read FMissingLibFiles;
property ShutdownWaitTime : cardinal read FShutdownWaitTime write FShutdownWaitTime;
property WidevinePath : string read FWidevinePath write FWidevinePath;
property WidevinePath : ustring read FWidevinePath write FWidevinePath;
property MustFreeLibrary : boolean read FMustFreeLibrary write FMustFreeLibrary;
property ChildProcessesCount : integer read GetChildProcessesCount;
property OnRegCustomSchemes : TOnRegisterCustomSchemes read FOnRegisterCustomSchemes write FOnRegisterCustomSchemes;
property OnRegCustomSchemes : TOnRegisterCustomSchemesEvent read FOnRegisterCustomSchemes write FOnRegisterCustomSchemes;
// ICefBrowserProcessHandler
property OnContextInitialized : TOnContextInitializedEvent read FOnContextInitialized write FOnContextInitialized;
@ -387,7 +391,12 @@ uses
{$IFDEF DELPHI16_UP}
System.Math, System.IOUtils, System.SysUtils, {$IFDEF MSWINDOWS}WinApi.TlHelp32,{$ENDIF}
{$ELSE}
Math, {$IFDEF DELPHI14_UP}IOUtils,{$ENDIF} SysUtils, {$IFDEF MSWINDOWS}TlHelp32,{$ENDIF}
Math, {$IFDEF DELPHI14_UP}IOUtils,{$ENDIF} SysUtils,
{$IFDEF FPC}
jwatlhelp32,
{$ELSE}
TlHelp32,
{$ENDIF}
{$ENDIF}
uCEFLibFunctions, uCEFMiscFunctions, uCEFCommandLine, uCEFConstants,
uCEFSchemeHandlerFactory, uCEFCookieManager, uCEFApp, uCEFRegisterCDMCallback;
@ -818,7 +827,7 @@ begin
if FLibLoaded and
not(FMultiThreadedMessageLoop) and
FExternalMessagePump then
cef_do_message_loop_work;
cef_do_message_loop_work();
end;
procedure TCefApplication.RunMessageLoop;
@ -826,7 +835,7 @@ begin
if FLibLoaded and
not(FMultiThreadedMessageLoop) and
not(FExternalMessagePump) then
cef_run_message_loop;
cef_run_message_loop();
end;
procedure TCefApplication.QuitMessageLoop;
@ -834,7 +843,7 @@ begin
if FLibLoaded and
not(FMultiThreadedMessageLoop) and
not(FExternalMessagePump) then
cef_quit_message_loop;
cef_quit_message_loop();
end;
procedure TCefApplication.SetOsmodalLoop(aValue : boolean);
@ -851,7 +860,7 @@ procedure TCefApplication.ShutDown;
begin
try
FStatus := asShuttingDown;
if FLibLoaded then cef_shutdown;
if FLibLoaded then cef_shutdown();
except
on e : exception do
if CustomExceptionHandler('TCefApplication.ShutDown', e) then raise;
@ -882,7 +891,7 @@ begin
try
if (aApp <> nil) then
begin
TempArgs.instance := HINSTANCE;
TempArgs.instance := HINSTANCE{$IFDEF FPC}(){$ENDIF};
Result := cef_execute_process(@TempArgs, aApp.Wrap, FWindowsSandboxInfo);
end;
except
@ -1130,7 +1139,7 @@ begin
InitializeCookies;
FGlobalContextInitialized := True;
if assigned(FOnContextInitialized) then FOnContextInitialized;
if assigned(FOnContextInitialized) then FOnContextInitialized();
end;
procedure TCefApplication.Internal_OnBeforeChildProcessLaunch(const commandLine: ICefCommandLine);
@ -1176,7 +1185,7 @@ end;
procedure TCefApplication.Internal_OnWebKitInitialized;
begin
if assigned(FOnWebKitInitialized) then FOnWebKitInitialized;
if assigned(FOnWebKitInitialized) then FOnWebKitInitialized();
end;
procedure TCefApplication.Internal_OnBrowserCreated(const browser: ICefBrowser);
@ -1471,7 +1480,7 @@ begin
FLibLoaded := True;
Result := True;
if FEnableHighDPISupport then cef_enable_highdpi_support;
if FEnableHighDPISupport then cef_enable_highdpi_support();
end
else
begin
@ -1489,14 +1498,14 @@ end;
function TCefApplication.Load_cef_app_capi_h : boolean;
begin
cef_initialize := GetProcAddress(FLibHandle, 'cef_initialize');
cef_shutdown := GetProcAddress(FLibHandle, 'cef_shutdown');
cef_execute_process := GetProcAddress(FLibHandle, 'cef_execute_process');
cef_do_message_loop_work := GetProcAddress(FLibHandle, 'cef_do_message_loop_work');
cef_run_message_loop := GetProcAddress(FLibHandle, 'cef_run_message_loop');
cef_quit_message_loop := GetProcAddress(FLibHandle, 'cef_quit_message_loop');
cef_set_osmodal_loop := GetProcAddress(FLibHandle, 'cef_set_osmodal_loop');
cef_enable_highdpi_support := GetProcAddress(FLibHandle, 'cef_enable_highdpi_support');
{$IFDEF FPC}Pointer({$ENDIF}cef_initialize{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_initialize');
{$IFDEF FPC}Pointer({$ENDIF}cef_shutdown{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_shutdown');
{$IFDEF FPC}Pointer({$ENDIF}cef_execute_process{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_execute_process');
{$IFDEF FPC}Pointer({$ENDIF}cef_do_message_loop_work{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_do_message_loop_work');
{$IFDEF FPC}Pointer({$ENDIF}cef_run_message_loop{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_run_message_loop');
{$IFDEF FPC}Pointer({$ENDIF}cef_quit_message_loop{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_quit_message_loop');
{$IFDEF FPC}Pointer({$ENDIF}cef_set_osmodal_loop{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_set_osmodal_loop');
{$IFDEF FPC}Pointer({$ENDIF}cef_enable_highdpi_support{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_enable_highdpi_support');
Result := assigned(cef_initialize) and
assigned(cef_shutdown) and
@ -1510,8 +1519,8 @@ end;
function TCefApplication.Load_cef_browser_capi_h : boolean;
begin
cef_browser_host_create_browser := GetProcAddress(FLibHandle, 'cef_browser_host_create_browser');
cef_browser_host_create_browser_sync := GetProcAddress(FLibHandle, 'cef_browser_host_create_browser_sync');
{$IFDEF FPC}Pointer({$ENDIF}cef_browser_host_create_browser{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_browser_host_create_browser');
{$IFDEF FPC}Pointer({$ENDIF}cef_browser_host_create_browser_sync{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_browser_host_create_browser_sync');
Result := assigned(cef_browser_host_create_browser) and
assigned(cef_browser_host_create_browser_sync);
@ -1519,8 +1528,8 @@ end;
function TCefApplication.Load_cef_command_line_capi_h : boolean;
begin
cef_command_line_create := GetProcAddress(FLibHandle, 'cef_command_line_create');
cef_command_line_get_global := GetProcAddress(FLibHandle, 'cef_command_line_get_global');
{$IFDEF FPC}Pointer({$ENDIF}cef_command_line_create{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_command_line_create');
{$IFDEF FPC}Pointer({$ENDIF}cef_command_line_get_global{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_command_line_get_global');
Result := assigned(cef_command_line_create) and
assigned(cef_command_line_get_global);
@ -1528,9 +1537,9 @@ end;
function TCefApplication.Load_cef_cookie_capi_h : boolean;
begin
cef_cookie_manager_get_global_manager := GetProcAddress(FLibHandle, 'cef_cookie_manager_get_global_manager');
cef_cookie_manager_get_blocking_manager := GetProcAddress(FLibHandle, 'cef_cookie_manager_get_blocking_manager');
cef_cookie_manager_create_manager := GetProcAddress(FLibHandle, 'cef_cookie_manager_create_manager');
{$IFDEF FPC}Pointer({$ENDIF}cef_cookie_manager_get_global_manager{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_cookie_manager_get_global_manager');
{$IFDEF FPC}Pointer({$ENDIF}cef_cookie_manager_get_blocking_manager{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_cookie_manager_get_blocking_manager');
{$IFDEF FPC}Pointer({$ENDIF}cef_cookie_manager_create_manager{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_cookie_manager_create_manager');
Result := assigned(cef_cookie_manager_get_global_manager) and
assigned(cef_cookie_manager_get_blocking_manager) and
@ -1539,8 +1548,8 @@ end;
function TCefApplication.Load_cef_crash_util_h : boolean;
begin
cef_crash_reporting_enabled := GetProcAddress(FLibHandle, 'cef_crash_reporting_enabled');
cef_set_crash_key_value := GetProcAddress(FLibHandle, 'cef_set_crash_key_value');
{$IFDEF FPC}Pointer({$ENDIF}cef_crash_reporting_enabled{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_crash_reporting_enabled');
{$IFDEF FPC}Pointer({$ENDIF}cef_set_crash_key_value{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_set_crash_key_value');
Result := assigned(cef_crash_reporting_enabled) and
assigned(cef_set_crash_key_value);
@ -1548,21 +1557,21 @@ end;
function TCefApplication.Load_cef_drag_data_capi_h : boolean;
begin
cef_drag_data_create := GetProcAddress(FLibHandle, 'cef_drag_data_create');
{$IFDEF FPC}Pointer({$ENDIF}cef_drag_data_create{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_drag_data_create');
Result := assigned(cef_drag_data_create);
end;
function TCefApplication.Load_cef_file_util_capi_h : boolean;
begin
cef_create_directory := GetProcAddress(FLibHandle, 'cef_create_directory');
cef_get_temp_directory := GetProcAddress(FLibHandle, 'cef_get_temp_directory');
cef_create_new_temp_directory := GetProcAddress(FLibHandle, 'cef_create_new_temp_directory');
cef_create_temp_directory_in_directory := GetProcAddress(FLibHandle, 'cef_create_temp_directory_in_directory');
cef_directory_exists := GetProcAddress(FLibHandle, 'cef_directory_exists');
cef_delete_file := GetProcAddress(FLibHandle, 'cef_delete_file');
cef_zip_directory := GetProcAddress(FLibHandle, 'cef_zip_directory');
cef_load_crlsets_file := GetProcAddress(FLibHandle, 'cef_load_crlsets_file');
{$IFDEF FPC}Pointer({$ENDIF}cef_create_directory{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_create_directory');
{$IFDEF FPC}Pointer({$ENDIF}cef_get_temp_directory{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_get_temp_directory');
{$IFDEF FPC}Pointer({$ENDIF}cef_create_new_temp_directory{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_create_new_temp_directory');
{$IFDEF FPC}Pointer({$ENDIF}cef_create_temp_directory_in_directory{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_create_temp_directory_in_directory');
{$IFDEF FPC}Pointer({$ENDIF}cef_directory_exists{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_directory_exists');
{$IFDEF FPC}Pointer({$ENDIF}cef_delete_file{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_delete_file');
{$IFDEF FPC}Pointer({$ENDIF}cef_zip_directory{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_zip_directory');
{$IFDEF FPC}Pointer({$ENDIF}cef_load_crlsets_file{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_load_crlsets_file');
Result := assigned(cef_create_directory) and
assigned(cef_get_temp_directory) and
@ -1576,23 +1585,23 @@ end;
function TCefApplication.Load_cef_image_capi_h : boolean;
begin
cef_image_create := GetProcAddress(FLibHandle, 'cef_image_create');
{$IFDEF FPC}Pointer({$ENDIF}cef_image_create{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_image_create');
Result := assigned(cef_image_create);
end;
function TCefApplication.Load_cef_menu_model_capi_h : boolean;
begin
cef_menu_model_create := GetProcAddress(FLibHandle, 'cef_menu_model_create');
{$IFDEF FPC}Pointer({$ENDIF}cef_menu_model_create{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_menu_model_create');
Result := assigned(cef_menu_model_create);
end;
function TCefApplication.Load_cef_origin_whitelist_capi_h : boolean;
begin
cef_add_cross_origin_whitelist_entry := GetProcAddress(FLibHandle, 'cef_add_cross_origin_whitelist_entry');
cef_remove_cross_origin_whitelist_entry := GetProcAddress(FLibHandle, 'cef_remove_cross_origin_whitelist_entry');
cef_clear_cross_origin_whitelist := GetProcAddress(FLibHandle, 'cef_clear_cross_origin_whitelist');
{$IFDEF FPC}Pointer({$ENDIF}cef_add_cross_origin_whitelist_entry{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_add_cross_origin_whitelist_entry');
{$IFDEF FPC}Pointer({$ENDIF}cef_remove_cross_origin_whitelist_entry{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_remove_cross_origin_whitelist_entry');
{$IFDEF FPC}Pointer({$ENDIF}cef_clear_cross_origin_whitelist{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_clear_cross_origin_whitelist');
Result := assigned(cef_add_cross_origin_whitelist_entry) and
assigned(cef_remove_cross_origin_whitelist_entry) and
@ -1601,18 +1610,18 @@ end;
function TCefApplication.Load_cef_parser_capi_h : boolean;
begin
cef_parse_url := GetProcAddress(FLibHandle, 'cef_parse_url');
cef_create_url := GetProcAddress(FLibHandle, 'cef_create_url');
cef_format_url_for_security_display := GetProcAddress(FLibHandle, 'cef_format_url_for_security_display');
cef_get_mime_type := GetProcAddress(FLibHandle, 'cef_get_mime_type');
cef_get_extensions_for_mime_type := GetProcAddress(FLibHandle, 'cef_get_extensions_for_mime_type');
cef_base64encode := GetProcAddress(FLibHandle, 'cef_base64encode');
cef_base64decode := GetProcAddress(FLibHandle, 'cef_base64decode');
cef_uriencode := GetProcAddress(FLibHandle, 'cef_uriencode');
cef_uridecode := GetProcAddress(FLibHandle, 'cef_uridecode');
cef_parse_json := GetProcAddress(FLibHandle, 'cef_parse_json');
cef_parse_jsonand_return_error := GetProcAddress(FLibHandle, 'cef_parse_jsonand_return_error');
cef_write_json := GetProcAddress(FLibHandle, 'cef_write_json');
{$IFDEF FPC}Pointer({$ENDIF}cef_parse_url{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_parse_url');
{$IFDEF FPC}Pointer({$ENDIF}cef_create_url{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_create_url');
{$IFDEF FPC}Pointer({$ENDIF}cef_format_url_for_security_display{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_format_url_for_security_display');
{$IFDEF FPC}Pointer({$ENDIF}cef_get_mime_type{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_get_mime_type');
{$IFDEF FPC}Pointer({$ENDIF}cef_get_extensions_for_mime_type{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_get_extensions_for_mime_type');
{$IFDEF FPC}Pointer({$ENDIF}cef_base64encode{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_base64encode');
{$IFDEF FPC}Pointer({$ENDIF}cef_base64decode{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_base64decode');
{$IFDEF FPC}Pointer({$ENDIF}cef_uriencode{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_uriencode');
{$IFDEF FPC}Pointer({$ENDIF}cef_uridecode{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_uridecode');
{$IFDEF FPC}Pointer({$ENDIF}cef_parse_json{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_parse_json');
{$IFDEF FPC}Pointer({$ENDIF}cef_parse_jsonand_return_error{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_parse_jsonand_return_error');
{$IFDEF FPC}Pointer({$ENDIF}cef_write_json{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_write_json');
Result := assigned(cef_parse_url) and
assigned(cef_create_url) and
@ -1630,37 +1639,37 @@ end;
function TCefApplication.Load_cef_path_util_capi_h : boolean;
begin
cef_get_path := GetProcAddress(FLibHandle, 'cef_get_path');
{$IFDEF FPC}Pointer({$ENDIF}cef_get_path{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_get_path');
Result := assigned(cef_get_path);
end;
function TCefApplication.Load_cef_print_settings_capi_h : boolean;
begin
cef_print_settings_create := GetProcAddress(FLibHandle, 'cef_print_settings_create');
{$IFDEF FPC}Pointer({$ENDIF}cef_print_settings_create{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_print_settings_create');
Result := assigned(cef_print_settings_create);
end;
function TCefApplication.Load_cef_process_message_capi_h : boolean;
begin
cef_process_message_create := GetProcAddress(FLibHandle, 'cef_process_message_create');
{$IFDEF FPC}Pointer({$ENDIF}cef_process_message_create{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_process_message_create');
Result := assigned(cef_process_message_create);
end;
function TCefApplication.Load_cef_process_util_capi_h : boolean;
begin
cef_launch_process := GetProcAddress(FLibHandle, 'cef_launch_process');
{$IFDEF FPC}Pointer({$ENDIF}cef_launch_process{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_launch_process');
Result := assigned(cef_launch_process);
end;
function TCefApplication.Load_cef_request_capi_h : boolean;
begin
cef_request_create := GetProcAddress(FLibHandle, 'cef_request_create');
cef_post_data_create := GetProcAddress(FLibHandle, 'cef_post_data_create');
cef_post_data_element_create := GetProcAddress(FLibHandle, 'cef_post_data_element_create');
{$IFDEF FPC}Pointer({$ENDIF}cef_request_create{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_request_create');
{$IFDEF FPC}Pointer({$ENDIF}cef_post_data_create{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_post_data_create');
{$IFDEF FPC}Pointer({$ENDIF}cef_post_data_element_create{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_post_data_element_create');
Result := assigned(cef_request_create) and
assigned(cef_post_data_create) and
@ -1669,9 +1678,9 @@ end;
function TCefApplication.Load_cef_request_context_capi_h : boolean;
begin
cef_request_context_get_global_context := GetProcAddress(FLibHandle, 'cef_request_context_get_global_context');
cef_request_context_create_context := GetProcAddress(FLibHandle, 'cef_request_context_create_context');
cef_create_context_shared := GetProcAddress(FLibHandle, 'cef_create_context_shared');
{$IFDEF FPC}Pointer({$ENDIF}cef_request_context_get_global_context{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_request_context_get_global_context');
{$IFDEF FPC}Pointer({$ENDIF}cef_request_context_create_context{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_request_context_create_context');
{$IFDEF FPC}Pointer({$ENDIF}cef_create_context_shared{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_create_context_shared');
Result := assigned(cef_request_context_get_global_context) and
assigned(cef_request_context_create_context) and
@ -1680,29 +1689,29 @@ end;
function TCefApplication.Load_cef_resource_bundle_capi_h : boolean;
begin
cef_resource_bundle_get_global := GetProcAddress(FLibHandle, 'cef_resource_bundle_get_global');
{$IFDEF FPC}Pointer({$ENDIF}cef_resource_bundle_get_global{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_resource_bundle_get_global');
Result := assigned(cef_resource_bundle_get_global);
end;
function TCefApplication.Load_cef_response_capi_h : boolean;
begin
cef_response_create := GetProcAddress(FLibHandle, 'cef_response_create');
{$IFDEF FPC}Pointer({$ENDIF}cef_response_create{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_response_create');
Result := assigned(cef_response_create);
end;
function TCefApplication.Load_cef_server_capi_h : boolean;
begin
cef_server_create := GetProcAddress(FLibHandle, 'cef_server_create');
{$IFDEF FPC}Pointer({$ENDIF}cef_server_create{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_server_create');
Result := assigned(cef_server_create);
end;
function TCefApplication.Load_cef_scheme_capi_h : boolean;
begin
cef_register_scheme_handler_factory := GetProcAddress(FLibHandle, 'cef_register_scheme_handler_factory');
cef_clear_scheme_handler_factories := GetProcAddress(FLibHandle, 'cef_clear_scheme_handler_factories');
{$IFDEF FPC}Pointer({$ENDIF}cef_register_scheme_handler_factory{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_register_scheme_handler_factory');
{$IFDEF FPC}Pointer({$ENDIF}cef_clear_scheme_handler_factories{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_clear_scheme_handler_factories');
Result := assigned(cef_register_scheme_handler_factory) and
assigned(cef_clear_scheme_handler_factories);
@ -1710,8 +1719,8 @@ end;
function TCefApplication.Load_cef_ssl_info_capi_h : boolean;
begin
cef_is_cert_status_error := GetProcAddress(FLibHandle, 'cef_is_cert_status_error');
cef_is_cert_status_minor_error := GetProcAddress(FLibHandle, 'cef_is_cert_status_minor_error');
{$IFDEF FPC}Pointer({$ENDIF}cef_is_cert_status_error{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_is_cert_status_error');
{$IFDEF FPC}Pointer({$ENDIF}cef_is_cert_status_minor_error{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_is_cert_status_minor_error');
Result := assigned(cef_is_cert_status_error) and
assigned(cef_is_cert_status_minor_error);
@ -1719,11 +1728,11 @@ end;
function TCefApplication.Load_cef_stream_capi_h : boolean;
begin
cef_stream_reader_create_for_file := GetProcAddress(FLibHandle, 'cef_stream_reader_create_for_file');
cef_stream_reader_create_for_data := GetProcAddress(FLibHandle, 'cef_stream_reader_create_for_data');
cef_stream_reader_create_for_handler := GetProcAddress(FLibHandle, 'cef_stream_reader_create_for_handler');
cef_stream_writer_create_for_file := GetProcAddress(FLibHandle, 'cef_stream_writer_create_for_file');
cef_stream_writer_create_for_handler := GetProcAddress(FLibHandle, 'cef_stream_writer_create_for_handler');
{$IFDEF FPC}Pointer({$ENDIF}cef_stream_reader_create_for_file{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_stream_reader_create_for_file');
{$IFDEF FPC}Pointer({$ENDIF}cef_stream_reader_create_for_data{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_stream_reader_create_for_data');
{$IFDEF FPC}Pointer({$ENDIF}cef_stream_reader_create_for_handler{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_stream_reader_create_for_handler');
{$IFDEF FPC}Pointer({$ENDIF}cef_stream_writer_create_for_file{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_stream_writer_create_for_file');
{$IFDEF FPC}Pointer({$ENDIF}cef_stream_writer_create_for_handler{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_stream_writer_create_for_handler');
Result := assigned(cef_stream_reader_create_for_file) and
assigned(cef_stream_reader_create_for_data) and
@ -1734,11 +1743,11 @@ end;
function TCefApplication.Load_cef_task_capi_h : boolean;
begin
cef_task_runner_get_for_current_thread := GetProcAddress(FLibHandle, 'cef_task_runner_get_for_current_thread');
cef_task_runner_get_for_thread := GetProcAddress(FLibHandle, 'cef_task_runner_get_for_thread');
cef_currently_on := GetProcAddress(FLibHandle, 'cef_currently_on');
cef_post_task := GetProcAddress(FLibHandle, 'cef_post_task');
cef_post_delayed_task := GetProcAddress(FLibHandle, 'cef_post_delayed_task');
{$IFDEF FPC}Pointer({$ENDIF}cef_task_runner_get_for_current_thread{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_task_runner_get_for_current_thread');
{$IFDEF FPC}Pointer({$ENDIF}cef_task_runner_get_for_thread{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_task_runner_get_for_thread');
{$IFDEF FPC}Pointer({$ENDIF}cef_currently_on{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_currently_on');
{$IFDEF FPC}Pointer({$ENDIF}cef_post_task{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_post_task');
{$IFDEF FPC}Pointer({$ENDIF}cef_post_delayed_task{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_post_delayed_task');
Result := assigned(cef_task_runner_get_for_current_thread) and
assigned(cef_task_runner_get_for_thread) and
@ -1749,16 +1758,16 @@ end;
function TCefApplication.Load_cef_thread_capi_h : boolean;
begin
cef_thread_create := GetProcAddress(FLibHandle, 'cef_thread_create');
{$IFDEF FPC}Pointer({$ENDIF}cef_thread_create{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_thread_create');
Result := assigned(cef_thread_create);
end;
function TCefApplication.Load_cef_trace_capi_h : boolean;
begin
cef_begin_tracing := GetProcAddress(FLibHandle, 'cef_begin_tracing');
cef_end_tracing := GetProcAddress(FLibHandle, 'cef_end_tracing');
cef_now_from_system_trace_time := GetProcAddress(FLibHandle, 'cef_now_from_system_trace_time');
{$IFDEF FPC}Pointer({$ENDIF}cef_begin_tracing{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_begin_tracing');
{$IFDEF FPC}Pointer({$ENDIF}cef_end_tracing{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_end_tracing');
{$IFDEF FPC}Pointer({$ENDIF}cef_now_from_system_trace_time{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_now_from_system_trace_time');
Result := assigned(cef_begin_tracing) and
assigned(cef_end_tracing) and
@ -1767,30 +1776,30 @@ end;
function TCefApplication.Load_cef_urlrequest_capi_h : boolean;
begin
cef_urlrequest_create := GetProcAddress(FLibHandle, 'cef_urlrequest_create');
{$IFDEF FPC}Pointer({$ENDIF}cef_urlrequest_create{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_urlrequest_create');
Result := assigned(cef_urlrequest_create);
end;
function TCefApplication.Load_cef_v8_capi_h : boolean;
begin
cef_v8context_get_current_context := GetProcAddress(FLibHandle, 'cef_v8context_get_current_context');
cef_v8context_get_entered_context := GetProcAddress(FLibHandle, 'cef_v8context_get_entered_context');
cef_v8context_in_context := GetProcAddress(FLibHandle, 'cef_v8context_in_context');
cef_v8value_create_undefined := GetProcAddress(FLibHandle, 'cef_v8value_create_undefined');
cef_v8value_create_null := GetProcAddress(FLibHandle, 'cef_v8value_create_null');
cef_v8value_create_bool := GetProcAddress(FLibHandle, 'cef_v8value_create_bool');
cef_v8value_create_int := GetProcAddress(FLibHandle, 'cef_v8value_create_int');
cef_v8value_create_uint := GetProcAddress(FLibHandle, 'cef_v8value_create_uint');
cef_v8value_create_double := GetProcAddress(FLibHandle, 'cef_v8value_create_double');
cef_v8value_create_date := GetProcAddress(FLibHandle, 'cef_v8value_create_date');
cef_v8value_create_string := GetProcAddress(FLibHandle, 'cef_v8value_create_string');
cef_v8value_create_object := GetProcAddress(FLibHandle, 'cef_v8value_create_object');
cef_v8value_create_array := GetProcAddress(FLibHandle, 'cef_v8value_create_array');
cef_v8value_create_array_buffer := GetProcAddress(FLibHandle, 'cef_v8value_create_array_buffer');
cef_v8value_create_function := GetProcAddress(FLibHandle, 'cef_v8value_create_function');
cef_v8stack_trace_get_current := GetProcAddress(FLibHandle, 'cef_v8stack_trace_get_current');
cef_register_extension := GetProcAddress(FLibHandle, 'cef_register_extension');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8context_get_current_context{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8context_get_current_context');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8context_get_entered_context{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8context_get_entered_context');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8context_in_context{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8context_in_context');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8value_create_undefined{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8value_create_undefined');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8value_create_null{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8value_create_null');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8value_create_bool{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8value_create_bool');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8value_create_int{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8value_create_int');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8value_create_uint{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8value_create_uint');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8value_create_double{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8value_create_double');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8value_create_date{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8value_create_date');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8value_create_string{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8value_create_string');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8value_create_object{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8value_create_object');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8value_create_array{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8value_create_array');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8value_create_array_buffer{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8value_create_array_buffer');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8value_create_function{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8value_create_function');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8stack_trace_get_current{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8stack_trace_get_current');
{$IFDEF FPC}Pointer({$ENDIF}cef_register_extension{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_register_extension');
Result := assigned(cef_v8context_get_current_context) and
assigned(cef_v8context_get_entered_context) and
@ -1813,10 +1822,10 @@ end;
function TCefApplication.Load_cef_values_capi_h : boolean;
begin
cef_value_create := GetProcAddress(FLibHandle, 'cef_value_create');
cef_binary_value_create := GetProcAddress(FLibHandle, 'cef_binary_value_create');
cef_dictionary_value_create := GetProcAddress(FLibHandle, 'cef_dictionary_value_create');
cef_list_value_create := GetProcAddress(FLibHandle, 'cef_list_value_create');
{$IFDEF FPC}Pointer({$ENDIF}cef_value_create{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_value_create');
{$IFDEF FPC}Pointer({$ENDIF}cef_binary_value_create{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_binary_value_create');
{$IFDEF FPC}Pointer({$ENDIF}cef_dictionary_value_create{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_dictionary_value_create');
{$IFDEF FPC}Pointer({$ENDIF}cef_list_value_create{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_list_value_create');
Result := assigned(cef_value_create) and
assigned(cef_binary_value_create) and
@ -1826,19 +1835,19 @@ end;
function TCefApplication.Load_cef_waitable_event_capi_h : boolean;
begin
cef_waitable_event_create := GetProcAddress(FLibHandle, 'cef_waitable_event_create');
{$IFDEF FPC}Pointer({$ENDIF}cef_waitable_event_create{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_waitable_event_create');
Result := assigned(cef_waitable_event_create);
end;
function TCefApplication.Load_cef_web_plugin_capi_h : boolean;
begin
cef_visit_web_plugin_info := GetProcAddress(FLibHandle, 'cef_visit_web_plugin_info');
cef_refresh_web_plugins := GetProcAddress(FLibHandle, 'cef_refresh_web_plugins');
cef_unregister_internal_web_plugin := GetProcAddress(FLibHandle, 'cef_unregister_internal_web_plugin');
cef_register_web_plugin_crash := GetProcAddress(FLibHandle, 'cef_register_web_plugin_crash');
cef_is_web_plugin_unstable := GetProcAddress(FLibHandle, 'cef_is_web_plugin_unstable');
cef_register_widevine_cdm := GetProcAddress(FLibHandle, 'cef_register_widevine_cdm');
{$IFDEF FPC}Pointer({$ENDIF}cef_visit_web_plugin_info{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_visit_web_plugin_info');
{$IFDEF FPC}Pointer({$ENDIF}cef_refresh_web_plugins{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_refresh_web_plugins');
{$IFDEF FPC}Pointer({$ENDIF}cef_unregister_internal_web_plugin{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_unregister_internal_web_plugin');
{$IFDEF FPC}Pointer({$ENDIF}cef_register_web_plugin_crash{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_register_web_plugin_crash');
{$IFDEF FPC}Pointer({$ENDIF}cef_is_web_plugin_unstable{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_is_web_plugin_unstable');
{$IFDEF FPC}Pointer({$ENDIF}cef_register_widevine_cdm{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_register_widevine_cdm');
Result := assigned(cef_visit_web_plugin_info) and
assigned(cef_refresh_web_plugins) and
@ -1850,23 +1859,23 @@ end;
function TCefApplication.Load_cef_xml_reader_capi_h : boolean;
begin
cef_xml_reader_create := GetProcAddress(FLibHandle, 'cef_xml_reader_create');
{$IFDEF FPC}Pointer({$ENDIF}cef_xml_reader_create{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_xml_reader_create');
Result := assigned(cef_xml_reader_create);
end;
function TCefApplication.Load_cef_zip_reader_capi_h : boolean;
begin
cef_zip_reader_create := GetProcAddress(FLibHandle, 'cef_zip_reader_create');
{$IFDEF FPC}Pointer({$ENDIF}cef_zip_reader_create{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_zip_reader_create');
Result := assigned(cef_zip_reader_create);
end;
function TCefApplication.Load_cef_logging_internal_h : boolean;
begin
cef_get_min_log_level := GetProcAddress(FLibHandle, 'cef_get_min_log_level');
cef_get_vlog_level := GetProcAddress(FLibHandle, 'cef_get_vlog_level');
cef_log := GetProcAddress(FLibHandle, 'cef_log');
{$IFDEF FPC}Pointer({$ENDIF}cef_get_min_log_level{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_get_min_log_level');
{$IFDEF FPC}Pointer({$ENDIF}cef_get_vlog_level{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_get_vlog_level');
{$IFDEF FPC}Pointer({$ENDIF}cef_log{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_log');
Result := assigned(cef_get_min_log_level) and
assigned(cef_get_vlog_level) and
@ -1875,13 +1884,13 @@ end;
function TCefApplication.Load_cef_string_list_h : boolean;
begin
cef_string_list_alloc := GetProcAddress(FLibHandle, 'cef_string_list_alloc');
cef_string_list_size := GetProcAddress(FLibHandle, 'cef_string_list_size');
cef_string_list_value := GetProcAddress(FLibHandle, 'cef_string_list_value');
cef_string_list_append := GetProcAddress(FLibHandle, 'cef_string_list_append');
cef_string_list_clear := GetProcAddress(FLibHandle, 'cef_string_list_clear');
cef_string_list_free := GetProcAddress(FLibHandle, 'cef_string_list_free');
cef_string_list_copy := GetProcAddress(FLibHandle, 'cef_string_list_copy');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_list_alloc{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_list_alloc');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_list_size{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_list_size');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_list_value{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_list_value');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_list_append{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_list_append');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_list_clear{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_list_clear');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_list_free{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_list_free');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_list_copy{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_list_copy');
Result := assigned(cef_string_list_alloc) and
assigned(cef_string_list_size) and
@ -1894,14 +1903,14 @@ end;
function TCefApplication.Load_cef_string_map_h : boolean;
begin
cef_string_map_alloc := GetProcAddress(FLibHandle, 'cef_string_map_alloc');
cef_string_map_size := GetProcAddress(FLibHandle, 'cef_string_map_size');
cef_string_map_find := GetProcAddress(FLibHandle, 'cef_string_map_find');
cef_string_map_key := GetProcAddress(FLibHandle, 'cef_string_map_key');
cef_string_map_value := GetProcAddress(FLibHandle, 'cef_string_map_value');
cef_string_map_append := GetProcAddress(FLibHandle, 'cef_string_map_append');
cef_string_map_clear := GetProcAddress(FLibHandle, 'cef_string_map_clear');
cef_string_map_free := GetProcAddress(FLibHandle, 'cef_string_map_free');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_map_alloc{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_map_alloc');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_map_size{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_map_size');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_map_find{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_map_find');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_map_key{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_map_key');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_map_value{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_map_value');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_map_append{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_map_append');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_map_clear{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_map_clear');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_map_free{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_map_free');
Result := assigned(cef_string_map_alloc) and
assigned(cef_string_map_size) and
@ -1915,15 +1924,15 @@ end;
function TCefApplication.Load_cef_string_multimap_h : boolean;
begin
cef_string_multimap_alloc := GetProcAddress(FLibHandle, 'cef_string_multimap_alloc');
cef_string_multimap_size := GetProcAddress(FLibHandle, 'cef_string_multimap_size');
cef_string_multimap_find_count := GetProcAddress(FLibHandle, 'cef_string_multimap_find_count');
cef_string_multimap_enumerate := GetProcAddress(FLibHandle, 'cef_string_multimap_enumerate');
cef_string_multimap_key := GetProcAddress(FLibHandle, 'cef_string_multimap_key');
cef_string_multimap_value := GetProcAddress(FLibHandle, 'cef_string_multimap_value');
cef_string_multimap_append := GetProcAddress(FLibHandle, 'cef_string_multimap_append');
cef_string_multimap_clear := GetProcAddress(FLibHandle, 'cef_string_multimap_clear');
cef_string_multimap_free := GetProcAddress(FLibHandle, 'cef_string_multimap_free');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_multimap_alloc{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_multimap_alloc');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_multimap_size{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_multimap_size');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_multimap_find_count{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_multimap_find_count');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_multimap_enumerate{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_multimap_enumerate');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_multimap_key{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_multimap_key');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_multimap_value{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_multimap_value');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_multimap_append{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_multimap_append');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_multimap_clear{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_multimap_clear');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_multimap_free{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_multimap_free');
Result := assigned(cef_string_multimap_alloc) and
assigned(cef_string_multimap_size) and
@ -1938,31 +1947,31 @@ end;
function TCefApplication.Load_cef_string_types_h : boolean;
begin
cef_string_wide_set := GetProcAddress(FLibHandle, 'cef_string_wide_set');
cef_string_utf8_set := GetProcAddress(FLibHandle, 'cef_string_utf8_set');
cef_string_utf16_set := GetProcAddress(FLibHandle, 'cef_string_utf16_set');
cef_string_wide_clear := GetProcAddress(FLibHandle, 'cef_string_wide_clear');
cef_string_utf8_clear := GetProcAddress(FLibHandle, 'cef_string_utf8_clear');
cef_string_utf16_clear := GetProcAddress(FLibHandle, 'cef_string_utf16_clear');
cef_string_wide_cmp := GetProcAddress(FLibHandle, 'cef_string_wide_cmp');
cef_string_utf8_cmp := GetProcAddress(FLibHandle, 'cef_string_utf8_cmp');
cef_string_utf16_cmp := GetProcAddress(FLibHandle, 'cef_string_utf16_cmp');
cef_string_wide_to_utf8 := GetProcAddress(FLibHandle, 'cef_string_wide_to_utf8');
cef_string_utf8_to_wide := GetProcAddress(FLibHandle, 'cef_string_utf8_to_wide');
cef_string_wide_to_utf16 := GetProcAddress(FLibHandle, 'cef_string_wide_to_utf16');
cef_string_utf16_to_wide := GetProcAddress(FLibHandle, 'cef_string_utf16_to_wide');
cef_string_utf8_to_utf16 := GetProcAddress(FLibHandle, 'cef_string_utf8_to_utf16');
cef_string_utf16_to_utf8 := GetProcAddress(FLibHandle, 'cef_string_utf16_to_utf8');
cef_string_ascii_to_wide := GetProcAddress(FLibHandle, 'cef_string_ascii_to_wide');
cef_string_ascii_to_utf16 := GetProcAddress(FLibHandle, 'cef_string_ascii_to_utf16');
cef_string_userfree_wide_alloc := GetProcAddress(FLibHandle, 'cef_string_userfree_wide_alloc');
cef_string_userfree_utf8_alloc := GetProcAddress(FLibHandle, 'cef_string_userfree_utf8_alloc');
cef_string_userfree_utf16_alloc := GetProcAddress(FLibHandle, 'cef_string_userfree_utf16_alloc');
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');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_wide_set{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_wide_set');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_utf8_set{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_utf8_set');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_utf16_set{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_utf16_set');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_wide_clear{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_wide_clear');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_utf8_clear{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_utf8_clear');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_utf16_clear{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_utf16_clear');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_wide_cmp{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_wide_cmp');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_utf8_cmp{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_utf8_cmp');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_utf16_cmp{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_utf16_cmp');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_wide_to_utf8{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_wide_to_utf8');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_utf8_to_wide{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_utf8_to_wide');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_wide_to_utf16{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_wide_to_utf16');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_utf16_to_wide{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_utf16_to_wide');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_utf8_to_utf16{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_utf8_to_utf16');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_utf16_to_utf8{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_utf16_to_utf8');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_ascii_to_wide{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_ascii_to_wide');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_ascii_to_utf16{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_ascii_to_utf16');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_userfree_wide_alloc{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_userfree_wide_alloc');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_userfree_utf8_alloc{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_userfree_utf8_alloc');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_userfree_utf16_alloc{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_userfree_utf16_alloc');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_userfree_wide_free{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_userfree_wide_free');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_userfree_utf8_free{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_userfree_utf8_free');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_userfree_utf16_free{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_userfree_utf16_free');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_utf16_to_lower{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_utf16_to_lower');
{$IFDEF FPC}Pointer({$ENDIF}cef_string_utf16_to_upper{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_string_utf16_to_upper');
Result := assigned(cef_string_wide_set) and
assigned(cef_string_utf8_set) and
@ -1993,8 +2002,8 @@ end;
function TCefApplication.Load_cef_thread_internal_h : boolean;
begin
cef_get_current_platform_thread_id := GetProcAddress(FLibHandle, 'cef_get_current_platform_thread_id');
cef_get_current_platform_thread_handle := GetProcAddress(FLibHandle, 'cef_get_current_platform_thread_handle');
{$IFDEF FPC}Pointer({$ENDIF}cef_get_current_platform_thread_id{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_get_current_platform_thread_id');
{$IFDEF FPC}Pointer({$ENDIF}cef_get_current_platform_thread_handle{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_get_current_platform_thread_handle');
Result := assigned(cef_get_current_platform_thread_id) and
assigned(cef_get_current_platform_thread_handle);
@ -2002,15 +2011,15 @@ end;
function TCefApplication.Load_cef_trace_event_internal_h : boolean;
begin
cef_trace_event_instant := GetProcAddress(FLibHandle, 'cef_trace_event_instant');
cef_trace_event_begin := GetProcAddress(FLibHandle, 'cef_trace_event_begin');
cef_trace_event_end := GetProcAddress(FLibHandle, 'cef_trace_event_end');
cef_trace_counter := GetProcAddress(FLibHandle, 'cef_trace_counter');
cef_trace_counter_id := GetProcAddress(FLibHandle, 'cef_trace_counter_id');
cef_trace_event_async_begin := GetProcAddress(FLibHandle, 'cef_trace_event_async_begin');
cef_trace_event_async_step_into := GetProcAddress(FLibHandle, 'cef_trace_event_async_step_into');
cef_trace_event_async_step_past := GetProcAddress(FLibHandle, 'cef_trace_event_async_step_past');
cef_trace_event_async_end := GetProcAddress(FLibHandle, 'cef_trace_event_async_end');
{$IFDEF FPC}Pointer({$ENDIF}cef_trace_event_instant{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_trace_event_instant');
{$IFDEF FPC}Pointer({$ENDIF}cef_trace_event_begin{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_trace_event_begin');
{$IFDEF FPC}Pointer({$ENDIF}cef_trace_event_end{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_trace_event_end');
{$IFDEF FPC}Pointer({$ENDIF}cef_trace_counter{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_trace_counter');
{$IFDEF FPC}Pointer({$ENDIF}cef_trace_counter_id{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_trace_counter_id');
{$IFDEF FPC}Pointer({$ENDIF}cef_trace_event_async_begin{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_trace_event_async_begin');
{$IFDEF FPC}Pointer({$ENDIF}cef_trace_event_async_step_into{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_trace_event_async_step_into');
{$IFDEF FPC}Pointer({$ENDIF}cef_trace_event_async_step_past{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_trace_event_async_step_past');
{$IFDEF FPC}Pointer({$ENDIF}cef_trace_event_async_end{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_trace_event_async_end');
Result := assigned(cef_trace_event_instant) and
assigned(cef_trace_event_begin) and

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFAuthCallback;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -66,22 +70,23 @@ uses
procedure TCefAuthCallbackRef.Cancel;
begin
PCefAuthCallback(FData).cancel(PCefAuthCallback(FData));
PCefAuthCallback(FData)^.cancel(PCefAuthCallback(FData));
end;
procedure TCefAuthCallbackRef.Cont(const username, password: ustring);
var
u, p: TCefString;
TempUsername, TempPassword : TCefString;
begin
u := CefString(username);
p := CefString(password);
PCefAuthCallback(FData).cont(PCefAuthCallback(FData), @u, @p);
TempUsername := CefString(username);
TempPassword := CefString(password);
PCefAuthCallback(FData)^.cont(PCefAuthCallback(FData), @TempUsername, @TempPassword);
end;
class function TCefAuthCallbackRef.UnWrap(data: Pointer): ICefAuthCallback;
begin
if data <> nil then
Result := Create(data) as ICefAuthCallback else
if (data <> nil) then
Result := Create(data) as ICefAuthCallback
else
Result := nil;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFBaseRefCounted;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -159,15 +163,15 @@ begin
if owned then
begin
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;
PCefBaseRefCounted(FData)^.add_ref := {$IFDEF FPC}@{$ENDIF}cef_base_add_ref_owned;
PCefBaseRefCounted(FData)^.release := {$IFDEF FPC}@{$ENDIF}cef_base_release_owned;
PCefBaseRefCounted(FData)^.has_one_ref := {$IFDEF FPC}@{$ENDIF}cef_base_has_one_ref_owned;
end
else
begin
PCefBaseRefCounted(FData)^.add_ref := cef_base_add_ref;
PCefBaseRefCounted(FData)^.release := cef_base_release_ref;
PCefBaseRefCounted(FData)^.has_one_ref := cef_base_has_one_ref;
PCefBaseRefCounted(FData)^.add_ref := {$IFDEF FPC}@{$ENDIF}cef_base_add_ref;
PCefBaseRefCounted(FData)^.release := {$IFDEF FPC}@{$ENDIF}cef_base_release_ref;
PCefBaseRefCounted(FData)^.has_one_ref := {$IFDEF FPC}@{$ENDIF}cef_base_has_one_ref;
end;
end;
@ -264,13 +268,13 @@ end;
// ************************************************
function TLoggingInterfacedObject._AddRef: Integer;
function TLoggingInterfacedObject._AddRef: Integer; stdcall;
begin
Result := inherited _AddRef;
CefDebugLog(ClassName + '._AddRef -> FRefCount = ' + IntToStr(Result));
end;
function TLoggingInterfacedObject._Release: Integer;
function TLoggingInterfacedObject._Release: Integer; stdcall;
begin
CefDebugLog(ClassName + '._Release -> FRefCount = ' + IntToStr(pred(RefCount)));
Result := inherited _Release;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFBaseScopedWrapper;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFBeforeDownloadCallback;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -63,20 +67,19 @@ implementation
uses
uCEFMiscFunctions, uCEFLibFunctions;
procedure TCefBeforeDownloadCallbackRef.Cont(const downloadPath: ustring;
showDialog: Boolean);
procedure TCefBeforeDownloadCallbackRef.Cont(const downloadPath: ustring; showDialog: Boolean);
var
dp: TCefString;
TempPath : TCefString;
begin
dp := CefString(downloadPath);
PCefBeforeDownloadCallback(FData).cont(PCefBeforeDownloadCallback(FData), @dp, Ord(showDialog));
TempPath := CefString(downloadPath);
PCefBeforeDownloadCallback(FData)^.cont(PCefBeforeDownloadCallback(FData), @TempPath, Ord(showDialog));
end;
class function TCefBeforeDownloadCallbackRef.UnWrap(
data: Pointer): ICefBeforeDownloadCallback;
class function TCefBeforeDownloadCallbackRef.UnWrap(data: Pointer): ICefBeforeDownloadCallback;
begin
if data <> nil then
Result := Create(data) as ICefBeforeDownloadCallback else
if (data <> nil) then
Result := Create(data) as ICefBeforeDownloadCallback
else
Result := nil;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -36,6 +36,10 @@
*)
unit uCEFBinaryValue;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
@ -92,38 +96,37 @@ uses
function TCefBinaryValueRef.Copy: ICefBinaryValue;
begin
Result := UnWrap(PCefBinaryValue(FData).copy(PCefBinaryValue(FData)));
Result := UnWrap(PCefBinaryValue(FData)^.copy(PCefBinaryValue(FData)));
end;
function TCefBinaryValueRef.GetData(buffer: Pointer; bufferSize,
dataOffset: NativeUInt): NativeUInt;
function TCefBinaryValueRef.GetData(buffer: Pointer; bufferSize, dataOffset: NativeUInt): NativeUInt;
begin
Result := PCefBinaryValue(FData).get_data(PCefBinaryValue(FData), buffer, bufferSize, dataOffset);
Result := PCefBinaryValue(FData)^.get_data(PCefBinaryValue(FData), buffer, bufferSize, dataOffset);
end;
function TCefBinaryValueRef.GetSize: NativeUInt;
begin
Result := PCefBinaryValue(FData).get_size(PCefBinaryValue(FData));
Result := PCefBinaryValue(FData)^.get_size(PCefBinaryValue(FData));
end;
function TCefBinaryValueRef.IsEqual(const that: ICefBinaryValue): Boolean;
begin
Result := PCefBinaryValue(FData).is_equal(PCefBinaryValue(FData), CefGetData(that)) <> 0;
Result := PCefBinaryValue(FData)^.is_equal(PCefBinaryValue(FData), CefGetData(that)) <> 0;
end;
function TCefBinaryValueRef.IsOwned: Boolean;
begin
Result := PCefBinaryValue(FData).is_owned(PCefBinaryValue(FData)) <> 0;
Result := PCefBinaryValue(FData)^.is_owned(PCefBinaryValue(FData)) <> 0;
end;
function TCefBinaryValueRef.IsSame(const that: ICefBinaryValue): Boolean;
begin
Result := PCefBinaryValue(FData).is_same(PCefBinaryValue(FData), CefGetData(that)) <> 0;
Result := PCefBinaryValue(FData)^.is_same(PCefBinaryValue(FData), CefGetData(that)) <> 0;
end;
function TCefBinaryValueRef.IsValid: Boolean;
begin
Result := PCefBinaryValue(FData).is_valid(PCefBinaryValue(FData)) <> 0;
Result := PCefBinaryValue(FData)^.is_valid(PCefBinaryValue(FData)) <> 0;
end;
class function TCefBinaryValueRef.New(const data: Pointer; dataSize: NativeUInt): ICefBinaryValue;
@ -133,8 +136,9 @@ end;
class function TCefBinaryValueRef.UnWrap(data: Pointer): ICefBinaryValue;
begin
if data <> nil then
Result := Create(data) as ICefBinaryValue else
if (data <> nil) then
Result := Create(data) as ICefBinaryValue
else
Result := nil;
end;
@ -226,13 +230,13 @@ begin
begin
Result := 0;
TempObject := CefGetObject(self);
if (TempObject <> nil) and (TempObject is TCefBinaryValueOwn) then
Result := TCefBinaryValueOwn(TempObject).GetData(buffer, buffer_size, data_offset);
end;
constructor TCefBinaryValueOwn.Create;
if (TempObject <> nil) and (TempObject is TCefBinaryValueOwn) then
Result := TCefBinaryValueOwn(TempObject).GetData(buffer, buffer_size, data_offset);
end;
constructor TCefBinaryValueOwn.Create;
begin
inherited CreateData(SizeOf(TCefBinaryValue));

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFBrowser;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -123,7 +127,7 @@ type
procedure SendMouseClickEvent(const event: PCefMouseEvent; kind: TCefMouseButtonType; mouseUp: Boolean; clickCount: Integer);
procedure SendMouseMoveEvent(const event: PCefMouseEvent; mouseLeave: Boolean);
procedure SendMouseWheelEvent(const event: PCefMouseEvent; deltaX, deltaY: Integer);
procedure SendFocusEvent(setFocus: Boolean);
procedure SendFocusEvent(aSetFocus: Boolean);
procedure SendCaptureLostEvent;
procedure NotifyMoveOrResizeStarted;
function GetWindowlessFrameRate : Integer;
@ -182,10 +186,10 @@ end;
function TCefBrowserRef.GetFrame(const name: ustring): ICefFrame;
var
n: TCefString;
TempName : TCefString;
begin
n := CefString(name);
Result := TCefFrameRef.UnWrap(PCefBrowser(FData)^.get_frame(PCefBrowser(FData), @n));
TempName := CefString(name);
Result := TCefFrameRef.UnWrap(PCefBrowser(FData)^.get_frame(PCefBrowser(FData), @TempName));
end;
function TCefBrowserRef.GetFrameCount: NativeUInt;
@ -307,7 +311,7 @@ end;
procedure TCefBrowserHostRef.CloseDevTools;
begin
PCefBrowserHost(FData).close_dev_tools(FData);
PCefBrowserHost(FData)^.close_dev_tools(FData);
end;
procedure TCefBrowserHostRef.DownloadImage(const imageUrl : ustring;
@ -319,7 +323,7 @@ var
url: TCefString;
begin
url := CefString(imageUrl);
PCefBrowserHost(FData).download_image(FData, @url, Ord(isFavicon), maxImageSize, Ord(bypassCache), CefGetData(callback));
PCefBrowserHost(FData)^.download_image(FData, @url, Ord(isFavicon), maxImageSize, Ord(bypassCache), CefGetData(callback));
end;
procedure TCefBrowserHostRef.DownloadImageProc(const imageUrl : ustring;
@ -333,77 +337,75 @@ end;
procedure TCefBrowserHostRef.DragSourceEndedAt(x, y: Integer; op: TCefDragOperation);
begin
PCefBrowserHost(FData).drag_source_ended_at(FData, x, y, op);
PCefBrowserHost(FData)^.drag_source_ended_at(FData, x, y, op);
end;
procedure TCefBrowserHostRef.DragSourceSystemDragEnded;
begin
PCefBrowserHost(FData).drag_source_system_drag_ended(FData);
PCefBrowserHost(FData)^.drag_source_system_drag_ended(FData);
end;
function TCefBrowserHostRef.GetVisibleNavigationEntry : ICefNavigationEntry;
begin
Result := TCefNavigationEntryRef.UnWrap(PCefBrowserHost(FData).get_visible_navigation_entry(PCefBrowserHost(FData)));
Result := TCefNavigationEntryRef.UnWrap(PCefBrowserHost(FData)^.get_visible_navigation_entry(PCefBrowserHost(FData)));
end;
procedure TCefBrowserHostRef.SetAccessibilityState(accessibilityState: TCefState);
begin
PCefBrowserHost(FData).set_accessibility_state(FData, accessibilityState);
PCefBrowserHost(FData)^.set_accessibility_state(FData, accessibilityState);
end;
procedure TCefBrowserHostRef.SetAutoResizeEnabled(enabled: boolean; const min_size, max_size: PCefSize);
begin
PCefBrowserHost(FData).set_auto_resize_enabled(FData, Ord(enabled), min_size, max_size);
PCefBrowserHost(FData)^.set_auto_resize_enabled(FData, Ord(enabled), min_size, max_size);
end;
function TCefBrowserHostRef.GetExtension : ICefExtension;
begin
Result := TCefExtensionRef.UnWrap(PCefBrowserHost(FData).get_extension(FData));
Result := TCefExtensionRef.UnWrap(PCefBrowserHost(FData)^.get_extension(FData));
end;
function TCefBrowserHostRef.IsBackgroundHost : boolean;
begin
Result := PCefBrowserHost(FData).is_background_host(FData) <> 0;
Result := PCefBrowserHost(FData)^.is_background_host(FData) <> 0;
end;
procedure TCefBrowserHostRef.DragTargetDragEnter(const dragData: ICefDragData;
const event: PCefMouseEvent; allowedOps: TCefDragOperations);
procedure TCefBrowserHostRef.DragTargetDragEnter(const dragData: ICefDragData; const event: PCefMouseEvent; allowedOps: TCefDragOperations);
begin
PCefBrowserHost(FData).drag_target_drag_enter(FData, CefGetData(dragData), event, allowedOps);
PCefBrowserHost(FData)^.drag_target_drag_enter(FData, CefGetData(dragData), event, allowedOps);
end;
procedure TCefBrowserHostRef.DragTargetDragLeave;
begin
PCefBrowserHost(FData).drag_target_drag_leave(FData);
PCefBrowserHost(FData)^.drag_target_drag_leave(FData);
end;
procedure TCefBrowserHostRef.DragTargetDragOver(const event: PCefMouseEvent;
allowedOps: TCefDragOperations);
procedure TCefBrowserHostRef.DragTargetDragOver(const event: PCefMouseEvent; allowedOps: TCefDragOperations);
begin
PCefBrowserHost(FData).drag_target_drag_over(FData, event, allowedOps);
PCefBrowserHost(FData)^.drag_target_drag_over(FData, event, allowedOps);
end;
procedure TCefBrowserHostRef.DragTargetDrop(event: PCefMouseEvent);
begin
PCefBrowserHost(FData).drag_target_drop(FData, event);
PCefBrowserHost(FData)^.drag_target_drop(FData, event);
end;
procedure TCefBrowserHostRef.Find(identifier: Integer; const searchText: ustring; forward, matchCase, findNext: Boolean);
var
s: TCefString;
TempText : TCefString;
begin
s := CefString(searchText);
PCefBrowserHost(FData).find(FData, identifier, @s, Ord(forward), Ord(matchCase), Ord(findNext));
TempText := CefString(searchText);
PCefBrowserHost(FData)^.find(FData, identifier, @TempText, Ord(forward), Ord(matchCase), Ord(findNext));
end;
function TCefBrowserHostRef.GetBrowser: ICefBrowser;
begin
Result := TCefBrowserRef.UnWrap(PCefBrowserHost(FData).get_browser(PCefBrowserHost(FData)));
Result := TCefBrowserRef.UnWrap(PCefBrowserHost(FData)^.get_browser(PCefBrowserHost(FData)));
end;
procedure TCefBrowserHostRef.Print;
begin
PCefBrowserHost(FData).print(FData);
PCefBrowserHost(FData)^.print(FData);
end;
procedure TCefBrowserHostRef.PrintToPdf(const path : ustring;
@ -413,7 +415,7 @@ var
str: TCefString;
begin
str := CefString(path);
PCefBrowserHost(FData).print_to_pdf(FData, @str, settings, CefGetData(callback));
PCefBrowserHost(FData)^.print_to_pdf(FData, @str, settings, CefGetData(callback));
end;
procedure TCefBrowserHostRef.PrintToPdfProc(const path : ustring;
@ -428,7 +430,7 @@ var
str: TCefString;
begin
str := CefString(word);
PCefBrowserHost(FData).replace_misspelling(FData, @str);
PCefBrowserHost(FData)^.replace_misspelling(FData, @str);
end;
procedure TCefBrowserHostRef.RunFileDialog( mode : TCefFileDialogMode;
@ -448,13 +450,13 @@ begin
TempAcceptFilters := TCefStringListOwn.Create;
TempAcceptFilters.AddStrings(acceptFilters);
PCefBrowserHost(FData).run_file_dialog(PCefBrowserHost(FData),
mode,
@TempTitle,
@TempPath,
TempAcceptFilters.Handle,
selectedAcceptFilter,
CefGetData(callback));
PCefBrowserHost(FData)^.run_file_dialog(PCefBrowserHost(FData),
mode,
@TempTitle,
@TempPath,
TempAcceptFilters.Handle,
selectedAcceptFilter,
CefGetData(callback));
finally
TempAcceptFilters := nil;
end;
@ -475,27 +477,27 @@ var
str: TCefString;
begin
str := CefString(word);
PCefBrowserHost(FData).add_word_to_dictionary(FData, @str);
PCefBrowserHost(FData)^.add_word_to_dictionary(FData, @str);
end;
procedure TCefBrowserHostRef.CloseBrowser(forceClose: Boolean);
begin
PCefBrowserHost(FData).close_browser(PCefBrowserHost(FData), Ord(forceClose));
PCefBrowserHost(FData)^.close_browser(PCefBrowserHost(FData), Ord(forceClose));
end;
procedure TCefBrowserHostRef.SendCaptureLostEvent;
begin
PCefBrowserHost(FData).send_capture_lost_event(FData);
PCefBrowserHost(FData)^.send_capture_lost_event(FData);
end;
procedure TCefBrowserHostRef.SendFocusEvent(setFocus: Boolean);
procedure TCefBrowserHostRef.SendFocusEvent(aSetFocus: Boolean);
begin
PCefBrowserHost(FData).send_focus_event(FData, Ord(setFocus));
PCefBrowserHost(FData)^.send_focus_event(FData, Ord(aSetFocus));
end;
procedure TCefBrowserHostRef.SendKeyEvent(const event: PCefKeyEvent);
begin
PCefBrowserHost(FData).send_key_event(FData, event);
PCefBrowserHost(FData)^.send_key_event(FData, event);
end;
procedure TCefBrowserHostRef.SendMouseClickEvent(const event : PCefMouseEvent;
@ -503,57 +505,57 @@ procedure TCefBrowserHostRef.SendMouseClickEvent(const event : PCefMouseEve
mouseUp : Boolean;
clickCount : Integer);
begin
PCefBrowserHost(FData).send_mouse_click_event(FData, event, kind, Ord(mouseUp), clickCount);
PCefBrowserHost(FData)^.send_mouse_click_event(FData, event, kind, Ord(mouseUp), clickCount);
end;
procedure TCefBrowserHostRef.SendMouseMoveEvent(const event: PCefMouseEvent; mouseLeave: Boolean);
begin
PCefBrowserHost(FData).send_mouse_move_event(FData, event, Ord(mouseLeave));
PCefBrowserHost(FData)^.send_mouse_move_event(FData, event, Ord(mouseLeave));
end;
procedure TCefBrowserHostRef.SendMouseWheelEvent(const event: PCefMouseEvent; deltaX, deltaY: Integer);
begin
PCefBrowserHost(FData).send_mouse_wheel_event(FData, event, deltaX, deltaY);
PCefBrowserHost(FData)^.send_mouse_wheel_event(FData, event, deltaX, deltaY);
end;
procedure TCefBrowserHostRef.SetFocus(focus: Boolean);
begin
PCefBrowserHost(FData).set_focus(PCefBrowserHost(FData), Ord(focus));
PCefBrowserHost(FData)^.set_focus(PCefBrowserHost(FData), Ord(focus));
end;
procedure TCefBrowserHostRef.SetMouseCursorChangeDisabled(disabled: Boolean);
begin
PCefBrowserHost(FData).set_mouse_cursor_change_disabled(PCefBrowserHost(FData), Ord(disabled));
PCefBrowserHost(FData)^.set_mouse_cursor_change_disabled(PCefBrowserHost(FData), Ord(disabled));
end;
procedure TCefBrowserHostRef.SetWindowlessFrameRate(frameRate: Integer);
begin
PCefBrowserHost(FData).set_windowless_frame_rate(PCefBrowserHost(FData), frameRate);
PCefBrowserHost(FData)^.set_windowless_frame_rate(PCefBrowserHost(FData), frameRate);
end;
function TCefBrowserHostRef.GetWindowHandle: TCefWindowHandle;
begin
Result := PCefBrowserHost(FData).get_window_handle(PCefBrowserHost(FData))
Result := PCefBrowserHost(FData)^.get_window_handle(PCefBrowserHost(FData))
end;
function TCefBrowserHostRef.GetWindowlessFrameRate: Integer;
begin
Result := PCefBrowserHost(FData).get_windowless_frame_rate(PCefBrowserHost(FData));
Result := PCefBrowserHost(FData)^.get_windowless_frame_rate(PCefBrowserHost(FData));
end;
function TCefBrowserHostRef.GetOpenerWindowHandle: TCefWindowHandle;
begin
Result := PCefBrowserHost(FData).get_opener_window_handle(PCefBrowserHost(FData));
Result := PCefBrowserHost(FData)^.get_opener_window_handle(PCefBrowserHost(FData));
end;
function TCefBrowserHostRef.GetRequestContext: ICefRequestContext;
begin
Result := TCefRequestContextRef.UnWrap(PCefBrowserHost(FData).get_request_context(FData));
Result := TCefRequestContextRef.UnWrap(PCefBrowserHost(FData)^.get_request_context(FData));
end;
procedure TCefBrowserHostRef.GetNavigationEntries(const visitor: ICefNavigationEntryVisitor; currentOnly: Boolean);
begin
PCefBrowserHost(FData).get_navigation_entries(FData, CefGetData(visitor), Ord(currentOnly));
PCefBrowserHost(FData)^.get_navigation_entries(FData, CefGetData(visitor), Ord(currentOnly));
end;
procedure TCefBrowserHostRef.GetNavigationEntriesProc(const proc: TCefNavigationEntryVisitorProc; currentOnly: Boolean);
@ -563,7 +565,7 @@ end;
function TCefBrowserHostRef.GetZoomLevel: Double;
begin
Result := PCefBrowserHost(FData).get_zoom_level(PCefBrowserHost(FData));
Result := PCefBrowserHost(FData)^.get_zoom_level(PCefBrowserHost(FData));
end;
procedure TCefBrowserHostRef.IMESetComposition(const text : ustring;
@ -575,7 +577,7 @@ var
TempString : TCefString;
begin
TempString := CefString(text);
PCefBrowserHost(FData).ime_set_composition(PCefBrowserHost(FData), @TempString, underlinesCount, underlines, replacement_range, selection_range);
PCefBrowserHost(FData)^.ime_set_composition(PCefBrowserHost(FData), @TempString, underlinesCount, underlines, replacement_range, selection_range);
end;
procedure TCefBrowserHostRef.IMECommitText(const text: ustring; const replacement_range : PCefRange; relative_cursor_pos : integer);
@ -583,57 +585,57 @@ var
TempString : TCefString;
begin
TempString := CefString(text);
PCefBrowserHost(FData).ime_commit_text(PCefBrowserHost(FData), @TempString, replacement_range, relative_cursor_pos);
PCefBrowserHost(FData)^.ime_commit_text(PCefBrowserHost(FData), @TempString, replacement_range, relative_cursor_pos);
end;
procedure TCefBrowserHostRef.IMEFinishComposingText(keep_selection : boolean);
begin
PCefBrowserHost(FData).ime_finish_composing_text(PCefBrowserHost(FData), ord(keep_selection));
PCefBrowserHost(FData)^.ime_finish_composing_text(PCefBrowserHost(FData), ord(keep_selection));
end;
procedure TCefBrowserHostRef.IMECancelComposition;
begin
PCefBrowserHost(FData).ime_cancel_composition(PCefBrowserHost(FData));
PCefBrowserHost(FData)^.ime_cancel_composition(PCefBrowserHost(FData));
end;
function TCefBrowserHostRef.HasDevTools: Boolean;
begin
Result := PCefBrowserHost(FData).has_dev_tools(FData) <> 0;
Result := PCefBrowserHost(FData)^.has_dev_tools(FData) <> 0;
end;
function TCefBrowserHostRef.HasView: Boolean;
begin
Result := PCefBrowserHost(FData).has_view(FData) <> 0;
Result := PCefBrowserHost(FData)^.has_view(FData) <> 0;
end;
procedure TCefBrowserHostRef.Invalidate(kind: TCefPaintElementType);
begin
PCefBrowserHost(FData).invalidate(FData, kind);
PCefBrowserHost(FData)^.invalidate(FData, kind);
end;
function TCefBrowserHostRef.IsMouseCursorChangeDisabled: Boolean;
begin
Result := PCefBrowserHost(FData).is_mouse_cursor_change_disabled(FData) <> 0
Result := PCefBrowserHost(FData)^.is_mouse_cursor_change_disabled(FData) <> 0
end;
function TCefBrowserHostRef.IsWindowRenderingDisabled: Boolean;
begin
Result := PCefBrowserHost(FData).is_window_rendering_disabled(FData) <> 0
Result := PCefBrowserHost(FData)^.is_window_rendering_disabled(FData) <> 0
end;
procedure TCefBrowserHostRef.NotifyMoveOrResizeStarted;
begin
PCefBrowserHost(FData).notify_move_or_resize_started(PCefBrowserHost(FData));
PCefBrowserHost(FData)^.notify_move_or_resize_started(PCefBrowserHost(FData));
end;
procedure TCefBrowserHostRef.NotifyScreenInfoChanged;
begin
PCefBrowserHost(FData).notify_screen_info_changed(PCefBrowserHost(FData));
PCefBrowserHost(FData)^.notify_screen_info_changed(PCefBrowserHost(FData));
end;
procedure TCefBrowserHostRef.SetZoomLevel(const zoomLevel: Double);
begin
PCefBrowserHost(FData).set_zoom_level(PCefBrowserHost(FData), zoomLevel);
PCefBrowserHost(FData)^.set_zoom_level(PCefBrowserHost(FData), zoomLevel);
end;
procedure TCefBrowserHostRef.ShowDevTools(const windowInfo : PCefWindowInfo;
@ -641,42 +643,43 @@ procedure TCefBrowserHostRef.ShowDevTools(const windowInfo : PCefWindowInf
const settings : PCefBrowserSettings;
inspectElementAt : PCefPoint);
begin
PCefBrowserHost(FData).show_dev_tools(FData, windowInfo, CefGetData(client), settings, inspectElementAt);
PCefBrowserHost(FData)^.show_dev_tools(FData, windowInfo, CefGetData(client), settings, inspectElementAt);
end;
procedure TCefBrowserHostRef.StartDownload(const url: ustring);
var
u: TCefString;
TempURL : TCefString;
begin
u := CefString(url);
PCefBrowserHost(FData).start_download(PCefBrowserHost(FData), @u);
TempURL := CefString(url);
PCefBrowserHost(FData)^.start_download(PCefBrowserHost(FData), @TempURL);
end;
procedure TCefBrowserHostRef.StopFinding(clearSelection: Boolean);
begin
PCefBrowserHost(FData).stop_finding(FData, Ord(clearSelection));
PCefBrowserHost(FData)^.stop_finding(FData, Ord(clearSelection));
end;
function TCefBrowserHostRef.TryCloseBrowser: Boolean;
begin
Result := PCefBrowserHost(FData).try_close_browser(FData) <> 0;
Result := PCefBrowserHost(FData)^.try_close_browser(FData) <> 0;
end;
class function TCefBrowserHostRef.UnWrap(data: Pointer): ICefBrowserHost;
begin
if data <> nil then
Result := Create(data) as ICefBrowserHost else
if (data <> nil) then
Result := Create(data) as ICefBrowserHost
else
Result := nil;
end;
procedure TCefBrowserHostRef.WasHidden(hidden: Boolean);
begin
PCefBrowserHost(FData).was_hidden(FData, Ord(hidden));
PCefBrowserHost(FData)^.was_hidden(FData, Ord(hidden));
end;
procedure TCefBrowserHostRef.WasResized;
begin
PCefBrowserHost(FData).was_resized(FData);
PCefBrowserHost(FData)^.was_resized(FData);
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -36,6 +36,10 @@
*)
unit uCEFBrowserProcessHandler;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
@ -152,11 +156,11 @@ begin
with PCefBrowserProcessHandler(FData)^ do
begin
on_context_initialized := cef_browser_process_handler_on_context_initialized;
on_before_child_process_launch := cef_browser_process_handler_on_before_child_process_launch;
on_render_process_thread_created := cef_browser_process_handler_on_render_process_thread_created;
get_print_handler := cef_browser_process_handler_get_print_handler;
on_schedule_message_pump_work := cef_browser_process_handler_on_schedule_message_pump_work;
on_context_initialized := {$IFDEF FPC}@{$ENDIF}cef_browser_process_handler_on_context_initialized;
on_before_child_process_launch := {$IFDEF FPC}@{$ENDIF}cef_browser_process_handler_on_before_child_process_launch;
on_render_process_thread_created := {$IFDEF FPC}@{$ENDIF}cef_browser_process_handler_on_render_process_thread_created;
get_print_handler := {$IFDEF FPC}@{$ENDIF}cef_browser_process_handler_get_print_handler;
on_schedule_message_pump_work := {$IFDEF FPC}@{$ENDIF}cef_browser_process_handler_on_schedule_message_pump_work;
end;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFCallback;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFChromium;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -50,11 +54,17 @@ uses
{$IFDEF DELPHI16_UP}
{$IFDEF MSWINDOWS}WinApi.Windows, WinApi.Messages, Vcl.Controls, Vcl.Graphics, Vcl.Forms, WinApi.ActiveX,{$ENDIF} System.Classes,
{$ELSE}
Windows, Messages, Classes, Controls, Graphics, Forms, ActiveX,
Windows, Classes, Forms, Controls, Graphics, ActiveX,
{$IFDEF FPC}
LCLProc, LCLType, LCLIntf, LResources, LMessages, InterfaceBase,
{$ELSE}
Messages,
{$ENDIF}
{$ENDIF}
uCEFTypes, uCEFInterfaces, uCEFLibFunctions, uCEFMiscFunctions, uCEFClient,
uCEFConstants, uCEFTask, uCEFDomVisitor, uCEFChromiumEvents,
uCEFChromiumOptions, uCEFChromiumFontOptions, uCEFPDFPrintOptions, uCEFDragAndDropMgr;
{$IFNDEF FPC}uCEFDragAndDropMgr,{$ENDIF}
uCEFChromiumOptions, uCEFChromiumFontOptions, uCEFPDFPrintOptions;
type
TChromium = class(TComponent, IChromiumEvents)
@ -70,15 +80,15 @@ type
FDefaultEncoding : ustring;
FProxyType : integer;
FProxyScheme : TCefProxyScheme;
FProxyServer : string;
FProxyServer : ustring;
FProxyPort : integer;
FProxyUsername : string;
FProxyPassword : string;
FProxyScriptURL : string;
FProxyByPassList : string;
FProxyUsername : ustring;
FProxyPassword : ustring;
FProxyScriptURL : ustring;
FProxyByPassList : ustring;
FUpdatePreferences : boolean;
FCustomHeaderName : string;
FCustomHeaderValue : string;
FCustomHeaderName : ustring;
FCustomHeaderValue : ustring;
FAddCustomHeader : boolean;
FDoNotTrack : boolean;
FSendReferrer : boolean;
@ -89,7 +99,6 @@ type
FCookiePrefs : integer;
FImagesPrefs : integer;
FZoomStep : byte;
FWindowName : string;
FPrefsFileName : string;
FIsOSR : boolean;
FInitialized : boolean;
@ -99,22 +108,25 @@ type
FDevWindowInfo : TCefWindowInfo;
FDevBrowserSettings : TCefBrowserSettings;
FDragOperations : TCefDragOperations;
{$IFNDEF FPC}
FDragDropManager : TCEFDragAndDropMgr;
{$ENDIF}
FDropTargetCtrl : TWinControl;
FDragAndDropInitialized : boolean;
FWebRTCIPHandlingPolicy : TCefWebRTCHandlingPolicy;
FWebRTCMultipleRoutes : TCefState;
FWebRTCNonProxiedUDP : TCefState;
{$IFNDEF FPC}
FOldBrowserCompWndPrc : TFNWndProc;
FOldWidgetCompWndPrc : TFNWndProc;
FOldRenderCompWndPrc : TFNWndProc;
FBrowserCompHWND : THandle;
FWidgetCompHWND : THandle;
FRenderCompHWND : THandle;
FBrowserCompStub : Pointer;
FWidgetCompStub : Pointer;
FRenderCompStub : Pointer;
{$ENDIF}
FBrowserCompHWND : THandle;
FWidgetCompHWND : THandle;
FRenderCompHWND : THandle;
// ICefClient
FOnProcessMessageReceived : TOnProcessMessageReceived;
@ -219,9 +231,11 @@ type
FOnPrefsAvailable : TOnPrefsAvailableEvent;
FOnCookiesDeleted : TOnCookiesDeletedEvent;
FOnResolvedHostAvailable : TOnResolvedIPsAvailableEvent;
{$IFNDEF FPC}
FOnBrowserCompMsg : TOnCompMsgEvent;
FOnWidgetCompMsg : TOnCompMsgEvent;
FOnRenderCompMsg : TOnCompMsgEvent;
{$ENDIF}
function GetIsLoading : boolean;
function GetMultithreadApp : boolean;
@ -232,7 +246,7 @@ type
function GetHasBrowser : boolean;
function GetCanGoBack : boolean;
function GetCanGoForward : boolean;
function GetDocumentURL : string;
function GetDocumentURL : ustring;
function GetZoomLevel : double;
function GetZoomPct : double;
function GetIsPopUp : boolean;
@ -243,7 +257,7 @@ type
function GetVisibleNavigationEntry : ICefNavigationEntry;
function GetHasValidMainFrame : boolean;
function GetFrameCount : NativeUInt;
function GetRequestContextCache : string;
function GetRequestContextCache : ustring;
function GetRequestContextIsGlobal : boolean;
procedure SetDoNotTrack(aValue : boolean);
@ -259,14 +273,14 @@ type
procedure SetImagesPrefs(aValue : integer);
procedure SetProxyType(aValue : integer);
procedure SetProxyScheme(aValue : TCefProxyScheme);
procedure SetProxyServer(const aValue : string);
procedure SetProxyServer(const aValue : ustring);
procedure SetProxyPort(aValue : integer);
procedure SetProxyUsername(const aValue : string);
procedure SetProxyPassword(const aValue : string);
procedure SetProxyScriptURL(const aValue : string);
procedure SetProxyByPassList(const aValue : string);
procedure SetCustomHeaderName(const aValue : string);
procedure SetCustomHeaderValue(const aValue : string);
procedure SetProxyUsername(const aValue : ustring);
procedure SetProxyPassword(const aValue : ustring);
procedure SetProxyScriptURL(const aValue : ustring);
procedure SetProxyByPassList(const aValue : ustring);
procedure SetCustomHeaderName(const aValue : ustring);
procedure SetCustomHeaderValue(const aValue : ustring);
procedure SetZoomLevel(const aValue : double);
procedure SetZoomPct(const aValue : double);
procedure SetZoomStep(aValue : byte);
@ -283,13 +297,13 @@ type
procedure InitializeEvents;
procedure InitializeSettings(var aSettings : TCefBrowserSettings);
procedure GetPrintPDFSettings(var aSettings : TCefPdfPrintSettings; const aTitle, aURL : string);
procedure GetPrintPDFSettings(var aSettings : TCefPdfPrintSettings; const aTitle, aURL : ustring);
function UpdateProxyPrefs(const aBrowser: ICefBrowser) : boolean;
function UpdatePreference(const aBrowser: ICefBrowser; const aName : string; aValue : boolean) : boolean; overload;
function UpdatePreference(const aBrowser: ICefBrowser; const aName : string; aValue : integer) : boolean; overload;
function UpdatePreference(const aBrowser: ICefBrowser; const aName : string; const aValue : double) : boolean; overload;
function UpdatePreference(const aBrowser: ICefBrowser; const aName, aValue : string) : boolean; overload;
function UpdatePreference(const aBrowser: ICefBrowser; const aName : ustring; aValue : boolean) : boolean; overload;
function UpdatePreference(const aBrowser: ICefBrowser; const aName : ustring; aValue : integer) : boolean; overload;
function UpdatePreference(const aBrowser: ICefBrowser; const aName : ustring; const aValue : double) : boolean; overload;
function UpdatePreference(const aBrowser: ICefBrowser; const aName, aValue : ustring) : boolean; overload;
procedure HandleDictionary(const aDict : ICefDictionaryValue; var aResultSL : TStringList; const aRoot : string);
procedure HandleNull(const aValue : ICefValue; var aResultSL : TStringList; const aRoot, aKey : string);
@ -302,14 +316,14 @@ type
procedure HandleInvalid(const aValue : ICefValue; var aResultSL : TStringList; const aRoot, aKey : string);
function MustCreateLoadHandler : boolean; virtual;
function MustCreateFocusHandler : boolean; virtual;
function MustCreateContextMenuHandler : boolean; virtual;
function MustCreateDialogHandler : boolean; virtual;
function MustCreateKeyboardHandler : boolean; virtual;
function MustCreateDisplayHandler : boolean; virtual;
function MustCreateDownloadHandler : boolean; virtual;
function MustCreateJsDialogHandler : boolean; virtual;
function MustCreateDragHandler : boolean; virtual;
function MustCreateFocusHandler : boolean; virtual;
function MustCreateContextMenuHandler : boolean; virtual;
function MustCreateDialogHandler : boolean; virtual;
function MustCreateKeyboardHandler : boolean; virtual;
function MustCreateDisplayHandler : boolean; virtual;
function MustCreateDownloadHandler : boolean; virtual;
function MustCreateJsDialogHandler : boolean; virtual;
function MustCreateDragHandler : boolean; virtual;
function MustCreateFindHandler : boolean; virtual;
procedure PrefsAvailableMsg(var aMessage : TMessage);
@ -322,9 +336,11 @@ type
procedure FreeAndNilStub(var aStub : pointer);
procedure CreateStub(const aMethod : TWndMethod; var aStub : Pointer);
procedure WndProc(var aMessage: TMessage);
{$IFNDEF FPC}
procedure BrowserCompWndProc(var aMessage: TMessage);
procedure WidgetCompWndProc(var aMessage: TMessage);
procedure RenderCompWndProc(var aMessage: TMessage);
{$ENDIF}
procedure DragDropManager_OnDragEnter(Sender: TObject; const aDragData : ICefDragData; grfKeyState: Longint; pt: TPoint; var dwEffect: Longint);
procedure DragDropManager_OnDragOver(Sender: TObject; grfKeyState: Longint; pt: TPoint; var dwEffect: Longint);
@ -434,7 +450,7 @@ type
// Custom
procedure doCookiesDeleted(numDeleted : integer); virtual;
procedure doPdfPrintFinished(aResultOK : boolean); virtual;
procedure doTextResultAvailable(const aText : string); virtual;
procedure doTextResultAvailable(const aText : ustring); virtual;
procedure doUpdatePreferences(const aBrowser: ICefBrowser); virtual;
procedure doUpdateOwnPreferences; virtual;
function doSavePreferences : boolean; virtual;
@ -451,8 +467,8 @@ type
function ShareRequestContext(var aContext : ICefRequestContext; const aHandler : ICefRequestContextHandler = nil) : boolean;
procedure InitializeDragAndDrop(const aDropTargetCtrl : TWinControl);
procedure ShutdownDragAndDrop;
function CreateBrowser(const aBrowserParent : TWinControl = nil; const aWindowName : string = ''; const aContext : ICefRequestContext = nil; const aCookiesPath : string = ''; aPersistSessionCookies : boolean = False) : boolean; overload; virtual;
function CreateBrowser(aParentHandle : HWND; aParentRect : TRect; const aWindowName : string = ''; const aContext : ICefRequestContext = nil; const aCookiesPath : string = ''; aPersistSessionCookies : boolean = False) : boolean; overload; virtual;
function CreateBrowser(const aBrowserParent : TWinControl = nil; const aWindowName : ustring = ''; const aContext : ICefRequestContext = nil; const aCookiesPath : ustring = ''; aPersistSessionCookies : boolean = False) : boolean; overload; virtual;
function CreateBrowser(aParentHandle : HWND; aParentRect : TRect; const aWindowName : ustring = ''; const aContext : ICefRequestContext = nil; const aCookiesPath : ustring = ''; aPersistSessionCookies : boolean = False) : boolean; overload; virtual;
procedure LoadURL(const aURL : ustring);
procedure LoadString(const aString : ustring; const aURL : ustring = '');
@ -562,18 +578,17 @@ type
property RenderHandle : THandle read FRenderCompHWND;
property FrameIsFocused : boolean read GetFrameIsFocused;
property Initialized : boolean read GetInitialized;
property RequestContextCache : string read GetRequestContextCache;
property RequestContextCache : ustring read GetRequestContextCache;
property RequestContextIsGlobal : boolean read GetRequestContextIsGlobal;
property CookiePrefs : integer read FCookiePrefs write SetCookiePrefs;
property ImagesPrefs : integer read FImagesPrefs write SetImagesPrefs;
property DocumentURL : string read GetDocumentURL;
property WindowName : string read FWindowName write FWindowName;
property DocumentURL : ustring read GetDocumentURL;
property ZoomLevel : double read GetZoomLevel write SetZoomLevel;
property ZoomPct : double read GetZoomPct write SetZoomPct;
property ZoomStep : byte read FZoomStep write SetZoomStep;
property WindowlessFrameRate : integer read GetWindowlessFrameRate write SetWindowlessFrameRate;
property CustomHeaderName : string read FCustomHeaderName write SetCustomHeaderName;
property CustomHeaderValue : string read FCustomHeaderValue write SetCustomHeaderValue;
property CustomHeaderName : ustring read FCustomHeaderName write SetCustomHeaderName;
property CustomHeaderValue : ustring read FCustomHeaderValue write SetCustomHeaderValue;
property DoNotTrack : boolean read FDoNotTrack write SetDoNotTrack;
property SendReferrer : boolean read FSendReferrer write SetSendReferrer;
property HyperlinkAuditing : boolean read FHyperlinkAuditing write SetHyperlinkAuditing;
@ -590,12 +605,12 @@ type
property ProxyType : integer read FProxyType write SetProxyType;
property ProxyScheme : TCefProxyScheme read FProxyScheme write SetProxyScheme;
property ProxyServer : string read FProxyServer write SetProxyServer;
property ProxyServer : ustring read FProxyServer write SetProxyServer;
property ProxyPort : integer read FProxyPort write SetProxyPort;
property ProxyUsername : string read FProxyUsername write SetProxyUsername;
property ProxyPassword : string read FProxyPassword write SetProxyPassword;
property ProxyScriptURL : string read FProxyScriptURL write SetProxyScriptURL;
property ProxyByPassList : string read FProxyByPassList write SetProxyByPassList;
property ProxyUsername : ustring read FProxyUsername write SetProxyUsername;
property ProxyPassword : ustring read FProxyPassword write SetProxyPassword;
property ProxyScriptURL : ustring read FProxyScriptURL write SetProxyScriptURL;
property ProxyByPassList : ustring read FProxyByPassList write SetProxyByPassList;
published
property OnTextResultAvailable : TOnTextResultAvailableEvent read FOnTextResultAvailable write FOnTextResultAvailable;
@ -603,9 +618,11 @@ type
property OnPrefsAvailable : TOnPrefsAvailableEvent read FOnPrefsAvailable write FOnPrefsAvailable;
property OnCookiesDeleted : TOnCookiesDeletedEvent read FOnCookiesDeleted write FOnCookiesDeleted;
property OnResolvedHostAvailable : TOnResolvedIPsAvailableEvent read FOnResolvedHostAvailable write FOnResolvedHostAvailable;
{$IFNDEF FPC}
property OnBrowserCompMsg : TOnCompMsgEvent read FOnBrowserCompMsg write FOnBrowserCompMsg;
property OnWidgetCompMsg : TOnCompMsgEvent read FOnWidgetCompMsg write FOnWidgetCompMsg;
property OnRenderCompMsg : TOnCompMsgEvent read FOnRenderCompMsg write FOnRenderCompMsg;
{$ENDIF}
// ICefClient
property OnProcessMessageReceived : TOnProcessMessageReceived read FOnProcessMessageReceived write FOnProcessMessageReceived;
@ -706,6 +723,10 @@ type
end;
{$IFDEF FPC}
procedure Register;
{$ENDIF}
implementation
uses
@ -715,7 +736,7 @@ uses
SysUtils, Math,
{$ENDIF}
uCEFBrowser, uCEFValue, uCEFDictionaryValue, uCEFStringMultimap, uCEFFrame,
uCEFApplication, uCEFProcessMessage, uCEFRequestContext, uOLEDragAndDrop,
uCEFApplication, uCEFProcessMessage, uCEFRequestContext, {$IFNDEF FPC}uOLEDragAndDrop,{$ENDIF}
uCEFPDFPrintCallback, uCEFResolveCallback, uCEFDeleteCookiesCallback, uCEFStringVisitor;
constructor TChromium.Create(AOwner: TComponent);
@ -746,19 +767,22 @@ begin
FCookiePrefs := CEF_CONTENT_SETTING_ALLOW;
FImagesPrefs := CEF_CONTENT_SETTING_ALLOW;
FZoomStep := ZOOM_STEP_DEF;
FWindowName := '';
{$IFNDEF FPC}
FOldBrowserCompWndPrc := nil;
FOldWidgetCompWndPrc := nil;
FOldRenderCompWndPrc := nil;
FBrowserCompHWND := 0;
FWidgetCompHWND := 0;
FRenderCompHWND := 0;
FBrowserCompStub := nil;
FWidgetCompStub := nil;
FRenderCompStub := nil;
{$ENDIF}
FBrowserCompHWND := 0;
FWidgetCompHWND := 0;
FRenderCompHWND := 0;
FDragOperations := DRAG_OPERATION_NONE;
{$IFNDEF FPC}
FDragDropManager := nil;
{$ENDIF}
FDropTargetCtrl := nil;
FDragAndDropInitialized := False;
@ -790,7 +814,9 @@ destructor TChromium.Destroy;
begin
try
try
{$IFNDEF FPC}
if (FDragDropManager <> nil) then FreeAndNil(FDragDropManager);
{$ENDIF}
if (FCompHandle <> 0) then
begin
@ -814,6 +840,7 @@ end;
procedure TChromium.BeforeDestruction;
begin
{$IFNDEF FPC}
if (FBrowserCompHWND <> 0) and (FOldBrowserCompWndPrc <> nil) then
begin
SetWindowLongPtr(FBrowserCompHWND, GWL_WNDPROC, NativeInt(FOldBrowserCompWndPrc));
@ -834,6 +861,7 @@ begin
FreeAndNilStub(FRenderCompStub);
FOldRenderCompWndPrc := nil;
end;
{$ENDIF}
DestroyClientHandler;
@ -875,13 +903,22 @@ begin
end;
procedure TChromium.AfterConstruction;
{$IFDEF FPC}
var
TempWndMethod : TWndMethod;
{$ENDIF}
begin
inherited AfterConstruction;
try
if not(csDesigning in ComponentState) then
begin
{$IFDEF FPC}
TempWndMethod := @WndProc;
FCompHandle := AllocateHWnd(TempWndMethod);
{$ELSE}
FCompHandle := AllocateHWnd(WndProc);
{$ENDIF}
FOptions := TChromiumOptions.Create;
FFontOptions := TChromiumFontOptions.Create;
FPDFPrintOptions := TPDFPrintOptions.Create;
@ -903,16 +940,16 @@ begin
FHandler := TCustomClientHandler.Create(Self,
MustCreateLoadHandler,
MustCreateFocusHandler,
MustCreateContextMenuHandler,
MustCreateDialogHandler,
MustCreateKeyboardHandler,
MustCreateDisplayHandler,
MustCreateDownloadHandler,
MustCreateJsDialogHandler,
True,
FIsOSR, // Create the Render Handler in OSR mode only
True,
MustCreateDragHandler,
MustCreateContextMenuHandler,
MustCreateDialogHandler,
MustCreateKeyboardHandler,
MustCreateDisplayHandler,
MustCreateDownloadHandler,
MustCreateJsDialogHandler,
True,
FIsOSR, // Create the Render Handler in OSR mode only
True,
MustCreateDragHandler,
MustCreateFindHandler);
Result := True;
@ -1039,15 +1076,17 @@ begin
FOnPrefsAvailable := nil;
FOnCookiesDeleted := nil;
FOnResolvedHostAvailable := nil;
{$IFNDEF FPC}
FOnBrowserCompMsg := nil;
FOnWidgetCompMsg := nil;
FOnRenderCompMsg := nil;
{$ENDIF}
end;
function TChromium.CreateBrowser(const aBrowserParent : TWinControl;
const aWindowName : string;
const aWindowName : ustring;
const aContext : ICefRequestContext;
const aCookiesPath : string;
const aCookiesPath : ustring;
aPersistSessionCookies : boolean) : boolean;
var
TempHandle : HWND;
@ -1069,9 +1108,9 @@ end;
function TChromium.CreateBrowser( aParentHandle : HWND;
aParentRect : TRect;
const aWindowName : string;
const aWindowName : ustring;
const aContext : ICefRequestContext;
const aCookiesPath : string;
const aCookiesPath : ustring;
aPersistSessionCookies : boolean) : boolean;
var
TempCookieManager : ICefCookieManager;
@ -1127,6 +1166,7 @@ procedure TChromium.InitializeDragAndDrop(const aDropTargetCtrl : TWinControl);
var
TempDropTarget : IDropTarget;
begin
{$IFNDEF FPC}
if FIsOSR and
not(FDragAndDropInitialized) and
(FDragDropManager = nil) and
@ -1146,6 +1186,7 @@ begin
FDragAndDropInitialized := True;
end;
{$ENDIF}
end;
function TChromium.ShareRequestContext(var aContext : ICefRequestContext;
@ -1394,7 +1435,7 @@ begin
end;
end;
procedure TChromium.GetPrintPDFSettings(var aSettings : TCefPdfPrintSettings; const aTitle, aURL : string);
procedure TChromium.GetPrintPDFSettings(var aSettings : TCefPdfPrintSettings; const aTitle, aURL : ustring);
begin
if (FPDFPrintOptions <> nil) then
begin
@ -1630,7 +1671,7 @@ begin
Result := 0;
end;
function TChromium.GetRequestContextCache : string;
function TChromium.GetRequestContextCache : ustring;
begin
if Initialized then
Result := FBrowser.host.RequestContext.CachePath
@ -1671,7 +1712,7 @@ begin
Result := FInitialized and not(FClosing) and (FBrowser <> nil);
end;
function TChromium.GetDocumentURL : string;
function TChromium.GetDocumentURL : ustring;
var
TempFrame : ICefFrame;
begin
@ -1877,7 +1918,7 @@ begin
end;
end;
procedure TChromium.SetProxyServer(const aValue : string);
procedure TChromium.SetProxyServer(const aValue : ustring);
begin
if (FProxyServer <> aValue) then
begin
@ -1895,7 +1936,7 @@ begin
end;
end;
procedure TChromium.SetProxyUsername(const aValue : string);
procedure TChromium.SetProxyUsername(const aValue : ustring);
begin
if (FProxyUsername <> aValue) then
begin
@ -1904,7 +1945,7 @@ begin
end;
end;
procedure TChromium.SetProxyPassword(const aValue : string);
procedure TChromium.SetProxyPassword(const aValue : ustring);
begin
if (FProxyPassword <> aValue) then
begin
@ -1913,7 +1954,7 @@ begin
end;
end;
procedure TChromium.SetProxyScriptURL(const aValue : string);
procedure TChromium.SetProxyScriptURL(const aValue : ustring);
begin
if (FProxyScriptURL <> aValue) then
begin
@ -1922,7 +1963,7 @@ begin
end;
end;
procedure TChromium.SetProxyByPassList(const aValue : string);
procedure TChromium.SetProxyByPassList(const aValue : ustring);
begin
if (FProxyByPassList <> aValue) then
begin
@ -1931,7 +1972,7 @@ begin
end;
end;
procedure TChromium.SetCustomHeaderName(const aValue : string);
procedure TChromium.SetCustomHeaderName(const aValue : ustring);
begin
if (FCustomHeaderName <> aValue) then
begin
@ -1940,7 +1981,7 @@ begin
end;
end;
procedure TChromium.SetCustomHeaderValue(const aValue : string);
procedure TChromium.SetCustomHeaderValue(const aValue : ustring);
begin
if (FCustomHeaderValue <> aValue) then
begin
@ -2203,9 +2244,9 @@ begin
hpDefaultPublicAndPrivateInterfaces :
UpdatePreference(aBrowser, 'webrtc.ip_handling_policy', 'default_public_and_private_interfaces');
hpDefaultPublicInterfaceOnly :
UpdatePreference(aBrowser, 'webrtc.ip_handling_policy', 'default_public_interface_only');
hpDefaultPublicInterfaceOnly :
UpdatePreference(aBrowser, 'webrtc.ip_handling_policy', 'default_public_interface_only');
hpDisableNonProxiedUDP :
UpdatePreference(aBrowser, 'webrtc.ip_handling_policy', 'disable_non_proxied_udp');
end;
@ -2293,7 +2334,7 @@ begin
end;
end;
function TChromium.UpdatePreference(const aBrowser: ICefBrowser; const aName : string; aValue : boolean) : boolean;
function TChromium.UpdatePreference(const aBrowser: ICefBrowser; const aName : ustring; aValue : boolean) : boolean;
var
TempError : ustring;
TempValue : ICefValue;
@ -2323,7 +2364,7 @@ begin
end;
end;
function TChromium.UpdatePreference(const aBrowser: ICefBrowser; const aName : string; aValue : integer) : boolean;
function TChromium.UpdatePreference(const aBrowser: ICefBrowser; const aName : ustring; aValue : integer) : boolean;
var
TempError : ustring;
TempValue : ICefValue;
@ -2348,7 +2389,7 @@ begin
end;
end;
function TChromium.UpdatePreference(const aBrowser: ICefBrowser; const aName : string; const aValue : double) : boolean;
function TChromium.UpdatePreference(const aBrowser: ICefBrowser; const aName : ustring; const aValue : double) : boolean;
var
TempError : ustring;
TempValue : ICefValue;
@ -2373,7 +2414,7 @@ begin
end;
end;
function TChromium.UpdatePreference(const aBrowser: ICefBrowser; const aName, aValue : string) : boolean;
function TChromium.UpdatePreference(const aBrowser: ICefBrowser; const aName, aValue : ustring) : boolean;
var
TempError : ustring;
TempValue : ICefValue;
@ -2666,33 +2707,33 @@ begin
assigned(FOnLoadingStateChange);
end;
function TChromium.MustCreateFocusHandler : boolean;
function TChromium.MustCreateFocusHandler : boolean;
begin
Result := assigned(FOnTakeFocus) or
assigned(FOnSetFocus) or
assigned(FOnGotFocus);
end;
function TChromium.MustCreateContextMenuHandler : boolean;
function TChromium.MustCreateContextMenuHandler : boolean;
begin
Result := assigned(FOnBeforeContextMenu) or
assigned(FOnRunContextMenu) or
assigned(FOnContextMenuCommand) or
assigned(FOnContextMenuDismissed);
end;
function TChromium.MustCreateDialogHandler : boolean;
function TChromium.MustCreateDialogHandler : boolean;
begin
Result := assigned(FOnFileDialog);
end;
function TChromium.MustCreateKeyboardHandler : boolean;
function TChromium.MustCreateKeyboardHandler : boolean;
begin
Result := assigned(FOnPreKeyEvent) or
assigned(FOnKeyEvent);
end;
function TChromium.MustCreateDisplayHandler : boolean;
function TChromium.MustCreateDisplayHandler : boolean;
begin
Result := assigned(FOnAddressChange) or
assigned(FOnTitleChange) or
@ -2704,31 +2745,31 @@ begin
assigned(FOnAutoResize) or
assigned(FOnLoadingProgressChange);
end;
function TChromium.MustCreateDownloadHandler : boolean;
function TChromium.MustCreateDownloadHandler : boolean;
begin
Result := assigned(FOnBeforeDownload) or
assigned(FOnDownloadUpdated);
end;
function TChromium.MustCreateJsDialogHandler : boolean;
begin
function TChromium.MustCreateJsDialogHandler : boolean;
begin
Result := assigned(FOnJsdialog) or
assigned(FOnBeforeUnloadDialog) or
assigned(FOnResetDialogState) or
assigned(FOnDialogClosed);
assigned(FOnBeforeUnloadDialog) or
assigned(FOnResetDialogState) or
assigned(FOnDialogClosed);
end;
function TChromium.MustCreateDragHandler : boolean;
begin
function TChromium.MustCreateDragHandler : boolean;
begin
Result := assigned(FOnDragEnter) or
assigned(FOnDraggableRegionsChanged);
end;
assigned(FOnDraggableRegionsChanged);
end;
function TChromium.MustCreateFindHandler : boolean;
begin
begin
Result := assigned(FOnFindResult);
end;
end;
procedure TChromium.PrefsAvailableMsg(var aMessage : TMessage);
begin
@ -2740,7 +2781,7 @@ begin
Result := (FCompHandle <> 0) and PostMessage(FCompHandle, aMsg, wParam, lParam);
end;
procedure TChromium.doTextResultAvailable(const aText : string);
procedure TChromium.doTextResultAvailable(const aText : ustring);
begin
if assigned(FOnTextResultAvailable) then FOnTextResultAvailable(self, aText);
end;
@ -2861,6 +2902,7 @@ begin
end;
end;
{$IFNDEF FPC}
procedure TChromium.BrowserCompWndProc(var aMessage: TMessage);
var
TempHandled : boolean;
@ -2932,6 +2974,7 @@ begin
if CustomExceptionHandler('TChromium.RenderCompWndProc', e) then raise;
end;
end;
{$ENDIF}
function TChromium.doOnClose(const browser: ICefBrowser): Boolean;
begin
@ -3448,6 +3491,7 @@ begin
if (FWidgetCompHWND <> 0) then
FRenderCompHWND := FindWindowEx(FWidgetCompHWND, 0, 'Chrome_RenderWidgetHostHWND', 'Chrome Legacy Window');
{$IFNDEF FPC}
if assigned(FOnBrowserCompMsg) and (FBrowserCompHWND <> 0) and (FOldBrowserCompWndPrc = nil) then
begin
CreateStub(BrowserCompWndProc, FBrowserCompStub);
@ -3471,6 +3515,7 @@ begin
GWL_WNDPROC,
NativeInt(FRenderCompStub)));
end;
{$ENDIF}
end;
if Assigned(FOnRenderViewReady) then FOnRenderViewReady(Self, browser);
@ -3557,7 +3602,7 @@ function TChromium.doOnStartDragging(const browser : ICefBrowser;
y : Integer): Boolean;
begin
Result := False;
{$IFNDEF FPC}
if FDragAndDropInitialized and
FDragDropManager.CloneDragData(dragData, allowedOps) then
begin
@ -3566,6 +3611,7 @@ begin
end;
if Assigned(FOnStartDragging) then FOnStartDragging(Self, browser, dragData, allowedOps, x, y, Result);
{$ENDIF}
end;
procedure TChromium.DelayedDragging;
@ -3573,6 +3619,7 @@ var
TempOperation : TCefDragOperation;
TempPoint : TPoint;
begin
{$IFNDEF FPC}
if FDragAndDropInitialized and (FDropTargetCtrl <> nil) and (GlobalCEFApp <> nil) then
begin
FDragOperations := DRAG_OPERATION_NONE;
@ -3586,6 +3633,7 @@ begin
DragSourceEndedAt(TempPoint.x, TempPoint.y, TempOperation);
DragSourceSystemDragEnded;
end;
{$ENDIF}
end;
procedure TChromium.doOnStatusMessage(const browser: ICefBrowser; const value: ustring);
@ -3832,4 +3880,12 @@ begin
if Initialized then FBrowser.Host.DragSourceSystemDragEnded;
end;
{$IFDEF FPC}
procedure Register;
begin
{$I tchromium.lrs}
RegisterComponents('Chromium', [TChromium]);
end;
{$ENDIF}
end.

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFChromiumEvents;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -153,7 +157,7 @@ type
TOnFindResult = procedure(Sender: TObject; const browser: ICefBrowser; identifier, count: Integer; const selectionRect: PCefRect; activeMatchOrdinal: Integer; finalUpdate: Boolean) of Object;
// Custom
TOnTextResultAvailableEvent = procedure(Sender: TObject; const aText : string) of object;
TOnTextResultAvailableEvent = procedure(Sender: TObject; const aText : ustring) of object;
TOnPdfPrintFinishedEvent = procedure(Sender: TObject; aResultOK : boolean) of object;
TOnPrefsAvailableEvent = procedure(Sender: TObject; aResultOK : boolean) of object;
TOnCookiesDeletedEvent = procedure(Sender: TObject; numDeleted : integer) of object;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFChromiumFontOptions;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFChromiumOptions;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFChromiumWindow;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -48,11 +52,16 @@ interface
uses
{$IFDEF DELPHI16_UP}
{$IFDEF MSWINDOWS}WinApi.Windows, WinApi.Messages,{$ENDIF} System.Classes,
{$IFDEF MSWINDOWS}WinApi.Windows, WinApi.Messages,{$ENDIF} System.Classes,
{$ELSE}
Windows, Messages, Classes,
Windows, Classes, Forms, Controls, Graphics,
{$IFDEF FPC}
LCLProc, LCLType, LCLIntf, LResources, LMessages, InterfaceBase,
{$ELSE}
Messages,
{$ENDIF}
{$ENDIF}
uCEFWindowParent, uCEFChromium, uCEFInterfaces, uCEFConstants;
uCEFWindowParent, uCEFChromium, uCEFInterfaces, uCEFConstants, uCEFTypes;
type
TChromiumWindow = class(TCEFWindowParent)
@ -78,7 +87,7 @@ type
procedure AfterConstruction; override;
function CreateBrowser : boolean;
procedure CloseBrowser(aForceClose : boolean);
procedure LoadURL(const aURL : string);
procedure LoadURL(const aURL : ustring);
procedure NotifyMoveOrResizeStarted;
property ChromiumBrowser : TChromium read FChromium;
@ -90,6 +99,10 @@ type
property OnAfterCreated : TNotifyEvent read FOnAfterCreated write FOnAfterCreated;
end;
{$IFDEF FPC}
procedure Register;
{$ENDIF}
implementation
uses
@ -116,9 +129,9 @@ begin
if not(csDesigning in ComponentState) then
begin
FChromium := TChromium.Create(self);
FChromium.OnClose := WebBrowser_OnClose;
FChromium.OnBeforeClose := WebBrowser_OnBeforeClose;
FChromium.OnAfterCreated := WebBrowser_OnAfterCreated;
FChromium.OnClose := {$IFDEF FPC}@{$ENDIF}WebBrowser_OnClose;
FChromium.OnBeforeClose := {$IFDEF FPC}@{$ENDIF}WebBrowser_OnBeforeClose;
FChromium.OnAfterCreated := {$IFDEF FPC}@{$ENDIF}WebBrowser_OnAfterCreated;
end;
end;
@ -184,7 +197,7 @@ begin
if (FChromium <> nil) then FChromium.CloseBrowser(aForceClose);
end;
procedure TChromiumWindow.LoadURL(const aURL : string);
procedure TChromiumWindow.LoadURL(const aURL : ustring);
begin
if not(csDesigning in ComponentState) and (FChromium <> nil) then
FChromium.LoadURL(aURL);
@ -195,4 +208,12 @@ begin
if (FChromium <> nil) then FChromium.NotifyMoveOrResizeStarted;
end;
{$IFDEF FPC}
procedure Register;
begin
{$I tchromiumwindow.lrs}
RegisterComponents('Chromium', [TChromiumWindow]);
end;
{$ENDIF}
end.

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFClient;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -491,20 +495,20 @@ begin
with PCefClient(FData)^ do
begin
get_context_menu_handler := cef_client_own_get_context_menu_handler;
get_dialog_handler := cef_client_own_get_dialog_handler;
get_display_handler := cef_client_own_get_display_handler;
get_download_handler := cef_client_own_get_download_handler;
get_drag_handler := cef_client_own_get_drag_handler;
get_find_handler := cef_client_own_get_find_handler;
get_focus_handler := cef_client_own_get_focus_handler;
get_jsdialog_handler := cef_client_own_get_jsdialog_handler;
get_keyboard_handler := cef_client_own_get_keyboard_handler;
get_life_span_handler := cef_client_own_get_life_span_handler;
get_load_handler := cef_client_own_get_load_handler;
get_render_handler := cef_client_own_get_get_render_handler;
get_request_handler := cef_client_own_get_request_handler;
on_process_message_received := cef_client_own_on_process_message_received;
get_context_menu_handler := {$IFDEF FPC}@{$ENDIF}cef_client_own_get_context_menu_handler;
get_dialog_handler := {$IFDEF FPC}@{$ENDIF}cef_client_own_get_dialog_handler;
get_display_handler := {$IFDEF FPC}@{$ENDIF}cef_client_own_get_display_handler;
get_download_handler := {$IFDEF FPC}@{$ENDIF}cef_client_own_get_download_handler;
get_drag_handler := {$IFDEF FPC}@{$ENDIF}cef_client_own_get_drag_handler;
get_find_handler := {$IFDEF FPC}@{$ENDIF}cef_client_own_get_find_handler;
get_focus_handler := {$IFDEF FPC}@{$ENDIF}cef_client_own_get_focus_handler;
get_jsdialog_handler := {$IFDEF FPC}@{$ENDIF}cef_client_own_get_jsdialog_handler;
get_keyboard_handler := {$IFDEF FPC}@{$ENDIF}cef_client_own_get_keyboard_handler;
get_life_span_handler := {$IFDEF FPC}@{$ENDIF}cef_client_own_get_life_span_handler;
get_load_handler := {$IFDEF FPC}@{$ENDIF}cef_client_own_get_load_handler;
get_render_handler := {$IFDEF FPC}@{$ENDIF}cef_client_own_get_get_render_handler;
get_request_handler := {$IFDEF FPC}@{$ENDIF}cef_client_own_get_request_handler;
on_process_message_received := {$IFDEF FPC}@{$ENDIF}cef_client_own_on_process_message_received;
end;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFCommandLine;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -94,7 +98,7 @@ var
TempArgument : TCefString;
begin
TempArgument := CefString(argument);
PCefCommandLine(FData).append_argument(PCefCommandLine(FData), @TempArgument);
PCefCommandLine(FData)^.append_argument(PCefCommandLine(FData), @TempArgument);
end;
procedure TCefCommandLineRef.AppendSwitch(const name: ustring);
@ -102,7 +106,7 @@ var
TempName : TCefString;
begin
TempName := CefString(name);
PCefCommandLine(FData).append_switch(PCefCommandLine(FData), @TempName);
PCefCommandLine(FData)^.append_switch(PCefCommandLine(FData), @TempName);
end;
procedure TCefCommandLineRef.AppendSwitchWithValue(const name, value: ustring);
@ -111,12 +115,12 @@ var
begin
TempName := CefString(name);
TempValue := CefString(value);
PCefCommandLine(FData).append_switch_with_value(PCefCommandLine(FData), @TempName, @TempValue);
PCefCommandLine(FData)^.append_switch_with_value(PCefCommandLine(FData), @TempName, @TempValue);
end;
function TCefCommandLineRef.Copy: ICefCommandLine;
begin
Result := UnWrap(PCefCommandLine(FData).copy(PCefCommandLine(FData)));
Result := UnWrap(PCefCommandLine(FData)^.copy(PCefCommandLine(FData)));
end;
procedure TCefCommandLineRef.GetArguments(var arguments : TStrings);
@ -126,7 +130,7 @@ begin
if (arguments <> nil) then
begin
TempSL := TCefStringListOwn.Create;
PCefCommandLine(FData).get_arguments(PCefCommandLine(FData), TempSL.Handle);
PCefCommandLine(FData)^.get_arguments(PCefCommandLine(FData), TempSL.Handle);
TempSL.CopyToStrings(arguments);
end;
end;
@ -138,26 +142,26 @@ begin
if (args <> nil) then
begin
TempSL := TCefStringListOwn.Create;
PCefCommandLine(FData).get_argv(PCefCommandLine(FData), TempSL.Handle);
PCefCommandLine(FData)^.get_argv(PCefCommandLine(FData), TempSL.Handle);
TempSL.CopyToStrings(args);
end;
end;
function TCefCommandLineRef.GetCommandLineString: ustring;
begin
Result := CefStringFreeAndGet(PCefCommandLine(FData).get_command_line_string(PCefCommandLine(FData)));
Result := CefStringFreeAndGet(PCefCommandLine(FData)^.get_command_line_string(PCefCommandLine(FData)));
end;
function TCefCommandLineRef.GetProgram: ustring;
begin
Result := CefStringFreeAndGet(PCefCommandLine(FData).get_program(PCefCommandLine(FData)));
Result := CefStringFreeAndGet(PCefCommandLine(FData)^.get_program(PCefCommandLine(FData)));
end;
procedure TCefCommandLineRef.GetSwitches(var switches: TStrings);
var
TempStrMap : ICefStringMap;
i, j : NativeUInt;
TempKey, TempValue : string;
TempKey, TempValue : ustring;
begin
TempStrMap := nil;
@ -166,7 +170,7 @@ begin
if (switches <> nil) then
begin
TempStrMap := TCefStringMapOwn.Create;
PCefCommandLine(FData).get_switches(PCefCommandLine(FData), TempStrMap.Handle);
PCefCommandLine(FData)^.get_switches(PCefCommandLine(FData), TempStrMap.Handle);
i := 0;
j := TempStrMap.Size;
@ -202,17 +206,17 @@ var
TempName : TCefString;
begin
TempName := CefString(name);
Result := CefStringFreeAndGet(PCefCommandLine(FData).get_switch_value(PCefCommandLine(FData), @TempName));
Result := CefStringFreeAndGet(PCefCommandLine(FData)^.get_switch_value(PCefCommandLine(FData), @TempName));
end;
class function TCefCommandLineRef.Global: ICefCommandLine;
begin
Result := UnWrap(cef_command_line_get_global);
Result := UnWrap(cef_command_line_get_global());
end;
function TCefCommandLineRef.HasArguments: Boolean;
begin
Result := PCefCommandLine(FData).has_arguments(PCefCommandLine(FData)) <> 0;
Result := PCefCommandLine(FData)^.has_arguments(PCefCommandLine(FData)) <> 0;
end;
function TCefCommandLineRef.HasSwitch(const name: ustring): Boolean;
@ -220,17 +224,17 @@ var
TempName : TCefString;
begin
TempName := CefString(name);
Result := PCefCommandLine(FData).has_switch(PCefCommandLine(FData), @TempName) <> 0;
Result := PCefCommandLine(FData)^.has_switch(PCefCommandLine(FData), @TempName) <> 0;
end;
function TCefCommandLineRef.HasSwitches: Boolean;
begin
Result := PCefCommandLine(FData).has_switches(PCefCommandLine(FData)) <> 0;
Result := PCefCommandLine(FData)^.has_switches(PCefCommandLine(FData)) <> 0;
end;
procedure TCefCommandLineRef.InitFromArgv(argc: Integer; const argv: PPAnsiChar);
begin
PCefCommandLine(FData).init_from_argv(PCefCommandLine(FData), argc, argv);
PCefCommandLine(FData)^.init_from_argv(PCefCommandLine(FData), argc, argv);
end;
procedure TCefCommandLineRef.InitFromString(const commandLine: ustring);
@ -238,22 +242,22 @@ var
TempCommandLine : TCefString;
begin
TempCommandLine := CefString(commandLine);
PCefCommandLine(FData).init_from_string(PCefCommandLine(FData), @TempCommandLine);
PCefCommandLine(FData)^.init_from_string(PCefCommandLine(FData), @TempCommandLine);
end;
function TCefCommandLineRef.IsReadOnly: Boolean;
begin
Result := PCefCommandLine(FData).is_read_only(PCefCommandLine(FData)) <> 0;
Result := PCefCommandLine(FData)^.is_read_only(PCefCommandLine(FData)) <> 0;
end;
function TCefCommandLineRef.IsValid: Boolean;
begin
Result := PCefCommandLine(FData).is_valid(PCefCommandLine(FData)) <> 0;
Result := PCefCommandLine(FData)^.is_valid(PCefCommandLine(FData)) <> 0;
end;
class function TCefCommandLineRef.New: ICefCommandLine;
begin
Result := UnWrap(cef_command_line_create);
Result := UnWrap(cef_command_line_create());
end;
procedure TCefCommandLineRef.PrependWrapper(const wrapper: ustring);
@ -261,12 +265,12 @@ var
TempWrapper : TCefString;
begin
TempWrapper := CefString(wrapper);
PCefCommandLine(FData).prepend_wrapper(PCefCommandLine(FData), @TempWrapper);
PCefCommandLine(FData)^.prepend_wrapper(PCefCommandLine(FData), @TempWrapper);
end;
procedure TCefCommandLineRef.Reset;
begin
PCefCommandLine(FData).reset(PCefCommandLine(FData));
PCefCommandLine(FData)^.reset(PCefCommandLine(FData));
end;
procedure TCefCommandLineRef.SetProgram(const prog: ustring);
@ -274,7 +278,7 @@ var
TempProgram : TCefString;
begin
TempProgram := CefString(prog);
PCefCommandLine(FData).set_program(PCefCommandLine(FData), @TempProgram);
PCefCommandLine(FData)^.set_program(PCefCommandLine(FData), @TempProgram);
end;
class function TCefCommandLineRef.UnWrap(data: Pointer): ICefCommandLine;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFCompletionCallback;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -89,7 +93,7 @@ constructor TCefCompletionCallbackOwn.Create;
begin
inherited CreateData(SizeOf(TCefCompletionCallback));
PCefCompletionCallback(FData).on_complete := cef_completion_callback_on_complete;
PCefCompletionCallback(FData)^.on_complete := {$IFDEF FPC}@{$ENDIF}cef_completion_callback_on_complete;
end;
procedure TCefCompletionCallbackOwn.OnComplete;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFConstants;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFContextMenuHandler;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -166,10 +170,10 @@ begin
with PCefContextMenuHandler(FData)^ do
begin
on_before_context_menu := cef_context_menu_handler_on_before_context_menu;
run_context_menu := cef_context_menu_handler_run_context_menu;
on_context_menu_command := cef_context_menu_handler_on_context_menu_command;
on_context_menu_dismissed := cef_context_menu_handler_on_context_menu_dismissed;
on_before_context_menu := {$IFDEF FPC}@{$ENDIF}cef_context_menu_handler_on_before_context_menu;
run_context_menu := {$IFDEF FPC}@{$ENDIF}cef_context_menu_handler_run_context_menu;
on_context_menu_command := {$IFDEF FPC}@{$ENDIF}cef_context_menu_handler_on_context_menu_command;
on_context_menu_dismissed := {$IFDEF FPC}@{$ENDIF}cef_context_menu_handler_on_context_menu_dismissed;
end;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFContextMenuParams;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -98,7 +102,7 @@ begin
begin
TempSL := TCefStringListOwn.Create;
if (PCefContextMenuParams(FData).get_dictionary_suggestions(PCefContextMenuParams(FData), TempSL.Handle) <> 0) then
if (PCefContextMenuParams(FData)^.get_dictionary_suggestions(PCefContextMenuParams(FData), TempSL.Handle) <> 0) then
begin
TempSL.CopyToStrings(suggestions);
Result := True;
@ -108,102 +112,102 @@ end;
function TCefContextMenuParamsRef.GetEditStateFlags: TCefContextMenuEditStateFlags;
begin
Result := PCefContextMenuParams(FData).get_edit_state_flags(PCefContextMenuParams(FData));
Result := PCefContextMenuParams(FData)^.get_edit_state_flags(PCefContextMenuParams(FData));
end;
function TCefContextMenuParamsRef.GetFrameCharset: ustring;
begin
Result := CefStringFreeAndGet(PCefContextMenuParams(FData).get_frame_charset(PCefContextMenuParams(FData)));
Result := CefStringFreeAndGet(PCefContextMenuParams(FData)^.get_frame_charset(PCefContextMenuParams(FData)));
end;
function TCefContextMenuParamsRef.GetFrameUrl: ustring;
begin
Result := CefStringFreeAndGet(PCefContextMenuParams(FData).get_frame_url(PCefContextMenuParams(FData)));
Result := CefStringFreeAndGet(PCefContextMenuParams(FData)^.get_frame_url(PCefContextMenuParams(FData)));
end;
function TCefContextMenuParamsRef.GetLinkUrl: ustring;
begin
Result := CefStringFreeAndGet(PCefContextMenuParams(FData).get_link_url(PCefContextMenuParams(FData)));
Result := CefStringFreeAndGet(PCefContextMenuParams(FData)^.get_link_url(PCefContextMenuParams(FData)));
end;
function TCefContextMenuParamsRef.GetMediaStateFlags: TCefContextMenuMediaStateFlags;
begin
Result := PCefContextMenuParams(FData).get_media_state_flags(PCefContextMenuParams(FData));
Result := PCefContextMenuParams(FData)^.get_media_state_flags(PCefContextMenuParams(FData));
end;
function TCefContextMenuParamsRef.GetMediaType: TCefContextMenuMediaType;
begin
Result := PCefContextMenuParams(FData).get_media_type(PCefContextMenuParams(FData));
Result := PCefContextMenuParams(FData)^.get_media_type(PCefContextMenuParams(FData));
end;
function TCefContextMenuParamsRef.GetMisspelledWord: ustring;
begin
Result := CefStringFreeAndGet(PCefContextMenuParams(FData).get_misspelled_word(PCefContextMenuParams(FData)));
Result := CefStringFreeAndGet(PCefContextMenuParams(FData)^.get_misspelled_word(PCefContextMenuParams(FData)));
end;
function TCefContextMenuParamsRef.GetTitleText: ustring;
begin
Result := CefStringFreeAndGet(PCefContextMenuParams(FData).get_title_text(PCefContextMenuParams(FData)));
Result := CefStringFreeAndGet(PCefContextMenuParams(FData)^.get_title_text(PCefContextMenuParams(FData)));
end;
function TCefContextMenuParamsRef.GetPageUrl: ustring;
begin
Result := CefStringFreeAndGet(PCefContextMenuParams(FData).get_page_url(PCefContextMenuParams(FData)));
Result := CefStringFreeAndGet(PCefContextMenuParams(FData)^.get_page_url(PCefContextMenuParams(FData)));
end;
function TCefContextMenuParamsRef.GetSelectionText: ustring;
begin
Result := CefStringFreeAndGet(PCefContextMenuParams(FData).get_selection_text(PCefContextMenuParams(FData)));
Result := CefStringFreeAndGet(PCefContextMenuParams(FData)^.get_selection_text(PCefContextMenuParams(FData)));
end;
function TCefContextMenuParamsRef.GetSourceUrl: ustring;
begin
Result := CefStringFreeAndGet(PCefContextMenuParams(FData).get_source_url(PCefContextMenuParams(FData)));
Result := CefStringFreeAndGet(PCefContextMenuParams(FData)^.get_source_url(PCefContextMenuParams(FData)));
end;
function TCefContextMenuParamsRef.GetTypeFlags: TCefContextMenuTypeFlags;
begin
Result := PCefContextMenuParams(FData).get_type_flags(PCefContextMenuParams(FData));
Result := PCefContextMenuParams(FData)^.get_type_flags(PCefContextMenuParams(FData));
end;
function TCefContextMenuParamsRef.GetUnfilteredLinkUrl: ustring;
begin
Result := CefStringFreeAndGet(PCefContextMenuParams(FData).get_unfiltered_link_url(PCefContextMenuParams(FData)));
Result := CefStringFreeAndGet(PCefContextMenuParams(FData)^.get_unfiltered_link_url(PCefContextMenuParams(FData)));
end;
function TCefContextMenuParamsRef.GetXCoord: Integer;
begin
Result := PCefContextMenuParams(FData).get_xcoord(PCefContextMenuParams(FData));
Result := PCefContextMenuParams(FData)^.get_xcoord(PCefContextMenuParams(FData));
end;
function TCefContextMenuParamsRef.GetYCoord: Integer;
begin
Result := PCefContextMenuParams(FData).get_ycoord(PCefContextMenuParams(FData));
Result := PCefContextMenuParams(FData)^.get_ycoord(PCefContextMenuParams(FData));
end;
function TCefContextMenuParamsRef.IsCustomMenu: Boolean;
begin
Result := PCefContextMenuParams(FData).is_custom_menu(PCefContextMenuParams(FData)) <> 0;
Result := PCefContextMenuParams(FData)^.is_custom_menu(PCefContextMenuParams(FData)) <> 0;
end;
function TCefContextMenuParamsRef.IsEditable: Boolean;
begin
Result := PCefContextMenuParams(FData).is_editable(PCefContextMenuParams(FData)) <> 0;
Result := PCefContextMenuParams(FData)^.is_editable(PCefContextMenuParams(FData)) <> 0;
end;
function TCefContextMenuParamsRef.IsPepperMenu: Boolean;
begin
Result := PCefContextMenuParams(FData).is_pepper_menu(PCefContextMenuParams(FData)) <> 0;
Result := PCefContextMenuParams(FData)^.is_pepper_menu(PCefContextMenuParams(FData)) <> 0;
end;
function TCefContextMenuParamsRef.IsSpellCheckEnabled: Boolean;
begin
Result := PCefContextMenuParams(FData).is_spell_check_enabled(PCefContextMenuParams(FData)) <> 0;
Result := PCefContextMenuParams(FData)^.is_spell_check_enabled(PCefContextMenuParams(FData)) <> 0;
end;
function TCefContextMenuParamsRef.HasImageContents: Boolean;
begin
Result := PCefContextMenuParams(FData).has_image_contents(PCefContextMenuParams(FData)) <> 0;
Result := PCefContextMenuParams(FData)^.has_image_contents(PCefContextMenuParams(FData)) <> 0;
end;
class function TCefContextMenuParamsRef.UnWrap(data: Pointer): ICefContextMenuParams;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFCookieManager;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -108,11 +112,11 @@ function TCefCookieManagerRef.DeleteCookies(const url : ustring;
const cookieName : ustring;
const callback : ICefDeleteCookiesCallback): Boolean;
var
u, n: TCefString;
TempURL, TempName : TCefString;
begin
u := CefString(url);
n := CefString(cookieName);
Result := PCefCookieManager(FData).delete_cookies(PCefCookieManager(FData), @u, @n, CefGetData(callback)) <> 0;
TempURL := CefString(url);
TempName := CefString(cookieName);
Result := PCefCookieManager(FData)^.delete_cookies(PCefCookieManager(FData), @TempURL, @TempName, CefGetData(callback)) <> 0;
end;
function TCefCookieManagerRef.DeleteCookiesProc(const url : ustring;
@ -124,7 +128,7 @@ end;
function TCefCookieManagerRef.FlushStore(const handler: ICefCompletionCallback): Boolean;
begin
Result := PCefCookieManager(FData).flush_store(PCefCookieManager(FData), CefGetData(handler)) <> 0;
Result := PCefCookieManager(FData)^.flush_store(PCefCookieManager(FData), CefGetData(handler)) <> 0;
end;
function TCefCookieManagerRef.FlushStoreProc(const proc: TCefCompletionCallbackProc): Boolean;
@ -139,7 +143,7 @@ end;
class function TCefCookieManagerRef.Blocking : ICefCookieManager;
begin
Result := UnWrap(cef_cookie_manager_get_blocking_manager);
Result := UnWrap(cef_cookie_manager_get_blocking_manager());
end;
class function TCefCookieManagerRef.GlobalProc(const callback: TCefCompletionCallbackProc): ICefCookieManager;
@ -171,7 +175,7 @@ begin
else
FillChar(cook.expires, SizeOf(TCefTime), 0);
Result := PCefCookieManager(FData).set_cookie(PCefCookieManager(FData), @str, @cook, CefGetData(callback)) <> 0;
Result := PCefCookieManager(FData)^.set_cookie(PCefCookieManager(FData), @str, @cook, CefGetData(callback)) <> 0;
end;
function TCefCookieManagerRef.SetCookieProc(const url, name, value, domain, path: ustring;
@ -210,9 +214,9 @@ begin
TempSL := TCefStringListOwn.Create;
TempSL.AddStrings(schemes);
PCefCookieManager(FData).set_supported_schemes(PCefCookieManager(FData),
TempSL.Handle,
CefGetData(callback));
PCefCookieManager(FData)^.set_supported_schemes(PCefCookieManager(FData),
TempSL.Handle,
CefGetData(callback));
finally
TempSL := nil;
end;
@ -233,7 +237,7 @@ end;
function TCefCookieManagerRef.VisitAllCookies(const visitor: ICefCookieVisitor): Boolean;
begin
Result := PCefCookieManager(FData).visit_all_cookies(PCefCookieManager(FData), CefGetData(visitor)) <> 0;
Result := PCefCookieManager(FData)^.visit_all_cookies(PCefCookieManager(FData), CefGetData(visitor)) <> 0;
end;
function TCefCookieManagerRef.VisitAllCookiesProc(const visitor: TCefCookieVisitorProc): Boolean;
@ -245,10 +249,10 @@ function TCefCookieManagerRef.VisitUrlCookies(const url : ustring;
includeHttpOnly : Boolean;
const visitor : ICefCookieVisitor): Boolean;
var
str : TCefString;
TempURL : TCefString;
begin
str := CefString(url);
Result := PCefCookieManager(FData).visit_url_cookies(PCefCookieManager(FData), @str, Ord(includeHttpOnly), CefGetData(visitor)) <> 0;
TempURL := CefString(url);
Result := PCefCookieManager(FData)^.visit_url_cookies(PCefCookieManager(FData), @TempURL, Ord(includeHttpOnly), CefGetData(visitor)) <> 0;
end;
function TCefCookieManagerRef.VisitUrlCookiesProc(const url : ustring;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFCookieVisitor;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -86,21 +90,21 @@ begin
Result := Ord(True);
TempObject := CefGetObject(self);
if (cookie.has_expires <> 0) then
exp := CefTimeToDateTime(cookie.expires)
if (cookie^.has_expires <> 0) then
exp := CefTimeToDateTime(cookie^.expires)
else
exp := 0;
if (TempObject <> nil) and (TempObject is TCefCookieVisitorOwn) then
Result := Ord(TCefCookieVisitorOwn(TempObject).visit(CefString(@cookie.name),
CefString(@cookie.value),
CefString(@cookie.domain),
CefString(@cookie.path),
Boolean(cookie.secure),
Boolean(cookie.httponly),
Boolean(cookie.has_expires),
CefTimeToDateTime(cookie.creation),
CefTimeToDateTime(cookie.last_access),
Result := Ord(TCefCookieVisitorOwn(TempObject).visit(CefString(@cookie^.name),
CefString(@cookie^.value),
CefString(@cookie^.domain),
CefString(@cookie^.path),
Boolean(cookie^.secure),
Boolean(cookie^.httponly),
Boolean(cookie^.has_expires),
CefTimeToDateTime(cookie^.creation),
CefTimeToDateTime(cookie^.last_access),
exp,
count,
total,
@ -115,7 +119,7 @@ constructor TCefCookieVisitorOwn.Create;
begin
inherited CreateData(SizeOf(TCefCookieVisitor));
PCefCookieVisitor(FData)^.visit := cef_cookie_visitor_visit;
PCefCookieVisitor(FData)^.visit := {$IFDEF FPC}@{$ENDIF}cef_cookie_visitor_visit;
end;
function TCefCookieVisitorOwn.visit(const name, value, domain, path: ustring;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFCustomStreamReader;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -142,11 +146,11 @@ begin
with PCefReadHandler(FData)^ do
begin
read := cef_stream_reader_read;
seek := cef_stream_reader_seek;
tell := cef_stream_reader_tell;
eof := cef_stream_reader_eof;
may_block := cef_stream_reader_may_block;
read := {$IFDEF FPC}@{$ENDIF}cef_stream_reader_read;
seek := {$IFDEF FPC}@{$ENDIF}cef_stream_reader_seek;
tell := {$IFDEF FPC}@{$ENDIF}cef_stream_reader_tell;
eof := {$IFDEF FPC}@{$ENDIF}cef_stream_reader_eof;
may_block := {$IFDEF FPC}@{$ENDIF}cef_stream_reader_may_block;
end;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFDeleteCookiesCallback;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -106,7 +110,7 @@ constructor TCefDeleteCookiesCallbackOwn.Create;
begin
inherited CreateData(SizeOf(TCefDeleteCookiesCallback));
PCefDeleteCookiesCallback(FData).on_complete := cef_delete_cookie_callback_on_complete;
PCefDeleteCookiesCallback(FData)^.on_complete := {$IFDEF FPC}@{$ENDIF}cef_delete_cookie_callback_on_complete;
end;
// TCefFastDeleteCookiesCallback

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFDialogHandler;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -135,7 +139,7 @@ constructor TCefDialogHandlerOwn.Create;
begin
inherited CreateData(SizeOf(TCefDialogHandler));
PCefDialogHandler(FData).on_file_dialog := cef_dialog_handler_on_file_dialog;
PCefDialogHandler(FData)^.on_file_dialog := {$IFDEF FPC}@{$ENDIF}cef_dialog_handler_on_file_dialog;
end;
function TCefDialogHandlerOwn.OnFileDialog(const browser : ICefBrowser;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFDictionaryValue;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -99,52 +103,52 @@ uses
function TCefDictionaryValueRef.Clear: Boolean;
begin
Result := PCefDictionaryValue(FData).clear(PCefDictionaryValue(FData)) <> 0;
Result := PCefDictionaryValue(FData)^.clear(PCefDictionaryValue(FData)) <> 0;
end;
function TCefDictionaryValueRef.Copy(excludeEmptyChildren: Boolean): ICefDictionaryValue;
begin
Result := UnWrap(PCefDictionaryValue(FData).copy(PCefDictionaryValue(FData), Ord(excludeEmptyChildren)));
Result := UnWrap(PCefDictionaryValue(FData)^.copy(PCefDictionaryValue(FData), Ord(excludeEmptyChildren)));
end;
function TCefDictionaryValueRef.GetBinary(const key: ustring): ICefBinaryValue;
var
k: TCefString;
TempKey : TCefString;
begin
k := CefString(key);
Result := TCefBinaryValueRef.UnWrap(PCefDictionaryValue(FData).get_binary(PCefDictionaryValue(FData), @k));
TempKey := CefString(key);
Result := TCefBinaryValueRef.UnWrap(PCefDictionaryValue(FData)^.get_binary(PCefDictionaryValue(FData), @TempKey));
end;
function TCefDictionaryValueRef.GetBool(const key: ustring): Boolean;
var
k: TCefString;
TempKey : TCefString;
begin
k := CefString(key);
Result := PCefDictionaryValue(FData).get_bool(PCefDictionaryValue(FData), @k) <> 0;
TempKey := CefString(key);
Result := PCefDictionaryValue(FData)^.get_bool(PCefDictionaryValue(FData), @TempKey) <> 0;
end;
function TCefDictionaryValueRef.GetDictionary(const key: ustring): ICefDictionaryValue;
var
k: TCefString;
TempKey : TCefString;
begin
k := CefString(key);
Result := UnWrap(PCefDictionaryValue(FData).get_dictionary(PCefDictionaryValue(FData), @k));
TempKey := CefString(key);
Result := UnWrap(PCefDictionaryValue(FData)^.get_dictionary(PCefDictionaryValue(FData), @TempKey));
end;
function TCefDictionaryValueRef.GetDouble(const key: ustring): Double;
var
k: TCefString;
TempKey : TCefString;
begin
k := CefString(key);
Result := PCefDictionaryValue(FData).get_double(PCefDictionaryValue(FData), @k);
TempKey := CefString(key);
Result := PCefDictionaryValue(FData)^.get_double(PCefDictionaryValue(FData), @TempKey);
end;
function TCefDictionaryValueRef.GetInt(const key: ustring): Integer;
var
k: TCefString;
TempKey : TCefString;
begin
k := CefString(key);
Result := PCefDictionaryValue(FData).get_int(PCefDictionaryValue(FData), @k);
TempKey := CefString(key);
Result := PCefDictionaryValue(FData)^.get_int(PCefDictionaryValue(FData), @TempKey);
end;
function TCefDictionaryValueRef.GetKeys(const keys : TStrings): Boolean;
@ -157,7 +161,7 @@ begin
begin
TempSL := TCefStringListOwn.Create;
if (PCefDictionaryValue(FData).get_keys(PCefDictionaryValue(FData), TempSL.Handle) <> 0) then
if (PCefDictionaryValue(FData)^.get_keys(PCefDictionaryValue(FData), TempSL.Handle) <> 0) then
begin
TempSL.CopyToStrings(keys);
Result := True;
@ -167,169 +171,165 @@ end;
function TCefDictionaryValueRef.GetList(const key: ustring): ICefListValue;
var
k: TCefString;
TempKey : TCefString;
begin
k := CefString(key);
Result := TCefListValueRef.UnWrap(PCefDictionaryValue(FData).get_list(PCefDictionaryValue(FData), @k));
TempKey := CefString(key);
Result := TCefListValueRef.UnWrap(PCefDictionaryValue(FData)^.get_list(PCefDictionaryValue(FData), @TempKey));
end;
function TCefDictionaryValueRef.GetSize: NativeUInt;
begin
Result := PCefDictionaryValue(FData).get_size(PCefDictionaryValue(FData));
Result := PCefDictionaryValue(FData)^.get_size(PCefDictionaryValue(FData));
end;
function TCefDictionaryValueRef.GetString(const key: ustring): ustring;
var
k: TCefString;
TempKey : TCefString;
begin
k := CefString(key);
Result := CefStringFreeAndGet(PCefDictionaryValue(FData).get_string(PCefDictionaryValue(FData), @k));
TempKey := CefString(key);
Result := CefStringFreeAndGet(PCefDictionaryValue(FData)^.get_string(PCefDictionaryValue(FData), @TempKey));
end;
function TCefDictionaryValueRef.GetType(const key: ustring): TCefValueType;
var
k: TCefString;
TempKey : TCefString;
begin
k := CefString(key);
Result := PCefDictionaryValue(FData).get_type(PCefDictionaryValue(FData), @k);
TempKey := CefString(key);
Result := PCefDictionaryValue(FData)^.get_type(PCefDictionaryValue(FData), @TempKey);
end;
function TCefDictionaryValueRef.GetValue(const key: ustring): ICefValue;
var
k: TCefString;
TempKey : TCefString;
begin
k := CefString(key);
Result := TCefValueRef.UnWrap(PCefDictionaryValue(FData).get_value(PCefDictionaryValue(FData), @k));
TempKey := CefString(key);
Result := TCefValueRef.UnWrap(PCefDictionaryValue(FData)^.get_value(PCefDictionaryValue(FData), @TempKey));
end;
function TCefDictionaryValueRef.HasKey(const key: ustring): Boolean;
var
k: TCefString;
TempKey : TCefString;
begin
k := CefString(key);
Result := PCefDictionaryValue(FData).has_key(PCefDictionaryValue(FData), @k) <> 0;
TempKey := CefString(key);
Result := PCefDictionaryValue(FData)^.has_key(PCefDictionaryValue(FData), @TempKey) <> 0;
end;
function TCefDictionaryValueRef.IsEqual(
const that: ICefDictionaryValue): Boolean;
function TCefDictionaryValueRef.IsEqual(const that: ICefDictionaryValue): Boolean;
begin
Result := PCefDictionaryValue(FData).is_equal(PCefDictionaryValue(FData), CefGetData(that)) <> 0;
Result := PCefDictionaryValue(FData)^.is_equal(PCefDictionaryValue(FData), CefGetData(that)) <> 0;
end;
function TCefDictionaryValueRef.isOwned: Boolean;
begin
Result := PCefDictionaryValue(FData).is_owned(PCefDictionaryValue(FData)) <> 0;
Result := PCefDictionaryValue(FData)^.is_owned(PCefDictionaryValue(FData)) <> 0;
end;
function TCefDictionaryValueRef.IsReadOnly: Boolean;
begin
Result := PCefDictionaryValue(FData).is_read_only(PCefDictionaryValue(FData)) <> 0;
Result := PCefDictionaryValue(FData)^.is_read_only(PCefDictionaryValue(FData)) <> 0;
end;
function TCefDictionaryValueRef.IsSame(
const that: ICefDictionaryValue): Boolean;
function TCefDictionaryValueRef.IsSame(const that: ICefDictionaryValue): Boolean;
begin
Result := PCefDictionaryValue(FData).is_same(PCefDictionaryValue(FData), CefGetData(that)) <> 0;
Result := PCefDictionaryValue(FData)^.is_same(PCefDictionaryValue(FData), CefGetData(that)) <> 0;
end;
function TCefDictionaryValueRef.IsValid: Boolean;
begin
Result := PCefDictionaryValue(FData).is_valid(PCefDictionaryValue(FData)) <> 0;
Result := PCefDictionaryValue(FData)^.is_valid(PCefDictionaryValue(FData)) <> 0;
end;
class function TCefDictionaryValueRef.New: ICefDictionaryValue;
begin
Result := UnWrap(cef_dictionary_value_create);
Result := UnWrap(cef_dictionary_value_create());
end;
function TCefDictionaryValueRef.Remove(const key: ustring): Boolean;
var
k: TCefString;
TempKey : TCefString;
begin
k := CefString(key);
Result := PCefDictionaryValue(FData).remove(PCefDictionaryValue(FData), @k) <> 0;
TempKey := CefString(key);
Result := PCefDictionaryValue(FData)^.remove(PCefDictionaryValue(FData), @TempKey) <> 0;
end;
function TCefDictionaryValueRef.SetBinary(const key: ustring; const value: ICefBinaryValue): Boolean;
var
k: TCefString;
TempKey : TCefString;
begin
k := CefString(key);
Result := PCefDictionaryValue(FData).set_binary(PCefDictionaryValue(FData), @k, CefGetData(value)) <> 0;
TempKey := CefString(key);
Result := PCefDictionaryValue(FData)^.set_binary(PCefDictionaryValue(FData), @TempKey, CefGetData(value)) <> 0;
end;
function TCefDictionaryValueRef.SetBool(const key: ustring; value: Boolean): Boolean;
var
k: TCefString;
TempKey : TCefString;
begin
k := CefString(key);
Result := PCefDictionaryValue(FData).set_bool(PCefDictionaryValue(FData), @k, Ord(value)) <> 0;
TempKey := CefString(key);
Result := PCefDictionaryValue(FData)^.set_bool(PCefDictionaryValue(FData), @TempKey, Ord(value)) <> 0;
end;
function TCefDictionaryValueRef.SetDictionary(const key: ustring; const value: ICefDictionaryValue): Boolean;
var
k: TCefString;
TempKey : TCefString;
begin
k := CefString(key);
Result := PCefDictionaryValue(FData).set_dictionary(PCefDictionaryValue(FData), @k, CefGetData(value)) <> 0;
TempKey := CefString(key);
Result := PCefDictionaryValue(FData)^.set_dictionary(PCefDictionaryValue(FData), @TempKey, CefGetData(value)) <> 0;
end;
function TCefDictionaryValueRef.SetDouble(const key: ustring;
value: Double): Boolean;
function TCefDictionaryValueRef.SetDouble(const key: ustring; value: Double): Boolean;
var
k: TCefString;
TempKey : TCefString;
begin
k := CefString(key);
Result := PCefDictionaryValue(FData).set_double(PCefDictionaryValue(FData), @k, value) <> 0;
TempKey := CefString(key);
Result := PCefDictionaryValue(FData)^.set_double(PCefDictionaryValue(FData), @TempKey, value) <> 0;
end;
function TCefDictionaryValueRef.SetInt(const key: ustring; value: Integer): Boolean;
var
k: TCefString;
TempKey : TCefString;
begin
k := CefString(key);
Result := PCefDictionaryValue(FData).set_int(PCefDictionaryValue(FData), @k, value) <> 0;
TempKey := CefString(key);
Result := PCefDictionaryValue(FData)^.set_int(PCefDictionaryValue(FData), @TempKey, value) <> 0;
end;
function TCefDictionaryValueRef.SetList(const key: ustring; const value: ICefListValue): Boolean;
var
k: TCefString;
TempKey : TCefString;
begin
k := CefString(key);
Result := PCefDictionaryValue(FData).set_list(PCefDictionaryValue(FData), @k, CefGetData(value)) <> 0;
TempKey := CefString(key);
Result := PCefDictionaryValue(FData)^.set_list(PCefDictionaryValue(FData), @TempKey, CefGetData(value)) <> 0;
end;
function TCefDictionaryValueRef.SetNull(const key: ustring): Boolean;
var
k: TCefString;
TempKey : TCefString;
begin
k := CefString(key);
Result := PCefDictionaryValue(FData).set_null(PCefDictionaryValue(FData), @k) <> 0;
TempKey := CefString(key);
Result := PCefDictionaryValue(FData)^.set_null(PCefDictionaryValue(FData), @TempKey) <> 0;
end;
function TCefDictionaryValueRef.SetString(const key, value: ustring): Boolean;
var
k, v: TCefString;
TempKey, TempValue : TCefString;
begin
k := CefString(key);
v := CefString(value);
Result := PCefDictionaryValue(FData).set_string(PCefDictionaryValue(FData), @k, @v) <> 0;
TempKey := CefString(key);
TempValue := CefString(value);
Result := PCefDictionaryValue(FData)^.set_string(PCefDictionaryValue(FData), @TempKey, @TempValue) <> 0;
end;
function TCefDictionaryValueRef.SetValue(const key: ustring;
const value: ICefValue): Boolean;
function TCefDictionaryValueRef.SetValue(const key: ustring; const value: ICefValue): Boolean;
var
k: TCefString;
TempKey : TCefString;
begin
k := CefString(key);
Result := PCefDictionaryValue(FData).set_value(PCefDictionaryValue(FData), @k, CefGetData(value)) <> 0;
TempKey := CefString(key);
Result := PCefDictionaryValue(FData)^.set_value(PCefDictionaryValue(FData), @TempKey, CefGetData(value)) <> 0;
end;
class function TCefDictionaryValueRef.UnWrap(
data: Pointer): ICefDictionaryValue;
class function TCefDictionaryValueRef.UnWrap(data: Pointer): ICefDictionaryValue;
begin
if data <> nil then
Result := Create(data) as ICefDictionaryValue else
if (data <> nil) then
Result := Create(data) as ICefDictionaryValue
else
Result := nil;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFDisplayHandler;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -264,15 +268,15 @@ begin
with PCefDisplayHandler(FData)^ do
begin
on_address_change := cef_display_handler_on_address_change;
on_title_change := cef_display_handler_on_title_change;
on_favicon_urlchange := cef_display_handler_on_favicon_urlchange;
on_fullscreen_mode_change := cef_display_handler_on_fullscreen_mode_change;
on_tooltip := cef_display_handler_on_tooltip;
on_status_message := cef_display_handler_on_status_message;
on_console_message := cef_display_handler_on_console_message;
on_auto_resize := cef_display_handler_on_auto_resize;
on_loading_progress_change := cef_display_handler_on_loading_progress_change;
on_address_change := {$IFDEF FPC}@{$ENDIF}cef_display_handler_on_address_change;
on_title_change := {$IFDEF FPC}@{$ENDIF}cef_display_handler_on_title_change;
on_favicon_urlchange := {$IFDEF FPC}@{$ENDIF}cef_display_handler_on_favicon_urlchange;
on_fullscreen_mode_change := {$IFDEF FPC}@{$ENDIF}cef_display_handler_on_fullscreen_mode_change;
on_tooltip := {$IFDEF FPC}@{$ENDIF}cef_display_handler_on_tooltip;
on_status_message := {$IFDEF FPC}@{$ENDIF}cef_display_handler_on_status_message;
on_console_message := {$IFDEF FPC}@{$ENDIF}cef_display_handler_on_console_message;
on_auto_resize := {$IFDEF FPC}@{$ENDIF}cef_display_handler_on_auto_resize;
on_loading_progress_change := {$IFDEF FPC}@{$ENDIF}cef_display_handler_on_loading_progress_change;
end;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFDomDocument;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -88,10 +92,10 @@ end;
function TCefDomDocumentRef.GetCompleteUrl(const partialURL: ustring): ustring;
var
p: TCefString;
TempPartialURL : TCefString;
begin
p := CefString(partialURL);
Result := CefStringFreeAndGet(PCefDomDocument(FData)^.get_complete_url(PCefDomDocument(FData), @p));
TempPartialURL := CefString(partialURL);
Result := CefStringFreeAndGet(PCefDomDocument(FData)^.get_complete_url(PCefDomDocument(FData), @TempPartialURL));
end;
function TCefDomDocumentRef.GetDocument: ICefDomNode;
@ -101,10 +105,10 @@ end;
function TCefDomDocumentRef.GetElementById(const id: ustring): ICefDomNode;
var
i: TCefString;
TempID : TCefString;
begin
i := CefString(id);
Result := TCefDomNodeRef.UnWrap(PCefDomDocument(FData)^.get_element_by_id(PCefDomDocument(FData), @i));
TempID := CefString(id);
Result := TCefDomNodeRef.UnWrap(PCefDomDocument(FData)^.get_element_by_id(PCefDomDocument(FData), @TempID));
end;
function TCefDomDocumentRef.GetFocusedNode: ICefDomNode;
@ -154,8 +158,9 @@ end;
class function TCefDomDocumentRef.UnWrap(data: Pointer): ICefDomDocument;
begin
if data <> nil then
Result := Create(data) as ICefDomDocument else
if (data <> nil) then
Result := Create(data) as ICefDomDocument
else
Result := nil;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFDomNode;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -52,32 +56,32 @@ uses
type
TCefDomNodeRef = class(TCefBaseRefCountedRef, ICefDomNode)
protected
function GetType: TCefDomNodeType;
function IsText: Boolean;
function IsElement: Boolean;
function IsEditable: Boolean;
function IsFormControlElement: Boolean;
function GetFormControlElementType: ustring;
function IsSame(const that: ICefDomNode): Boolean;
function GetName: ustring;
function GetValue: ustring;
function SetValue(const value: ustring): Boolean;
function GetAsMarkup: ustring;
function GetDocument: ICefDomDocument;
function GetParent: ICefDomNode;
function GetPreviousSibling: ICefDomNode;
function GetNextSibling: ICefDomNode;
function HasChildren: Boolean;
function GetFirstChild: ICefDomNode;
function GetLastChild: ICefDomNode;
function GetElementTagName: ustring;
function HasElementAttributes: Boolean;
function HasElementAttribute(const attrName: ustring): Boolean;
function GetElementAttribute(const attrName: ustring): ustring;
function GetType: TCefDomNodeType;
function IsText: Boolean;
function IsElement: Boolean;
function IsEditable: Boolean;
function IsFormControlElement: Boolean;
function GetFormControlElementType: ustring;
function IsSame(const that: ICefDomNode): Boolean;
function GetName: ustring;
function GetValue: ustring;
function SetValue(const value: ustring): Boolean;
function GetAsMarkup: ustring;
function GetDocument: ICefDomDocument;
function GetParent: ICefDomNode;
function GetPreviousSibling: ICefDomNode;
function GetNextSibling: ICefDomNode;
function HasChildren: Boolean;
function GetFirstChild: ICefDomNode;
function GetLastChild: ICefDomNode;
function GetElementTagName: ustring;
function HasElementAttributes: Boolean;
function HasElementAttribute(const attrName: ustring): Boolean;
function GetElementAttribute(const attrName: ustring): ustring;
procedure GetElementAttributes(const attrMap: ICefStringMap);
function SetElementAttribute(const attrName, value: ustring): Boolean;
function GetElementInnerText: ustring;
function GetElementBounds: TCefRect;
function SetElementAttribute(const attrName, value: ustring): Boolean;
function GetElementInnerText: ustring;
function GetElementBounds: TCefRect;
public
class function UnWrap(data: Pointer): ICefDomNode;
@ -100,10 +104,10 @@ end;
function TCefDomNodeRef.GetElementAttribute(const attrName: ustring): ustring;
var
p: TCefString;
TempName : TCefString;
begin
p := CefString(attrName);
Result := CefStringFreeAndGet(PCefDomNode(FData)^.get_element_attribute(PCefDomNode(FData), @p));
TempName := CefString(attrName);
Result := CefStringFreeAndGet(PCefDomNode(FData)^.get_element_attribute(PCefDomNode(FData), @TempName));
end;
procedure TCefDomNodeRef.GetElementAttributes(const attrMap: ICefStringMap);
@ -178,10 +182,10 @@ end;
function TCefDomNodeRef.HasElementAttribute(const attrName: ustring): Boolean;
var
p: TCefString;
TempName : TCefString;
begin
p := CefString(attrName);
Result := PCefDomNode(FData)^.has_element_attribute(PCefDomNode(FData), @p) <> 0;
TempName := CefString(attrName);
Result := PCefDomNode(FData)^.has_element_attribute(PCefDomNode(FData), @TempName) <> 0;
end;
function TCefDomNodeRef.HasElementAttributes: Boolean;
@ -214,28 +218,28 @@ begin
Result := PCefDomNode(FData)^.is_text(PCefDomNode(FData)) <> 0;
end;
function TCefDomNodeRef.SetElementAttribute(const attrName,
value: ustring): Boolean;
function TCefDomNodeRef.SetElementAttribute(const attrName, value: ustring): Boolean;
var
p1, p2: TCefString;
TempName, TempValue : TCefString;
begin
p1 := CefString(attrName);
p2 := CefString(value);
Result := PCefDomNode(FData)^.set_element_attribute(PCefDomNode(FData), @p1, @p2) <> 0;
TempName := CefString(attrName);
TempValue := CefString(value);
Result := PCefDomNode(FData)^.set_element_attribute(PCefDomNode(FData), @TempName, @TempValue) <> 0;
end;
function TCefDomNodeRef.SetValue(const value: ustring): Boolean;
var
p: TCefString;
TempValue : TCefString;
begin
p := CefString(value);
Result := PCefDomNode(FData)^.set_value(PCefDomNode(FData), @p) <> 0;
TempValue := CefString(value);
Result := PCefDomNode(FData)^.set_value(PCefDomNode(FData), @TempValue) <> 0;
end;
class function TCefDomNodeRef.UnWrap(data: Pointer): ICefDomNode;
begin
if data <> nil then
Result := Create(data) as ICefDomNode else
if (data <> nil) then
Result := Create(data) as ICefDomNode
else
Result := nil;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFDomVisitor;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -101,7 +105,7 @@ constructor TCefDomVisitorOwn.Create;
begin
inherited CreateData(SizeOf(TCefDomVisitor));
PCefDomVisitor(FData).visit := cef_dom_visitor_visite;
PCefDomVisitor(FData)^.visit := {$IFDEF FPC}@{$ENDIF}cef_dom_visitor_visite;
end;
procedure TCefDomVisitorOwn.visit(const document: ICefDomDocument);

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFDownLoadItem;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -165,8 +169,9 @@ end;
class function TCefDownLoadItemRef.UnWrap(data: Pointer): ICefDownLoadItem;
begin
if data <> nil then
Result := Create(data) as ICefDownLoadItem else
if (data <> nil) then
Result := Create(data) as ICefDownLoadItem
else
Result := nil;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFDownloadHandler;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -119,8 +123,8 @@ begin
with PCefDownloadHandler(FData)^ do
begin
on_before_download := cef_download_handler_on_before_download;
on_download_updated := cef_download_handler_on_download_updated;
on_before_download := {$IFDEF FPC}@{$ENDIF}cef_download_handler_on_before_download;
on_download_updated := {$IFDEF FPC}@{$ENDIF}cef_download_handler_on_download_updated;
end;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFDownloadImageCallBack;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -92,7 +96,8 @@ constructor TCefDownloadImageCallbackOwn.Create;
begin
inherited CreateData(SizeOf(TCefDownloadImageCallback));
PCefDownloadImageCallback(FData).on_download_image_finished := cef_download_image_callback_on_download_image_finished;
with PCefDownloadImageCallback(FData)^ do
on_download_image_finished := {$IFDEF FPC}@{$ENDIF}cef_download_image_callback_on_download_image_finished;
end;
constructor TCefFastDownloadImageCallback.Create(const proc: TOnDownloadImageFinishedProc);

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFDownloadItemCallback;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -66,23 +70,24 @@ uses
procedure TCefDownloadItemCallbackRef.cancel;
begin
PCefDownloadItemCallback(FData).cancel(PCefDownloadItemCallback(FData));
PCefDownloadItemCallback(FData)^.cancel(PCefDownloadItemCallback(FData));
end;
procedure TCefDownloadItemCallbackRef.Pause;
begin
PCefDownloadItemCallback(FData).pause(PCefDownloadItemCallback(FData));
PCefDownloadItemCallback(FData)^.pause(PCefDownloadItemCallback(FData));
end;
procedure TCefDownloadItemCallbackRef.Resume;
begin
PCefDownloadItemCallback(FData).resume(PCefDownloadItemCallback(FData));
PCefDownloadItemCallback(FData)^.resume(PCefDownloadItemCallback(FData));
end;
class function TCefDownloadItemCallbackRef.UnWrap(data: Pointer): ICefDownloadItemCallback;
begin
if data <> nil then
Result := Create(data) as ICefDownloadItemCallback else
if (data <> nil) then
Result := Create(data) as ICefDownloadItemCallback
else
Result := nil;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFDragAndDropMgr;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$I cef.inc}
interface

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFDragData;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -57,20 +61,20 @@ uses
type
TCefDragDataRef = class(TCefBaseRefCountedRef, ICefDragData)
protected
function Clone: ICefDragData;
function IsReadOnly: Boolean;
function IsLink: Boolean;
function IsFragment: Boolean;
function IsFile: Boolean;
function GetLinkUrl: ustring;
function GetLinkTitle: ustring;
function GetLinkMetadata: ustring;
function GetFragmentText: ustring;
function GetFragmentHtml: ustring;
function GetFragmentBaseUrl: ustring;
function GetFileName: ustring;
function GetFileContents(const writer: ICefStreamWriter): NativeUInt;
function GetFileNames(var names: TStrings): Integer;
function Clone: ICefDragData;
function IsReadOnly: Boolean;
function IsLink: Boolean;
function IsFragment: Boolean;
function IsFile: Boolean;
function GetLinkUrl: ustring;
function GetLinkTitle: ustring;
function GetLinkMetadata: ustring;
function GetFragmentText: ustring;
function GetFragmentHtml: ustring;
function GetFragmentBaseUrl: ustring;
function GetFileName: ustring;
function GetFileContents(const writer: ICefStreamWriter): NativeUInt;
function GetFileNames(var names: TStrings): Integer;
procedure SetLinkUrl(const url: ustring);
procedure SetLinkTitle(const title: ustring);
procedure SetLinkMetadata(const data: ustring);
@ -94,42 +98,41 @@ uses
procedure TCefDragDataRef.AddFile(const path, displayName: ustring);
var
p, d: TCefString;
TempPath, TempName : TCefString;
begin
p := CefString(path);
d := CefString(displayName);
PCefDragData(FData).add_file(FData, @p, @d);
TempPath := CefString(path);
TempName := CefString(displayName);
PCefDragData(FData)^.add_file(FData, @TempPath, @TempName);
end;
function TCefDragDataRef.GetImage : ICefImage;
begin
Result := TCefImageRef.UnWrap(PCefDragData(FData).get_image(FData));
Result := TCefImageRef.UnWrap(PCefDragData(FData)^.get_image(FData));
end;
function TCefDragDataRef.GetImageHotspot : TCefPoint;
begin
Result := PCefDragData(FData).get_image_hotspot(FData)^;
Result := PCefDragData(FData)^.get_image_hotspot(FData)^;
end;
function TCefDragDataRef.HasImage : boolean;
begin
Result := (PCefDragData(FData).has_image(FData) <> 0);
Result := (PCefDragData(FData)^.has_image(FData) <> 0);
end;
function TCefDragDataRef.Clone: ICefDragData;
begin
Result := UnWrap(PCefDragData(FData).clone(FData));
Result := UnWrap(PCefDragData(FData)^.clone(FData));
end;
function TCefDragDataRef.GetFileContents(
const writer: ICefStreamWriter): NativeUInt;
function TCefDragDataRef.GetFileContents(const writer: ICefStreamWriter): NativeUInt;
begin
Result := PCefDragData(FData).get_file_contents(FData, CefGetData(writer))
Result := PCefDragData(FData)^.get_file_contents(FData, CefGetData(writer))
end;
function TCefDragDataRef.GetFileName: ustring;
begin
Result := CefStringFreeAndGet(PCefDragData(FData).get_file_name(FData));
Result := CefStringFreeAndGet(PCefDragData(FData)^.get_file_name(FData));
end;
function TCefDragDataRef.GetFileNames(var names: TStrings): Integer;
@ -142,7 +145,7 @@ begin
begin
TempSL := TCefStringListOwn.Create;
if (PCefDragData(FData).get_file_names(FData, TempSL.Handle) <> 0) then
if (PCefDragData(FData)^.get_file_names(FData, TempSL.Handle) <> 0) then
begin
TempSL.CopyToStrings(names);
Result := names.Count;
@ -152,52 +155,52 @@ end;
function TCefDragDataRef.GetFragmentBaseUrl: ustring;
begin
Result := CefStringFreeAndGet(PCefDragData(FData).get_fragment_base_url(FData));
Result := CefStringFreeAndGet(PCefDragData(FData)^.get_fragment_base_url(FData));
end;
function TCefDragDataRef.GetFragmentHtml: ustring;
begin
Result := CefStringFreeAndGet(PCefDragData(FData).get_fragment_html(FData));
Result := CefStringFreeAndGet(PCefDragData(FData)^.get_fragment_html(FData));
end;
function TCefDragDataRef.GetFragmentText: ustring;
begin
Result := CefStringFreeAndGet(PCefDragData(FData).get_fragment_text(FData));
Result := CefStringFreeAndGet(PCefDragData(FData)^.get_fragment_text(FData));
end;
function TCefDragDataRef.GetLinkMetadata: ustring;
begin
Result := CefStringFreeAndGet(PCefDragData(FData).get_link_metadata(FData));
Result := CefStringFreeAndGet(PCefDragData(FData)^.get_link_metadata(FData));
end;
function TCefDragDataRef.GetLinkTitle: ustring;
begin
Result := CefStringFreeAndGet(PCefDragData(FData).get_link_title(FData));
Result := CefStringFreeAndGet(PCefDragData(FData)^.get_link_title(FData));
end;
function TCefDragDataRef.GetLinkUrl: ustring;
begin
Result := CefStringFreeAndGet(PCefDragData(FData).get_link_url(FData));
Result := CefStringFreeAndGet(PCefDragData(FData)^.get_link_url(FData));
end;
function TCefDragDataRef.IsFile: Boolean;
begin
Result := PCefDragData(FData).is_file(FData) <> 0;
Result := PCefDragData(FData)^.is_file(FData) <> 0;
end;
function TCefDragDataRef.IsFragment: Boolean;
begin
Result := PCefDragData(FData).is_fragment(FData) <> 0;
Result := PCefDragData(FData)^.is_fragment(FData) <> 0;
end;
function TCefDragDataRef.IsLink: Boolean;
begin
Result := PCefDragData(FData).is_link(FData) <> 0;
Result := PCefDragData(FData)^.is_link(FData) <> 0;
end;
function TCefDragDataRef.IsReadOnly: Boolean;
begin
Result := PCefDragData(FData).is_read_only(FData) <> 0;
Result := PCefDragData(FData)^.is_read_only(FData) <> 0;
end;
class function TCefDragDataRef.New: ICefDragData;
@ -207,61 +210,62 @@ end;
procedure TCefDragDataRef.ResetFileContents;
begin
PCefDragData(FData).reset_file_contents(FData);
PCefDragData(FData)^.reset_file_contents(FData);
end;
procedure TCefDragDataRef.SetFragmentBaseUrl(const baseUrl: ustring);
var
s: TCefString;
TempURL : TCefString;
begin
s := CefString(baseUrl);
PCefDragData(FData).set_fragment_base_url(FData, @s);
TempURL := CefString(baseUrl);
PCefDragData(FData)^.set_fragment_base_url(FData, @TempURL);
end;
procedure TCefDragDataRef.SetFragmentHtml(const html: ustring);
var
s: TCefString;
TempHTML : TCefString;
begin
s := CefString(html);
PCefDragData(FData).set_fragment_html(FData, @s);
TempHTML := CefString(html);
PCefDragData(FData)^.set_fragment_html(FData, @TempHTML);
end;
procedure TCefDragDataRef.SetFragmentText(const text: ustring);
var
s: TCefString;
TempText : TCefString;
begin
s := CefString(text);
PCefDragData(FData).set_fragment_text(FData, @s);
TempText := CefString(text);
PCefDragData(FData)^.set_fragment_text(FData, @TempText);
end;
procedure TCefDragDataRef.SetLinkMetadata(const data: ustring);
var
s: TCefString;
TempData : TCefString;
begin
s := CefString(data);
PCefDragData(FData).set_link_metadata(FData, @s);
TempData := CefString(data);
PCefDragData(FData)^.set_link_metadata(FData, @TempData);
end;
procedure TCefDragDataRef.SetLinkTitle(const title: ustring);
var
s: TCefString;
TempTitle : TCefString;
begin
s := CefString(title);
PCefDragData(FData).set_link_title(FData, @s);
TempTitle := CefString(title);
PCefDragData(FData)^.set_link_title(FData, @TempTitle);
end;
procedure TCefDragDataRef.SetLinkUrl(const url: ustring);
var
s: TCefString;
TempURL : TCefString;
begin
s := CefString(url);
PCefDragData(FData).set_link_url(FData, @s);
TempURL := CefString(url);
PCefDragData(FData)^.set_link_url(FData, @TempURL);
end;
class function TCefDragDataRef.UnWrap(data: Pointer): ICefDragData;
begin
if data <> nil then
Result := Create(data) as ICefDragData else
if (data <> nil) then
Result := Create(data) as ICefDragData
else
Result := nil;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFDragHandler;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -122,8 +126,8 @@ begin
with PCefDragHandler(FData)^ do
begin
on_drag_enter := cef_drag_handler_on_drag_enter;
on_draggable_regions_changed := cef_drag_handler_on_draggable_regions_changed;
on_drag_enter := {$IFDEF FPC}@{$ENDIF}cef_drag_handler_on_drag_enter;
on_draggable_regions_changed := {$IFDEF FPC}@{$ENDIF}cef_drag_handler_on_draggable_regions_changed;
end;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFEndTracingCallback;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -50,8 +54,6 @@ uses
uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
TCefEndTracingCallbackProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const tracingFile: ustring);
TCefEndTracingCallbackOwn = class(TCefBaseRefCountedOwn, ICefEndTracingCallback)
protected
procedure OnEndTracingComplete(const tracingFile: ustring); virtual;
@ -89,7 +91,8 @@ constructor TCefEndTracingCallbackOwn.Create;
begin
inherited CreateData(SizeOf(TCefEndTracingCallback));
PCefEndTracingCallback(FData).on_end_tracing_complete := cef_end_tracing_callback_on_end_tracing_complete;
with PCefEndTracingCallback(FData)^ do
on_end_tracing_complete := {$IFDEF FPC}@{$ENDIF}cef_end_tracing_callback_on_end_tracing_complete;
end;
procedure TCefEndTracingCallbackOwn.OnEndTracingComplete(const tracingFile: ustring);

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFExtension;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -72,42 +76,42 @@ uses
function TCefExtensionRef.GetIdentifier : ustring;
begin
Result := CefStringFreeAndGet(PCefExtension(FData).get_identifier(PCefExtension(FData)));
Result := CefStringFreeAndGet(PCefExtension(FData)^.get_identifier(PCefExtension(FData)));
end;
function TCefExtensionRef.GetPath : ustring;
begin
Result := CefStringFreeAndGet(PCefExtension(FData).get_path(PCefExtension(FData)));
Result := CefStringFreeAndGet(PCefExtension(FData)^.get_path(PCefExtension(FData)));
end;
function TCefExtensionRef.GetManifest : ICefDictionaryValue;
begin
Result := TCefDictionaryValueRef.UnWrap(PCefExtension(FData).get_manifest(PCefExtension(FData)));
Result := TCefDictionaryValueRef.UnWrap(PCefExtension(FData)^.get_manifest(PCefExtension(FData)));
end;
function TCefExtensionRef.IsSame(const that : ICefExtension) : boolean;
begin
Result:= PCefExtension(FData).is_same(PCefExtension(FData), PCefExtension(CefGetData(that))) <> 0;
Result:= PCefExtension(FData)^.is_same(PCefExtension(FData), PCefExtension(CefGetData(that))) <> 0;
end;
function TCefExtensionRef.GetHandler : ICefExtensionHandler;
begin
Result := TCefExtensionHandlerRef.UnWrap(PCefExtension(FData).get_handler(PCefExtension(FData)));
Result := TCefExtensionHandlerRef.UnWrap(PCefExtension(FData)^.get_handler(PCefExtension(FData)));
end;
function TCefExtensionRef.GetLoaderContext: ICefRequestContext;
begin
Result := TCefRequestContextRef.UnWrap(PCefExtension(FData).get_loader_context(PCefExtension(FData)));
Result := TCefRequestContextRef.UnWrap(PCefExtension(FData)^.get_loader_context(PCefExtension(FData)));
end;
function TCefExtensionRef.IsLoaded : boolean;
begin
Result := PCefExtension(FData).is_loaded(PCefExtension(FData)) <> 0;
Result := PCefExtension(FData)^.is_loaded(PCefExtension(FData)) <> 0;
end;
procedure TCefExtensionRef.unload;
begin
PCefExtension(FData).unload(PCefExtension(FData));
PCefExtension(FData)^.unload(PCefExtension(FData));
end;
class function TCefExtensionRef.UnWrap(data: Pointer): ICefExtension;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -36,6 +36,10 @@
*)
unit uCEFExtensionHandler;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
@ -130,10 +134,10 @@ function TCefExtensionHandlerRef.GetActiveBrowser(const extension : ICef
const browser : ICefBrowser;
include_incognito : boolean): ICefBrowser;
begin
Result := TCefBrowserRef.UnWrap(PCefExtensionHandler(FData).get_active_browser(PCefExtensionHandler(FData),
CefGetData(extension),
CefGetData(browser),
Ord(include_incognito)));
Result := TCefBrowserRef.UnWrap(PCefExtensionHandler(FData)^.get_active_browser(PCefExtensionHandler(FData),
CefGetData(extension),
CefGetData(browser),
Ord(include_incognito)));
end;
function TCefExtensionHandlerRef.CanAccessBrowser(const extension : ICefExtension;
@ -141,11 +145,11 @@ function TCefExtensionHandlerRef.CanAccessBrowser(const extension : ICef
include_incognito : boolean;
const target_browser : ICefBrowser): boolean;
begin
Result := PCefExtensionHandler(FData).can_access_browser(PCefExtensionHandler(FData),
CefGetData(extension),
CefGetData(browser),
Ord(include_incognito),
CefGetData(target_browser)) <> 0;
Result := PCefExtensionHandler(FData)^.can_access_browser(PCefExtensionHandler(FData),
CefGetData(extension),
CefGetData(browser),
Ord(include_incognito),
CefGetData(target_browser)) <> 0;
end;
function TCefExtensionHandlerRef.GetExtensionResource(const extension : ICefExtension;
@ -156,11 +160,11 @@ var
TempFile : TCefString;
begin
TempFile := CefString(file_);
Result := PCefExtensionHandler(FData).get_extension_resource(PCefExtensionHandler(FData),
CefGetData(extension),
CefGetData(browser),
@TempFile,
CefGetData(callback)) <> 0;
Result := PCefExtensionHandler(FData)^.get_extension_resource(PCefExtensionHandler(FData),
CefGetData(extension),
CefGetData(browser),
@TempFile,
CefGetData(callback)) <> 0;
end;
class function TCefExtensionHandlerRef.UnWrap(data: Pointer): ICefExtensionHandler;
@ -337,14 +341,14 @@ begin
inherited CreateData(SizeOf(TCefExtensionHandler));
with PCefExtensionHandler(FData)^ do
begin
on_extension_load_failed := cef_extension_handler_on_extension_load_failed;
on_extension_loaded := cef_extension_handler_on_extension_loaded;
on_extension_unloaded := cef_extension_handler_on_extension_unloaded;
on_before_background_browser := cef_extension_handler_on_before_background_browser;
on_before_browser := cef_extension_handler_on_before_browser;
get_active_browser := cef_extension_handler_get_active_browser;
can_access_browser := cef_extension_handler_can_access_browser;
begin
on_extension_load_failed := {$IFDEF FPC}@{$ENDIF}cef_extension_handler_on_extension_load_failed;
on_extension_loaded := {$IFDEF FPC}@{$ENDIF}cef_extension_handler_on_extension_loaded;
on_extension_unloaded := {$IFDEF FPC}@{$ENDIF}cef_extension_handler_on_extension_unloaded;
on_before_background_browser := {$IFDEF FPC}@{$ENDIF}cef_extension_handler_on_before_background_browser;
on_before_browser := {$IFDEF FPC}@{$ENDIF}cef_extension_handler_on_before_browser;
get_active_browser := {$IFDEF FPC}@{$ENDIF}cef_extension_handler_get_active_browser;
can_access_browser := {$IFDEF FPC}@{$ENDIF}cef_extension_handler_can_access_browser;
get_extension_resource := {$IFDEF FPC}@{$ENDIF}cef_extension_handler_get_extension_resource;
end;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFFileDialogCallback;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -70,7 +74,7 @@ uses
procedure TCefFileDialogCallbackRef.Cancel;
begin
PCefFileDialogCallback(FData).cancel(FData);
PCefFileDialogCallback(FData)^.cancel(FData);
end;
procedure TCefFileDialogCallbackRef.Cont(selectedAcceptFilter: Integer; const filePaths: TStrings);
@ -81,9 +85,9 @@ begin
TempSL := TCefStringListOwn.Create;
TempSL.AddStrings(filePaths);
PCefFileDialogCallback(FData).cont(PCefFileDialogCallback(FData),
selectedAcceptFilter,
TempSL.Handle);
PCefFileDialogCallback(FData)^.cont(PCefFileDialogCallback(FData),
selectedAcceptFilter,
TempSL.Handle);
finally
TempSL := nil;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFFindHandler;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -108,7 +112,7 @@ constructor TCefFindHandlerOwn.Create;
begin
inherited CreateData(SizeOf(TCefFindHandler));
PCefFindHandler(FData).on_find_result := cef_find_handler_on_find_result;
PCefFindHandler(FData)^.on_find_result := {$IFDEF FPC}@{$ENDIF}cef_find_handler_on_find_result;
end;
procedure TCefFindHandlerOwn.RemoveReferences;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFFocusHandler;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -131,9 +135,9 @@ begin
with PCefFocusHandler(FData)^ do
begin
on_take_focus := cef_focus_handler_on_take_focus;
on_set_focus := cef_focus_handler_on_set_focus;
on_got_focus := cef_focus_handler_on_got_focus;
on_take_focus := {$IFDEF FPC}@{$ENDIF}cef_focus_handler_on_take_focus;
on_set_focus := {$IFDEF FPC}@{$ENDIF}cef_focus_handler_on_set_focus;
on_got_focus := {$IFDEF FPC}@{$ENDIF}cef_focus_handler_on_got_focus;
end;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFFrame;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -52,7 +56,7 @@ uses
type
TCefFrameRef = class(TCefBaseRefCountedRef, ICefFrame)
public
function IsValid: Boolean;
function IsValid: Boolean;
procedure Undo;
procedure Redo;
procedure Cut;
@ -69,14 +73,14 @@ type
procedure LoadUrl(const url: ustring);
procedure LoadString(const str, url: ustring);
procedure ExecuteJavaScript(const code, scriptUrl: ustring; startLine: Integer);
function IsMain: Boolean;
function IsFocused: Boolean;
function GetName: ustring;
function GetIdentifier: Int64;
function GetParent: ICefFrame;
function GetUrl: ustring;
function GetBrowser: ICefBrowser;
function GetV8Context: ICefv8Context;
function IsMain: Boolean;
function IsFocused: Boolean;
function GetName: ustring;
function GetIdentifier: Int64;
function GetParent: ICefFrame;
function GetUrl: ustring;
function GetBrowser: ICefBrowser;
function GetV8Context: ICefv8Context;
procedure VisitDom(const visitor: ICefDomVisitor);
procedure VisitDomProc(const proc: TCefDomVisitorProc);
@ -108,14 +112,13 @@ begin
PCefFrame(FData)^.del(PCefFrame(FData));
end;
procedure TCefFrameRef.ExecuteJavaScript(const code, scriptUrl: ustring;
startLine: Integer);
procedure TCefFrameRef.ExecuteJavaScript(const code, scriptUrl: ustring; startLine: Integer);
var
j, s: TCefString;
TempCode, TempURL : TCefString;
begin
j := CefString(code);
s := CefString(scriptUrl);
PCefFrame(FData)^.execute_java_script(PCefFrame(FData), @j, @s, startline);
TempCode := CefString(code);
TempURL := CefString(scriptUrl);
PCefFrame(FData)^.execute_java_script(PCefFrame(FData), @TempCode, @TempURL, startline);
end;
function TCefFrameRef.GetBrowser: ICefBrowser;
@ -185,19 +188,19 @@ end;
procedure TCefFrameRef.LoadString(const str, url: ustring);
var
s, u: TCefString;
TempString, TempURL : TCefString;
begin
s := CefString(str);
u := CefString(url);
PCefFrame(FData)^.load_string(PCefFrame(FData), @s, @u);
TempString := CefString(str);
TempURL := CefString(url);
PCefFrame(FData)^.load_string(PCefFrame(FData), @TempString, @TempURL);
end;
procedure TCefFrameRef.LoadUrl(const url: ustring);
var
u: TCefString;
TempURL : TCefString;
begin
u := CefString(url);
PCefFrame(FData)^.load_url(PCefFrame(FData), @u);
TempURL := CefString(url);
PCefFrame(FData)^.load_url(PCefFrame(FData), @TempURL);
end;
@ -238,8 +241,9 @@ end;
class function TCefFrameRef.UnWrap(data: Pointer): ICefFrame;
begin
if data <> nil then
Result := Create(data) as ICefFrame else
if (data <> nil) then
Result := Create(data) as ICefFrame
else
Result := nil;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFGetExtensionResourceCallback;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -66,12 +70,12 @@ uses
procedure TCefGetExtensionResourceCallbackRef.Cont(const stream: ICefStreamReader);
begin
PCefGetExtensionResourceCallback(FData).cont(FData, CefGetData(stream));
PCefGetExtensionResourceCallback(FData)^.cont(FData, CefGetData(stream));
end;
procedure TCefGetExtensionResourceCallbackRef.Cancel;
begin
PCefGetExtensionResourceCallback(FData).cancel(FData);
PCefGetExtensionResourceCallback(FData)^.cancel(FData);
end;
class function TCefGetExtensionResourceCallbackRef.UnWrap(data: Pointer): ICefGetExtensionResourceCallback;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFImage;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -88,62 +92,62 @@ function TCefImageRef.AddBitmap(scaleFactor : Single;
const pixelData : Pointer;
pixelDataSize : NativeUInt): Boolean;
begin
Result := PCefImage(FData).add_bitmap(FData, scaleFactor, pixelWidth, pixelHeight, colorType, alphaType, pixelData, pixelDataSize) <> 0;
Result := PCefImage(FData)^.add_bitmap(FData, scaleFactor, pixelWidth, pixelHeight, colorType, alphaType, pixelData, pixelDataSize) <> 0;
end;
function TCefImageRef.AddJpeg(scaleFactor: Single; const jpegData: Pointer; jpegDataSize: NativeUInt): Boolean;
begin
Result := PCefImage(FData).add_jpeg(FData, scaleFactor, jpegData, jpegDataSize) <> 0;
Result := PCefImage(FData)^.add_jpeg(FData, scaleFactor, jpegData, jpegDataSize) <> 0;
end;
function TCefImageRef.AddPng(scaleFactor: Single; const pngData: Pointer; pngDataSize: NativeUInt): Boolean;
begin
Result := PCefImage(FData).add_png(FData, scaleFactor, pngData, pngDataSize) <> 0;
Result := PCefImage(FData)^.add_png(FData, scaleFactor, pngData, pngDataSize) <> 0;
end;
function TCefImageRef.GetAsBitmap(scaleFactor: Single; colorType: TCefColorType; alphaType: TCefAlphaType; pixelWidth, pixelHeight: PInteger): ICefBinaryValue;
begin
Result := TCefBinaryValueRef.UnWrap(PCefImage(FData).get_as_bitmap(FData, scaleFactor, colorType, alphaType, pixelWidth, pixelHeight));
Result := TCefBinaryValueRef.UnWrap(PCefImage(FData)^.get_as_bitmap(FData, scaleFactor, colorType, alphaType, pixelWidth, pixelHeight));
end;
function TCefImageRef.GetAsJpeg(scaleFactor: Single; quality: Integer; pixelWidth, pixelHeight: PInteger): ICefBinaryValue;
begin
Result := TCefBinaryValueRef.UnWrap(PCefImage(FData).get_as_jpeg(FData, scaleFactor, quality, pixelWidth, pixelHeight));
Result := TCefBinaryValueRef.UnWrap(PCefImage(FData)^.get_as_jpeg(FData, scaleFactor, quality, pixelWidth, pixelHeight));
end;
function TCefImageRef.GetAsPng(scaleFactor: Single; withTransparency: Boolean; pixelWidth, pixelHeight: PInteger): ICefBinaryValue;
begin
Result := TCefBinaryValueRef.UnWrap(PCefImage(FData).get_as_png(FData, scaleFactor, Ord(withTransparency), pixelWidth, pixelHeight));
Result := TCefBinaryValueRef.UnWrap(PCefImage(FData)^.get_as_png(FData, scaleFactor, Ord(withTransparency), pixelWidth, pixelHeight));
end;
function TCefImageRef.GetHeight: NativeUInt;
begin
Result := PCefImage(FData).get_height(FData);
Result := PCefImage(FData)^.get_height(FData);
end;
function TCefImageRef.GetRepresentationInfo(scaleFactor: Single; actualScaleFactor: PSingle; pixelWidth, pixelHeight: PInteger): Boolean;
begin
Result := PCefImage(FData).get_representation_info(FData, scaleFactor, actualScaleFactor, pixelWidth, pixelHeight) <> 0;
Result := PCefImage(FData)^.get_representation_info(FData, scaleFactor, actualScaleFactor, pixelWidth, pixelHeight) <> 0;
end;
function TCefImageRef.GetWidth: NativeUInt;
begin
Result := PCefImage(FData).get_width(FData);
Result := PCefImage(FData)^.get_width(FData);
end;
function TCefImageRef.HasRepresentation(scaleFactor: Single): Boolean;
begin
Result := PCefImage(FData).has_representation(FData, scaleFactor) <> 0;
Result := PCefImage(FData)^.has_representation(FData, scaleFactor) <> 0;
end;
function TCefImageRef.IsEmpty: Boolean;
begin
Result := PCefImage(FData).is_empty(FData) <> 0;
Result := PCefImage(FData)^.is_empty(FData) <> 0;
end;
function TCefImageRef.IsSame(const that: ICefImage): Boolean;
begin
Result := PCefImage(FData).is_same(FData, CefGetData(that)) <> 0;
Result := PCefImage(FData)^.is_same(FData, CefGetData(that)) <> 0;
end;
class function TCefImageRef.New: ICefImage;
@ -153,7 +157,7 @@ end;
function TCefImageRef.RemoveRepresentation(scaleFactor: Single): Boolean;
begin
Result := PCefImage(FData).remove_representation(FData, scaleFactor) <> 0;
Result := PCefImage(FData)^.remove_representation(FData, scaleFactor) <> 0;
end;
class function TCefImageRef.UnWrap(data: Pointer): ICefImage;

File diff suppressed because it is too large Load Diff

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFJsDialogCallback;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -65,10 +69,10 @@ uses
procedure TCefJsDialogCallbackRef.Cont(success: Boolean; const userInput: ustring);
var
ui: TCefString;
TempInput : TCefString;
begin
ui := CefString(userInput);
PCefJsDialogCallback(FData).cont(PCefJsDialogCallback(FData), Ord(success), @ui);
TempInput := CefString(userInput);
PCefJsDialogCallback(FData)^.cont(PCefJsDialogCallback(FData), Ord(success), @TempInput);
end;
class function TCefJsDialogCallbackRef.UnWrap(data: Pointer): ICefJsDialogCallback;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFJsDialogHandler;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -163,10 +167,10 @@ begin
with PCefJsDialogHandler(FData)^ do
begin
on_jsdialog := cef_jsdialog_handler_on_jsdialog;
on_before_unload_dialog := cef_jsdialog_handler_on_before_unload_dialog;
on_reset_dialog_state := cef_jsdialog_handler_on_reset_dialog_state;
on_dialog_closed := cef_jsdialog_handler_on_dialog_closed;
on_jsdialog := {$IFDEF FPC}@{$ENDIF}cef_jsdialog_handler_on_jsdialog;
on_before_unload_dialog := {$IFDEF FPC}@{$ENDIF}cef_jsdialog_handler_on_before_unload_dialog;
on_reset_dialog_state := {$IFDEF FPC}@{$ENDIF}cef_jsdialog_handler_on_reset_dialog_state;
on_dialog_closed := {$IFDEF FPC}@{$ENDIF}cef_jsdialog_handler_on_dialog_closed;
end;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFKeyboardHandler;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -129,8 +133,8 @@ begin
with PCefKeyboardHandler(FData)^ do
begin
on_pre_key_event := cef_keyboard_handler_on_pre_key_event;
on_key_event := cef_keyboard_handler_on_key_event;
on_pre_key_event := {$IFDEF FPC}@{$ENDIF}cef_keyboard_handler_on_pre_key_event;
on_key_event := {$IFDEF FPC}@{$ENDIF}cef_keyboard_handler_on_key_event;
end;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFLibFunctions;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -56,252 +60,252 @@ uses
var
// /include/capi/cef_app_capi.h
cef_initialize : function(const args: PCefMainArgs; const settings: PCefSettings; application: PCefApp; windows_sandbox_info: Pointer): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_shutdown : procedure; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_execute_process : function(const args: PCefMainArgs; application: PCefApp; windows_sandbox_info: Pointer): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_do_message_loop_work : procedure; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_run_message_loop : procedure; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_quit_message_loop : procedure; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_set_osmodal_loop : procedure(osModalLoop: Integer); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_enable_highdpi_support : procedure; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_initialize : function(const args: PCefMainArgs; const settings: PCefSettings; application: PCefApp; windows_sandbox_info: Pointer): Integer; cdecl;
cef_shutdown : procedure; cdecl;
cef_execute_process : function(const args: PCefMainArgs; application: PCefApp; windows_sandbox_info: Pointer): Integer; cdecl;
cef_do_message_loop_work : procedure; cdecl;
cef_run_message_loop : procedure; cdecl;
cef_quit_message_loop : procedure; cdecl;
cef_set_osmodal_loop : procedure(osModalLoop: Integer); cdecl;
cef_enable_highdpi_support : procedure; cdecl;
// /include/capi/cef_browser_capi.h
cef_browser_host_create_browser : function(const windowInfo: PCefWindowInfo; client: PCefClient; const url: PCefString; const settings: PCefBrowserSettings; request_context: PCefRequestContext): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_browser_host_create_browser_sync : function(const windowInfo: PCefWindowInfo; client: PCefClient; const url: PCefString; const settings: PCefBrowserSettings; request_context: PCefRequestContext): PCefBrowser; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_browser_host_create_browser : function(const windowInfo: PCefWindowInfo; client: PCefClient; const url: PCefString; const settings: PCefBrowserSettings; request_context: PCefRequestContext): Integer; cdecl;
cef_browser_host_create_browser_sync : function(const windowInfo: PCefWindowInfo; client: PCefClient; const url: PCefString; const settings: PCefBrowserSettings; request_context: PCefRequestContext): PCefBrowser; cdecl;
// /include/capi/cef_command_line_capi.h
cef_command_line_create : function : PCefCommandLine; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_command_line_get_global : function : PCefCommandLine; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_command_line_create : function : PCefCommandLine; cdecl;
cef_command_line_get_global : function : PCefCommandLine; cdecl;
// /include/capi/cef_cookie_capi.h
cef_cookie_manager_get_global_manager : function(callback: PCefCompletionCallback): PCefCookieManager; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_cookie_manager_get_blocking_manager : function : PCefCookieManager; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_cookie_manager_create_manager : function(const path: PCefString; persist_session_cookies: Integer; callback: PCefCompletionCallback): PCefCookieManager; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_cookie_manager_get_global_manager : function(callback: PCefCompletionCallback): PCefCookieManager; cdecl;
cef_cookie_manager_get_blocking_manager : function : PCefCookieManager; cdecl;
cef_cookie_manager_create_manager : function(const path: PCefString; persist_session_cookies: Integer; callback: PCefCompletionCallback): PCefCookieManager; cdecl;
// /include/capi/cef_crash_util.h
cef_crash_reporting_enabled : function : integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_set_crash_key_value : procedure(const key, value : PCefString); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_crash_reporting_enabled : function : integer; cdecl;
cef_set_crash_key_value : procedure(const key, value : PCefString); cdecl;
// /include/capi/cef_drag_data_capi.h
cef_drag_data_create : function : PCefDragData; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_drag_data_create : function : PCefDragData; cdecl;
// /include/capi/cef_file_util_capi.h
cef_create_directory : function(const full_path : PCefString): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_get_temp_directory : function(temp_dir : PCefString): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_create_new_temp_directory : function(const prefix : PCefString; new_temp_path: PCefString): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_create_temp_directory_in_directory : function(const base_dir, prefix : PCefString; new_dir : PCefString): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_directory_exists : function(const path : PCefString): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_delete_file : function(const path : PCefString; recursive : integer): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_zip_directory : function(const src_dir, dest_file : PCefString; include_hidden_files : integer): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_load_crlsets_file : procedure(const path : PCefString); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_create_directory : function(const full_path : PCefString): Integer; cdecl;
cef_get_temp_directory : function(temp_dir : PCefString): Integer; cdecl;
cef_create_new_temp_directory : function(const prefix : PCefString; new_temp_path: PCefString): Integer; cdecl;
cef_create_temp_directory_in_directory : function(const base_dir, prefix : PCefString; new_dir : PCefString): Integer; cdecl;
cef_directory_exists : function(const path : PCefString): Integer; cdecl;
cef_delete_file : function(const path : PCefString; recursive : integer): Integer; cdecl;
cef_zip_directory : function(const src_dir, dest_file : PCefString; include_hidden_files : integer): Integer; cdecl;
cef_load_crlsets_file : procedure(const path : PCefString); cdecl;
// /include/capi/cef_image_capi.h
cef_image_create : function : PCefImage; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_image_create : function : PCefImage; cdecl;
// /include/capi/cef_menu_model_capi.h
cef_menu_model_create : function(delegate: PCefMenuModelDelegate): PCefMenuModel; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_menu_model_create : function(delegate: PCefMenuModelDelegate): PCefMenuModel; cdecl;
// /include/capi/cef_origin_whitelist_capi.h
cef_add_cross_origin_whitelist_entry : function(const source_origin, target_protocol, target_domain: PCefString; allow_target_subdomains: Integer): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_remove_cross_origin_whitelist_entry : function(const source_origin, target_protocol, target_domain: PCefString; allow_target_subdomains: Integer): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_clear_cross_origin_whitelist : function : Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_add_cross_origin_whitelist_entry : function(const source_origin, target_protocol, target_domain: PCefString; allow_target_subdomains: Integer): Integer; cdecl;
cef_remove_cross_origin_whitelist_entry : function(const source_origin, target_protocol, target_domain: PCefString; allow_target_subdomains: Integer): Integer; cdecl;
cef_clear_cross_origin_whitelist : function : Integer; cdecl;
// /include/capi/cef_parser_capi.h
cef_parse_url : function(const url: PCefString; var parts: TCefUrlParts): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_create_url : function(const parts: PCefUrlParts; url: PCefString): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_format_url_for_security_display : function(const origin_url: PCefString): PCefStringUserFree; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_get_mime_type : function(const extension: PCefString): PCefStringUserFree; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_get_extensions_for_mime_type : procedure(const mime_type: PCefString; extensions: TCefStringList); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_base64encode : function(const data: Pointer; data_size: NativeUInt): PCefStringUserFree; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_base64decode : function(const data: PCefString): PCefBinaryValue; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_uriencode : function(const text: PCefString; use_plus: Integer): PCefStringUserFree; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_uridecode : function(const text: PCefString; convert_to_utf8: Integer; unescape_rule: TCefUriUnescapeRule): PCefStringUserFree; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_parse_json : function(const json_string: PCefString; options: TCefJsonParserOptions): PCefValue; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_parse_jsonand_return_error : function(const json_string: PCefString; options: TCefJsonParserOptions; error_code_out: PCefJsonParserError; error_msg_out: PCefString): PCefValue; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_write_json : function(node: PCefValue; options: TCefJsonWriterOptions): PCefStringUserFree; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_parse_url : function(const url: PCefString; var parts: TCefUrlParts): Integer; cdecl;
cef_create_url : function(const parts: PCefUrlParts; url: PCefString): Integer; cdecl;
cef_format_url_for_security_display : function(const origin_url: PCefString): PCefStringUserFree; cdecl;
cef_get_mime_type : function(const extension: PCefString): PCefStringUserFree; cdecl;
cef_get_extensions_for_mime_type : procedure(const mime_type: PCefString; extensions: TCefStringList); cdecl;
cef_base64encode : function(const data: Pointer; data_size: NativeUInt): PCefStringUserFree; cdecl;
cef_base64decode : function(const data: PCefString): PCefBinaryValue; cdecl;
cef_uriencode : function(const text: PCefString; use_plus: Integer): PCefStringUserFree; cdecl;
cef_uridecode : function(const text: PCefString; convert_to_utf8: Integer; unescape_rule: TCefUriUnescapeRule): PCefStringUserFree; cdecl;
cef_parse_json : function(const json_string: PCefString; options: TCefJsonParserOptions): PCefValue; cdecl;
cef_parse_jsonand_return_error : function(const json_string: PCefString; options: TCefJsonParserOptions; error_code_out: PCefJsonParserError; error_msg_out: PCefString): PCefValue; cdecl;
cef_write_json : function(node: PCefValue; options: TCefJsonWriterOptions): PCefStringUserFree; cdecl;
// /include/capi/cef_path_util_capi.h
cef_get_path : function(key: TCefPathKey; path: PCefString): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_get_path : function(key: TCefPathKey; path: PCefString): Integer; cdecl;
// /include/capi/cef_print_settings_capi.h
cef_print_settings_create : function : PCefPrintSettings; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_print_settings_create : function : PCefPrintSettings; cdecl;
// /include/capi/cef_process_message_capi.h
cef_process_message_create : function(const name: PCefString): PCefProcessMessage; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_process_message_create : function(const name: PCefString): PCefProcessMessage; cdecl;
// /include/capi/cef_process_util_capi.h
cef_launch_process : function(command_line: PCefCommandLine): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_launch_process : function(command_line: PCefCommandLine): Integer; cdecl;
// /include/capi/cef_request_capi.h
cef_request_create : function : PCefRequest; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_post_data_create : function : PCefPostData; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_post_data_element_create : function : PCefPostDataElement; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_request_create : function : PCefRequest; cdecl;
cef_post_data_create : function : PCefPostData; cdecl;
cef_post_data_element_create : function : PCefPostDataElement; cdecl;
// /include/capi/cef_request_context_capi.h
cef_request_context_get_global_context : function : PCefRequestContext; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_request_context_create_context : function(const settings: PCefRequestContextSettings; handler: PCefRequestContextHandler): PCefRequestContext; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_create_context_shared : function(other: PCefRequestContext; handler: PCefRequestContextHandler): PCefRequestContext; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_request_context_get_global_context : function : PCefRequestContext; cdecl;
cef_request_context_create_context : function(const settings: PCefRequestContextSettings; handler: PCefRequestContextHandler): PCefRequestContext; cdecl;
cef_create_context_shared : function(other: PCefRequestContext; handler: PCefRequestContextHandler): PCefRequestContext; cdecl;
// /include/capi/cef_resource_bundle_capi.h
cef_resource_bundle_get_global : function : PCefResourceBundle; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_resource_bundle_get_global : function : PCefResourceBundle; cdecl;
// /include/capi/cef_response_capi.h
cef_response_create : function : PCefResponse; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_response_create : function : PCefResponse; cdecl;
// /include/capi/cef_scheme_capi.h
cef_register_scheme_handler_factory : function(const scheme_name, domain_name: PCefString; factory: PCefSchemeHandlerFactory): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_clear_scheme_handler_factories : function : Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_register_scheme_handler_factory : function(const scheme_name, domain_name: PCefString; factory: PCefSchemeHandlerFactory): Integer; cdecl;
cef_clear_scheme_handler_factories : function : Integer; cdecl;
// /include/capi/cef_server_capi.h
cef_server_create : procedure(const address: PCefString; port: uint16; backlog: Integer; handler: PCefServerHandler); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_server_create : procedure(const address: PCefString; port: uint16; backlog: Integer; handler: PCefServerHandler); cdecl;
// /include/capi/cef_ssl_info_capi.h
cef_is_cert_status_error : function(status : TCefCertStatus) : integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_is_cert_status_minor_error : function(status : TCefCertStatus) : integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_is_cert_status_error : function(status : TCefCertStatus) : integer; cdecl;
cef_is_cert_status_minor_error : function(status : TCefCertStatus) : integer; cdecl;
// /include/capi/cef_stream_capi.h
cef_stream_reader_create_for_file : function(const fileName: PCefString): PCefStreamReader; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_stream_reader_create_for_data : function(data: Pointer; size: NativeUInt): PCefStreamReader; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_stream_reader_create_for_handler : function(handler: PCefReadHandler): PCefStreamReader; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_stream_writer_create_for_file : function(const fileName: PCefString): PCefStreamWriter; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_stream_writer_create_for_handler : function(handler: PCefWriteHandler): PCefStreamWriter; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_stream_reader_create_for_file : function(const fileName: PCefString): PCefStreamReader; cdecl;
cef_stream_reader_create_for_data : function(data: Pointer; size: NativeUInt): PCefStreamReader; cdecl;
cef_stream_reader_create_for_handler : function(handler: PCefReadHandler): PCefStreamReader; cdecl;
cef_stream_writer_create_for_file : function(const fileName: PCefString): PCefStreamWriter; cdecl;
cef_stream_writer_create_for_handler : function(handler: PCefWriteHandler): PCefStreamWriter; cdecl;
// /include/capi/cef_task_capi.h
cef_task_runner_get_for_current_thread : function : PCefTaskRunner; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_task_runner_get_for_thread : function(threadId: TCefThreadId): PCefTaskRunner; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_currently_on : function(threadId: TCefThreadId): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_post_task : function(threadId: TCefThreadId; task: PCefTask): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_post_delayed_task : function(threadId: TCefThreadId; task: PCefTask; delay_ms: Int64): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_task_runner_get_for_current_thread : function : PCefTaskRunner; cdecl;
cef_task_runner_get_for_thread : function(threadId: TCefThreadId): PCefTaskRunner; cdecl;
cef_currently_on : function(threadId: TCefThreadId): Integer; cdecl;
cef_post_task : function(threadId: TCefThreadId; task: PCefTask): Integer; cdecl;
cef_post_delayed_task : function(threadId: TCefThreadId; task: PCefTask; delay_ms: Int64): Integer; cdecl;
// /include/capi/cef_thread_capi.h
cef_thread_create : function(const display_name: PCefString; priority: TCefThreadPriority; message_loop_type: TCefMessageLoopType; stoppable: integer; com_init_mode: TCefCOMInitMode): PCefThread; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_thread_create : function(const display_name: PCefString; priority: TCefThreadPriority; message_loop_type: TCefMessageLoopType; stoppable: integer; com_init_mode: TCefCOMInitMode): PCefThread; cdecl;
// /include/capi/cef_trace_capi.h
cef_begin_tracing : function(const categories: PCefString; callback: PCefCompletionCallback): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_end_tracing : function(const tracing_file: PCefString; callback: PCefEndTracingCallback): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_now_from_system_trace_time : function : int64; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_begin_tracing : function(const categories: PCefString; callback: PCefCompletionCallback): Integer; cdecl;
cef_end_tracing : function(const tracing_file: PCefString; callback: PCefEndTracingCallback): Integer; cdecl;
cef_now_from_system_trace_time : function : int64; cdecl;
// /include/capi/cef_urlrequest_capi.h
cef_urlrequest_create : function(request: PCefRequest; client: PCefUrlRequestClient; request_context: PCefRequestContext): PCefUrlRequest; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_urlrequest_create : function(request: PCefRequest; client: PCefUrlRequestClient; request_context: PCefRequestContext): PCefUrlRequest; cdecl;
// /include/capi/cef_v8_capi.h
cef_v8context_get_current_context : function : PCefv8Context; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_v8context_get_entered_context : function : PCefv8Context; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_v8context_in_context : function : Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_v8value_create_undefined : function : PCefv8Value; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_v8value_create_null : function : PCefv8Value; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_v8value_create_bool : function(value: Integer): PCefv8Value; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_v8value_create_int : function(value: Integer): PCefv8Value; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_v8value_create_uint : function(value: Cardinal): PCefv8Value; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_v8value_create_double : function(value: Double): PCefv8Value; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_v8value_create_date : function(const value: PCefTime): PCefv8Value; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_v8value_create_string : function(const value: PCefString): PCefv8Value; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_v8value_create_object : function(accessor: PCefV8Accessor; interceptor: PCefV8Interceptor): PCefv8Value; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_v8value_create_array : function(length: Integer): PCefv8Value; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_v8value_create_array_buffer : function(buffer : Pointer; length: NativeUInt; release_callback : PCefv8ArrayBufferReleaseCallback): PCefv8Value; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_v8value_create_function : function(const name: PCefString; handler: PCefv8Handler): PCefv8Value; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_v8stack_trace_get_current : function(frame_limit: Integer): PCefV8StackTrace; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_register_extension : function(const extension_name, javascript_code: PCefString; handler: PCefv8Handler): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_v8context_get_current_context : function : PCefv8Context; cdecl;
cef_v8context_get_entered_context : function : PCefv8Context; cdecl;
cef_v8context_in_context : function : Integer; cdecl;
cef_v8value_create_undefined : function : PCefv8Value; cdecl;
cef_v8value_create_null : function : PCefv8Value; cdecl;
cef_v8value_create_bool : function(value: Integer): PCefv8Value; cdecl;
cef_v8value_create_int : function(value: Integer): PCefv8Value; cdecl;
cef_v8value_create_uint : function(value: Cardinal): PCefv8Value; cdecl;
cef_v8value_create_double : function(value: Double): PCefv8Value; cdecl;
cef_v8value_create_date : function(const value: PCefTime): PCefv8Value; cdecl;
cef_v8value_create_string : function(const value: PCefString): PCefv8Value; cdecl;
cef_v8value_create_object : function(accessor: PCefV8Accessor; interceptor: PCefV8Interceptor): PCefv8Value; cdecl;
cef_v8value_create_array : function(length: Integer): PCefv8Value; cdecl;
cef_v8value_create_array_buffer : function(buffer : Pointer; length: NativeUInt; release_callback : PCefv8ArrayBufferReleaseCallback): PCefv8Value; cdecl;
cef_v8value_create_function : function(const name: PCefString; handler: PCefv8Handler): PCefv8Value; cdecl;
cef_v8stack_trace_get_current : function(frame_limit: Integer): PCefV8StackTrace; cdecl;
cef_register_extension : function(const extension_name, javascript_code: PCefString; handler: PCefv8Handler): Integer; cdecl;
// /include/capi/cef_values_capi.h
cef_value_create : function : PCefValue; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_binary_value_create : function(const data: Pointer; data_size: NativeUInt): PCefBinaryValue; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_dictionary_value_create : function : PCefDictionaryValue; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_list_value_create : function : PCefListValue; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_value_create : function : PCefValue; cdecl;
cef_binary_value_create : function(const data: Pointer; data_size: NativeUInt): PCefBinaryValue; cdecl;
cef_dictionary_value_create : function : PCefDictionaryValue; cdecl;
cef_list_value_create : function : PCefListValue; cdecl;
// /include/capi/cef_waitable_event_capi.h
cef_waitable_event_create : function(automatic_reset, initially_signaled : integer): PCefWaitableEvent; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_waitable_event_create : function(automatic_reset, initially_signaled : integer): PCefWaitableEvent; cdecl;
// /include/capi/cef_web_plugin_capi.h
cef_visit_web_plugin_info : procedure(visitor: PCefWebPluginInfoVisitor); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_refresh_web_plugins : procedure; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_unregister_internal_web_plugin : procedure(const path: PCefString); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_register_web_plugin_crash : procedure(const path: PCefString); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_is_web_plugin_unstable : procedure(const path: PCefString; callback: PCefWebPluginUnstableCallback); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_register_widevine_cdm : procedure(const path: PCefString; callback: PCefRegisterCDMCallback); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_visit_web_plugin_info : procedure(visitor: PCefWebPluginInfoVisitor); cdecl;
cef_refresh_web_plugins : procedure; cdecl;
cef_unregister_internal_web_plugin : procedure(const path: PCefString); cdecl;
cef_register_web_plugin_crash : procedure(const path: PCefString); cdecl;
cef_is_web_plugin_unstable : procedure(const path: PCefString; callback: PCefWebPluginUnstableCallback); cdecl;
cef_register_widevine_cdm : procedure(const path: PCefString; callback: PCefRegisterCDMCallback); cdecl;
// /include/capi/cef_xml_reader_capi.h
cef_xml_reader_create : function(stream: PCefStreamReader; encodingType: TCefXmlEncodingType; const URI: PCefString): PCefXmlReader; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_xml_reader_create : function(stream: PCefStreamReader; encodingType: TCefXmlEncodingType; const URI: PCefString): PCefXmlReader; cdecl;
// /include/capi/cef_zip_reader_capi.h
cef_zip_reader_create : function(stream: PCefStreamReader): PCefZipReader; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_zip_reader_create : function(stream: PCefStreamReader): PCefZipReader; cdecl;
// /include/internal/cef_logging_internal.h
cef_get_min_log_level : function : Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_get_vlog_level : function(const file_start: PAnsiChar; N: NativeInt): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_log : procedure(const file_: PAnsiChar; line, severity: Integer; const message: PAnsiChar); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_get_min_log_level : function : Integer; cdecl;
cef_get_vlog_level : function(const file_start: PAnsiChar; N: NativeInt): Integer; cdecl;
cef_log : procedure(const file_: PAnsiChar; line, severity: Integer; const message: PAnsiChar); cdecl;
// /include/internal/cef_string_list.h
cef_string_list_alloc : function : TCefStringList; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_list_size : function(list: TCefStringList): NativeUInt; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_list_value : function(list: TCefStringList; index: NativeUInt; value: PCefString): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_list_append : procedure(list: TCefStringList; const value: PCefString); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_list_clear : procedure(list: TCefStringList); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_list_free : procedure(list: TCefStringList); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_list_copy : function(list: TCefStringList): TCefStringList; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_list_alloc : function : TCefStringList; cdecl;
cef_string_list_size : function(list: TCefStringList): NativeUInt; cdecl;
cef_string_list_value : function(list: TCefStringList; index: NativeUInt; value: PCefString): Integer; cdecl;
cef_string_list_append : procedure(list: TCefStringList; const value: PCefString); cdecl;
cef_string_list_clear : procedure(list: TCefStringList); cdecl;
cef_string_list_free : procedure(list: TCefStringList); cdecl;
cef_string_list_copy : function(list: TCefStringList): TCefStringList; cdecl;
// /include/internal/cef_string_map.h
cef_string_map_alloc : function : TCefStringMap; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_map_size : function(map: TCefStringMap): NativeUInt; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_map_find : function(map: TCefStringMap; const key: PCefString; var value: TCefString): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_map_key : function(map: TCefStringMap; index: NativeUInt; var key: TCefString): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_map_value : function(map: TCefStringMap; index: NativeUInt; var value: TCefString): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_map_append : function(map: TCefStringMap; const key, value: PCefString): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_map_clear : procedure(map: TCefStringMap); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_map_free : procedure(map: TCefStringMap); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_map_alloc : function : TCefStringMap; cdecl;
cef_string_map_size : function(map: TCefStringMap): NativeUInt; cdecl;
cef_string_map_find : function(map: TCefStringMap; const key: PCefString; var value: TCefString): Integer; cdecl;
cef_string_map_key : function(map: TCefStringMap; index: NativeUInt; var key: TCefString): Integer; cdecl;
cef_string_map_value : function(map: TCefStringMap; index: NativeUInt; var value: TCefString): Integer; cdecl;
cef_string_map_append : function(map: TCefStringMap; const key, value: PCefString): Integer; cdecl;
cef_string_map_clear : procedure(map: TCefStringMap); cdecl;
cef_string_map_free : procedure(map: TCefStringMap); cdecl;
// /include/internal/cef_string_multimap.h
cef_string_multimap_alloc : function : TCefStringMultimap; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_multimap_size : function(map: TCefStringMultimap): NativeUInt; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_multimap_find_count : function(map: TCefStringMultimap; const key: PCefString): NativeUInt; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_multimap_enumerate : function(map: TCefStringMultimap; const key: PCefString; value_index: NativeUInt; var value: TCefString): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_multimap_key : function(map: TCefStringMultimap; index: NativeUInt; var key: TCefString): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_multimap_value : function(map: TCefStringMultimap; index: NativeUInt; var value: TCefString): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_multimap_append : function(map: TCefStringMultimap; const key, value: PCefString): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_multimap_clear : procedure(map: TCefStringMultimap); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_multimap_free : procedure(map: TCefStringMultimap); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_multimap_alloc : function : TCefStringMultimap; cdecl;
cef_string_multimap_size : function(map: TCefStringMultimap): NativeUInt; cdecl;
cef_string_multimap_find_count : function(map: TCefStringMultimap; const key: PCefString): NativeUInt; cdecl;
cef_string_multimap_enumerate : function(map: TCefStringMultimap; const key: PCefString; value_index: NativeUInt; var value: TCefString): Integer; cdecl;
cef_string_multimap_key : function(map: TCefStringMultimap; index: NativeUInt; var key: TCefString): Integer; cdecl;
cef_string_multimap_value : function(map: TCefStringMultimap; index: NativeUInt; var value: TCefString): Integer; cdecl;
cef_string_multimap_append : function(map: TCefStringMultimap; const key, value: PCefString): Integer; cdecl;
cef_string_multimap_clear : procedure(map: TCefStringMultimap); cdecl;
cef_string_multimap_free : procedure(map: TCefStringMultimap); cdecl;
// /include/internal/cef_string_types.h
cef_string_wide_set : function(const src: PWideChar; src_len: NativeUInt; output: PCefStringWide; copy: Integer): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_utf8_set : function(const src: PAnsiChar; src_len: NativeUInt; output: PCefStringUtf8; copy: Integer): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_utf16_set : function(const src: PChar16; src_len: NativeUInt; output: PCefStringUtf16; copy: Integer): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_wide_clear : procedure(str: PCefStringWide); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_utf8_clear : procedure(str: PCefStringUtf8); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_utf16_clear : procedure(str: PCefStringUtf16); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_wide_cmp : function(const str1, str2: PCefStringWide): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_utf8_cmp : function(const str1, str2: PCefStringUtf8): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_utf16_cmp : function(const str1, str2: PCefStringUtf16): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_wide_to_utf8 : function(const src: PWideChar; src_len: NativeUInt; output: PCefStringUtf8): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_utf8_to_wide : function(const src: PAnsiChar; src_len: NativeUInt; output: PCefStringWide): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_wide_to_utf16 : function(const src: PWideChar; src_len: NativeUInt; output: PCefStringUtf16): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_utf16_to_wide : function(const src: PChar16; src_len: NativeUInt; output: PCefStringWide): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_utf8_to_utf16 : function(const src: PAnsiChar; src_len: NativeUInt; output: PCefStringUtf16): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_utf16_to_utf8 : function(const src: PChar16; src_len: NativeUInt; output: PCefStringUtf8): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_ascii_to_wide : function(const src: PAnsiChar; src_len: NativeUInt; output: PCefStringWide): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_ascii_to_utf16 : function(const src: PAnsiChar; src_len: NativeUInt; output: PCefStringUtf16): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_userfree_wide_alloc : function : PCefStringUserFreeWide; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_userfree_utf8_alloc : function : PCefStringUserFreeUtf8; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_string_userfree_utf16_alloc : function : PCefStringUserFreeUtf16; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
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};
cef_string_wide_set : function(const src: PWideChar; src_len: NativeUInt; output: PCefStringWide; copy: Integer): Integer; cdecl;
cef_string_utf8_set : function(const src: PAnsiChar; src_len: NativeUInt; output: PCefStringUtf8; copy: Integer): Integer; cdecl;
cef_string_utf16_set : function(const src: PChar16; src_len: NativeUInt; output: PCefStringUtf16; copy: Integer): Integer; cdecl;
cef_string_wide_clear : procedure(str: PCefStringWide); cdecl;
cef_string_utf8_clear : procedure(str: PCefStringUtf8); cdecl;
cef_string_utf16_clear : procedure(str: PCefStringUtf16); cdecl;
cef_string_wide_cmp : function(const str1, str2: PCefStringWide): Integer; cdecl;
cef_string_utf8_cmp : function(const str1, str2: PCefStringUtf8): Integer; cdecl;
cef_string_utf16_cmp : function(const str1, str2: PCefStringUtf16): Integer; cdecl;
cef_string_wide_to_utf8 : function(const src: PWideChar; src_len: NativeUInt; output: PCefStringUtf8): Integer; cdecl;
cef_string_utf8_to_wide : function(const src: PAnsiChar; src_len: NativeUInt; output: PCefStringWide): Integer; cdecl;
cef_string_wide_to_utf16 : function(const src: PWideChar; src_len: NativeUInt; output: PCefStringUtf16): Integer; cdecl;
cef_string_utf16_to_wide : function(const src: PChar16; src_len: NativeUInt; output: PCefStringWide): Integer; cdecl;
cef_string_utf8_to_utf16 : function(const src: PAnsiChar; src_len: NativeUInt; output: PCefStringUtf16): Integer; cdecl;
cef_string_utf16_to_utf8 : function(const src: PChar16; src_len: NativeUInt; output: PCefStringUtf8): Integer; cdecl;
cef_string_ascii_to_wide : function(const src: PAnsiChar; src_len: NativeUInt; output: PCefStringWide): Integer; cdecl;
cef_string_ascii_to_utf16 : function(const src: PAnsiChar; src_len: NativeUInt; output: PCefStringUtf16): Integer; cdecl;
cef_string_userfree_wide_alloc : function : PCefStringUserFreeWide; cdecl;
cef_string_userfree_utf8_alloc : function : PCefStringUserFreeUtf8; cdecl;
cef_string_userfree_utf16_alloc : function : PCefStringUserFreeUtf16; cdecl;
cef_string_userfree_wide_free : procedure(str: PCefStringUserFreeWide); cdecl;
cef_string_userfree_utf8_free : procedure(str: PCefStringUserFreeUtf8); cdecl;
cef_string_userfree_utf16_free : procedure(str: PCefStringUserFreeUtf16); cdecl;
cef_string_utf16_to_lower : function(const src: PChar16; src_len: NativeUInt; output: PCefStringUtf16): Integer; cdecl;
cef_string_utf16_to_upper : function(const src: PChar16; src_len: NativeUInt; output: PCefStringUtf16): Integer; cdecl;
// /include/internal/cef_thread_internal.h
cef_get_current_platform_thread_id : function : TCefPlatformThreadId; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_get_current_platform_thread_handle : function : TCefPlatformThreadHandle; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_get_current_platform_thread_id : function : TCefPlatformThreadId; cdecl;
cef_get_current_platform_thread_handle : function : TCefPlatformThreadHandle; cdecl;
// /include/internal/cef_trace_event_internal.h
cef_trace_event_instant : procedure(const category, name, arg1_name: PAnsiChar; arg1_val: uint64; const arg2_name: PAnsiChar; arg2_val: UInt64; copy: Integer); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_trace_event_begin : procedure(const category, name, arg1_name: PAnsiChar; arg1_val: UInt64; const arg2_name: PAnsiChar; arg2_val: UInt64; copy: Integer); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_trace_event_end : procedure(const category, name, arg1_name: PAnsiChar; arg1_val: UInt64; const arg2_name: PAnsiChar; arg2_val: UInt64; copy: Integer); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_trace_counter : procedure(const category, name, value1_name: PAnsiChar; value1_val: UInt64; const value2_name: PAnsiChar; value2_val: UInt64; copy: Integer); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_trace_counter_id : procedure(const category, name: PAnsiChar; id: UInt64; const value1_name: PAnsiChar; value1_val: UInt64; const value2_name: PAnsiChar; value2_val: UInt64; copy: Integer); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_trace_event_async_begin : procedure(const category, name: PAnsiChar; id: UInt64; const arg1_name: PAnsiChar; arg1_val: UInt64; const arg2_name: PAnsiChar; arg2_val: UInt64; copy: Integer); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_trace_event_async_step_into : procedure(const category, name: PAnsiChar; id, step: UInt64; const arg1_name: PAnsiChar; arg1_val: UInt64; copy: Integer); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_trace_event_async_step_past : procedure(const category, name: PAnsiChar; id, step: UInt64; const arg1_name: PAnsiChar; arg1_val: UInt64; copy: Integer); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_trace_event_async_end : procedure(const category, name: PAnsiChar; id: UInt64; const arg1_name: PAnsiChar; arg1_val: UInt64; const arg2_name: PAnsiChar; arg2_val: UInt64; copy: Integer); {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
cef_trace_event_instant : procedure(const category, name, arg1_name: PAnsiChar; arg1_val: uint64; const arg2_name: PAnsiChar; arg2_val: UInt64; copy: Integer); cdecl;
cef_trace_event_begin : procedure(const category, name, arg1_name: PAnsiChar; arg1_val: UInt64; const arg2_name: PAnsiChar; arg2_val: UInt64; copy: Integer); cdecl;
cef_trace_event_end : procedure(const category, name, arg1_name: PAnsiChar; arg1_val: UInt64; const arg2_name: PAnsiChar; arg2_val: UInt64; copy: Integer); cdecl;
cef_trace_counter : procedure(const category, name, value1_name: PAnsiChar; value1_val: UInt64; const value2_name: PAnsiChar; value2_val: UInt64; copy: Integer); cdecl;
cef_trace_counter_id : procedure(const category, name: PAnsiChar; id: UInt64; const value1_name: PAnsiChar; value1_val: UInt64; const value2_name: PAnsiChar; value2_val: UInt64; copy: Integer); cdecl;
cef_trace_event_async_begin : procedure(const category, name: PAnsiChar; id: UInt64; const arg1_name: PAnsiChar; arg1_val: UInt64; const arg2_name: PAnsiChar; arg2_val: UInt64; copy: Integer); cdecl;
cef_trace_event_async_step_into : procedure(const category, name: PAnsiChar; id, step: UInt64; const arg1_name: PAnsiChar; arg1_val: UInt64; copy: Integer); cdecl;
cef_trace_event_async_step_past : procedure(const category, name: PAnsiChar; id, step: UInt64; const arg1_name: PAnsiChar; arg1_val: UInt64; copy: Integer); cdecl;
cef_trace_event_async_end : procedure(const category, name: PAnsiChar; id: UInt64; const arg1_name: PAnsiChar; arg1_val: UInt64; const arg2_name: PAnsiChar; arg2_val: UInt64; copy: Integer); cdecl;
implementation

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFLifeSpanHandler;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -179,10 +183,10 @@ begin
with PCefLifeSpanHandler(FData)^ do
begin
on_before_popup := cef_life_span_handler_on_before_popup;
on_after_created := cef_life_span_handler_on_after_created;
do_close := cef_life_span_handler_do_close;
on_before_close := cef_life_span_handler_on_before_close;
on_before_popup := {$IFDEF FPC}@{$ENDIF}cef_life_span_handler_on_before_popup;
on_after_created := {$IFDEF FPC}@{$ENDIF}cef_life_span_handler_on_after_created;
do_close := {$IFDEF FPC}@{$ENDIF}cef_life_span_handler_do_close;
on_before_close := {$IFDEF FPC}@{$ENDIF}cef_life_span_handler_on_before_close;
end;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFListValue;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -93,156 +97,157 @@ uses
function TCefListValueRef.Clear: Boolean;
begin
Result := PCefListValue(FData).clear(PCefListValue(FData)) <> 0;
Result := PCefListValue(FData)^.clear(PCefListValue(FData)) <> 0;
end;
function TCefListValueRef.Copy: ICefListValue;
begin
Result := UnWrap(PCefListValue(FData).copy(PCefListValue(FData)));
Result := UnWrap(PCefListValue(FData)^.copy(PCefListValue(FData)));
end;
class function TCefListValueRef.New: ICefListValue;
begin
Result := UnWrap(cef_list_value_create);
Result := UnWrap(cef_list_value_create());
end;
function TCefListValueRef.GetBinary(index: NativeUInt): ICefBinaryValue;
begin
Result := TCefBinaryValueRef.UnWrap(PCefListValue(FData).get_binary(PCefListValue(FData), index));
Result := TCefBinaryValueRef.UnWrap(PCefListValue(FData)^.get_binary(PCefListValue(FData), index));
end;
function TCefListValueRef.GetBool(index: NativeUInt): Boolean;
begin
Result := PCefListValue(FData).get_bool(PCefListValue(FData), index) <> 0;
Result := PCefListValue(FData)^.get_bool(PCefListValue(FData), index) <> 0;
end;
function TCefListValueRef.GetDictionary(index: NativeUInt): ICefDictionaryValue;
begin
Result := TCefDictionaryValueRef.UnWrap(PCefListValue(FData).get_dictionary(PCefListValue(FData), index));
Result := TCefDictionaryValueRef.UnWrap(PCefListValue(FData)^.get_dictionary(PCefListValue(FData), index));
end;
function TCefListValueRef.GetDouble(index: NativeUInt): Double;
begin
Result := PCefListValue(FData).get_double(PCefListValue(FData), index);
Result := PCefListValue(FData)^.get_double(PCefListValue(FData), index);
end;
function TCefListValueRef.GetInt(index: NativeUInt): Integer;
begin
Result := PCefListValue(FData).get_int(PCefListValue(FData), index);
Result := PCefListValue(FData)^.get_int(PCefListValue(FData), index);
end;
function TCefListValueRef.GetList(index: NativeUInt): ICefListValue;
begin
Result := UnWrap(PCefListValue(FData).get_list(PCefListValue(FData), index));
Result := UnWrap(PCefListValue(FData)^.get_list(PCefListValue(FData), index));
end;
function TCefListValueRef.GetSize: NativeUInt;
begin
Result := PCefListValue(FData).get_size(PCefListValue(FData));
Result := PCefListValue(FData)^.get_size(PCefListValue(FData));
end;
function TCefListValueRef.GetString(index: NativeUInt): ustring;
begin
Result := CefStringFreeAndGet(PCefListValue(FData).get_string(PCefListValue(FData), index));
Result := CefStringFreeAndGet(PCefListValue(FData)^.get_string(PCefListValue(FData), index));
end;
function TCefListValueRef.GetType(index: NativeUInt): TCefValueType;
begin
Result := PCefListValue(FData).get_type(PCefListValue(FData), index);
Result := PCefListValue(FData)^.get_type(PCefListValue(FData), index);
end;
function TCefListValueRef.GetValue(index: NativeUInt): ICefValue;
begin
Result := TCefValueRef.UnWrap(PCefListValue(FData).get_value(PCefListValue(FData), index));
Result := TCefValueRef.UnWrap(PCefListValue(FData)^.get_value(PCefListValue(FData), index));
end;
function TCefListValueRef.IsEqual(const that: ICefListValue): Boolean;
begin
Result := PCefListValue(FData).is_equal(PCefListValue(FData), CefGetData(that)) <> 0;
Result := PCefListValue(FData)^.is_equal(PCefListValue(FData), CefGetData(that)) <> 0;
end;
function TCefListValueRef.IsOwned: Boolean;
begin
Result := PCefListValue(FData).is_owned(PCefListValue(FData)) <> 0;
Result := PCefListValue(FData)^.is_owned(PCefListValue(FData)) <> 0;
end;
function TCefListValueRef.IsReadOnly: Boolean;
begin
Result := PCefListValue(FData).is_read_only(PCefListValue(FData)) <> 0;
Result := PCefListValue(FData)^.is_read_only(PCefListValue(FData)) <> 0;
end;
function TCefListValueRef.IsSame(const that: ICefListValue): Boolean;
begin
Result := PCefListValue(FData).is_same(PCefListValue(FData), CefGetData(that)) <> 0;
Result := PCefListValue(FData)^.is_same(PCefListValue(FData), CefGetData(that)) <> 0;
end;
function TCefListValueRef.IsValid: Boolean;
begin
Result := PCefListValue(FData).is_valid(PCefListValue(FData)) <> 0;
Result := PCefListValue(FData)^.is_valid(PCefListValue(FData)) <> 0;
end;
function TCefListValueRef.Remove(index: NativeUInt): Boolean;
begin
Result := PCefListValue(FData).remove(PCefListValue(FData), index) <> 0;
Result := PCefListValue(FData)^.remove(PCefListValue(FData), index) <> 0;
end;
function TCefListValueRef.SetBinary(index: NativeUInt; const value: ICefBinaryValue): Boolean;
begin
Result := PCefListValue(FData).set_binary(PCefListValue(FData), index, CefGetData(value)) <> 0;
Result := PCefListValue(FData)^.set_binary(PCefListValue(FData), index, CefGetData(value)) <> 0;
end;
function TCefListValueRef.SetBool(index: NativeUInt; value: Boolean): Boolean;
begin
Result := PCefListValue(FData).set_bool(PCefListValue(FData), index, Ord(value)) <> 0;
Result := PCefListValue(FData)^.set_bool(PCefListValue(FData), index, Ord(value)) <> 0;
end;
function TCefListValueRef.SetDictionary(index: NativeUInt; const value: ICefDictionaryValue): Boolean;
begin
Result := PCefListValue(FData).set_dictionary(PCefListValue(FData), index, CefGetData(value)) <> 0;
Result := PCefListValue(FData)^.set_dictionary(PCefListValue(FData), index, CefGetData(value)) <> 0;
end;
function TCefListValueRef.SetDouble(index: NativeUInt; value: Double): Boolean;
begin
Result := PCefListValue(FData).set_double(PCefListValue(FData), index, value) <> 0;
Result := PCefListValue(FData)^.set_double(PCefListValue(FData), index, value) <> 0;
end;
function TCefListValueRef.SetInt(index: NativeUInt; value: Integer): Boolean;
begin
Result := PCefListValue(FData).set_int(PCefListValue(FData), index, value) <> 0;
Result := PCefListValue(FData)^.set_int(PCefListValue(FData), index, value) <> 0;
end;
function TCefListValueRef.SetList(index: NativeUInt; const value: ICefListValue): Boolean;
begin
Result := PCefListValue(FData).set_list(PCefListValue(FData), index, CefGetData(value)) <> 0;
Result := PCefListValue(FData)^.set_list(PCefListValue(FData), index, CefGetData(value)) <> 0;
end;
function TCefListValueRef.SetNull(index: NativeUInt): Boolean;
begin
Result := PCefListValue(FData).set_null(PCefListValue(FData), index) <> 0;
Result := PCefListValue(FData)^.set_null(PCefListValue(FData), index) <> 0;
end;
function TCefListValueRef.SetSize(size: NativeUInt): Boolean;
begin
Result := PCefListValue(FData).set_size(PCefListValue(FData), size) <> 0;
Result := PCefListValue(FData)^.set_size(PCefListValue(FData), size) <> 0;
end;
function TCefListValueRef.SetString(index: NativeUInt; const value: ustring): Boolean;
var
v: TCefString;
TempValue : TCefString;
begin
v := CefString(value);
Result := PCefListValue(FData).set_string(PCefListValue(FData), index, @v) <> 0;
TempValue := CefString(value);
Result := PCefListValue(FData)^.set_string(PCefListValue(FData), index, @TempValue) <> 0;
end;
function TCefListValueRef.SetValue(index: NativeUInt; const value: ICefValue): Boolean;
begin
Result := PCefListValue(FData).set_value(PCefListValue(FData), index, CefGetData(value)) <> 0;
Result := PCefListValue(FData)^.set_value(PCefListValue(FData), index, CefGetData(value)) <> 0;
end;
class function TCefListValueRef.UnWrap(data: Pointer): ICefListValue;
begin
if data <> nil then
Result := Create(data) as ICefListValue else
if (data <> nil) then
Result := Create(data) as ICefListValue
else
Result := nil;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFLoadHandler;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -161,10 +165,10 @@ begin
with PCefLoadHandler(FData)^ do
begin
on_loading_state_change := cef_load_handler_on_loading_state_change;
on_load_start := cef_load_handler_on_load_start;
on_load_end := cef_load_handler_on_load_end;
on_load_error := cef_load_handler_on_load_error;
on_loading_state_change := {$IFDEF FPC}@{$ENDIF}cef_load_handler_on_loading_state_change;
on_load_start := {$IFDEF FPC}@{$ENDIF}cef_load_handler_on_load_start;
on_load_end := {$IFDEF FPC}@{$ENDIF}cef_load_handler_on_load_end;
on_load_error := {$IFDEF FPC}@{$ENDIF}cef_load_handler_on_load_error;
end;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFMenuModel;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -119,370 +123,344 @@ uses
uCEFMiscFunctions, uCEFLibFunctions;
function TCefMenuModelRef.AddCheckItem(commandId: Integer;
const text: ustring): Boolean;
function TCefMenuModelRef.AddCheckItem(commandId: Integer; const text: ustring): Boolean;
var
t: TCefString;
TempText : TCefString;
begin
t := CefString(text);
Result := PCefMenuModel(FData).add_check_item(PCefMenuModel(FData), commandId, @t) <> 0;
TempText := CefString(text);
Result := PCefMenuModel(FData)^.add_check_item(PCefMenuModel(FData), commandId, @TempText) <> 0;
end;
function TCefMenuModelRef.AddItem(commandId: Integer;
const text: ustring): Boolean;
function TCefMenuModelRef.AddItem(commandId: Integer; const text: ustring): Boolean;
var
t: TCefString;
TempText : TCefString;
begin
t := CefString(text);
Result := PCefMenuModel(FData).add_item(PCefMenuModel(FData), commandId, @t) <> 0;
TempText := CefString(text);
Result := PCefMenuModel(FData)^.add_item(PCefMenuModel(FData), commandId, @TempText) <> 0;
end;
function TCefMenuModelRef.AddRadioItem(commandId: Integer; const text: ustring;
groupId: Integer): Boolean;
function TCefMenuModelRef.AddRadioItem(commandId: Integer; const text: ustring; groupId: Integer): Boolean;
var
t: TCefString;
TempText : TCefString;
begin
t := CefString(text);
Result := PCefMenuModel(FData).add_radio_item(PCefMenuModel(FData), commandId, @t, groupId) <> 0;
TempText := CefString(text);
Result := PCefMenuModel(FData)^.add_radio_item(PCefMenuModel(FData), commandId, @TempText, groupId) <> 0;
end;
function TCefMenuModelRef.AddSeparator: Boolean;
begin
Result := PCefMenuModel(FData).add_separator(PCefMenuModel(FData)) <> 0;
Result := PCefMenuModel(FData)^.add_separator(PCefMenuModel(FData)) <> 0;
end;
function TCefMenuModelRef.AddSubMenu(commandId: Integer;
const text: ustring): ICefMenuModel;
function TCefMenuModelRef.AddSubMenu(commandId: Integer; const text: ustring): ICefMenuModel;
var
t: TCefString;
TempText : TCefString;
begin
t := CefString(text);
Result := TCefMenuModelRef.UnWrap(PCefMenuModel(FData).add_sub_menu(PCefMenuModel(FData), commandId, @t));
TempText := CefString(text);
Result := TCefMenuModelRef.UnWrap(PCefMenuModel(FData)^.add_sub_menu(PCefMenuModel(FData), commandId, @TempText));
end;
function TCefMenuModelRef.IsSubMenu: Boolean;
begin
Result := PCefMenuModel(FData).is_sub_menu(PCefMenuModel(FData)) <> 0;
Result := PCefMenuModel(FData)^.is_sub_menu(PCefMenuModel(FData)) <> 0;
end;
function TCefMenuModelRef.Clear: Boolean;
begin
Result := PCefMenuModel(FData).clear(PCefMenuModel(FData)) <> 0;
Result := PCefMenuModel(FData)^.clear(PCefMenuModel(FData)) <> 0;
end;
function TCefMenuModelRef.GetAccelerator(commandId: Integer;
out keyCode: Integer; out shiftPressed, ctrlPressed,
altPressed: Boolean): Boolean;
function TCefMenuModelRef.GetAccelerator(commandId: Integer; out keyCode: Integer; out shiftPressed, ctrlPressed, altPressed: Boolean): Boolean;
var
sp, cp, ap: Integer;
TempShift, TempCtrl, TempAlt : Integer;
begin
Result := PCefMenuModel(FData).get_accelerator(PCefMenuModel(FData),
commandId, @keyCode, @sp, @cp, @ap) <> 0;
shiftPressed := sp <> 0;
ctrlPressed := cp <> 0;
altPressed := ap <> 0;
Result := PCefMenuModel(FData)^.get_accelerator(PCefMenuModel(FData), commandId, @keyCode, @TempShift, @TempCtrl, @TempAlt) <> 0;
shiftPressed := TempShift <> 0;
ctrlPressed := TempCtrl <> 0;
altPressed := TempAlt <> 0;
end;
function TCefMenuModelRef.GetAcceleratorAt(index: Integer; out keyCode: Integer;
out shiftPressed, ctrlPressed, altPressed: Boolean): Boolean;
function TCefMenuModelRef.GetAcceleratorAt(index: Integer; out keyCode: Integer; out shiftPressed, ctrlPressed, altPressed: Boolean): Boolean;
var
sp, cp, ap: Integer;
TempShift, TempCtrl, TempAlt : Integer;
begin
Result := PCefMenuModel(FData).get_accelerator_at(PCefMenuModel(FData),
index, @keyCode, @sp, @cp, @ap) <> 0;
shiftPressed := sp <> 0;
ctrlPressed := cp <> 0;
altPressed := ap <> 0;
Result := PCefMenuModel(FData)^.get_accelerator_at(PCefMenuModel(FData), index, @keyCode, @TempShift, @TempCtrl, @TempAlt) <> 0;
shiftPressed := TempShift <> 0;
ctrlPressed := TempCtrl <> 0;
altPressed := TempAlt <> 0;
end;
function TCefMenuModelRef.SetColor(commandId: Integer; colorType: TCefMenuColorType; color: TCefColor): Boolean;
begin
Result := PCefMenuModel(FData).set_color(PCefMenuModel(FData), commandId, colorType, color) <> 0;
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;
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;
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;
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;
TempList : TCefString;
begin
TempString := CefString(fontList);
Result := PCefMenuModel(FData).set_font_list(PCefMenuModel(FData), commandId, @TempString) <> 0;
TempList := CefString(fontList);
Result := PCefMenuModel(FData)^.set_font_list(PCefMenuModel(FData), commandId, @TempList) <> 0;
end;
function TCefMenuModelRef.SetFontListAt(index: Integer; const fontList: ustring): Boolean;
var
TempString : TCefString;
TempList : TCefString;
begin
TempString := CefString(fontList);
Result := PCefMenuModel(FData).set_font_list_at(PCefMenuModel(FData), index, @TempString) <> 0;
TempList := CefString(fontList);
Result := PCefMenuModel(FData)^.set_font_list_at(PCefMenuModel(FData), index, @TempList) <> 0;
end;
function TCefMenuModelRef.GetCommandIdAt(index: Integer): Integer;
begin
Result := PCefMenuModel(FData).get_command_id_at(PCefMenuModel(FData), index);
Result := PCefMenuModel(FData)^.get_command_id_at(PCefMenuModel(FData), index);
end;
function TCefMenuModelRef.GetCount: Integer;
begin
Result := PCefMenuModel(FData).get_count(PCefMenuModel(FData));
Result := PCefMenuModel(FData)^.get_count(PCefMenuModel(FData));
end;
function TCefMenuModelRef.GetGroupId(commandId: Integer): Integer;
begin
Result := PCefMenuModel(FData).get_group_id(PCefMenuModel(FData), commandId);
Result := PCefMenuModel(FData)^.get_group_id(PCefMenuModel(FData), commandId);
end;
function TCefMenuModelRef.GetGroupIdAt(index: Integer): Integer;
begin
Result := PCefMenuModel(FData).get_group_id(PCefMenuModel(FData), index);
Result := PCefMenuModel(FData)^.get_group_id(PCefMenuModel(FData), index);
end;
function TCefMenuModelRef.GetIndexOf(commandId: Integer): Integer;
begin
Result := PCefMenuModel(FData).get_index_of(PCefMenuModel(FData), commandId);
Result := PCefMenuModel(FData)^.get_index_of(PCefMenuModel(FData), commandId);
end;
function TCefMenuModelRef.GetLabel(commandId: Integer): ustring;
begin
Result := CefStringFreeAndGet(PCefMenuModel(FData).get_label(PCefMenuModel(FData), commandId));
Result := CefStringFreeAndGet(PCefMenuModel(FData)^.get_label(PCefMenuModel(FData), commandId));
end;
function TCefMenuModelRef.GetLabelAt(index: Integer): ustring;
begin
Result := CefStringFreeAndGet(PCefMenuModel(FData).get_label_at(PCefMenuModel(FData), index));
Result := CefStringFreeAndGet(PCefMenuModel(FData)^.get_label_at(PCefMenuModel(FData), index));
end;
function TCefMenuModelRef.GetSubMenu(commandId: Integer): ICefMenuModel;
begin
Result := TCefMenuModelRef.UnWrap(PCefMenuModel(FData).get_sub_menu(PCefMenuModel(FData), commandId));
Result := TCefMenuModelRef.UnWrap(PCefMenuModel(FData)^.get_sub_menu(PCefMenuModel(FData), commandId));
end;
function TCefMenuModelRef.GetSubMenuAt(index: Integer): ICefMenuModel;
begin
Result := TCefMenuModelRef.UnWrap(PCefMenuModel(FData).get_sub_menu_at(PCefMenuModel(FData), index));
Result := TCefMenuModelRef.UnWrap(PCefMenuModel(FData)^.get_sub_menu_at(PCefMenuModel(FData), index));
end;
function TCefMenuModelRef.GetType(commandId: Integer): TCefMenuItemType;
begin
Result := PCefMenuModel(FData).get_type(PCefMenuModel(FData), commandId);
Result := PCefMenuModel(FData)^.get_type(PCefMenuModel(FData), commandId);
end;
function TCefMenuModelRef.GetTypeAt(index: Integer): TCefMenuItemType;
begin
Result := PCefMenuModel(FData).get_type_at(PCefMenuModel(FData), index);
Result := PCefMenuModel(FData)^.get_type_at(PCefMenuModel(FData), index);
end;
function TCefMenuModelRef.HasAccelerator(commandId: Integer): Boolean;
begin
Result := PCefMenuModel(FData).has_accelerator(PCefMenuModel(FData), commandId) <> 0;
Result := PCefMenuModel(FData)^.has_accelerator(PCefMenuModel(FData), commandId) <> 0;
end;
function TCefMenuModelRef.HasAcceleratorAt(index: Integer): Boolean;
begin
Result := PCefMenuModel(FData).has_accelerator_at(PCefMenuModel(FData), index) <> 0;
Result := PCefMenuModel(FData)^.has_accelerator_at(PCefMenuModel(FData), index) <> 0;
end;
function TCefMenuModelRef.InsertCheckItemAt(index, commandId: Integer;
const text: ustring): Boolean;
function TCefMenuModelRef.InsertCheckItemAt(index, commandId: Integer; const text: ustring): Boolean;
var
t: TCefString;
TempText : TCefString;
begin
t := CefString(text);
Result := PCefMenuModel(FData).insert_check_item_at(PCefMenuModel(FData), index, commandId, @t) <> 0;
TempText := CefString(text);
Result := PCefMenuModel(FData)^.insert_check_item_at(PCefMenuModel(FData), index, commandId, @TempText) <> 0;
end;
function TCefMenuModelRef.InsertItemAt(index, commandId: Integer;
const text: ustring): Boolean;
function TCefMenuModelRef.InsertItemAt(index, commandId: Integer; const text: ustring): Boolean;
var
t: TCefString;
TempText : TCefString;
begin
t := CefString(text);
Result := PCefMenuModel(FData).insert_item_at(PCefMenuModel(FData), index, commandId, @t) <> 0;
TempText := CefString(text);
Result := PCefMenuModel(FData)^.insert_item_at(PCefMenuModel(FData), index, commandId, @TempText) <> 0;
end;
function TCefMenuModelRef.InsertRadioItemAt(index, commandId: Integer;
const text: ustring; groupId: Integer): Boolean;
function TCefMenuModelRef.InsertRadioItemAt(index, commandId: Integer; const text: ustring; groupId: Integer): Boolean;
var
t: TCefString;
TempText : TCefString;
begin
t := CefString(text);
Result := PCefMenuModel(FData).insert_radio_item_at(PCefMenuModel(FData),
index, commandId, @t, groupId) <> 0;
TempText := CefString(text);
Result := PCefMenuModel(FData)^.insert_radio_item_at(PCefMenuModel(FData), index, commandId, @TempText, groupId) <> 0;
end;
function TCefMenuModelRef.InsertSeparatorAt(index: Integer): Boolean;
begin
Result := PCefMenuModel(FData).insert_separator_at(PCefMenuModel(FData), index) <> 0;
Result := PCefMenuModel(FData)^.insert_separator_at(PCefMenuModel(FData), index) <> 0;
end;
function TCefMenuModelRef.InsertSubMenuAt(index, commandId: Integer;
const text: ustring): ICefMenuModel;
function TCefMenuModelRef.InsertSubMenuAt(index, commandId: Integer; const text: ustring): ICefMenuModel;
var
t: TCefString;
TempText : TCefString;
begin
t := CefString(text);
Result := TCefMenuModelRef.UnWrap(PCefMenuModel(FData).insert_sub_menu_at(
PCefMenuModel(FData), index, commandId, @t));
TempText := CefString(text);
Result := TCefMenuModelRef.UnWrap(PCefMenuModel(FData)^.insert_sub_menu_at( PCefMenuModel(FData), index, commandId, @TempText));
end;
function TCefMenuModelRef.IsChecked(commandId: Integer): Boolean;
begin
Result := PCefMenuModel(FData).is_checked(PCefMenuModel(FData), commandId) <> 0;
Result := PCefMenuModel(FData)^.is_checked(PCefMenuModel(FData), commandId) <> 0;
end;
function TCefMenuModelRef.IsCheckedAt(index: Integer): Boolean;
begin
Result := PCefMenuModel(FData).is_checked_at(PCefMenuModel(FData), index) <> 0;
Result := PCefMenuModel(FData)^.is_checked_at(PCefMenuModel(FData), index) <> 0;
end;
function TCefMenuModelRef.IsEnabled(commandId: Integer): Boolean;
begin
Result := PCefMenuModel(FData).is_enabled(PCefMenuModel(FData), commandId) <> 0;
Result := PCefMenuModel(FData)^.is_enabled(PCefMenuModel(FData), commandId) <> 0;
end;
function TCefMenuModelRef.IsEnabledAt(index: Integer): Boolean;
begin
Result := PCefMenuModel(FData).is_enabled_at(PCefMenuModel(FData), index) <> 0;
Result := PCefMenuModel(FData)^.is_enabled_at(PCefMenuModel(FData), index) <> 0;
end;
function TCefMenuModelRef.IsVisible(commandId: Integer): Boolean;
begin
Result := PCefMenuModel(FData).is_visible(PCefMenuModel(FData), commandId) <> 0;
Result := PCefMenuModel(FData)^.is_visible(PCefMenuModel(FData), commandId) <> 0;
end;
function TCefMenuModelRef.isVisibleAt(index: Integer): Boolean;
begin
Result := PCefMenuModel(FData).is_visible_at(PCefMenuModel(FData), index) <> 0;
Result := PCefMenuModel(FData)^.is_visible_at(PCefMenuModel(FData), index) <> 0;
end;
class function TCefMenuModelRef.New(
const delegate: ICefMenuModelDelegate): ICefMenuModel;
class function TCefMenuModelRef.New(const delegate: ICefMenuModelDelegate): ICefMenuModel;
begin
Result := UnWrap(cef_menu_model_create(CefGetData(delegate)));
end;
function TCefMenuModelRef.Remove(commandId: Integer): Boolean;
begin
Result := PCefMenuModel(FData).remove(PCefMenuModel(FData), commandId) <> 0;
Result := PCefMenuModel(FData)^.remove(PCefMenuModel(FData), commandId) <> 0;
end;
function TCefMenuModelRef.RemoveAccelerator(commandId: Integer): Boolean;
begin
Result := PCefMenuModel(FData).remove_accelerator(PCefMenuModel(FData), commandId) <> 0;
Result := PCefMenuModel(FData)^.remove_accelerator(PCefMenuModel(FData), commandId) <> 0;
end;
function TCefMenuModelRef.RemoveAcceleratorAt(index: Integer): Boolean;
begin
Result := PCefMenuModel(FData).remove_accelerator_at(PCefMenuModel(FData), index) <> 0;
Result := PCefMenuModel(FData)^.remove_accelerator_at(PCefMenuModel(FData), index) <> 0;
end;
function TCefMenuModelRef.RemoveAt(index: Integer): Boolean;
begin
Result := PCefMenuModel(FData).remove_at(PCefMenuModel(FData), index) <> 0;
Result := PCefMenuModel(FData)^.remove_at(PCefMenuModel(FData), index) <> 0;
end;
function TCefMenuModelRef.SetAccelerator(commandId, keyCode: Integer;
shiftPressed, ctrlPressed, altPressed: Boolean): Boolean;
function TCefMenuModelRef.SetAccelerator(commandId, keyCode: Integer; shiftPressed, ctrlPressed, altPressed: Boolean): Boolean;
begin
Result := PCefMenuModel(FData).set_accelerator(PCefMenuModel(FData),
commandId, keyCode, Ord(shiftPressed), Ord(ctrlPressed), Ord(altPressed)) <> 0;
Result := PCefMenuModel(FData)^.set_accelerator(PCefMenuModel(FData), commandId, keyCode,
Ord(shiftPressed), Ord(ctrlPressed), Ord(altPressed)) <> 0;
end;
function TCefMenuModelRef.SetAcceleratorAt(index, keyCode: Integer;
shiftPressed, ctrlPressed, altPressed: Boolean): Boolean;
function TCefMenuModelRef.SetAcceleratorAt(index, keyCode: Integer; shiftPressed, ctrlPressed, altPressed: Boolean): Boolean;
begin
Result := PCefMenuModel(FData).set_accelerator_at(PCefMenuModel(FData),
index, keyCode, Ord(shiftPressed), Ord(ctrlPressed), Ord(altPressed)) <> 0;
Result := PCefMenuModel(FData)^.set_accelerator_at(PCefMenuModel(FData), index, keyCode,
Ord(shiftPressed), Ord(ctrlPressed), Ord(altPressed)) <> 0;
end;
function TCefMenuModelRef.setChecked(commandId: Integer;
checked: Boolean): Boolean;
function TCefMenuModelRef.setChecked(commandId: Integer; checked: Boolean): Boolean;
begin
Result := PCefMenuModel(FData).set_checked(PCefMenuModel(FData),
commandId, Ord(checked)) <> 0;
Result := PCefMenuModel(FData)^.set_checked(PCefMenuModel(FData), commandId, Ord(checked)) <> 0;
end;
function TCefMenuModelRef.setCheckedAt(index: Integer;
checked: Boolean): Boolean;
function TCefMenuModelRef.setCheckedAt(index: Integer; checked: Boolean): Boolean;
begin
Result := PCefMenuModel(FData).set_checked_at(PCefMenuModel(FData), index, Ord(checked)) <> 0;
Result := PCefMenuModel(FData)^.set_checked_at(PCefMenuModel(FData), index, Ord(checked)) <> 0;
end;
function TCefMenuModelRef.SetCommandIdAt(index, commandId: Integer): Boolean;
begin
Result := PCefMenuModel(FData).set_command_id_at(PCefMenuModel(FData), index, commandId) <> 0;
Result := PCefMenuModel(FData)^.set_command_id_at(PCefMenuModel(FData), index, commandId) <> 0;
end;
function TCefMenuModelRef.SetEnabled(commandId: Integer;
enabled: Boolean): Boolean;
function TCefMenuModelRef.SetEnabled(commandId: Integer; enabled: Boolean): Boolean;
begin
Result := PCefMenuModel(FData).set_enabled(PCefMenuModel(FData), commandId, Ord(enabled)) <> 0;
Result := PCefMenuModel(FData)^.set_enabled(PCefMenuModel(FData), commandId, Ord(enabled)) <> 0;
end;
function TCefMenuModelRef.SetEnabledAt(index: Integer;
enabled: Boolean): Boolean;
function TCefMenuModelRef.SetEnabledAt(index: Integer; enabled: Boolean): Boolean;
begin
Result := PCefMenuModel(FData).set_enabled_at(PCefMenuModel(FData), index, Ord(enabled)) <> 0;
Result := PCefMenuModel(FData)^.set_enabled_at(PCefMenuModel(FData), index, Ord(enabled)) <> 0;
end;
function TCefMenuModelRef.SetGroupId(commandId, groupId: Integer): Boolean;
begin
Result := PCefMenuModel(FData).set_group_id(PCefMenuModel(FData), commandId, groupId) <> 0;
Result := PCefMenuModel(FData)^.set_group_id(PCefMenuModel(FData), commandId, groupId) <> 0;
end;
function TCefMenuModelRef.SetGroupIdAt(index, groupId: Integer): Boolean;
begin
Result := PCefMenuModel(FData).set_group_id_at(PCefMenuModel(FData), index, groupId) <> 0;
Result := PCefMenuModel(FData)^.set_group_id_at(PCefMenuModel(FData), index, groupId) <> 0;
end;
function TCefMenuModelRef.SetLabel(commandId: Integer;
const text: ustring): Boolean;
function TCefMenuModelRef.SetLabel(commandId: Integer; const text: ustring): Boolean;
var
t: TCefString;
TempText : TCefString;
begin
t := CefString(text);
Result := PCefMenuModel(FData).set_label(PCefMenuModel(FData), commandId, @t) <> 0;
TempText := CefString(text);
Result := PCefMenuModel(FData)^.set_label(PCefMenuModel(FData), commandId, @TempText) <> 0;
end;
function TCefMenuModelRef.SetLabelAt(index: Integer;
const text: ustring): Boolean;
function TCefMenuModelRef.SetLabelAt(index: Integer; const text: ustring): Boolean;
var
t: TCefString;
TempText : TCefString;
begin
t := CefString(text);
Result := PCefMenuModel(FData).set_label_at(PCefMenuModel(FData), index, @t) <> 0;
TempText := CefString(text);
Result := PCefMenuModel(FData)^.set_label_at(PCefMenuModel(FData), index, @TempText) <> 0;
end;
function TCefMenuModelRef.SetVisible(commandId: Integer;
visible: Boolean): Boolean;
function TCefMenuModelRef.SetVisible(commandId: Integer; visible: Boolean): Boolean;
begin
Result := PCefMenuModel(FData).set_visible(PCefMenuModel(FData), commandId, Ord(visible)) <> 0;
Result := PCefMenuModel(FData)^.set_visible(PCefMenuModel(FData), commandId, Ord(visible)) <> 0;
end;
function TCefMenuModelRef.SetVisibleAt(index: Integer;
visible: Boolean): Boolean;
function TCefMenuModelRef.SetVisibleAt(index: Integer; visible: Boolean): Boolean;
begin
Result := PCefMenuModel(FData).set_visible_at(PCefMenuModel(FData), index, Ord(visible)) <> 0;
Result := PCefMenuModel(FData)^.set_visible_at(PCefMenuModel(FData), index, Ord(visible)) <> 0;
end;
class function TCefMenuModelRef.UnWrap(data: Pointer): ICefMenuModel;
begin
if data <> nil then
Result := Create(data) as ICefMenuModel else
if (data <> nil) then
Result := Create(data) as ICefMenuModel
else
Result := nil;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFMenuModelDelegate;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -163,13 +167,13 @@ begin
with PCefMenuModelDelegate(FData)^ do
begin
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;
execute_command := {$IFDEF FPC}@{$ENDIF}cef_menu_model_delegate_execute_command;
mouse_outside_menu := {$IFDEF FPC}@{$ENDIF}cef_menu_model_delegate_mouse_outside_menu;
unhandled_open_submenu := {$IFDEF FPC}@{$ENDIF}cef_menu_model_delegate_unhandled_open_submenu;
unhandled_close_submenu := {$IFDEF FPC}@{$ENDIF}cef_menu_model_delegate_unhandled_close_submenu;
menu_will_show := {$IFDEF FPC}@{$ENDIF}cef_menu_model_delegate_menu_will_show;
menu_closed := {$IFDEF FPC}@{$ENDIF}cef_menu_model_delegate_menu_closed;
format_label := {$IFDEF FPC}@{$ENDIF}cef_menu_model_delegate_format_label;
end;
end;
@ -177,32 +181,32 @@ procedure TCefMenuModelDelegateOwn.ExecuteCommand(const menuModel : ICefMenuMod
commandId : Integer;
eventFlags : TCefEventFlags);
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
//
end;
procedure TCefMenuModelDelegateOwn.MenuClosed(const menuModel: ICefMenuModel);
begin
//
end;
function TCefMenuModelDelegateOwn.FormatLabel(const menuModel: ICefMenuModel; const label_ : uString) : boolean;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFMiscFunctions;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -51,7 +55,7 @@ uses
{$IFDEF MSWINDOWS}WinApi.Windows, WinApi.ActiveX,{$ENDIF}
System.Classes, System.SysUtils, System.UITypes, System.Math,
{$ELSE}
Windows, Classes, SysUtils, Controls, ActiveX, Math,
Windows, Classes, SysUtils, Controls, Graphics, ActiveX, Math,
{$ENDIF}
uCEFTypes, uCEFInterfaces, uCEFLibFunctions, uCEFResourceHandler,
uCEFRegisterCDMCallback;
@ -85,7 +89,6 @@ procedure CefStringFree(const str: PCefString);
function CefStringFreeAndGet(const str: PCefStringUserFree): ustring;
procedure CefStringSet(const str: PCefString; const value: ustring);
function CefExecuteProcess(var app : ICefApp; aWindowsSandboxInfo : Pointer = nil) : integer;
function CefRegisterExtension(const name, code: ustring; const Handler: ICefv8Handler): Boolean;
procedure CefPostTask(ThreadId: TCefThreadId; const task: ICefTask);
procedure CefPostDelayedTask(ThreadId: TCefThreadId; const task: ICefTask; delayMs: Int64);
@ -100,9 +103,9 @@ function cef_string_utf8_copy(const src: PAnsiChar; src_len: NativeUInt; output:
function cef_string_utf16_copy(const src: PChar16; src_len: NativeUInt; output: PCefStringUtf16): Integer;
function cef_string_copy(const src: PCefChar; src_len: NativeUInt; output: PCefString): Integer;
procedure WindowInfoAsChild(var aWindowInfo : TCefWindowInfo; aParent : THandle; aRect : TRect; const aWindowName : string = '');
procedure WindowInfoAsPopUp(var aWindowInfo : TCefWindowInfo; aParent : THandle; const aWindowName : string = '');
procedure WindowInfoAsWindowless(var aWindowInfo : TCefWindowInfo; aParent : THandle; const aWindowName : string = '');
procedure WindowInfoAsChild(var aWindowInfo : TCefWindowInfo; aParent : THandle; aRect : TRect; const aWindowName : ustring = '');
procedure WindowInfoAsPopUp(var aWindowInfo : TCefWindowInfo; aParent : THandle; const aWindowName : ustring = '');
procedure WindowInfoAsWindowless(var aWindowInfo : TCefWindowInfo; aParent : THandle; const aWindowName : ustring = '');
function TzSpecificLocalTimeToSystemTime(lpTimeZoneInformation: PTimeZoneInformation; lpLocalTime, lpUniversalTime: PSystemTime): BOOL; stdcall; external Kernel32DLL;
function SystemTimeToTzSpecificLocalTime(lpTimeZoneInformation: PTimeZoneInformation; lpUniversalTime, lpLocalTime: PSystemTime): BOOL; stdcall; external Kernel32DLL;
@ -111,11 +114,10 @@ function PathIsRelativeAnsi(pszPath: LPCSTR): BOOL; stdcall; external SHLWAPIDLL
function PathIsRelativeUnicode(pszPath: LPCWSTR): BOOL; stdcall; external SHLWAPIDLL name 'PathIsRelativeW';
{$IFNDEF DELPHI12_UP}
function SetWindowLongPtr(hWnd: HWND; nIndex: Integer; dwNewLong: Longint): Longint; stdcall;
{$IFDEF WIN64}
function SetWindowLongPtr; external user32 name 'SetWindowLongPtrW';
{$ELSE}
function SetWindowLongPtr; external user32 name 'SetWindowLongW';
function SetWindowLongPtr(hWnd: HWND; nIndex: Integer; dwNewLong: int64): int64; stdcall; external user32 name 'SetWindowLongPtrW';
{$ELSE}
function SetWindowLongPtr(hWnd: HWND; nIndex: Integer; dwNewLong: LongInt): LongInt; stdcall; external user32 name 'SetWindowLongW';
{$ENDIF}
{$ENDIF}
@ -274,7 +276,7 @@ end;
function CefString(const str: PCefString): ustring;
begin
if (str <> nil) then
SetString(Result, str.str, str.length)
SetString(Result, str^.str, str^.length)
else
Result := '';
end;
@ -320,16 +322,11 @@ end;
function CefUserFreeString(const str: ustring): PCefStringUserFree;
begin
Result := cef_string_userfree_utf16_alloc;
Result.length := Length(str);
GetMem(Result.str, Result.length * SizeOf(TCefChar));
Move(PCefChar(str)^, Result.str^, Result.length * SizeOf(TCefChar));
Result.dtor := @_free_string;
end;
function CefExecuteProcess(var app : ICefApp; aWindowsSandboxInfo : Pointer) : integer;
begin
Result := cef_execute_process(@HInstance, CefGetData(app), aWindowsSandboxInfo);
Result := cef_string_userfree_utf16_alloc();
Result^.length := Length(str);
GetMem(Result^.str, Result^.length * SizeOf(TCefChar));
Move(PCefChar(str)^, Result^.str^, Result^.length * SizeOf(TCefChar));
Result^.dtor := @_free_string;
end;
function CefRegisterExtension(const name, code: ustring; const Handler: ICefv8Handler): Boolean;
@ -413,7 +410,7 @@ begin
Result := cef_string_utf16_set(src, src_len, output, ord(True));
end;
procedure WindowInfoAsChild(var aWindowInfo : TCefWindowInfo; aParent : THandle; aRect : TRect; const aWindowName : string);
procedure WindowInfoAsChild(var aWindowInfo : TCefWindowInfo; aParent : THandle; aRect : TRect; const aWindowName : ustring);
begin
aWindowInfo.ex_style := 0;
aWindowInfo.window_name := CefString(aWindowName);
@ -428,7 +425,7 @@ begin
aWindowInfo.window := 0;
end;
procedure WindowInfoAsPopUp(var aWindowInfo : TCefWindowInfo; aParent : THandle; const aWindowName : string);
procedure WindowInfoAsPopUp(var aWindowInfo : TCefWindowInfo; aParent : THandle; const aWindowName : ustring);
begin
aWindowInfo.ex_style := 0;
aWindowInfo.window_name := CefString(aWindowName);
@ -443,7 +440,7 @@ begin
aWindowInfo.window := 0;
end;
procedure WindowInfoAsWindowless(var aWindowInfo : TCefWindowInfo; aParent : THandle; const aWindowName : string);
procedure WindowInfoAsWindowless(var aWindowInfo : TCefWindowInfo; aParent : THandle; const aWindowName : ustring);
begin
aWindowInfo.ex_style := 0;
aWindowInfo.window_name := CefString(aWindowName);
@ -470,7 +467,7 @@ end;
function CefCrashReportingEnabled : boolean;
begin
Result := (cef_crash_reporting_enabled <> 0);
Result := (cef_crash_reporting_enabled() <> 0);
end;
procedure CefSetCrashKeyValue(const aKey, aValue : ustring);
@ -551,7 +548,7 @@ end;
function CefClearSchemeHandlerFactories : boolean;
begin
Result := cef_clear_scheme_handler_factories <> 0;
Result := cef_clear_scheme_handler_factories() <> 0;
end;
function CefAddCrossOriginWhitelistEntry(const SourceOrigin : ustring;
@ -588,7 +585,7 @@ end;
function CefClearCrossOriginWhitelist: Boolean;
begin
Result := cef_clear_cross_origin_whitelist <> 0;
Result := cef_clear_cross_origin_whitelist() <> 0;
end;
function SplitLongString(aSrcString : string) : string;
@ -857,9 +854,9 @@ begin
if GetFileVersionInfo(PChar(aFileName), TempHandle, TempSize, TempBuffer) and
VerQueryValue(TempBuffer, '\', Pointer(TempInfo), TempLen) then
begin
Result := TempInfo.dwFileVersionMS;
Result := TempInfo^.dwFileVersionMS;
Result := Result shl 32;
Result := Result or TempInfo.dwFileVersionLS;
Result := Result or TempInfo^.dwFileVersionLS;
end;
end;
except
@ -912,8 +909,8 @@ begin
while (i < j) do
begin
TempArray[i].wLanguage := TempLang.wLanguage;
TempArray[i].wCodePage := TempLang.wCodePage;
TempArray[i].wLanguage := TempLang^.wLanguage;
TempArray[i].wCodePage := TempLang^.wCodePage;
inc(TempLang);
inc(i);
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFNavigationEntry;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -74,52 +78,52 @@ uses
function TCefNavigationEntryRef.IsValid: Boolean;
begin
Result := PCefNavigationEntry(FData).is_valid(FData) <> 0;
Result := PCefNavigationEntry(FData)^.is_valid(FData) <> 0;
end;
function TCefNavigationEntryRef.GetUrl: ustring;
begin
Result := CefStringFreeAndGet(PCefNavigationEntry(FData).get_url(FData));
Result := CefStringFreeAndGet(PCefNavigationEntry(FData)^.get_url(FData));
end;
function TCefNavigationEntryRef.GetDisplayUrl: ustring;
begin
Result := CefStringFreeAndGet(PCefNavigationEntry(FData).get_display_url(FData));
Result := CefStringFreeAndGet(PCefNavigationEntry(FData)^.get_display_url(FData));
end;
function TCefNavigationEntryRef.GetOriginalUrl: ustring;
begin
Result := CefStringFreeAndGet(PCefNavigationEntry(FData).get_original_url(FData));
Result := CefStringFreeAndGet(PCefNavigationEntry(FData)^.get_original_url(FData));
end;
function TCefNavigationEntryRef.GetTitle: ustring;
begin
Result := CefStringFreeAndGet(PCefNavigationEntry(FData).get_title(FData));
Result := CefStringFreeAndGet(PCefNavigationEntry(FData)^.get_title(FData));
end;
function TCefNavigationEntryRef.GetTransitionType: TCefTransitionType;
begin
Result := PCefNavigationEntry(FData).get_transition_type(FData);
Result := PCefNavigationEntry(FData)^.get_transition_type(FData);
end;
function TCefNavigationEntryRef.HasPostData: Boolean;
begin
Result := PCefNavigationEntry(FData).has_post_data(FData) <> 0;
Result := PCefNavigationEntry(FData)^.has_post_data(FData) <> 0;
end;
function TCefNavigationEntryRef.GetCompletionTime: TDateTime;
begin
Result := CefTimeToDateTime(PCefNavigationEntry(FData).get_completion_time(FData));
Result := CefTimeToDateTime(PCefNavigationEntry(FData)^.get_completion_time(FData));
end;
function TCefNavigationEntryRef.GetHttpStatusCode: Integer;
begin
Result := PCefNavigationEntry(FData).get_http_status_code(FData);
Result := PCefNavigationEntry(FData)^.get_http_status_code(FData);
end;
function TCefNavigationEntryRef.GetSSLStatus: ICefSSLStatus;
begin
Result := TCefSSLStatusRef.UnWrap(PCefNavigationEntry(FData).get_sslstatus(FData));
Result := TCefSSLStatusRef.UnWrap(PCefNavigationEntry(FData)^.get_sslstatus(FData));
end;
class function TCefNavigationEntryRef.UnWrap(data: Pointer): ICefNavigationEntry;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFNavigationEntryVisitor;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -97,8 +101,7 @@ constructor TCefNavigationEntryVisitorOwn.Create;
begin
inherited CreateData(SizeOf(TCefNavigationEntryVisitor));
with PCefNavigationEntryVisitor(FData)^ do
visit := cef_navigation_entry_visitor_visit;
PCefNavigationEntryVisitor(FData)^.visit := {$IFDEF FPC}@{$ENDIF}cef_navigation_entry_visitor_visit;
end;
function TCefNavigationEntryVisitorOwn.Visit(const entry : ICefNavigationEntry;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFPDFPrintCallback;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -107,7 +111,8 @@ constructor TCefPdfPrintCallbackOwn.Create;
begin
inherited CreateData(SizeOf(TCefPdfPrintCallback));
PCefPdfPrintCallback(FData).on_pdf_print_finished := cef_pdf_print_callback_on_pdf_print_finished;
with PCefPdfPrintCallback(FData)^ do
on_pdf_print_finished := {$IFDEF FPC}@{$ENDIF}cef_pdf_print_callback_on_pdf_print_finished;
end;
// TCefFastPdfPrintCallback

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFPDFPrintOptions;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFPostData;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -116,7 +120,7 @@ begin
while (i < Count) do
begin
Result.Add(TCefPostDataElementRef.UnWrap(items[i]));
Result.Add(TCefPostDataElementRef.UnWrap(items^[i]));
inc(i);
end;
except
@ -130,11 +134,10 @@ end;
class function TCefPostDataRef.New: ICefPostData;
begin
Result := UnWrap(cef_post_data_create);
Result := UnWrap(cef_post_data_create());
end;
function TCefPostDataRef.RemoveElement(
const element: ICefPostDataElement): Integer;
function TCefPostDataRef.RemoveElement(const element: ICefPostDataElement): Integer;
begin
Result := PCefPostData(FData)^.remove_element(PCefPostData(FData), CefGetData(element));
end;
@ -146,8 +149,9 @@ end;
class function TCefPostDataRef.UnWrap(data: Pointer): ICefPostData;
begin
if data <> nil then
Result := Create(data) as ICefPostData else
if (data <> nil) then
Result := Create(data) as ICefPostData
else
Result := nil;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFPostDataElement;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -126,7 +130,7 @@ end;
class function TCefPostDataElementRef.New: ICefPostDataElement;
begin
Result := UnWrap(cef_post_data_element_create);
Result := UnWrap(cef_post_data_element_create());
end;
procedure TCefPostDataElementRef.SetToBytes(size: NativeUInt; const bytes: Pointer);
@ -278,14 +282,14 @@ begin
with PCefPostDataElement(FData)^ do
begin
is_read_only := cef_post_data_element_is_read_only;
set_to_empty := cef_post_data_element_set_to_empty;
set_to_file := cef_post_data_element_set_to_file;
set_to_bytes := cef_post_data_element_set_to_bytes;
get_type := cef_post_data_element_get_type;
get_file := cef_post_data_element_get_file;
get_bytes_count := cef_post_data_element_get_bytes_count;
get_bytes := cef_post_data_element_get_bytes;
is_read_only := {$IFDEF FPC}@{$ENDIF}cef_post_data_element_is_read_only;
set_to_empty := {$IFDEF FPC}@{$ENDIF}cef_post_data_element_set_to_empty;
set_to_file := {$IFDEF FPC}@{$ENDIF}cef_post_data_element_set_to_file;
set_to_bytes := {$IFDEF FPC}@{$ENDIF}cef_post_data_element_set_to_bytes;
get_type := {$IFDEF FPC}@{$ENDIF}cef_post_data_element_get_type;
get_file := {$IFDEF FPC}@{$ENDIF}cef_post_data_element_get_file;
get_bytes_count := {$IFDEF FPC}@{$ENDIF}cef_post_data_element_get_bytes_count;
get_bytes := {$IFDEF FPC}@{$ENDIF}cef_post_data_element_get_bytes;
end;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFPrintSettings;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -88,148 +92,150 @@ uses
function TCefPrintSettingsRef.Copy: ICefPrintSettings;
begin
Result := UnWrap(PCefPrintSettings(FData).copy(FData))
Result := UnWrap(PCefPrintSettings(FData)^.copy(FData))
end;
function TCefPrintSettingsRef.GetColorModel: TCefColorModel;
begin
Result := PCefPrintSettings(FData).get_color_model(FData);
Result := PCefPrintSettings(FData)^.get_color_model(FData);
end;
function TCefPrintSettingsRef.GetCopies: Integer;
begin
Result := PCefPrintSettings(FData).get_copies(FData);
Result := PCefPrintSettings(FData)^.get_copies(FData);
end;
function TCefPrintSettingsRef.GetDeviceName: ustring;
begin
Result := CefStringFreeAndGet(PCefPrintSettings(FData).get_device_name(FData));
Result := CefStringFreeAndGet(PCefPrintSettings(FData)^.get_device_name(FData));
end;
function TCefPrintSettingsRef.GetDpi: Integer;
begin
Result := PCefPrintSettings(FData).get_dpi(FData);
Result := PCefPrintSettings(FData)^.get_dpi(FData);
end;
function TCefPrintSettingsRef.GetDuplexMode: TCefDuplexMode;
begin
Result := PCefPrintSettings(FData).get_duplex_mode(FData);
Result := PCefPrintSettings(FData)^.get_duplex_mode(FData);
end;
procedure TCefPrintSettingsRef.GetPageRanges(
out ranges: TCefRangeArray);
procedure TCefPrintSettingsRef.GetPageRanges(out ranges: TCefRangeArray);
var
len: NativeUInt;
TempLen : NativeUInt;
begin
len := GetPageRangesCount;
SetLength(ranges, len);
if len > 0 then
PCefPrintSettings(FData).get_page_ranges(FData, @len, @ranges[0]);
TempLen := GetPageRangesCount;
SetLength(ranges, TempLen);
if (TempLen > 0) then PCefPrintSettings(FData)^.get_page_ranges(FData, @TempLen, @ranges[0]);
end;
function TCefPrintSettingsRef.GetPageRangesCount: NativeUInt;
begin
Result := PCefPrintSettings(FData).get_page_ranges_count(FData);
Result := PCefPrintSettings(FData)^.get_page_ranges_count(FData);
end;
function TCefPrintSettingsRef.IsLandscape: Boolean;
begin
Result := PCefPrintSettings(FData).is_landscape(FData) <> 0;
Result := PCefPrintSettings(FData)^.is_landscape(FData) <> 0;
end;
function TCefPrintSettingsRef.IsReadOnly: Boolean;
begin
Result := PCefPrintSettings(FData).is_read_only(FData) <> 0;
Result := PCefPrintSettings(FData)^.is_read_only(FData) <> 0;
end;
function TCefPrintSettingsRef.IsSelectionOnly: Boolean;
begin
Result := PCefPrintSettings(FData).is_selection_only(FData) <> 0;
Result := PCefPrintSettings(FData)^.is_selection_only(FData) <> 0;
end;
function TCefPrintSettingsRef.IsValid: Boolean;
begin
Result := PCefPrintSettings(FData).is_valid(FData) <> 0;
Result := PCefPrintSettings(FData)^.is_valid(FData) <> 0;
end;
class function TCefPrintSettingsRef.New: ICefPrintSettings;
begin
Result := UnWrap(cef_print_settings_create);
Result := UnWrap(cef_print_settings_create());
end;
procedure TCefPrintSettingsRef.SetCollate(collate: Boolean);
begin
PCefPrintSettings(FData).set_collate(FData, Ord(collate));
PCefPrintSettings(FData)^.set_collate(FData, Ord(collate));
end;
procedure TCefPrintSettingsRef.SetColorModel(model: TCefColorModel);
begin
PCefPrintSettings(FData).set_color_model(FData, model);
PCefPrintSettings(FData)^.set_color_model(FData, model);
end;
procedure TCefPrintSettingsRef.SetCopies(copies: Integer);
begin
PCefPrintSettings(FData).set_copies(FData, copies);
PCefPrintSettings(FData)^.set_copies(FData, copies);
end;
procedure TCefPrintSettingsRef.SetDeviceName(const name: ustring);
var
s: TCefString;
TempName : TCefString;
begin
s := CefString(name);
PCefPrintSettings(FData).set_device_name(FData, @s);
TempName := CefString(name);
PCefPrintSettings(FData)^.set_device_name(FData, @TempName);
end;
procedure TCefPrintSettingsRef.SetDpi(dpi: Integer);
begin
PCefPrintSettings(FData).set_dpi(FData, dpi);
PCefPrintSettings(FData)^.set_dpi(FData, dpi);
end;
procedure TCefPrintSettingsRef.SetDuplexMode(mode: TCefDuplexMode);
begin
PCefPrintSettings(FData).set_duplex_mode(FData, mode);
PCefPrintSettings(FData)^.set_duplex_mode(FData, mode);
end;
procedure TCefPrintSettingsRef.SetOrientation(landscape: Boolean);
begin
PCefPrintSettings(FData).set_orientation(FData, Ord(landscape));
PCefPrintSettings(FData)^.set_orientation(FData, Ord(landscape));
end;
procedure TCefPrintSettingsRef.SetPageRanges(
const ranges: TCefRangeArray);
procedure TCefPrintSettingsRef.SetPageRanges(const ranges: TCefRangeArray);
var
len: NativeUInt;
TempLen : NativeUInt;
begin
len := Length(ranges);
if len > 0 then
PCefPrintSettings(FData).set_page_ranges(FData, len, @ranges[0]) else
PCefPrintSettings(FData).set_page_ranges(FData, 0, nil);
TempLen := Length(ranges);
if (TempLen > 0) then
PCefPrintSettings(FData)^.set_page_ranges(FData, TempLen, @ranges[0])
else
PCefPrintSettings(FData)^.set_page_ranges(FData, 0, nil);
end;
procedure TCefPrintSettingsRef.SetPrinterPrintableArea(
const physicalSizeDeviceUnits: PCefSize;
const printableAreaDeviceUnits: PCefRect; landscapeNeedsFlip: Boolean);
procedure TCefPrintSettingsRef.SetPrinterPrintableArea(const physicalSizeDeviceUnits : PCefSize;
const printableAreaDeviceUnits : PCefRect;
landscapeNeedsFlip : Boolean);
begin
PCefPrintSettings(FData).set_printer_printable_area(FData, physicalSizeDeviceUnits,
printableAreaDeviceUnits, Ord(landscapeNeedsFlip));
PCefPrintSettings(FData)^.set_printer_printable_area(FData,
physicalSizeDeviceUnits,
printableAreaDeviceUnits,
Ord(landscapeNeedsFlip));
end;
procedure TCefPrintSettingsRef.SetSelectionOnly(selectionOnly: Boolean);
begin
PCefPrintSettings(FData).set_selection_only(FData, Ord(selectionOnly));
PCefPrintSettings(FData)^.set_selection_only(FData, Ord(selectionOnly));
end;
class function TCefPrintSettingsRef.UnWrap(
data: Pointer): ICefPrintSettings;
class function TCefPrintSettingsRef.UnWrap(data: Pointer): ICefPrintSettings;
begin
if data <> nil then
Result := Create(data) as ICefPrintSettings else
if (data <> nil) then
Result := Create(data) as ICefPrintSettings
else
Result := nil;
end;
function TCefPrintSettingsRef.WillCollate: Boolean;
begin
Result := PCefPrintSettings(FData).will_collate(FData) <> 0;
Result := PCefPrintSettings(FData)^.will_collate(FData) <> 0;
end;
end.

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFProcessMessage;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFRegisterCDMCallback;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -50,8 +54,6 @@ uses
uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes, uCEFApplication;
type
TCefRegisterCDMProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(result: TCefCDMRegistrationError; const error_message: ustring);
TCefRegisterCDMCallbackOwn = class(TCefBaseRefCountedOwn, ICefRegisterCDMCallback)
protected
procedure OnCDMRegistrationComplete(result: TCefCDMRegistrationError; const error_message: ustring); virtual;
@ -114,7 +116,8 @@ constructor TCefRegisterCDMCallbackOwn.Create;
begin
inherited CreateData(SizeOf(TCefRegisterCDMCallback));
PCefRegisterCDMCallback(FData).on_cdm_registration_complete := cef_register_cdm_callback_on_cdm_registration_complete;
with PCefRegisterCDMCallback(FData)^ do
on_cdm_registration_complete := {$IFDEF FPC}@{$ENDIF}cef_register_cdm_callback_on_cdm_registration_complete;
end;
procedure TCefRegisterCDMCallbackOwn.OnCDMRegistrationComplete(result: TCefCDMRegistrationError;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFRenderHandler;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -338,20 +342,20 @@ begin
with PCefRenderHandler(FData)^ do
begin
get_accessibility_handler := cef_render_handler_get_accessibility_handler;
get_root_screen_rect := cef_render_handler_get_root_screen_rect;
get_view_rect := cef_render_handler_get_view_rect;
get_screen_point := cef_render_handler_get_screen_point;
get_screen_info := cef_render_handler_get_screen_info;
on_popup_show := cef_render_handler_on_popup_show;
on_popup_size := cef_render_handler_on_popup_size;
on_paint := cef_render_handler_on_paint;
on_cursor_change := cef_render_handler_on_cursor_change;
start_dragging := cef_render_handler_start_dragging;
update_drag_cursor := cef_render_handler_update_drag_cursor;
on_scroll_offset_changed := cef_render_handler_on_scroll_offset_changed;
on_ime_composition_range_changed := cef_render_handler_on_ime_composition_range_changed;
on_text_selection_changed := cef_render_handler_on_text_selection_changed;
get_accessibility_handler := {$IFDEF FPC}@{$ENDIF}cef_render_handler_get_accessibility_handler;
get_root_screen_rect := {$IFDEF FPC}@{$ENDIF}cef_render_handler_get_root_screen_rect;
get_view_rect := {$IFDEF FPC}@{$ENDIF}cef_render_handler_get_view_rect;
get_screen_point := {$IFDEF FPC}@{$ENDIF}cef_render_handler_get_screen_point;
get_screen_info := {$IFDEF FPC}@{$ENDIF}cef_render_handler_get_screen_info;
on_popup_show := {$IFDEF FPC}@{$ENDIF}cef_render_handler_on_popup_show;
on_popup_size := {$IFDEF FPC}@{$ENDIF}cef_render_handler_on_popup_size;
on_paint := {$IFDEF FPC}@{$ENDIF}cef_render_handler_on_paint;
on_cursor_change := {$IFDEF FPC}@{$ENDIF}cef_render_handler_on_cursor_change;
start_dragging := {$IFDEF FPC}@{$ENDIF}cef_render_handler_start_dragging;
update_drag_cursor := {$IFDEF FPC}@{$ENDIF}cef_render_handler_update_drag_cursor;
on_scroll_offset_changed := {$IFDEF FPC}@{$ENDIF}cef_render_handler_on_scroll_offset_changed;
on_ime_composition_range_changed := {$IFDEF FPC}@{$ENDIF}cef_render_handler_on_ime_composition_range_changed;
on_text_selection_changed := {$IFDEF FPC}@{$ENDIF}cef_render_handler_on_text_selection_changed;
end;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFRenderProcessHandler;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -246,16 +250,16 @@ begin
with PCefRenderProcessHandler(FData)^ do
begin
on_render_thread_created := cef_render_process_handler_on_render_thread_created;
on_web_kit_initialized := cef_render_process_handler_on_web_kit_initialized;
on_browser_created := cef_render_process_handler_on_browser_created;
on_browser_destroyed := cef_render_process_handler_on_browser_destroyed;
get_load_handler := cef_render_process_handler_get_load_handler;
on_context_created := cef_render_process_handler_on_context_created;
on_context_released := cef_render_process_handler_on_context_released;
on_uncaught_exception := cef_render_process_handler_on_uncaught_exception;
on_focused_node_changed := cef_render_process_handler_on_focused_node_changed;
on_process_message_received := cef_render_process_handler_on_process_message_received;
on_render_thread_created := {$IFDEF FPC}@{$ENDIF}cef_render_process_handler_on_render_thread_created;
on_web_kit_initialized := {$IFDEF FPC}@{$ENDIF}cef_render_process_handler_on_web_kit_initialized;
on_browser_created := {$IFDEF FPC}@{$ENDIF}cef_render_process_handler_on_browser_created;
on_browser_destroyed := {$IFDEF FPC}@{$ENDIF}cef_render_process_handler_on_browser_destroyed;
get_load_handler := {$IFDEF FPC}@{$ENDIF}cef_render_process_handler_get_load_handler;
on_context_created := {$IFDEF FPC}@{$ENDIF}cef_render_process_handler_on_context_created;
on_context_released := {$IFDEF FPC}@{$ENDIF}cef_render_process_handler_on_context_released;
on_uncaught_exception := {$IFDEF FPC}@{$ENDIF}cef_render_process_handler_on_uncaught_exception;
on_focused_node_changed := {$IFDEF FPC}@{$ENDIF}cef_render_process_handler_on_focused_node_changed;
on_process_message_received := {$IFDEF FPC}@{$ENDIF}cef_render_process_handler_on_process_message_received;
end;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFRequest;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -52,26 +56,26 @@ uses
type
TCefRequestRef = class(TCefBaseRefCountedRef, ICefRequest)
protected
function IsReadOnly: Boolean;
function GetUrl: ustring;
function GetMethod: ustring;
function GetPostData: ICefPostData;
function IsReadOnly: Boolean;
function GetUrl: ustring;
function GetMethod: ustring;
function GetPostData: ICefPostData;
procedure GetHeaderMap(const HeaderMap: ICefStringMultimap);
procedure SetUrl(const value: ustring);
procedure SetMethod(const value: ustring);
procedure SetReferrer(const referrerUrl: ustring; policy: TCefReferrerPolicy);
function GetReferrerUrl: ustring;
function GetReferrerPolicy: TCefReferrerPolicy;
function GetReferrerUrl: ustring;
function GetReferrerPolicy: TCefReferrerPolicy;
procedure SetPostData(const value: ICefPostData);
procedure SetHeaderMap(const HeaderMap: ICefStringMultimap);
function GetFlags: TCefUrlRequestFlags;
function GetFlags: TCefUrlRequestFlags;
procedure SetFlags(flags: TCefUrlRequestFlags);
function GetFirstPartyForCookies: ustring;
function GetFirstPartyForCookies: ustring;
procedure SetFirstPartyForCookies(const url: ustring);
procedure Assign(const url, method: ustring; const postData: ICefPostData; const headerMap: ICefStringMultimap);
function GetResourceType: TCefResourceType;
function GetTransitionType: TCefTransitionType;
function GetIdentifier: UInt64;
function GetResourceType: TCefResourceType;
function GetTransitionType: TCefTransitionType;
function GetIdentifier: UInt64;
public
class function UnWrap(data: Pointer): ICefRequest;
class function New: ICefRequest;
@ -84,21 +88,21 @@ uses
function TCefRequestRef.IsReadOnly: Boolean;
begin
Result := PCefRequest(FData).is_read_only(PCefRequest(FData)) <> 0;
Result := PCefRequest(FData)^.is_read_only(PCefRequest(FData)) <> 0;
end;
procedure TCefRequestRef.Assign(const url, method: ustring; const postData: ICefPostData; const headerMap: ICefStringMultimap);
var
u, m: TCefString;
TempURL, TempMethod : TCefString;
begin
u := cefstring(url);
m := cefstring(method);
PCefRequest(FData).set_(PCefRequest(FData), @u, @m, CefGetData(postData), headerMap.Handle);
TempURL := cefstring(url);
TempMethod := cefstring(method);
PCefRequest(FData)^.set_(PCefRequest(FData), @TempURL, @TempMethod, CefGetData(postData), headerMap.Handle);
end;
function TCefRequestRef.GetFirstPartyForCookies: ustring;
begin
Result := CefStringFreeAndGet(PCefRequest(FData).get_first_party_for_cookies(PCefRequest(FData)));
Result := CefStringFreeAndGet(PCefRequest(FData)^.get_first_party_for_cookies(PCefRequest(FData)));
end;
function TCefRequestRef.GetFlags: TCefUrlRequestFlags;
@ -128,12 +132,12 @@ end;
function TCefRequestRef.GetResourceType: TCefResourceType;
begin
Result := PCefRequest(FData).get_resource_type(FData);
Result := PCefRequest(FData)^.get_resource_type(FData);
end;
function TCefRequestRef.GetTransitionType: TCefTransitionType;
begin
Result := PCefRequest(FData).get_transition_type(FData);
Result := PCefRequest(FData)^.get_transition_type(FData);
end;
function TCefRequestRef.GetUrl: ustring;
@ -143,15 +147,15 @@ end;
class function TCefRequestRef.New: ICefRequest;
begin
Result := UnWrap(cef_request_create);
Result := UnWrap(cef_request_create());
end;
procedure TCefRequestRef.SetFirstPartyForCookies(const url: ustring);
var
str: TCefString;
TempURL : TCefString;
begin
str := CefString(url);
PCefRequest(FData).set_first_party_for_cookies(PCefRequest(FData), @str);
TempURL := CefString(url);
PCefRequest(FData)^.set_first_party_for_cookies(PCefRequest(FData), @TempURL);
end;
procedure TCefRequestRef.SetFlags(flags: TCefUrlRequestFlags);
@ -166,18 +170,18 @@ end;
procedure TCefRequestRef.SetMethod(const value: ustring);
var
v: TCefString;
TempValue : TCefString;
begin
v := CefString(value);
PCefRequest(FData)^.set_method(PCefRequest(FData), @v);
TempValue := CefString(value);
PCefRequest(FData)^.set_method(PCefRequest(FData), @TempValue);
end;
procedure TCefRequestRef.SetReferrer(const referrerUrl: ustring; policy: TCefReferrerPolicy);
var
u: TCefString;
TempURL : TCefString;
begin
u := CefString(referrerUrl);
PCefRequest(FData)^.set_referrer(PCefRequest(FData), @u, policy);
TempURL := CefString(referrerUrl);
PCefRequest(FData)^.set_referrer(PCefRequest(FData), @TempURL, policy);
end;
function TCefRequestRef.GetReferrerUrl: ustring;
@ -192,22 +196,23 @@ end;
procedure TCefRequestRef.SetPostData(const value: ICefPostData);
begin
if value <> nil then
if (value <> nil) then
PCefRequest(FData)^.set_post_data(PCefRequest(FData), CefGetData(value));
end;
procedure TCefRequestRef.SetUrl(const value: ustring);
var
v: TCefString;
TempURL : TCefString;
begin
v := CefString(value);
PCefRequest(FData)^.set_url(PCefRequest(FData), @v);
TempURL := CefString(value);
PCefRequest(FData)^.set_url(PCefRequest(FData), @TempURL);
end;
class function TCefRequestRef.UnWrap(data: Pointer): ICefRequest;
begin
if data <> nil then
Result := Create(data) as ICefRequest else
if (data <> nil) then
Result := Create(data) as ICefRequest
else
Result := nil;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFRequestCallback;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -66,12 +70,12 @@ uses
procedure TCefRequestCallbackRef.Cont(allow: Boolean);
begin
PCefRequestCallback(FData).cont(FData, Ord(allow));
PCefRequestCallback(FData)^.cont(PCefRequestCallback(FData), Ord(allow));
end;
procedure TCefRequestCallbackRef.Cancel;
begin
PCefRequestCallback(FData).cancel(FData);
PCefRequestCallback(FData)^.cancel(PCefRequestCallback(FData));
end;
class function TCefRequestCallbackRef.UnWrap(data: Pointer): ICefRequestCallback;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFRequestContext;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -98,17 +102,17 @@ uses
function TCefRequestContextRef.ClearSchemeHandlerFactories: Boolean;
begin
Result := PCefRequestContext(FData).clear_scheme_handler_factories(FData) <> 0;
Result := PCefRequestContext(FData)^.clear_scheme_handler_factories(PCefRequestContext(FData)) <> 0;
end;
function TCefRequestContextRef.GetCachePath: ustring;
begin
Result := CefStringFreeAndGet(PCefRequestContext(FData).get_cache_path(FData));
Result := CefStringFreeAndGet(PCefRequestContext(FData)^.get_cache_path(PCefRequestContext(FData)));
end;
function TCefRequestContextRef.GetDefaultCookieManager(const callback: ICefCompletionCallback): ICefCookieManager;
begin
Result := TCefCookieManagerRef.UnWrap(PCefRequestContext(FData).get_default_cookie_manager(FData, CefGetData(callback)));
Result := TCefCookieManagerRef.UnWrap(PCefRequestContext(FData)^.get_default_cookie_manager(PCefRequestContext(FData), CefGetData(callback)));
end;
function TCefRequestContextRef.GetDefaultCookieManagerProc(const callback: TCefCompletionCallbackProc): ICefCookieManager;
@ -118,7 +122,7 @@ end;
function TCefRequestContextRef.GetHandler: ICefRequestContextHandler;
begin
Result := TCefRequestContextHandlerRef.UnWrap(PCefRequestContext(FData).get_handler(FData));
Result := TCefRequestContextHandlerRef.UnWrap(PCefRequestContext(FData)^.get_handler(PCefRequestContext(FData)));
end;
class function TCefRequestContextRef.Global: ICefRequestContext;
@ -128,17 +132,17 @@ end;
function TCefRequestContextRef.IsGlobal: Boolean;
begin
Result := PCefRequestContext(FData).is_global(FData) <> 0;
Result := PCefRequestContext(FData)^.is_global(PCefRequestContext(FData)) <> 0;
end;
function TCefRequestContextRef.IsSame(const other: ICefRequestContext): Boolean;
begin
Result := PCefRequestContext(FData).is_same(FData, CefGetData(other)) <> 0;
Result := PCefRequestContext(FData)^.is_same(PCefRequestContext(FData), CefGetData(other)) <> 0;
end;
function TCefRequestContextRef.IsSharingWith(const other: ICefRequestContext): Boolean;
begin
Result := PCefRequestContext(FData).is_sharing_with(FData, CefGetData(other)) <> 0;
Result := PCefRequestContext(FData)^.is_sharing_with(PCefRequestContext(FData), CefGetData(other)) <> 0;
end;
class function TCefRequestContextRef.New(const settings: PCefRequestContextSettings;
@ -170,67 +174,67 @@ end;
procedure TCefRequestContextRef.PurgePluginListCache(reloadPages: Boolean);
begin
PCefRequestContext(FData).purge_plugin_list_cache(FData, Ord(reloadPages));
PCefRequestContext(FData)^.purge_plugin_list_cache(PCefRequestContext(FData), Ord(reloadPages));
end;
function TCefRequestContextRef.HasPreference(const name: ustring): Boolean;
var
n : TCefString;
TempName : TCefString;
begin
n := CefString(name);
Result := PCefRequestContext(FData).has_preference(FData, @n) <> 0;
TempName := CefString(name);
Result := PCefRequestContext(FData)^.has_preference(PCefRequestContext(FData), @TempName) <> 0;
end;
function TCefRequestContextRef.GetPreference(const name: ustring): ICefValue;
var
n : TCefString;
TempName : TCefString;
begin
n := CefString(name);
Result := TCefValueRef.UnWrap(PCefRequestContext(FData).get_preference(FData, @n));
TempName := CefString(name);
Result := TCefValueRef.UnWrap(PCefRequestContext(FData)^.get_preference(PCefRequestContext(FData), @TempName));
end;
function TCefRequestContextRef.GetAllPreferences(includeDefaults: Boolean): ICefDictionaryValue;
begin
Result := TCefDictionaryValueRef.UnWrap(PCefRequestContext(FData).get_all_preferences(FData, Ord(includeDefaults)));
Result := TCefDictionaryValueRef.UnWrap(PCefRequestContext(FData)^.get_all_preferences(PCefRequestContext(FData), Ord(includeDefaults)));
end;
function TCefRequestContextRef.CanSetPreference(const name: ustring): Boolean;
var
n: TCefString;
TempName : TCefString;
begin
n := CefString(name);
Result := PCefRequestContext(FData).can_set_preference(FData, @n) <> 0;
TempName := CefString(name);
Result := PCefRequestContext(FData)^.can_set_preference(PCefRequestContext(FData), @TempName) <> 0;
end;
function TCefRequestContextRef.SetPreference(const name : ustring;
const value : ICefValue;
out error : ustring): Boolean;
var
n, e: TCefString;
TempName, TempError : TCefString;
begin
n := CefString(name);
FillChar(e, SizeOf(e), 0);
Result := PCefRequestContext(FData).set_preference(FData, @n, CefGetData(value), @e) <> 0;
error := CefString(@e);
TempName := CefString(name);
FillChar(TempError, SizeOf(TempError), 0);
Result := PCefRequestContext(FData)^.set_preference(PCefRequestContext(FData), @TempName, CefGetData(value), @TempError) <> 0;
error := CefString(@TempError);
end;
procedure TCefRequestContextRef.ClearCertificateExceptions(const callback: ICefCompletionCallback);
begin
PCefRequestContext(FData).clear_certificate_exceptions(FData, CefGetData(callback));
PCefRequestContext(FData)^.clear_certificate_exceptions(PCefRequestContext(FData), CefGetData(callback));
end;
procedure TCefRequestContextRef.CloseAllConnections(const callback: ICefCompletionCallback);
begin
PCefRequestContext(FData).close_all_connections(FData, CefGetData(callback));
PCefRequestContext(FData)^.close_all_connections(PCefRequestContext(FData), CefGetData(callback));
end;
procedure TCefRequestContextRef.ResolveHost(const origin : ustring;
const callback : ICefResolveCallback);
var
o: TCefString;
TempOrigin : TCefString;
begin
o := CefString(origin);
PCefRequestContext(FData).resolve_host(FData, @o, CefGetData(callback));
TempOrigin := CefString(origin);
PCefRequestContext(FData)^.resolve_host(PCefRequestContext(FData), @TempOrigin, CefGetData(callback));
end;
function TCefRequestContextRef.ResolveHostCached(const origin : ustring;
@ -241,7 +245,7 @@ var
begin
TempSL := TCefStringListOwn.Create;
TempOrigin := CefString(origin);
Result := PCefRequestContext(FData).resolve_host_cached(FData, @TempOrigin, TempSL.Handle);
Result := PCefRequestContext(FData)^.resolve_host_cached(PCefRequestContext(FData), @TempOrigin, TempSL.Handle);
TempSL.CopyToStrings(resolvedIps);
end;
@ -250,7 +254,7 @@ var
TempDir : TCefString;
begin
TempDir := CefString(root_directory);
PCefRequestContext(FData).load_extension(FData, @TempDir, CefGetData(manifest), CefGetData(handler));
PCefRequestContext(FData)^.load_extension(PCefRequestContext(FData), @TempDir, CefGetData(manifest), CefGetData(handler));
end;
function TCefRequestContextRef.DidLoadExtension(const extension_id: ustring): boolean;
@ -258,7 +262,7 @@ var
TempID : TCefString;
begin
TempID := CefString(extension_id);
Result := PCefRequestContext(FData).did_load_extension(FData, @TempID) <> 0;
Result := PCefRequestContext(FData)^.did_load_extension(PCefRequestContext(FData), @TempID) <> 0;
end;
function TCefRequestContextRef.HasExtension(const extension_id: ustring): boolean;
@ -266,7 +270,7 @@ var
TempID : TCefString;
begin
TempID := CefString(extension_id);
Result := PCefRequestContext(FData).has_extension(FData, @TempID) <> 0;
Result := PCefRequestContext(FData)^.has_extension(PCefRequestContext(FData), @TempID) <> 0;
end;
function TCefRequestContextRef.GetExtensions(const extension_ids: TStringList): boolean;
@ -276,7 +280,7 @@ begin
Result := False;
TempSL := TCefStringListOwn.Create;
if (PCefRequestContext(FData).get_extensions(PCefRequestContext(FData), TempSL.Handle) <> 0) then
if (PCefRequestContext(FData)^.get_extensions(PCefRequestContext(FData), TempSL.Handle) <> 0) then
begin
TempSL.CopyToStrings(extension_ids);
Result := True;
@ -288,18 +292,21 @@ var
TempID : TCefString;
begin
TempID := CefString(extension_id);
Result := TCefExtensionRef.UnWrap(PCefRequestContext(FData).get_extension(FData, @TempID));
Result := TCefExtensionRef.UnWrap(PCefRequestContext(FData)^.get_extension(PCefRequestContext(FData), @TempID));
end;
function TCefRequestContextRef.RegisterSchemeHandlerFactory(const schemeName : ustring;
const domainName : ustring;
const factory : ICefSchemeHandlerFactory): Boolean;
var
s, d: TCefString;
TempScheme, TempDomain : TCefString;
begin
s := CefString(schemeName);
d := CefString(domainName);
Result := PCefRequestContext(FData).register_scheme_handler_factory(FData, @s, @d, CefGetData(factory)) <> 0;
TempScheme := CefString(schemeName);
TempDomain := CefString(domainName);
Result := PCefRequestContext(FData)^.register_scheme_handler_factory(PCefRequestContext(FData),
@TempScheme,
@TempDomain,
CefGetData(factory)) <> 0;
end;
class function TCefRequestContextRef.Shared(const other : ICefRequestContext;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -36,6 +36,10 @@
*)
unit uCEFRequestContextHandler;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
@ -50,8 +54,6 @@ uses
uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
type
TCefRequestContextHandlerProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} function: ICefCookieManager;
TCefRequestContextHandlerRef = class(TCefBaseRefCountedRef, ICefRequestContextHandler)
protected
procedure OnRequestContextInitialized(const request_context: ICefRequestContext);
@ -139,15 +141,15 @@ begin
with PCefRequestContextHandler(FData)^ do
begin
on_request_context_initialized := cef_request_context_handler_on_request_context_initialized;
get_cookie_manager := cef_request_context_handler_get_cookie_manager;
on_before_plugin_load := cef_request_context_handler_on_before_plugin_load;
on_request_context_initialized := {$IFDEF FPC}@{$ENDIF}cef_request_context_handler_on_request_context_initialized;
get_cookie_manager := {$IFDEF FPC}@{$ENDIF}cef_request_context_handler_get_cookie_manager;
on_before_plugin_load := {$IFDEF FPC}@{$ENDIF}cef_request_context_handler_on_before_plugin_load;
end;
end;
procedure TCefRequestContextHandlerOwn.OnRequestContextInitialized(const request_context: ICefRequestContext);
begin
//
end;
@ -155,11 +157,12 @@ begin
begin
Result:= nil;
end;
function TCefRequestContextHandlerOwn.OnBeforePluginLoad(const mimeType, pluginUrl : ustring;
isMainFrame : boolean;
const topOriginUrl: ustring;
const pluginInfo: ICefWebPluginInfo;
pluginPolicy: PCefPluginPolicy): Boolean;
function TCefRequestContextHandlerOwn.OnBeforePluginLoad(const mimeType : ustring;
const pluginUrl : ustring;
isMainFrame : boolean;
const topOriginUrl : ustring;
const pluginInfo : ICefWebPluginInfo;
pluginPolicy : PCefPluginPolicy): Boolean;
begin
Result := False;
@ -168,27 +171,34 @@ end;
// TCefRequestContextHandlerRef
procedure TCefRequestContextHandlerRef.OnRequestContextInitialized(const request_context: ICefRequestContext);
begin
PCefRequestContextHandler(FData)^.on_request_context_initialized(PCefRequestContextHandler(FData), CefGetData(request_context));
end;
begin
function TCefRequestContextHandlerRef.GetCookieManager: ICefCookieManager;
begin
Result := TCefCookieManagerRef.UnWrap(PCefRequestContextHandler(FData)^.get_cookie_manager(PCefRequestContextHandler(FData)));
function TCefRequestContextHandlerRef.OnBeforePluginLoad(const mimeType, pluginUrl : ustring;
isMainFrame : boolean;
const topOriginUrl: ustring;
const pluginInfo: ICefWebPluginInfo;
end;
function TCefRequestContextHandlerRef.OnBeforePluginLoad(const mimeType : ustring;
const pluginUrl : ustring;
isMainFrame : boolean;
const topOriginUrl : ustring;
const pluginInfo : ICefWebPluginInfo;
var
pluginPolicy : PCefPluginPolicy): Boolean;
var
begin
mt := CefString(mimeType);
pu := CefString(pluginUrl);
TempType, TempPluginURL, TempOriginURL : TCefString;
begin
TempType := CefString(mimeType);
TempPluginURL := CefString(pluginUrl);
TempOriginURL := CefString(topOriginUrl);
Result := PCefRequestContextHandler(FData)^.on_before_plugin_load(PCefRequestContextHandler(FData),
@TempType,
@TempPluginURL,
ord(isMainFrame),
@TempOriginURL,
CefGetData(pluginInfo),
pluginPolicy) <> 0;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFRequestHandler;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -453,7 +457,7 @@ begin
i := 0;
while (i < certificatesCount) do
begin
TempCertArray[i] := TCEFX509CertificateRef.UnWrap(PPointerArray(certificates)[i]);
TempCertArray[i] := TCEFX509CertificateRef.UnWrap(PPointerArray(certificates)^[i]);
inc(i);
end;
@ -494,24 +498,24 @@ begin
with PCefRequestHandler(FData)^ do
begin
on_before_browse := cef_request_handler_on_before_browse;
on_open_urlfrom_tab := cef_request_handler_on_open_urlfrom_tab;
on_before_resource_load := cef_request_handler_on_before_resource_load;
get_resource_handler := cef_request_handler_get_resource_handler;
on_resource_redirect := cef_request_handler_on_resource_redirect;
on_resource_response := cef_request_handler_on_resource_response;
get_resource_response_filter := cef_request_handler_get_resource_response_filter;
on_resource_load_complete := cef_request_handler_on_resource_load_complete;
get_auth_credentials := cef_request_handler_get_auth_credentials;
can_get_cookies := cef_request_handler_can_get_cookies;
can_set_cookie := cef_request_handler_can_set_cookie;
on_quota_request := cef_request_handler_on_quota_request;
on_protocol_execution := cef_request_handler_on_protocol_execution;
on_certificate_error := cef_request_handler_on_certificate_error;
on_select_client_certificate := cef_request_handler_on_select_client_certificate;
on_plugin_crashed := cef_request_handler_on_plugin_crashed;
on_render_view_ready := cef_request_handler_on_render_view_ready;
on_render_process_terminated := cef_request_handler_on_render_process_terminated;
on_before_browse := {$IFDEF FPC}@{$ENDIF}cef_request_handler_on_before_browse;
on_open_urlfrom_tab := {$IFDEF FPC}@{$ENDIF}cef_request_handler_on_open_urlfrom_tab;
on_before_resource_load := {$IFDEF FPC}@{$ENDIF}cef_request_handler_on_before_resource_load;
get_resource_handler := {$IFDEF FPC}@{$ENDIF}cef_request_handler_get_resource_handler;
on_resource_redirect := {$IFDEF FPC}@{$ENDIF}cef_request_handler_on_resource_redirect;
on_resource_response := {$IFDEF FPC}@{$ENDIF}cef_request_handler_on_resource_response;
get_resource_response_filter := {$IFDEF FPC}@{$ENDIF}cef_request_handler_get_resource_response_filter;
on_resource_load_complete := {$IFDEF FPC}@{$ENDIF}cef_request_handler_on_resource_load_complete;
get_auth_credentials := {$IFDEF FPC}@{$ENDIF}cef_request_handler_get_auth_credentials;
can_get_cookies := {$IFDEF FPC}@{$ENDIF}cef_request_handler_can_get_cookies;
can_set_cookie := {$IFDEF FPC}@{$ENDIF}cef_request_handler_can_set_cookie;
on_quota_request := {$IFDEF FPC}@{$ENDIF}cef_request_handler_on_quota_request;
on_protocol_execution := {$IFDEF FPC}@{$ENDIF}cef_request_handler_on_protocol_execution;
on_certificate_error := {$IFDEF FPC}@{$ENDIF}cef_request_handler_on_certificate_error;
on_select_client_certificate := {$IFDEF FPC}@{$ENDIF}cef_request_handler_on_select_client_certificate;
on_plugin_crashed := {$IFDEF FPC}@{$ENDIF}cef_request_handler_on_plugin_crashed;
on_render_view_ready := {$IFDEF FPC}@{$ENDIF}cef_request_handler_on_render_view_ready;
on_render_process_terminated := {$IFDEF FPC}@{$ENDIF}cef_request_handler_on_render_process_terminated;
end;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFResolveCallback;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -116,7 +120,8 @@ constructor TCefResolveCallbackOwn.Create;
begin
inherited CreateData(SizeOf(TCefResolveCallback));
PCefResolveCallback(FData).on_resolve_completed := cef_resolve_callback_on_resolve_completed;
with PCefResolveCallback(FData)^ do
on_resolve_completed := {$IFDEF FPC}@{$ENDIF}cef_resolve_callback_on_resolve_completed;
end;
// TCefCustomResolveCallback

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFResourceBundle;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -66,24 +70,31 @@ uses
uCEFMiscFunctions, uCEFLibFunctions;
function TCefResourceBundleRef.GetDataResource(resourceId : Integer;
var data : Pointer;
var dataSize : NativeUInt): Boolean;
function TCefResourceBundleRef.GetDataResource( resourceId : Integer;
var data : Pointer;
var dataSize : NativeUInt): Boolean;
begin
Result := PCefResourceBundle(FData).get_data_resource(FData, resourceId, data, dataSize) <> 0;
Result := PCefResourceBundle(FData)^.get_data_resource(PCefResourceBundle(FData),
resourceId,
data,
dataSize) <> 0;
end;
function TCefResourceBundleRef.GetDataResourceForScale(resourceId : Integer;
function TCefResourceBundleRef.GetDataResourceForScale( resourceId : Integer;
scaleFactor : TCefScaleFactor;
var data : Pointer;
var dataSize : NativeUInt): Boolean;
begin
Result := PCefResourceBundle(FData).get_data_resource_for_scale(FData, resourceId, scaleFactor, data, dataSize) <> 0;
Result := PCefResourceBundle(FData)^.get_data_resource_for_scale(PCefResourceBundle(FData),
resourceId,
scaleFactor,
data,
dataSize) <> 0;
end;
function TCefResourceBundleRef.GetLocalizedString(stringId: Integer): ustring;
begin
Result := CefStringFreeAndGet(PCefResourceBundle(FData).get_localized_string(FData, stringId));
Result := CefStringFreeAndGet(PCefResourceBundle(FData)^.get_localized_string(PCefResourceBundle(FData), stringId));
end;
class function TCefResourceBundleRef.Global: ICefResourceBundle;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFResourceBundleHandler;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -137,9 +141,9 @@ begin
with PCefResourceBundleHandler(FData)^ do
begin
get_localized_string := cef_resource_bundle_handler_get_localized_string;
get_data_resource := cef_resource_bundle_handler_get_data_resource;
get_data_resource_for_scale := cef_resource_bundle_handler_get_data_resource_for_scale;
get_localized_string := {$IFDEF FPC}@{$ENDIF}cef_resource_bundle_handler_get_localized_string;
get_data_resource := {$IFDEF FPC}@{$ENDIF}cef_resource_bundle_handler_get_data_resource;
get_data_resource_for_scale := {$IFDEF FPC}@{$ENDIF}cef_resource_bundle_handler_get_data_resource_for_scale;
end;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFResourceHandler;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -157,7 +161,7 @@ end;
procedure TCefResourceHandlerOwn.Cancel;
begin
//
end;
function TCefResourceHandlerOwn.CanGetCookie(const cookie: PCefCookie): Boolean;
@ -179,12 +183,12 @@ begin
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;
process_request := {$IFDEF FPC}@{$ENDIF}cef_resource_handler_process_request;
get_response_headers := {$IFDEF FPC}@{$ENDIF}cef_resource_handler_get_response_headers;
read_response := {$IFDEF FPC}@{$ENDIF}cef_resource_handler_read_response;
can_get_cookie := {$IFDEF FPC}@{$ENDIF}cef_resource_handler_can_get_cookie;
can_set_cookie := {$IFDEF FPC}@{$ENDIF}cef_resource_handler_can_set_cookie;
cancel := {$IFDEF FPC}@{$ENDIF}cef_resource_handler_cancel;
end;
end;
@ -192,7 +196,7 @@ procedure TCefResourceHandlerOwn.GetResponseHeaders(const response : ICefR
out responseLength : Int64;
out redirectUrl : ustring);
begin
//
end;
function TCefResourceHandlerOwn.ProcessRequest(const request : ICefRequest;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFResponse;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -80,7 +84,7 @@ uses
class function TCefResponseRef.New: ICefResponse;
begin
Result := UnWrap(cef_response_create);
Result := UnWrap(cef_response_create());
end;
function TCefResponseRef.GetError: TCefErrorCode;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFResponseFilter;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -120,8 +124,8 @@ begin
with PCefResponseFilter(FData)^ do
begin
init_filter := cef_response_filter_init_filter;
filter := cef_response_filter_filter;
init_filter := {$IFDEF FPC}@{$ENDIF}cef_response_filter_init_filter;
filter := {$IFDEF FPC}@{$ENDIF}cef_response_filter_filter;
end;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFRunContextMenuCallback;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -65,20 +69,19 @@ uses
procedure TCefRunContextMenuCallbackRef.Cancel;
begin
PCefRunContextMenuCallback(FData).cancel(FData);
PCefRunContextMenuCallback(FData)^.cancel(PCefRunContextMenuCallback(FData));
end;
procedure TCefRunContextMenuCallbackRef.Cont(commandId: Integer;
eventFlags: TCefEventFlags);
procedure TCefRunContextMenuCallbackRef.Cont(commandId: Integer; eventFlags: TCefEventFlags);
begin
PCefRunContextMenuCallback(FData).cont(FData, commandId, eventFlags);
PCefRunContextMenuCallback(FData)^.cont(PCefRunContextMenuCallback(FData), commandId, eventFlags);
end;
class function TCefRunContextMenuCallbackRef.UnWrap(
data: Pointer): ICefRunContextMenuCallback;
class function TCefRunContextMenuCallbackRef.UnWrap(data: Pointer): ICefRunContextMenuCallback;
begin
if data <> nil then
Result := Create(data) as ICefRunContextMenuCallback else
if (data <> nil) then
Result := Create(data) as ICefRunContextMenuCallback
else
Result := nil;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFRunFileDialogCallback;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -114,7 +118,8 @@ constructor TCefRunFileDialogCallbackOwn.Create;
begin
inherited CreateData(SizeOf(TCefRunFileDialogCallback));
PCefRunFileDialogCallback(FData).on_file_dialog_dismissed := cef_run_file_dialog_callback_on_file_dialog_dismissed;
with PCefRunFileDialogCallback(FData)^ do
on_file_dialog_dismissed := {$IFDEF FPC}@{$ENDIF}cef_run_file_dialog_callback_on_file_dialog_dismissed;
end;
procedure TCefRunFileDialogCallbackOwn.OnFileDialogDismissed(selectedAcceptFilter: Integer; const filePaths: TStrings);

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFSSLStatus;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -74,27 +78,27 @@ uses
function TCefSSLStatusRef.IsSecureConnection: boolean;
begin
Result := (PCefSSLStatus(FData).is_secure_connection(FData) <> 0);
Result := (PCefSSLStatus(FData)^.is_secure_connection(PCefSSLStatus(FData)) <> 0);
end;
function TCefSSLStatusRef.GetCertStatus: TCefCertStatus;
begin
Result := PCefSSLStatus(FData).get_cert_status(FData);
Result := PCefSSLStatus(FData)^.get_cert_status(PCefSSLStatus(FData));
end;
function TCefSSLStatusRef.GetSSLVersion: TCefSSLVersion;
begin
Result := PCefSSLStatus(FData).get_sslversion(FData);
Result := PCefSSLStatus(FData)^.get_sslversion(PCefSSLStatus(FData));
end;
function TCefSSLStatusRef.GetContentStatus: TCefSSLContentStatus;
begin
Result := PCefSSLStatus(FData).get_content_status(FData);
Result := PCefSSLStatus(FData)^.get_content_status(PCefSSLStatus(FData));
end;
function TCefSSLStatusRef.GetX509Certificate: ICefX509Certificate;
begin
Result := TCEFX509CertificateRef.UnWrap(PCefSSLStatus(FData).get_x509certificate(FData));
Result := TCEFX509CertificateRef.UnWrap(PCefSSLStatus(FData)^.get_x509certificate(PCefSSLStatus(FData)));
end;
class function TCefSSLStatusRef.UnWrap(data: Pointer): ICefSSLStatus;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFSchemeHandlerFactory;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -89,7 +93,7 @@ begin
FClass := AClass;
PCefSchemeHandlerFactory(FData).create := cef_scheme_handler_factory_create;
PCefSchemeHandlerFactory(FData)^.create := {$IFDEF FPC}@{$ENDIF}cef_scheme_handler_factory_create;
end;
function TCefSchemeHandlerFactoryOwn.New(const browser : ICefBrowser;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFSchemeRegistrar;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -52,7 +56,7 @@ uses
type
TCefSchemeRegistrarRef = class(TCEFBaseScopedWrapperRef)
public
function AddCustomScheme(const schemeName: ustring; IsStandard, IsLocal, IsDisplayIsolated, IsSecure, IsCorsEnabled, IsCSPBypassing: Boolean): Boolean; stdcall;
function AddCustomScheme(const schemeName: ustring; IsStandard, IsLocal, IsDisplayIsolated, IsSecure, IsCorsEnabled, IsCSPBypassing: Boolean): Boolean;
end;
implementation
@ -60,19 +64,25 @@ implementation
uses
uCEFMiscFunctions;
function TCefSchemeRegistrarRef.AddCustomScheme(const schemeName: ustring; IsStandard, IsLocal, IsDisplayIsolated, IsSecure, IsCorsEnabled, IsCSPBypassing: Boolean): Boolean;
function TCefSchemeRegistrarRef.AddCustomScheme(const schemeName : ustring;
IsStandard : Boolean;
IsLocal : Boolean;
IsDisplayIsolated : Boolean;
IsSecure : Boolean;
IsCorsEnabled : Boolean;
IsCSPBypassing : Boolean): Boolean;
var
sn: TCefString;
TempName : TCefString;
begin
sn := CefString(schemeName);
Result := PCefSchemeRegistrar(FData).add_custom_scheme(PCefSchemeRegistrar(FData),
@sn,
Ord(IsStandard),
Ord(IsLocal),
Ord(IsDisplayIsolated),
Ord(isSecure),
Ord(IsCorsEnabled),
Ord(IsCSPBypassing)) <> 0;
TempName := CefString(schemeName);
Result := PCefSchemeRegistrar(FData)^.add_custom_scheme(PCefSchemeRegistrar(FData),
@TempName,
Ord(IsStandard),
Ord(IsLocal),
Ord(IsDisplayIsolated),
Ord(isSecure),
Ord(IsCorsEnabled),
Ord(IsCSPBypassing)) <> 0;
end;
end.

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFSelectClientCertificateCallback;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -67,7 +71,7 @@ uses
procedure TCefSelectClientCertificateCallbackRef.Select(const cert: ICefX509Certificate);
begin
PCefSelectClientCertificateCallback(FData).select(PCefSelectClientCertificateCallback(FData), CefGetData(cert));
PCefSelectClientCertificateCallback(FData)^.select(PCefSelectClientCertificateCallback(FData), CefGetData(cert));
end;
class function TCefSelectClientCertificateCallbackRef.UnWrap(data: Pointer): ICefSelectClientCertificateCallback;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFServer;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -89,32 +93,32 @@ end;
function TCEFServerRef.GetTaskRunner : ICefTaskRunner;
begin
Result := TCefTaskRunnerRef.UnWrap(PCefServer(FData).get_task_runner(PCefServer(FData)));
Result := TCefTaskRunnerRef.UnWrap(PCefServer(FData)^.get_task_runner(PCefServer(FData)));
end;
procedure TCEFServerRef.Shutdown;
begin
PCefServer(FData).shutdown(PCefServer(FData));
PCefServer(FData)^.shutdown(PCefServer(FData));
end;
function TCEFServerRef.IsRunning : boolean;
begin
Result := PCefServer(FData).is_running(PCefServer(FData)) <> 0;
Result := PCefServer(FData)^.is_running(PCefServer(FData)) <> 0;
end;
function TCEFServerRef.GetAddress : ustring;
begin
Result := CefStringFreeAndGet(PCefServer(FData).get_address(PCefServer(FData)));
Result := CefStringFreeAndGet(PCefServer(FData)^.get_address(PCefServer(FData)));
end;
function TCEFServerRef.HasConnection : boolean;
begin
Result := PCefServer(FData).has_connection(PCefServer(FData)) <> 0;
Result := PCefServer(FData)^.has_connection(PCefServer(FData)) <> 0;
end;
function TCEFServerRef.IsValidConnection(connection_id: Integer) : boolean;
begin
Result := PCefServer(FData).is_valid_connection(PCefServer(FData), connection_id) <> 0;
Result := PCefServer(FData)^.is_valid_connection(PCefServer(FData), connection_id) <> 0;
end;
procedure TCEFServerRef.SendHttp200response(connection_id: Integer; const content_type: ustring; const data: Pointer; data_size: NativeUInt);
@ -122,12 +126,12 @@ var
TempContentType : TCefString;
begin
TempContentType := CefString(content_type);
PCefServer(FData).send_http200response(PCefServer(FData), connection_id, @TempContentType, data, data_size);
PCefServer(FData)^.send_http200response(PCefServer(FData), connection_id, @TempContentType, data, data_size);
end;
procedure TCEFServerRef.SendHttp404response(connection_id: Integer);
begin
PCefServer(FData).send_http404response(PCefServer(FData), connection_id);
PCefServer(FData)^.send_http404response(PCefServer(FData), connection_id);
end;
procedure TCEFServerRef.SendHttp500response(connection_id: Integer; const error_message: ustring);
@ -135,7 +139,7 @@ var
TempError : TCefString;
begin
TempError := CefString(error_message);
PCefServer(FData).send_http500response(PCefServer(FData), connection_id, @TempError);
PCefServer(FData)^.send_http500response(PCefServer(FData), connection_id, @TempError);
end;
procedure TCEFServerRef.SendHttpResponse(connection_id, response_code: Integer; const content_type: ustring; content_length: int64; const extra_headers: ICefStringMultimap);
@ -143,22 +147,22 @@ var
TempContentType : TCefString;
begin
TempContentType := CefString(content_type);
PCefServer(FData).send_http_response(PCefServer(FData), connection_id, response_code, @TempContentType, content_length, extra_headers.Handle);
PCefServer(FData)^.send_http_response(PCefServer(FData), connection_id, response_code, @TempContentType, content_length, extra_headers.Handle);
end;
procedure TCEFServerRef.SendRawData(connection_id: Integer; const data: Pointer; data_size: NativeUInt);
begin
PCefServer(FData).send_raw_data(PCefServer(FData), connection_id, data, data_size);
PCefServer(FData)^.send_raw_data(PCefServer(FData), connection_id, data, data_size);
end;
procedure TCEFServerRef.CloseConnection(connection_id: Integer);
begin
PCefServer(FData).close_connection(PCefServer(FData), connection_id);
PCefServer(FData)^.close_connection(PCefServer(FData), connection_id);
end;
procedure TCEFServerRef.SendWebSocketMessage(connection_id: Integer; const data: Pointer; data_size: NativeUInt);
begin
PCefServer(FData).send_web_socket_message(PCefServer(FData), connection_id, data, data_size);
PCefServer(FData)^.send_web_socket_message(PCefServer(FData), connection_id, data, data_size);
end;
end.

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFServerComponent;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -51,7 +55,12 @@ uses
{$IFDEF MSWINDOWS}WinApi.Windows, WinApi.Messages, Vcl.Controls, Vcl.Graphics, Vcl.Forms, WinApi.ActiveX,{$ENDIF}
System.Classes, System.Math,
{$ELSE}
Windows, Messages, Classes, Controls, Graphics, Forms, ActiveX, Math,
Windows, Classes, Forms, Controls, Graphics, ActiveX, Math,
{$IFDEF FPC}
LCLProc, LCLType, LCLIntf, LResources, LMessages, InterfaceBase,
{$ELSE}
Messages,
{$ENDIF}
{$ENDIF}
uCEFTypes, uCEFInterfaces, uCEFServer, uCEFServerEvents, uCEFServerHandler;
@ -125,6 +134,10 @@ type
property OnWebSocketMessage : TOnWebSocketMessage read FOnWebSocketMessage write FOnWebSocketMessage;
end;
{$IFDEF FPC}
procedure Register;
{$ENDIF}
implementation
uses
@ -323,4 +336,12 @@ begin
if Initialized then FServer.SendWebSocketMessage(connection_id, data, data_size);
end;
{$IFDEF FPC}
procedure Register;
begin
{$I tcefservercomponent.lrs}
RegisterComponents('Chromium', [TCEFServerComponent]);
end;
{$ENDIF}
end.

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFServerEvents;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright � 2018 Salvador Daz Fau. All rights reserved.
// Copyright � 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
@ -37,6 +37,10 @@
unit uCEFServerHandler;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
{$IFNDEF CPUX64}
{$ALIGN ON}
{$MINENUMSIZE 4}
@ -217,14 +221,14 @@ begin
with PCEFServerHandler(FData)^ do
begin
on_server_created := cef_server_handler_on_server_created;
on_server_destroyed := cef_server_handler_on_server_destroyed;
on_client_connected := cef_server_handler_on_client_connected;
on_client_disconnected := cef_server_handler_on_client_disconnected;
on_http_request := cef_server_handler_on_http_request;
on_web_socket_request := cef_server_handler_on_web_socket_request;
on_web_socket_connected := cef_server_handler_on_web_socket_connected;
on_web_socket_message := cef_server_handler_on_web_socket_message;
on_server_created := {$IFDEF FPC}@{$ENDIF}cef_server_handler_on_server_created;
on_server_destroyed := {$IFDEF FPC}@{$ENDIF}cef_server_handler_on_server_destroyed;
on_client_connected := {$IFDEF FPC}@{$ENDIF}cef_server_handler_on_client_connected;
on_client_disconnected := {$IFDEF FPC}@{$ENDIF}cef_server_handler_on_client_disconnected;
on_http_request := {$IFDEF FPC}@{$ENDIF}cef_server_handler_on_http_request;
on_web_socket_request := {$IFDEF FPC}@{$ENDIF}cef_server_handler_on_web_socket_request;
on_web_socket_connected := {$IFDEF FPC}@{$ENDIF}cef_server_handler_on_web_socket_connected;
on_web_socket_message := {$IFDEF FPC}@{$ENDIF}cef_server_handler_on_web_socket_message;
end;
end;

Some files were not shown because too many files have changed in this diff Show More