Added support for Lazarus/FPC (windows 32bit)
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2017 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2017 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2017 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2017 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
							
								
								
									
										2
									
								
								demos/SimpleLazarusBrowser/00-Delete.bat
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,2 @@ | ||||
| rmdir /S /Q lib | ||||
| rmdir /S /Q backup | ||||
							
								
								
									
										
											BIN
										
									
								
								demos/SimpleLazarusBrowser/SimpleLazarusBrowser.ico
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 134 KiB | 
							
								
								
									
										79
									
								
								demos/SimpleLazarusBrowser/SimpleLazarusBrowser.lpi
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,79 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <CONFIG> | ||||
|   <ProjectOptions> | ||||
|     <Version Value="10"/> | ||||
|     <PathDelim Value="\"/> | ||||
|     <General> | ||||
|       <SessionStorage Value="InProjectDir"/> | ||||
|       <MainUnit Value="0"/> | ||||
|       <Title Value="SimpleLazarusBrowser"/> | ||||
|       <ResourceType Value="res"/> | ||||
|       <UseXPManifest Value="True"/> | ||||
|       <Icon Value="0"/> | ||||
|     </General> | ||||
|     <BuildModes Count="1"> | ||||
|       <Item1 Name="Default" Default="True"/> | ||||
|     </BuildModes> | ||||
|     <PublishOptions> | ||||
|       <Version Value="2"/> | ||||
|     </PublishOptions> | ||||
|     <RunParams> | ||||
|       <local> | ||||
|         <FormatVersion Value="1"/> | ||||
|       </local> | ||||
|     </RunParams> | ||||
|     <RequiredPackages Count="2"> | ||||
|       <Item1> | ||||
|         <PackageName Value="CEF4Delphi_Lazarus"/> | ||||
|       </Item1> | ||||
|       <Item2> | ||||
|         <PackageName Value="LCL"/> | ||||
|       </Item2> | ||||
|     </RequiredPackages> | ||||
|     <Units Count="2"> | ||||
|       <Unit0> | ||||
|         <Filename Value="SimpleLazarusBrowser.lpr"/> | ||||
|         <IsPartOfProject Value="True"/> | ||||
|       </Unit0> | ||||
|       <Unit1> | ||||
|         <Filename Value="usimplelazarusbrowser.pas"/> | ||||
|         <IsPartOfProject Value="True"/> | ||||
|         <ComponentName Value="Form1"/> | ||||
|         <HasResources Value="True"/> | ||||
|         <ResourceBaseClass Value="Form"/> | ||||
|         <UnitName Value="uSimpleLazarusBrowser"/> | ||||
|       </Unit1> | ||||
|     </Units> | ||||
|   </ProjectOptions> | ||||
|   <CompilerOptions> | ||||
|     <Version Value="11"/> | ||||
|     <PathDelim Value="\"/> | ||||
|     <Target> | ||||
|       <Filename Value="..\..\bin\SimpleLazarusBrowser"/> | ||||
|     </Target> | ||||
|     <SearchPaths> | ||||
|       <IncludeFiles Value="$(ProjOutDir)"/> | ||||
|       <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> | ||||
|     </SearchPaths> | ||||
|     <Linking> | ||||
|       <Options> | ||||
|         <Win32> | ||||
|           <GraphicApplication Value="True"/> | ||||
|         </Win32> | ||||
|       </Options> | ||||
|     </Linking> | ||||
|   </CompilerOptions> | ||||
|   <Debugging> | ||||
|     <Exceptions Count="3"> | ||||
|       <Item1> | ||||
|         <Name Value="EAbort"/> | ||||
|       </Item1> | ||||
|       <Item2> | ||||
|         <Name Value="ECodetoolError"/> | ||||
|       </Item2> | ||||
|       <Item3> | ||||
|         <Name Value="EFOpenError"/> | ||||
|       </Item3> | ||||
|     </Exceptions> | ||||
|   </Debugging> | ||||
| </CONFIG> | ||||
							
								
								
									
										29
									
								
								demos/SimpleLazarusBrowser/SimpleLazarusBrowser.lpr
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,29 @@ | ||||
| program SimpleLazarusBrowser; | ||||
|  | ||||
| {$mode objfpc}{$H+} | ||||
|  | ||||
| uses | ||||
|   {$IFDEF UNIX}{$IFDEF UseCThreads} | ||||
|   cthreads, | ||||
|   {$ENDIF}{$ENDIF} | ||||
|   Interfaces, // this includes the LCL widgetset | ||||
|   Forms, uSimpleLazarusBrowser | ||||
|   { you can add units after this } | ||||
|   ,uCEFApplication; | ||||
|  | ||||
| {$R *.res} | ||||
|  | ||||
| begin | ||||
|   GlobalCEFApp := TCefApplication.Create; | ||||
|  | ||||
|   if GlobalCEFApp.StartMainProcess then | ||||
|     begin | ||||
|       RequireDerivedFormResource:=True; | ||||
|       Application.Initialize; | ||||
|       Application.CreateForm(TForm1, Form1); | ||||
|       Application.Run; | ||||
|     end; | ||||
|  | ||||
|   GlobalCEFApp.Free; | ||||
| end. | ||||
|  | ||||
							
								
								
									
										252
									
								
								demos/SimpleLazarusBrowser/SimpleLazarusBrowser.lps
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,252 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <CONFIG> | ||||
|   <ProjectSession> | ||||
|     <PathDelim Value="\"/> | ||||
|     <Version Value="10"/> | ||||
|     <BuildModes Active="Default"/> | ||||
|     <Units Count="30"> | ||||
|       <Unit0> | ||||
|         <Filename Value="SimpleLazarusBrowser.lpr"/> | ||||
|         <IsPartOfProject Value="True"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <CursorPos X="3" Y="26"/> | ||||
|         <UsageCount Value="33"/> | ||||
|       </Unit0> | ||||
|       <Unit1> | ||||
|         <Filename Value="usimplelazarusbrowser.pas"/> | ||||
|         <IsPartOfProject Value="True"/> | ||||
|         <ComponentName Value="Form1"/> | ||||
|         <HasResources Value="True"/> | ||||
|         <ResourceBaseClass Value="Form"/> | ||||
|         <UnitName Value="uSimpleLazarusBrowser"/> | ||||
|         <IsVisibleTab Value="True"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <TopLine Value="166"/> | ||||
|         <CursorPos X="53" Y="110"/> | ||||
|         <UsageCount Value="33"/> | ||||
|       </Unit1> | ||||
|       <Unit2> | ||||
|         <Filename Value="..\..\source\uCEFChromium.pas"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <TopLine Value="34"/> | ||||
|         <CursorPos Y="49"/> | ||||
|         <UsageCount Value="16"/> | ||||
|         <Bookmarks Count="6"> | ||||
|           <Item0 X="35" Y="771" ID="1"/> | ||||
|           <Item1 X="46" Y="119" ID="2"/> | ||||
|           <Item2 X="17" Y="843" ID="3"/> | ||||
|           <Item3 X="20" Y="621" ID="4"/> | ||||
|           <Item4 X="57" Y="3494" ID="5"/> | ||||
|           <Item5 X="3" Y="1079" ID="6"/> | ||||
|         </Bookmarks> | ||||
|       </Unit2> | ||||
|       <Unit3> | ||||
|         <Filename Value="E:\lazarus\fpc\3.0.4\source\rtl\win32\classes.pp"/> | ||||
|         <UnitName Value="Classes"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <TopLine Value="129"/> | ||||
|         <CursorPos X="5" Y="181"/> | ||||
|         <UsageCount Value="10"/> | ||||
|       </Unit3> | ||||
|       <Unit4> | ||||
|         <Filename Value="..\..\source\uCEFChromiumWindow.pas"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <TopLine Value="47"/> | ||||
|         <CursorPos Y="57"/> | ||||
|         <UsageCount Value="10"/> | ||||
|       </Unit4> | ||||
|       <Unit5> | ||||
|         <Filename Value="E:\lazarus\fpc\3.0.4\source\rtl\win\messages.pp"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <UsageCount Value="10"/> | ||||
|       </Unit5> | ||||
|       <Unit6> | ||||
|         <Filename Value="E:\lazarus\lcl\lmessages.pp"/> | ||||
|         <UnitName Value="LMessages"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <TopLine Value="100"/> | ||||
|         <UsageCount Value="10"/> | ||||
|       </Unit6> | ||||
|       <Unit7> | ||||
|         <Filename Value="..\..\source\uCEFWindowParent.pas"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <TopLine Value="36"/> | ||||
|         <CursorPos X="49" Y="160"/> | ||||
|         <UsageCount Value="10"/> | ||||
|       </Unit7> | ||||
|       <Unit8> | ||||
|         <Filename Value="..\..\source\uCEFWorkScheduler.pas"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <TopLine Value="40"/> | ||||
|         <CursorPos X="15" Y="62"/> | ||||
|         <UsageCount Value="10"/> | ||||
|       </Unit8> | ||||
|       <Unit9> | ||||
|         <Filename Value="..\..\source\uBufferPanel.pas"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <TopLine Value="40"/> | ||||
|         <CursorPos X="36" Y="62"/> | ||||
|         <UsageCount Value="10"/> | ||||
|       </Unit9> | ||||
|       <Unit10> | ||||
|         <Filename Value="..\..\source\uCEFServerComponent.pas"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <WindowIndex Value="-1"/> | ||||
|         <TopLine Value="40"/> | ||||
|         <CursorPos Y="58"/> | ||||
|         <UsageCount Value="10"/> | ||||
|       </Unit10> | ||||
|       <Unit11> | ||||
|         <Filename Value="E:\lazarus\fpc\3.0.4\source\rtl\objpas\classes\classesh.inc"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <TopLine Value="1713"/> | ||||
|         <CursorPos X="5" Y="1726"/> | ||||
|         <UsageCount Value="10"/> | ||||
|       </Unit11> | ||||
|       <Unit12> | ||||
|         <Filename Value="..\..\..\Lazarus\test - 001\mywincontrol.pas"/> | ||||
|         <UnitName Value="MyWinControl"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <UsageCount Value="10"/> | ||||
|       </Unit12> | ||||
|       <Unit13> | ||||
|         <Filename Value="..\..\source\uCEFBaseRefCounted.pas"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <TopLine Value="184"/> | ||||
|         <CursorPos Y="207"/> | ||||
|         <UsageCount Value="10"/> | ||||
|       </Unit13> | ||||
|       <Unit14> | ||||
|         <Filename Value="..\..\source\uCEFBrowser.pas"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <TopLine Value="145"/> | ||||
|         <CursorPos Y="164"/> | ||||
|         <UsageCount Value="11"/> | ||||
|       </Unit14> | ||||
|       <Unit15> | ||||
|         <Filename Value="..\..\source\uCEFValue.pas"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <TopLine Value="151"/> | ||||
|         <CursorPos X="38" Y="164"/> | ||||
|         <UsageCount Value="11"/> | ||||
|       </Unit15> | ||||
|       <Unit16> | ||||
|         <Filename Value="..\..\source\uCEFInterfaces.pas"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <TopLine Value="367"/> | ||||
|         <CursorPos X="14" Y="382"/> | ||||
|         <UsageCount Value="12"/> | ||||
|       </Unit16> | ||||
|       <Unit17> | ||||
|         <Filename Value="..\..\source\uCEFApplication.pas"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <TopLine Value="1498"/> | ||||
|         <CursorPos X="50" Y="1521"/> | ||||
|         <UsageCount Value="11"/> | ||||
|       </Unit17> | ||||
|       <Unit18> | ||||
|         <Filename Value="C:\lazarus\lcl\forms.pp"/> | ||||
|         <UnitName Value="Forms"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <TopLine Value="556"/> | ||||
|         <CursorPos X="15" Y="581"/> | ||||
|         <UsageCount Value="11"/> | ||||
|       </Unit18> | ||||
|       <Unit19> | ||||
|         <Filename Value="C:\lazarus\lcl\include\customform.inc"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <TopLine Value="1389"/> | ||||
|         <CursorPos X="3" Y="1398"/> | ||||
|         <UsageCount Value="11"/> | ||||
|       </Unit19> | ||||
|       <Unit20> | ||||
|         <Filename Value="C:\lazarus\lcl\controls.pp"/> | ||||
|         <UnitName Value="Controls"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <TopLine Value="2284"/> | ||||
|         <CursorPos X="3" Y="2307"/> | ||||
|         <UsageCount Value="11"/> | ||||
|       </Unit20> | ||||
|       <Unit21> | ||||
|         <Filename Value="C:\lazarus\lcl\lmessages.pp"/> | ||||
|         <UnitName Value="LMessages"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <TopLine Value="120"/> | ||||
|         <CursorPos X="3" Y="146"/> | ||||
|         <UsageCount Value="11"/> | ||||
|       </Unit21> | ||||
|       <Unit22> | ||||
|         <Filename Value="C:\lazarus\fpc\3.0.4\source\rtl\win\wininc\base.inc"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <TopLine Value="627"/> | ||||
|         <CursorPos X="6" Y="650"/> | ||||
|         <UsageCount Value="11"/> | ||||
|       </Unit22> | ||||
|       <Unit23> | ||||
|         <Filename Value="C:\lazarus\fpc\3.0.4\source\rtl\win64\classes.pp"/> | ||||
|         <UnitName Value="Classes"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <TopLine Value="24"/> | ||||
|         <CursorPos X="18" Y="38"/> | ||||
|         <UsageCount Value="10"/> | ||||
|       </Unit23> | ||||
|       <Unit24> | ||||
|         <Filename Value="C:\lazarus\fpc\3.0.4\source\rtl\win\wininc\messages.inc"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <TopLine Value="1321"/> | ||||
|         <CursorPos X="44" Y="1334"/> | ||||
|         <UsageCount Value="10"/> | ||||
|       </Unit24> | ||||
|       <Unit25> | ||||
|         <Filename Value="C:\lazarus\fpc\3.0.4\source\rtl\win32\classes.pp"/> | ||||
|         <UnitName Value="Classes"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <TopLine Value="114"/> | ||||
|         <CursorPos X="49" Y="105"/> | ||||
|         <UsageCount Value="10"/> | ||||
|       </Unit25> | ||||
|       <Unit26> | ||||
|         <Filename Value="C:\lazarus\fpc\3.0.4\source\rtl\inc\resh.inc"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <TopLine Value="42"/> | ||||
|         <CursorPos X="10" Y="56"/> | ||||
|         <UsageCount Value="11"/> | ||||
|       </Unit26> | ||||
|       <Unit27> | ||||
|         <Filename Value="..\..\source\uCEFLibFunctions.pas"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <TopLine Value="33"/> | ||||
|         <CursorPos X="205" Y="308"/> | ||||
|         <UsageCount Value="11"/> | ||||
|       </Unit27> | ||||
|       <Unit28> | ||||
|         <Filename Value="..\..\source\uCEFTypes.pas"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <TopLine Value="1248"/> | ||||
|         <UsageCount Value="11"/> | ||||
|       </Unit28> | ||||
|       <Unit29> | ||||
|         <Filename Value="..\..\source\uCEFMiscFunctions.pas"/> | ||||
|         <EditorIndex Value="-1"/> | ||||
|         <TopLine Value="106"/> | ||||
|         <CursorPos X="50" Y="124"/> | ||||
|         <UsageCount Value="10"/> | ||||
|       </Unit29> | ||||
|     </Units> | ||||
|     <General> | ||||
|       <ActiveWindowIndexAtStart Value="-1"/> | ||||
|     </General> | ||||
|     <JumpHistory HistoryIndex="-1"/> | ||||
|   </ProjectSession> | ||||
|   <Debugging> | ||||
|     <BreakPoints Count="1"> | ||||
|       <Item1> | ||||
|         <Kind Value="bpkSource"/> | ||||
|         <WatchScope Value="wpsLocal"/> | ||||
|         <WatchKind Value="wpkWrite"/> | ||||
|         <Source Value="..\..\source\uCEFChromium.pas"/> | ||||
|         <Line Value="2233"/> | ||||
|       </Item1> | ||||
|     </BreakPoints> | ||||
|   </Debugging> | ||||
| </CONFIG> | ||||
							
								
								
									
										
											BIN
										
									
								
								demos/SimpleLazarusBrowser/SimpleLazarusBrowser.res
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										68
									
								
								demos/SimpleLazarusBrowser/usimplelazarusbrowser.lfm
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,68 @@ | ||||
| object Form1: TForm1 | ||||
|   Left = 298 | ||||
|   Height = 574 | ||||
|   Top = 142 | ||||
|   Width = 878 | ||||
|   Caption = 'Initializing browser. Please wait...' | ||||
|   ClientHeight = 574 | ||||
|   ClientWidth = 878 | ||||
|   OnCloseQuery = FormCloseQuery | ||||
|   OnCreate = FormCreate | ||||
|   OnShow = FormShow | ||||
|   Position = poScreenCenter | ||||
|   LCLVersion = '1.8.2.0' | ||||
|   object AddressPnl: TPanel | ||||
|     Left = 0 | ||||
|     Height = 23 | ||||
|     Top = 0 | ||||
|     Width = 878 | ||||
|     Align = alTop | ||||
|     BevelOuter = bvNone | ||||
|     ClientHeight = 23 | ||||
|     ClientWidth = 878 | ||||
|     Enabled = False | ||||
|     TabOrder = 0 | ||||
|     object AddressEdt: TEdit | ||||
|       Left = 0 | ||||
|       Height = 23 | ||||
|       Top = 0 | ||||
|       Width = 843 | ||||
|       Align = alClient | ||||
|       TabOrder = 0 | ||||
|       Text = 'https://www.google.com' | ||||
|     end | ||||
|     object GoBtn: TButton | ||||
|       Left = 843 | ||||
|       Height = 23 | ||||
|       Top = 0 | ||||
|       Width = 35 | ||||
|       Align = alRight | ||||
|       Caption = 'Go' | ||||
|       OnClick = GoBtnClick | ||||
|       TabOrder = 1 | ||||
|     end | ||||
|   end | ||||
|   object CEFWindowParent1: TCEFWindowParent | ||||
|     Left = 0 | ||||
|     Height = 551 | ||||
|     Top = 23 | ||||
|     Width = 878 | ||||
|     Align = alClient | ||||
|     TabOrder = 1 | ||||
|   end | ||||
|   object Timer1: TTimer | ||||
|     Enabled = False | ||||
|     Interval = 500 | ||||
|     OnTimer = Timer1Timer | ||||
|     left = 40 | ||||
|     top = 64 | ||||
|   end | ||||
|   object Chromium1: TChromium | ||||
|     OnBeforePopup = Chromium1BeforePopup | ||||
|     OnAfterCreated = Chromium1AfterCreated | ||||
|     OnBeforeClose = Chromium1BeforeClose | ||||
|     OnClose = Chromium1Close | ||||
|     left = 40 | ||||
|     top = 136 | ||||
|   end | ||||
| end | ||||
							
								
								
									
										234
									
								
								demos/SimpleLazarusBrowser/usimplelazarusbrowser.pas
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,234 @@ | ||||
| // ************************************************************************ | ||||
| // ***************************** CEF4Delphi ******************************* | ||||
| // ************************************************************************ | ||||
| // | ||||
| // CEF4Delphi is based on DCEF3 which uses CEF3 to embed a chromium-based | ||||
| // browser in Delphi applications. | ||||
| // | ||||
| // The original license of DCEF3 still applies to CEF4Delphi. | ||||
| // | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright © 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
| // ************************************************************************ | ||||
| (* | ||||
|  *                       Delphi Chromium Embedded 3 | ||||
|  * | ||||
|  * Usage allowed under the restrictions of the Lesser GNU General Public License | ||||
|  * or alternatively the restrictions of the Mozilla Public License 1.1 | ||||
|  * | ||||
|  * Software distributed under the License is distributed on an "AS IS" basis, | ||||
|  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for | ||||
|  * the specific language governing rights and limitations under the License. | ||||
|  * | ||||
|  * Unit owner : Henri Gourvest <hgourvest@gmail.com> | ||||
|  * Web site   : http://www.progdigy.com | ||||
|  * Repository : http://code.google.com/p/delphichromiumembedded/ | ||||
|  * Group      : http://groups.google.com/group/delphichromiumembedded | ||||
|  * | ||||
|  * Embarcadero Technologies, Inc is not permitted to use or redistribute | ||||
|  * this source code without explicit permission. | ||||
|  * | ||||
|  *) | ||||
|  | ||||
| unit uSimpleLazarusBrowser; | ||||
|  | ||||
| {$mode objfpc}{$H+} | ||||
|  | ||||
| interface | ||||
|  | ||||
| uses | ||||
|   Windows, Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls, | ||||
|   StdCtrls, LMessages, | ||||
|   uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFConstants, uCEFTypes, uCEFChromiumEvents; | ||||
|  | ||||
| type | ||||
|  | ||||
|   { TForm1 } | ||||
|  | ||||
|   TForm1 = class(TForm) | ||||
|     CEFWindowParent1: TCEFWindowParent; | ||||
|     Chromium1: TChromium; | ||||
|     GoBtn: TButton; | ||||
|     AddressEdt: TEdit; | ||||
|     AddressPnl: TPanel; | ||||
|     Timer1: TTimer; | ||||
|     procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser | ||||
|       ); | ||||
|     procedure Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); | ||||
|     procedure Chromium1BeforePopup(Sender: TObject; const browser: ICefBrowser; | ||||
|       const frame: ICefFrame; const targetUrl, targetFrameName: ustring; | ||||
|       targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean; | ||||
|       const popupFeatures: TCefPopupFeatures; var windowInfo: TCefWindowInfo; | ||||
|       var client: ICefClient; var settings: TCefBrowserSettings; | ||||
|       var noJavascriptAccess: Boolean; var Result: Boolean); | ||||
|     procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser; out | ||||
|       Result: Boolean); | ||||
|     procedure FormCloseQuery(Sender: TObject; var CanClose: boolean); | ||||
|     procedure FormCreate(Sender: TObject); | ||||
|     procedure FormShow(Sender: TObject); | ||||
|     procedure GoBtnClick(Sender: TObject); | ||||
|     procedure Timer1Timer(Sender: TObject); | ||||
|   protected | ||||
|     // Variables to control when can we destroy the form safely | ||||
|     FCanClose  : boolean;  // Set to True in TChromium.OnBeforeClose | ||||
|     FClosing   : boolean;  // Set to True in the CloseQuery event.  | ||||
|  | ||||
|     // You have to handle this two messages to call NotifyMoveOrResizeStarted or some page elements will be misaligned. | ||||
|     procedure WMMove(var aMessage : TWMMove); message WM_MOVE; | ||||
|     procedure WMMoving(var aMessage : TMessage); message WM_MOVING; | ||||
|     // You also have to handle these two messages to set GlobalCEFApp.OsmodalLoop | ||||
|     procedure WMEnterMenuLoop(var aMessage: TMessage); message WM_ENTERMENULOOP; | ||||
|     procedure WMExitMenuLoop(var aMessage: TMessage); message WM_EXITMENULOOP; | ||||
|  | ||||
|     procedure BrowserCreatedMsg(var aMessage : TMessage); message CEF_AFTERCREATED; | ||||
|     procedure BrowserDestroyMsg(var aMessage : TMessage); message CEF_DESTROY; | ||||
|   public | ||||
|  | ||||
|   end; | ||||
|  | ||||
| var | ||||
|   Form1 : TForm1; | ||||
|  | ||||
| implementation | ||||
|  | ||||
| {$R *.lfm} | ||||
|  | ||||
| // This is a demo with the simplest web browser you can build using CEF4Delphi and | ||||
| // it doesn't show any sign of progress like other web browsers do. | ||||
|  | ||||
| // Remember that it may take a few seconds to load if Windows update, your antivirus or | ||||
| // any other windows service is using your hard drive. | ||||
|  | ||||
| // Depending on your internet connection it may take longer than expected. | ||||
|  | ||||
| // Please check that your firewall or antivirus are not blocking this application | ||||
| // or the domain "google.com". If you don't live in the US, you'll be redirected to | ||||
| // another domain which will take a little time too. | ||||
|  | ||||
| // This demo uses a TChromium and a TCEFWindowParent | ||||
|  | ||||
| uses | ||||
|   uCEFApplication; | ||||
|  | ||||
| { TForm1 } | ||||
|  | ||||
| procedure TForm1.FormCreate(Sender: TObject); | ||||
| begin | ||||
|   FCanClose   := False; | ||||
|   FClosing    := False; | ||||
| end; | ||||
|  | ||||
| procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: boolean); | ||||
| begin | ||||
|   CanClose := FCanClose; | ||||
|  | ||||
|   if not(FClosing) then | ||||
|     begin | ||||
|       FClosing := True; | ||||
|       Visible  := False; | ||||
|       Chromium1.CloseBrowser(True); | ||||
|     end; | ||||
| end; | ||||
|  | ||||
| procedure TForm1.Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser); | ||||
| begin | ||||
|   // Now the browser is fully initialized we can send a message to the main form to load the initial web page. | ||||
|   PostMessage(Handle, CEF_AFTERCREATED, 0, 0); | ||||
| end; | ||||
|  | ||||
| procedure TForm1.Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); | ||||
| begin | ||||
|   FCanClose := True; | ||||
|   PostMessage(Handle, WM_CLOSE, 0, 0); | ||||
| end; | ||||
|  | ||||
| procedure TForm1.Chromium1BeforePopup(Sender: TObject; | ||||
|   const browser: ICefBrowser; const frame: ICefFrame; const targetUrl, | ||||
|   targetFrameName: ustring; targetDisposition: TCefWindowOpenDisposition; | ||||
|   userGesture: Boolean; const popupFeatures: TCefPopupFeatures; | ||||
|   var windowInfo: TCefWindowInfo; var client: ICefClient; | ||||
|   var settings: TCefBrowserSettings; var noJavascriptAccess: Boolean; | ||||
|   var Result: Boolean); | ||||
| begin | ||||
|   // For simplicity, this demo blocks all popup windows and new tabs | ||||
|   Result := (targetDisposition in [WOD_NEW_FOREGROUND_TAB, WOD_NEW_BACKGROUND_TAB, WOD_NEW_POPUP, WOD_NEW_WINDOW]); | ||||
| end; | ||||
|  | ||||
| procedure TForm1.Chromium1Close(Sender: TObject; const browser: ICefBrowser; out Result: Boolean); | ||||
| begin | ||||
|   PostMessage(Handle, CEF_DESTROY, 0, 0); | ||||
|   Result := True; | ||||
| end; | ||||
|  | ||||
| procedure TForm1.FormShow(Sender: TObject); | ||||
| begin | ||||
|   // You *MUST* call CreateBrowser to create and initialize the browser. | ||||
|   // This will trigger the AfterCreated event when the browser is fully | ||||
|   // initialized and ready to receive commands. | ||||
|  | ||||
|   // GlobalCEFApp.GlobalContextInitialized has to be TRUE before creating any browser | ||||
|   // If it's not initialized yet, we use a simple timer to create the browser later. | ||||
|   //if not(Chromium1.CreateBrowser(CEFWindowParent1)) then Timer1.Enabled := True; | ||||
|   Chromium1.CreateBrowser(CEFWindowParent1); | ||||
| end; | ||||
|  | ||||
| procedure TForm1.GoBtnClick(Sender: TObject); | ||||
| begin | ||||
|   // This will load the URL in the edit box | ||||
|   Chromium1.LoadURL(UTF8Decode(AddressEdt.Text)); | ||||
| end; | ||||
|  | ||||
| procedure TForm1.Timer1Timer(Sender: TObject); | ||||
| begin | ||||
|   Timer1.Enabled := False; | ||||
|   if not(Chromium1.CreateBrowser(CEFWindowParent1)) and not(Chromium1.Initialized) then | ||||
|     Timer1.Enabled := True; | ||||
| end; | ||||
|  | ||||
| procedure TForm1.WMMove(var aMessage: TWMMove); | ||||
| begin | ||||
|   inherited; | ||||
|  | ||||
|   if (Chromium1 <> nil) then Chromium1.NotifyMoveOrResizeStarted; | ||||
| end; | ||||
|  | ||||
| procedure TForm1.WMMoving(var aMessage: TMessage); | ||||
| begin | ||||
|   inherited; | ||||
|  | ||||
|   if (Chromium1 <> nil) then Chromium1.NotifyMoveOrResizeStarted; | ||||
| end; | ||||
|  | ||||
| procedure TForm1.WMEnterMenuLoop(var aMessage: TMessage); | ||||
| begin | ||||
|   inherited; | ||||
|  | ||||
|   if (aMessage.wParam = 0) and (GlobalCEFApp <> nil) then GlobalCEFApp.OsmodalLoop := True; | ||||
| end; | ||||
|  | ||||
| procedure TForm1.WMExitMenuLoop(var aMessage: TMessage); | ||||
| begin | ||||
|   inherited; | ||||
|  | ||||
|   if (aMessage.wParam = 0) and (GlobalCEFApp <> nil) then GlobalCEFApp.OsmodalLoop := False; | ||||
| end; | ||||
|  | ||||
| procedure TForm1.BrowserCreatedMsg(var aMessage: TMessage); | ||||
| begin | ||||
|   Caption            := 'Simple Lazarus Browser'; | ||||
|   AddressPnl.Enabled := True; | ||||
|   GoBtn.Click; | ||||
| end; | ||||
|  | ||||
| procedure TForm1.BrowserDestroyMsg(var aMessage: TMessage); | ||||
| begin | ||||
|   CEFWindowParent1.Free; | ||||
| end; | ||||
|  | ||||
| end. | ||||
|  | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
							
								
								
									
										7
									
								
								packages/00-CreateLazarusResources.bat
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,7 @@ | ||||
| e:\lazarus\tools\lazres.exe ..\source\tbufferpanel.lrs tbufferpanel.png | ||||
| e:\lazarus\tools\lazres.exe ..\source\tcefservercomponent.lrs tcefservercomponent.png | ||||
| e:\lazarus\tools\lazres.exe ..\source\tcefwindowparent.lrs tcefwindowparent.png | ||||
| e:\lazarus\tools\lazres.exe ..\source\tcefworkscheduler.lrs tcefworkscheduler.png | ||||
| e:\lazarus\tools\lazres.exe ..\source\tchromium.lrs tchromium.png | ||||
| e:\lazarus\tools\lazres.exe ..\source\tchromiumwindow.lrs tchromiumwindow.png | ||||
| pause | ||||
| @@ -6,8 +6,8 @@ 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 lib | ||||
| rmdir /S /Q __history | ||||
| rmdir /S /Q __recovery | ||||
|   | ||||
| @@ -130,7 +130,6 @@ contains | ||||
|   uCEFResponseFilter in '..\source\uCEFResponseFilter.pas', | ||||
|   uCEFImage in '..\source\uCEFImage.pas', | ||||
|   uCEFMenuModelDelegate in '..\source\uCEFMenuModelDelegate.pas', | ||||
|   uCEFv8Types in '..\source\uCEFv8Types.pas', | ||||
|   uCEFWindowParent in '..\source\uCEFWindowParent.pas', | ||||
|   uCEFChromium in '..\source\uCEFChromium.pas', | ||||
|   uCEFChromiumEvents in '..\source\uCEFChromiumEvents.pas', | ||||
|   | ||||
| @@ -128,7 +128,6 @@ contains | ||||
|   uCEFResponseFilter in '..\source\uCEFResponseFilter.pas', | ||||
|   uCEFImage in '..\source\uCEFImage.pas', | ||||
|   uCEFMenuModelDelegate in '..\source\uCEFMenuModelDelegate.pas', | ||||
|   uCEFv8Types in '..\source\uCEFv8Types.pas', | ||||
|   uCEFWindowParent in '..\source\uCEFWindowParent.pas', | ||||
|   uCEFChromium in '..\source\uCEFChromium.pas', | ||||
|   uCEFChromiumEvents in '..\source\uCEFChromiumEvents.pas', | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -9,22 +9,23 @@ package CEF4Delphi_FMX; | ||||
| {$EXTENDEDSYNTAX ON} | ||||
| {$IMPORTEDDATA ON} | ||||
| {$IOCHECKS ON} | ||||
| {$LOCALSYMBOLS OFF} | ||||
| {$LOCALSYMBOLS ON} | ||||
| {$LONGSTRINGS ON} | ||||
| {$OPENSTRINGS ON} | ||||
| {$OPTIMIZATION ON} | ||||
| {$OVERFLOWCHECKS OFF} | ||||
| {$RANGECHECKS OFF} | ||||
| {$REFERENCEINFO OFF} | ||||
| {$OPTIMIZATION OFF} | ||||
| {$OVERFLOWCHECKS ON} | ||||
| {$RANGECHECKS ON} | ||||
| {$REFERENCEINFO ON} | ||||
| {$SAFEDIVIDE OFF} | ||||
| {$STACKFRAMES OFF} | ||||
| {$STACKFRAMES ON} | ||||
| {$TYPEDADDRESS OFF} | ||||
| {$VARSTRINGCHECKS ON} | ||||
| {$WRITEABLECONST OFF} | ||||
| {$MINENUMSIZE 1} | ||||
| {$IMAGEBASE $400000} | ||||
| {$DEFINE RELEASE} | ||||
| {$DEFINE DEBUG} | ||||
| {$ENDIF IMPLICITBUILDING} | ||||
| {$DESCRIPTION 'CEF4Delphi'} | ||||
| {$IMPLICITBUILD OFF} | ||||
|  | ||||
| requires | ||||
| @@ -130,7 +131,6 @@ contains | ||||
|   uCEFResponseFilter in '..\source\uCEFResponseFilter.pas', | ||||
|   uCEFImage in '..\source\uCEFImage.pas', | ||||
|   uCEFMenuModelDelegate in '..\source\uCEFMenuModelDelegate.pas', | ||||
|   uCEFv8Types in '..\source\uCEFv8Types.pas', | ||||
|   uCEFWindowParent in '..\source\uCEFWindowParent.pas', | ||||
|   uCEFChromium in '..\source\uCEFChromium.pas', | ||||
|   uCEFChromiumEvents in '..\source\uCEFChromiumEvents.pas', | ||||
|   | ||||
| @@ -241,7 +241,6 @@ | ||||
|         <DCCReference Include="..\source\uCEFResponseFilter.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFImage.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFMenuModelDelegate.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFv8Types.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFWindowParent.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFChromium.pas"/> | ||||
|         <DCCReference Include="..\source\uCEFChromiumEvents.pas"/> | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az Fau. All rights reserved. | ||||
| //        Copyright � 2018 Salvador Diaz Fau. All rights reserved. | ||||
| // | ||||
| // ************************************************************************ | ||||
| // ************ vvvv Original license and comments below vvvv ************* | ||||
|   | ||||
							
								
								
									
										577
									
								
								packages/cef4delphi_lazarus.lpk
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,577 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <CONFIG> | ||||
|   <Package Version="4"> | ||||
|     <PathDelim Value="\"/> | ||||
|     <Name Value="CEF4Delphi_Lazarus"/> | ||||
|     <Type Value="RunAndDesignTime"/> | ||||
|     <CompilerOptions> | ||||
|       <Version Value="11"/> | ||||
|       <PathDelim Value="\"/> | ||||
|       <SearchPaths> | ||||
|         <IncludeFiles Value="..\source"/> | ||||
|         <OtherUnitFiles Value="..\source"/> | ||||
|         <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> | ||||
|       </SearchPaths> | ||||
|     </CompilerOptions> | ||||
|     <Files Count="133"> | ||||
|       <Item1> | ||||
|         <Filename Value="..\source\uCEFAccessibilityHandler.pas"/> | ||||
|         <UnitName Value="uCEFAccessibilityHandler"/> | ||||
|       </Item1> | ||||
|       <Item2> | ||||
|         <Filename Value="..\source\uCEFApp.pas"/> | ||||
|         <UnitName Value="uCEFApp"/> | ||||
|       </Item2> | ||||
|       <Item3> | ||||
|         <Filename Value="..\source\uCEFApplication.pas"/> | ||||
|         <UnitName Value="uCEFApplication"/> | ||||
|       </Item3> | ||||
|       <Item4> | ||||
|         <Filename Value="..\source\uCEFAuthCallback.pas"/> | ||||
|         <UnitName Value="uCEFAuthCallback"/> | ||||
|       </Item4> | ||||
|       <Item5> | ||||
|         <Filename Value="..\source\uCEFBaseRefCounted.pas"/> | ||||
|         <UnitName Value="uCEFBaseRefCounted"/> | ||||
|       </Item5> | ||||
|       <Item6> | ||||
|         <Filename Value="..\source\uCEFBaseScopedWrapper.pas"/> | ||||
|         <UnitName Value="uCEFBaseScopedWrapper"/> | ||||
|       </Item6> | ||||
|       <Item7> | ||||
|         <Filename Value="..\source\uCEFBeforeDownloadCallback.pas"/> | ||||
|         <UnitName Value="uCEFBeforeDownloadCallback"/> | ||||
|       </Item7> | ||||
|       <Item8> | ||||
|         <Filename Value="..\source\uCEFBinaryValue.pas"/> | ||||
|         <UnitName Value="uCEFBinaryValue"/> | ||||
|       </Item8> | ||||
|       <Item9> | ||||
|         <Filename Value="..\source\uCEFBrowser.pas"/> | ||||
|         <UnitName Value="uCEFBrowser"/> | ||||
|       </Item9> | ||||
|       <Item10> | ||||
|         <Filename Value="..\source\uCEFBrowserProcessHandler.pas"/> | ||||
|         <UnitName Value="uCEFBrowserProcessHandler"/> | ||||
|       </Item10> | ||||
|       <Item11> | ||||
|         <Filename Value="..\source\uCEFCallback.pas"/> | ||||
|         <UnitName Value="uCEFCallback"/> | ||||
|       </Item11> | ||||
|       <Item12> | ||||
|         <Filename Value="..\source\uCEFChromiumEvents.pas"/> | ||||
|         <UnitName Value="uCEFChromiumEvents"/> | ||||
|       </Item12> | ||||
|       <Item13> | ||||
|         <Filename Value="..\source\uCEFChromiumFontOptions.pas"/> | ||||
|         <UnitName Value="uCEFChromiumFontOptions"/> | ||||
|       </Item13> | ||||
|       <Item14> | ||||
|         <Filename Value="..\source\uCEFChromiumOptions.pas"/> | ||||
|         <UnitName Value="uCEFChromiumOptions"/> | ||||
|       </Item14> | ||||
|       <Item15> | ||||
|         <Filename Value="..\source\uCEFChromiumWindow.pas"/> | ||||
|         <HasRegisterProc Value="True"/> | ||||
|         <UnitName Value="uCEFChromiumWindow"/> | ||||
|       </Item15> | ||||
|       <Item16> | ||||
|         <Filename Value="..\source\uCEFClient.pas"/> | ||||
|         <UnitName Value="uCEFClient"/> | ||||
|       </Item16> | ||||
|       <Item17> | ||||
|         <Filename Value="..\source\uCEFCommandLine.pas"/> | ||||
|         <UnitName Value="uCEFCommandLine"/> | ||||
|       </Item17> | ||||
|       <Item18> | ||||
|         <Filename Value="..\source\uCEFCompletionCallback.pas"/> | ||||
|         <UnitName Value="uCEFCompletionCallback"/> | ||||
|       </Item18> | ||||
|       <Item19> | ||||
|         <Filename Value="..\source\uCEFConstants.pas"/> | ||||
|         <UnitName Value="uCEFConstants"/> | ||||
|       </Item19> | ||||
|       <Item20> | ||||
|         <Filename Value="..\source\uCEFContextMenuHandler.pas"/> | ||||
|         <UnitName Value="uCEFContextMenuHandler"/> | ||||
|       </Item20> | ||||
|       <Item21> | ||||
|         <Filename Value="..\source\uCEFContextMenuParams.pas"/> | ||||
|         <UnitName Value="uCEFContextMenuParams"/> | ||||
|       </Item21> | ||||
|       <Item22> | ||||
|         <Filename Value="..\source\uCEFCookieManager.pas"/> | ||||
|         <UnitName Value="uCEFCookieManager"/> | ||||
|       </Item22> | ||||
|       <Item23> | ||||
|         <Filename Value="..\source\uCEFCookieVisitor.pas"/> | ||||
|         <UnitName Value="uCEFCookieVisitor"/> | ||||
|       </Item23> | ||||
|       <Item24> | ||||
|         <Filename Value="..\source\uCEFCustomStreamReader.pas"/> | ||||
|         <UnitName Value="uCEFCustomStreamReader"/> | ||||
|       </Item24> | ||||
|       <Item25> | ||||
|         <Filename Value="..\source\uCEFDeleteCookiesCallback.pas"/> | ||||
|         <UnitName Value="uCEFDeleteCookiesCallback"/> | ||||
|       </Item25> | ||||
|       <Item26> | ||||
|         <Filename Value="..\source\uCEFDialogHandler.pas"/> | ||||
|         <UnitName Value="uCEFDialogHandler"/> | ||||
|       </Item26> | ||||
|       <Item27> | ||||
|         <Filename Value="..\source\uCEFDictionaryValue.pas"/> | ||||
|         <UnitName Value="uCEFDictionaryValue"/> | ||||
|       </Item27> | ||||
|       <Item28> | ||||
|         <Filename Value="..\source\uCEFDisplayHandler.pas"/> | ||||
|         <UnitName Value="uCEFDisplayHandler"/> | ||||
|       </Item28> | ||||
|       <Item29> | ||||
|         <Filename Value="..\source\uCEFDomDocument.pas"/> | ||||
|         <UnitName Value="uCEFDomDocument"/> | ||||
|       </Item29> | ||||
|       <Item30> | ||||
|         <Filename Value="..\source\uCEFDomNode.pas"/> | ||||
|         <UnitName Value="uCEFDomNode"/> | ||||
|       </Item30> | ||||
|       <Item31> | ||||
|         <Filename Value="..\source\uCEFDomVisitor.pas"/> | ||||
|         <UnitName Value="uCEFDomVisitor"/> | ||||
|       </Item31> | ||||
|       <Item32> | ||||
|         <Filename Value="..\source\uCEFDownloadHandler.pas"/> | ||||
|         <UnitName Value="uCEFDownloadHandler"/> | ||||
|       </Item32> | ||||
|       <Item33> | ||||
|         <Filename Value="..\source\uCEFDownloadImageCallBack.pas"/> | ||||
|         <UnitName Value="uCEFDownloadImageCallBack"/> | ||||
|       </Item33> | ||||
|       <Item34> | ||||
|         <Filename Value="..\source\uCEFDownLoadItem.pas"/> | ||||
|         <UnitName Value="uCEFDownLoadItem"/> | ||||
|       </Item34> | ||||
|       <Item35> | ||||
|         <Filename Value="..\source\uCEFDownloadItemCallback.pas"/> | ||||
|         <UnitName Value="uCEFDownloadItemCallback"/> | ||||
|       </Item35> | ||||
|       <Item36> | ||||
|         <Filename Value="..\source\uCEFDragData.pas"/> | ||||
|         <UnitName Value="uCEFDragData"/> | ||||
|       </Item36> | ||||
|       <Item37> | ||||
|         <Filename Value="..\source\uCEFDragHandler.pas"/> | ||||
|         <UnitName Value="uCEFDragHandler"/> | ||||
|       </Item37> | ||||
|       <Item38> | ||||
|         <Filename Value="..\source\uCEFEndTracingCallback.pas"/> | ||||
|         <UnitName Value="uCEFEndTracingCallback"/> | ||||
|       </Item38> | ||||
|       <Item39> | ||||
|         <Filename Value="..\source\uCEFExtension.pas"/> | ||||
|         <UnitName Value="uCEFExtension"/> | ||||
|       </Item39> | ||||
|       <Item40> | ||||
|         <Filename Value="..\source\uCEFExtensionHandler.pas"/> | ||||
|         <UnitName Value="uCEFExtensionHandler"/> | ||||
|       </Item40> | ||||
|       <Item41> | ||||
|         <Filename Value="..\source\uCEFFileDialogCallback.pas"/> | ||||
|         <UnitName Value="uCEFFileDialogCallback"/> | ||||
|       </Item41> | ||||
|       <Item42> | ||||
|         <Filename Value="..\source\uCEFFindHandler.pas"/> | ||||
|         <UnitName Value="uCEFFindHandler"/> | ||||
|       </Item42> | ||||
|       <Item43> | ||||
|         <Filename Value="..\source\uCEFFocusHandler.pas"/> | ||||
|         <UnitName Value="uCEFFocusHandler"/> | ||||
|       </Item43> | ||||
|       <Item44> | ||||
|         <Filename Value="..\source\uCEFFrame.pas"/> | ||||
|         <UnitName Value="uCEFFrame"/> | ||||
|       </Item44> | ||||
|       <Item45> | ||||
|         <Filename Value="..\source\uCEFGetExtensionResourceCallback.pas"/> | ||||
|         <UnitName Value="uCEFGetExtensionResourceCallback"/> | ||||
|       </Item45> | ||||
|       <Item46> | ||||
|         <Filename Value="..\source\uCEFImage.pas"/> | ||||
|         <UnitName Value="uCEFImage"/> | ||||
|       </Item46> | ||||
|       <Item47> | ||||
|         <Filename Value="..\source\uCEFInterfaces.pas"/> | ||||
|         <UnitName Value="uCEFInterfaces"/> | ||||
|       </Item47> | ||||
|       <Item48> | ||||
|         <Filename Value="..\source\uCEFJsDialogCallback.pas"/> | ||||
|         <UnitName Value="uCEFJsDialogCallback"/> | ||||
|       </Item48> | ||||
|       <Item49> | ||||
|         <Filename Value="..\source\uCEFJsDialogHandler.pas"/> | ||||
|         <UnitName Value="uCEFJsDialogHandler"/> | ||||
|       </Item49> | ||||
|       <Item50> | ||||
|         <Filename Value="..\source\uCEFKeyboardHandler.pas"/> | ||||
|         <UnitName Value="uCEFKeyboardHandler"/> | ||||
|       </Item50> | ||||
|       <Item51> | ||||
|         <Filename Value="..\source\uCEFLibFunctions.pas"/> | ||||
|         <UnitName Value="uCEFLibFunctions"/> | ||||
|       </Item51> | ||||
|       <Item52> | ||||
|         <Filename Value="..\source\uCEFLifeSpanHandler.pas"/> | ||||
|         <UnitName Value="uCEFLifeSpanHandler"/> | ||||
|       </Item52> | ||||
|       <Item53> | ||||
|         <Filename Value="..\source\uCEFListValue.pas"/> | ||||
|         <UnitName Value="uCEFListValue"/> | ||||
|       </Item53> | ||||
|       <Item54> | ||||
|         <Filename Value="..\source\uCEFLoadHandler.pas"/> | ||||
|         <UnitName Value="uCEFLoadHandler"/> | ||||
|       </Item54> | ||||
|       <Item55> | ||||
|         <Filename Value="..\source\uCEFMenuModel.pas"/> | ||||
|         <UnitName Value="uCEFMenuModel"/> | ||||
|       </Item55> | ||||
|       <Item56> | ||||
|         <Filename Value="..\source\uCEFMenuModelDelegate.pas"/> | ||||
|         <UnitName Value="uCEFMenuModelDelegate"/> | ||||
|       </Item56> | ||||
|       <Item57> | ||||
|         <Filename Value="..\source\uCEFMiscFunctions.pas"/> | ||||
|         <UnitName Value="uCEFMiscFunctions"/> | ||||
|       </Item57> | ||||
|       <Item58> | ||||
|         <Filename Value="..\source\uCEFNavigationEntry.pas"/> | ||||
|         <UnitName Value="uCEFNavigationEntry"/> | ||||
|       </Item58> | ||||
|       <Item59> | ||||
|         <Filename Value="..\source\uCEFNavigationEntryVisitor.pas"/> | ||||
|         <UnitName Value="uCEFNavigationEntryVisitor"/> | ||||
|       </Item59> | ||||
|       <Item60> | ||||
|         <Filename Value="..\source\uCEFPDFPrintCallback.pas"/> | ||||
|         <UnitName Value="uCEFPDFPrintCallback"/> | ||||
|       </Item60> | ||||
|       <Item61> | ||||
|         <Filename Value="..\source\uCEFPDFPrintOptions.pas"/> | ||||
|         <UnitName Value="uCEFPDFPrintOptions"/> | ||||
|       </Item61> | ||||
|       <Item62> | ||||
|         <Filename Value="..\source\uCEFPostData.pas"/> | ||||
|         <UnitName Value="uCEFPostData"/> | ||||
|       </Item62> | ||||
|       <Item63> | ||||
|         <Filename Value="..\source\uCEFPostDataElement.pas"/> | ||||
|         <UnitName Value="uCEFPostDataElement"/> | ||||
|       </Item63> | ||||
|       <Item64> | ||||
|         <Filename Value="..\source\uCEFPrintSettings.pas"/> | ||||
|         <UnitName Value="uCEFPrintSettings"/> | ||||
|       </Item64> | ||||
|       <Item65> | ||||
|         <Filename Value="..\source\uCEFProcessMessage.pas"/> | ||||
|         <UnitName Value="uCEFProcessMessage"/> | ||||
|       </Item65> | ||||
|       <Item66> | ||||
|         <Filename Value="..\source\uCEFRegisterCDMCallback.pas"/> | ||||
|         <UnitName Value="uCEFRegisterCDMCallback"/> | ||||
|       </Item66> | ||||
|       <Item67> | ||||
|         <Filename Value="..\source\uCEFRenderHandler.pas"/> | ||||
|         <UnitName Value="uCEFRenderHandler"/> | ||||
|       </Item67> | ||||
|       <Item68> | ||||
|         <Filename Value="..\source\uCEFRenderProcessHandler.pas"/> | ||||
|         <UnitName Value="uCEFRenderProcessHandler"/> | ||||
|       </Item68> | ||||
|       <Item69> | ||||
|         <Filename Value="..\source\uCEFRequest.pas"/> | ||||
|         <UnitName Value="uCEFRequest"/> | ||||
|       </Item69> | ||||
|       <Item70> | ||||
|         <Filename Value="..\source\uCEFRequestCallback.pas"/> | ||||
|         <UnitName Value="uCEFRequestCallback"/> | ||||
|       </Item70> | ||||
|       <Item71> | ||||
|         <Filename Value="..\source\uCEFRequestContext.pas"/> | ||||
|         <UnitName Value="uCEFRequestContext"/> | ||||
|       </Item71> | ||||
|       <Item72> | ||||
|         <Filename Value="..\source\uCEFRequestContextHandler.pas"/> | ||||
|         <UnitName Value="uCEFRequestContextHandler"/> | ||||
|       </Item72> | ||||
|       <Item73> | ||||
|         <Filename Value="..\source\uCEFRequestHandler.pas"/> | ||||
|         <UnitName Value="uCEFRequestHandler"/> | ||||
|       </Item73> | ||||
|       <Item74> | ||||
|         <Filename Value="..\source\uCEFResolveCallback.pas"/> | ||||
|         <UnitName Value="uCEFResolveCallback"/> | ||||
|       </Item74> | ||||
|       <Item75> | ||||
|         <Filename Value="..\source\uCEFResourceBundle.pas"/> | ||||
|         <UnitName Value="uCEFResourceBundle"/> | ||||
|       </Item75> | ||||
|       <Item76> | ||||
|         <Filename Value="..\source\uCEFResourceBundleHandler.pas"/> | ||||
|         <UnitName Value="uCEFResourceBundleHandler"/> | ||||
|       </Item76> | ||||
|       <Item77> | ||||
|         <Filename Value="..\source\uCEFResourceHandler.pas"/> | ||||
|         <UnitName Value="uCEFResourceHandler"/> | ||||
|       </Item77> | ||||
|       <Item78> | ||||
|         <Filename Value="..\source\uCEFResponse.pas"/> | ||||
|         <UnitName Value="uCEFResponse"/> | ||||
|       </Item78> | ||||
|       <Item79> | ||||
|         <Filename Value="..\source\uCEFResponseFilter.pas"/> | ||||
|         <UnitName Value="uCEFResponseFilter"/> | ||||
|       </Item79> | ||||
|       <Item80> | ||||
|         <Filename Value="..\source\uCEFRunContextMenuCallback.pas"/> | ||||
|         <UnitName Value="uCEFRunContextMenuCallback"/> | ||||
|       </Item80> | ||||
|       <Item81> | ||||
|         <Filename Value="..\source\uCEFRunFileDialogCallback.pas"/> | ||||
|         <UnitName Value="uCEFRunFileDialogCallback"/> | ||||
|       </Item81> | ||||
|       <Item82> | ||||
|         <Filename Value="..\source\uCEFSchemeHandlerFactory.pas"/> | ||||
|         <UnitName Value="uCEFSchemeHandlerFactory"/> | ||||
|       </Item82> | ||||
|       <Item83> | ||||
|         <Filename Value="..\source\uCEFSchemeRegistrar.pas"/> | ||||
|         <UnitName Value="uCEFSchemeRegistrar"/> | ||||
|       </Item83> | ||||
|       <Item84> | ||||
|         <Filename Value="..\source\uCEFSelectClientCertificateCallback.pas"/> | ||||
|         <UnitName Value="uCEFSelectClientCertificateCallback"/> | ||||
|       </Item84> | ||||
|       <Item85> | ||||
|         <Filename Value="..\source\uCEFSetCookieCallback.pas"/> | ||||
|         <UnitName Value="uCEFSetCookieCallback"/> | ||||
|       </Item85> | ||||
|       <Item86> | ||||
|         <Filename Value="..\source\uCEFSslInfo.pas"/> | ||||
|         <UnitName Value="uCEFSslInfo"/> | ||||
|       </Item86> | ||||
|       <Item87> | ||||
|         <Filename Value="..\source\uCEFSSLStatus.pas"/> | ||||
|         <UnitName Value="uCEFSSLStatus"/> | ||||
|       </Item87> | ||||
|       <Item88> | ||||
|         <Filename Value="..\source\uCEFStreamReader.pas"/> | ||||
|         <UnitName Value="uCEFStreamReader"/> | ||||
|       </Item88> | ||||
|       <Item89> | ||||
|         <Filename Value="..\source\uCEFStreamWriter.pas"/> | ||||
|         <UnitName Value="uCEFStreamWriter"/> | ||||
|       </Item89> | ||||
|       <Item90> | ||||
|         <Filename Value="..\source\uCEFStringList.pas"/> | ||||
|         <UnitName Value="uCEFStringList"/> | ||||
|       </Item90> | ||||
|       <Item91> | ||||
|         <Filename Value="..\source\uCEFStringMap.pas"/> | ||||
|         <UnitName Value="uCEFStringMap"/> | ||||
|       </Item91> | ||||
|       <Item92> | ||||
|         <Filename Value="..\source\uCEFStringMultimap.pas"/> | ||||
|         <UnitName Value="uCEFStringMultimap"/> | ||||
|       </Item92> | ||||
|       <Item93> | ||||
|         <Filename Value="..\source\uCEFStringVisitor.pas"/> | ||||
|         <UnitName Value="uCEFStringVisitor"/> | ||||
|       </Item93> | ||||
|       <Item94> | ||||
|         <Filename Value="..\source\uCEFTask.pas"/> | ||||
|         <UnitName Value="uCEFTask"/> | ||||
|       </Item94> | ||||
|       <Item95> | ||||
|         <Filename Value="..\source\uCEFTaskRunner.pas"/> | ||||
|         <UnitName Value="uCEFTaskRunner"/> | ||||
|       </Item95> | ||||
|       <Item96> | ||||
|         <Filename Value="..\source\uCEFThread.pas"/> | ||||
|         <UnitName Value="uCEFThread"/> | ||||
|       </Item96> | ||||
|       <Item97> | ||||
|         <Filename Value="..\source\uCEFTypes.pas"/> | ||||
|         <UnitName Value="uCEFTypes"/> | ||||
|       </Item97> | ||||
|       <Item98> | ||||
|         <Filename Value="..\source\uCEFUrlRequest.pas"/> | ||||
|         <UnitName Value="uCEFUrlRequest"/> | ||||
|       </Item98> | ||||
|       <Item99> | ||||
|         <Filename Value="..\source\uCEFUrlrequestClient.pas"/> | ||||
|         <UnitName Value="uCEFUrlrequestClient"/> | ||||
|       </Item99> | ||||
|       <Item100> | ||||
|         <Filename Value="..\source\uCEFv8Accessor.pas"/> | ||||
|         <UnitName Value="uCEFv8Accessor"/> | ||||
|       </Item100> | ||||
|       <Item101> | ||||
|         <Filename Value="..\source\uCEFv8ArrayBufferReleaseCallback.pas"/> | ||||
|         <UnitName Value="uCEFv8ArrayBufferReleaseCallback"/> | ||||
|       </Item101> | ||||
|       <Item102> | ||||
|         <Filename Value="..\source\uCEFv8Context.pas"/> | ||||
|         <UnitName Value="uCEFv8Context"/> | ||||
|       </Item102> | ||||
|       <Item103> | ||||
|         <Filename Value="..\source\uCEFV8Exception.pas"/> | ||||
|         <UnitName Value="uCEFV8Exception"/> | ||||
|       </Item103> | ||||
|       <Item104> | ||||
|         <Filename Value="..\source\uCEFv8Handler.pas"/> | ||||
|         <UnitName Value="uCEFv8Handler"/> | ||||
|       </Item104> | ||||
|       <Item105> | ||||
|         <Filename Value="..\source\uCEFv8Interceptor.pas"/> | ||||
|         <UnitName Value="uCEFv8Interceptor"/> | ||||
|       </Item105> | ||||
|       <Item106> | ||||
|         <Filename Value="..\source\uCEFv8StackFrame.pas"/> | ||||
|         <UnitName Value="uCEFv8StackFrame"/> | ||||
|       </Item106> | ||||
|       <Item107> | ||||
|         <Filename Value="..\source\uCEFv8StackTrace.pas"/> | ||||
|         <UnitName Value="uCEFv8StackTrace"/> | ||||
|       </Item107> | ||||
|       <Item108> | ||||
|         <Filename Value="..\source\uCEFv8Value.pas"/> | ||||
|         <UnitName Value="uCEFv8Value"/> | ||||
|       </Item108> | ||||
|       <Item109> | ||||
|         <Filename Value="..\source\uCEFValue.pas"/> | ||||
|         <UnitName Value="uCEFValue"/> | ||||
|       </Item109> | ||||
|       <Item110> | ||||
|         <Filename Value="..\source\uCEFWaitableEvent.pas"/> | ||||
|         <UnitName Value="uCEFWaitableEvent"/> | ||||
|       </Item110> | ||||
|       <Item111> | ||||
|         <Filename Value="..\source\uCEFWebPluginInfo.pas"/> | ||||
|         <UnitName Value="uCEFWebPluginInfo"/> | ||||
|       </Item111> | ||||
|       <Item112> | ||||
|         <Filename Value="..\source\uCEFWebPluginInfoVisitor.pas"/> | ||||
|         <UnitName Value="uCEFWebPluginInfoVisitor"/> | ||||
|       </Item112> | ||||
|       <Item113> | ||||
|         <Filename Value="..\source\uCEFWebPluginUnstableCallback.pas"/> | ||||
|         <UnitName Value="uCEFWebPluginUnstableCallback"/> | ||||
|       </Item113> | ||||
|       <Item114> | ||||
|         <Filename Value="..\source\uCEFWindowParent.pas"/> | ||||
|         <HasRegisterProc Value="True"/> | ||||
|         <UnitName Value="uCEFWindowParent"/> | ||||
|       </Item114> | ||||
|       <Item115> | ||||
|         <Filename Value="..\source\uCEFWorkScheduler.pas"/> | ||||
|         <HasRegisterProc Value="True"/> | ||||
|         <UnitName Value="uCEFWorkScheduler"/> | ||||
|       </Item115> | ||||
|       <Item116> | ||||
|         <Filename Value="..\source\uCEFWorkSchedulerThread.pas"/> | ||||
|         <UnitName Value="uCEFWorkSchedulerThread"/> | ||||
|       </Item116> | ||||
|       <Item117> | ||||
|         <Filename Value="..\source\uCEFWriteHandler.pas"/> | ||||
|         <UnitName Value="uCEFWriteHandler"/> | ||||
|       </Item117> | ||||
|       <Item118> | ||||
|         <Filename Value="..\source\uCEFX509Certificate.pas"/> | ||||
|         <UnitName Value="uCEFX509Certificate"/> | ||||
|       </Item118> | ||||
|       <Item119> | ||||
|         <Filename Value="..\source\uCEFX509CertPrincipal.pas"/> | ||||
|         <UnitName Value="uCEFX509CertPrincipal"/> | ||||
|       </Item119> | ||||
|       <Item120> | ||||
|         <Filename Value="..\source\uCEFXmlReader.pas"/> | ||||
|         <UnitName Value="uCEFXmlReader"/> | ||||
|       </Item120> | ||||
|       <Item121> | ||||
|         <Filename Value="..\source\uCEFZipReader.pas"/> | ||||
|         <UnitName Value="uCEFZipReader"/> | ||||
|       </Item121> | ||||
|       <Item122> | ||||
|         <Filename Value="..\source\uCEFChromium.pas"/> | ||||
|         <HasRegisterProc Value="True"/> | ||||
|         <UnitName Value="uCEFChromium"/> | ||||
|       </Item122> | ||||
|       <Item123> | ||||
|         <Filename Value="..\source\uBufferPanel.pas"/> | ||||
|         <HasRegisterProc Value="True"/> | ||||
|         <UnitName Value="uBufferPanel"/> | ||||
|       </Item123> | ||||
|       <Item124> | ||||
|         <Filename Value="..\source\uCEFServer.pas"/> | ||||
|         <UnitName Value="uCEFServer"/> | ||||
|       </Item124> | ||||
|       <Item125> | ||||
|         <Filename Value="..\source\uCEFServerComponent.pas"/> | ||||
|         <HasRegisterProc Value="True"/> | ||||
|         <UnitName Value="uCEFServerComponent"/> | ||||
|       </Item125> | ||||
|       <Item126> | ||||
|         <Filename Value="..\source\uCEFServerEvents.pas"/> | ||||
|         <UnitName Value="uCEFServerEvents"/> | ||||
|       </Item126> | ||||
|       <Item127> | ||||
|         <Filename Value="..\source\uCEFServerHandler.pas"/> | ||||
|         <UnitName Value="uCEFServerHandler"/> | ||||
|       </Item127> | ||||
|       <Item128> | ||||
|         <Filename Value="..\source\tbufferpanel.lrs"/> | ||||
|         <Type Value="LRS"/> | ||||
|       </Item128> | ||||
|       <Item129> | ||||
|         <Filename Value="..\source\tcefservercomponent.lrs"/> | ||||
|         <Type Value="LRS"/> | ||||
|       </Item129> | ||||
|       <Item130> | ||||
|         <Filename Value="..\source\tcefwindowparent.lrs"/> | ||||
|         <Type Value="LRS"/> | ||||
|       </Item130> | ||||
|       <Item131> | ||||
|         <Filename Value="..\source\tcefworkscheduler.lrs"/> | ||||
|         <Type Value="LRS"/> | ||||
|       </Item131> | ||||
|       <Item132> | ||||
|         <Filename Value="..\source\tchromium.lrs"/> | ||||
|         <Type Value="LRS"/> | ||||
|       </Item132> | ||||
|       <Item133> | ||||
|         <Filename Value="..\source\tchromiumwindow.lrs"/> | ||||
|         <Type Value="LRS"/> | ||||
|       </Item133> | ||||
|     </Files> | ||||
|     <RequiredPkgs Count="3"> | ||||
|       <Item1> | ||||
|         <PackageName Value="LCL"/> | ||||
|       </Item1> | ||||
|       <Item2> | ||||
|         <PackageName Value="LCLBase"/> | ||||
|       </Item2> | ||||
|       <Item3> | ||||
|         <PackageName Value="FCL"/> | ||||
|       </Item3> | ||||
|     </RequiredPkgs> | ||||
|     <UsageOptions> | ||||
|       <UnitPath Value="$(PkgOutDir)"/> | ||||
|     </UsageOptions> | ||||
|     <PublishOptions> | ||||
|       <Version Value="2"/> | ||||
|     </PublishOptions> | ||||
|     <CustomOptions Items="ExternHelp" Version="2"> | ||||
|       <_ExternHelp Items="Count"/> | ||||
|     </CustomOptions> | ||||
|   </Package> | ||||
| </CONFIG> | ||||
							
								
								
									
										64
									
								
								packages/cef4delphi_lazarus.pas
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,64 @@ | ||||
| { This file was automatically created by Lazarus. Do not edit! | ||||
|   This source is only used to compile and install the package. | ||||
|  } | ||||
|  | ||||
| unit CEF4Delphi_Lazarus; | ||||
|  | ||||
| {$warn 5023 off : no warning about unused units} | ||||
| interface | ||||
|  | ||||
| uses | ||||
|   uCEFAccessibilityHandler, uCEFApp, uCEFApplication, uCEFAuthCallback,  | ||||
|   uCEFBaseRefCounted, uCEFBaseScopedWrapper, uCEFBeforeDownloadCallback,  | ||||
|   uCEFBinaryValue, uCEFBrowser, uCEFBrowserProcessHandler, uCEFCallback,  | ||||
|   uCEFChromiumEvents, uCEFChromiumFontOptions, uCEFChromiumOptions,  | ||||
|   uCEFChromiumWindow, uCEFClient, uCEFCommandLine, uCEFCompletionCallback,  | ||||
|   uCEFConstants, uCEFContextMenuHandler, uCEFContextMenuParams,  | ||||
|   uCEFCookieManager, uCEFCookieVisitor, uCEFCustomStreamReader,  | ||||
|   uCEFDeleteCookiesCallback, uCEFDialogHandler, uCEFDictionaryValue,  | ||||
|   uCEFDisplayHandler, uCEFDomDocument, uCEFDomNode, uCEFDomVisitor,  | ||||
|   uCEFDownloadHandler, uCEFDownloadImageCallBack, uCEFDownLoadItem,  | ||||
|   uCEFDownloadItemCallback, uCEFDragData, uCEFDragHandler,  | ||||
|   uCEFEndTracingCallback, uCEFExtension, uCEFExtensionHandler,  | ||||
|   uCEFFileDialogCallback, uCEFFindHandler, uCEFFocusHandler, uCEFFrame,  | ||||
|   uCEFGetExtensionResourceCallback, uCEFImage, uCEFInterfaces,  | ||||
|   uCEFJsDialogCallback, uCEFJsDialogHandler, uCEFKeyboardHandler,  | ||||
|   uCEFLibFunctions, uCEFLifeSpanHandler, uCEFListValue, uCEFLoadHandler,  | ||||
|   uCEFMenuModel, uCEFMenuModelDelegate, uCEFMiscFunctions,  | ||||
|   uCEFNavigationEntry, uCEFNavigationEntryVisitor, uCEFPDFPrintCallback,  | ||||
|   uCEFPDFPrintOptions, uCEFPostData, uCEFPostDataElement, uCEFPrintSettings,  | ||||
|   uCEFProcessMessage, uCEFRegisterCDMCallback, uCEFRenderHandler,  | ||||
|   uCEFRenderProcessHandler, uCEFRequest, uCEFRequestCallback,  | ||||
|   uCEFRequestContext, uCEFRequestContextHandler, uCEFRequestHandler,  | ||||
|   uCEFResolveCallback, uCEFResourceBundle, uCEFResourceBundleHandler,  | ||||
|   uCEFResourceHandler, uCEFResponse, uCEFResponseFilter,  | ||||
|   uCEFRunContextMenuCallback, uCEFRunFileDialogCallback,  | ||||
|   uCEFSchemeHandlerFactory, uCEFSchemeRegistrar,  | ||||
|   uCEFSelectClientCertificateCallback, uCEFSetCookieCallback, uCEFSslInfo,  | ||||
|   uCEFSSLStatus, uCEFStreamReader, uCEFStreamWriter, uCEFStringList,  | ||||
|   uCEFStringMap, uCEFStringMultimap, uCEFStringVisitor, uCEFTask,  | ||||
|   uCEFTaskRunner, uCEFThread, uCEFTypes, uCEFUrlRequest, uCEFUrlrequestClient,  | ||||
|   uCEFv8Accessor, uCEFv8ArrayBufferReleaseCallback, uCEFv8Context,  | ||||
|   uCEFV8Exception, uCEFv8Handler, uCEFv8Interceptor, uCEFv8StackFrame,  | ||||
|   uCEFv8StackTrace, uCEFv8Value, uCEFValue, uCEFWaitableEvent,  | ||||
|   uCEFWebPluginInfo, uCEFWebPluginInfoVisitor, uCEFWebPluginUnstableCallback,  | ||||
|   uCEFWindowParent, uCEFWorkScheduler, uCEFWorkSchedulerThread,  | ||||
|   uCEFWriteHandler, uCEFX509Certificate, uCEFX509CertPrincipal, uCEFXmlReader,  | ||||
|   uCEFZipReader, uCEFChromium, uBufferPanel, uCEFServer, uCEFServerComponent,  | ||||
|   uCEFServerEvents, uCEFServerHandler, LazarusPackageIntf; | ||||
|  | ||||
| implementation | ||||
|  | ||||
| procedure Register; | ||||
| begin | ||||
|   RegisterUnit('uCEFChromiumWindow', @uCEFChromiumWindow.Register); | ||||
|   RegisterUnit('uCEFWindowParent', @uCEFWindowParent.Register); | ||||
|   RegisterUnit('uCEFWorkScheduler', @uCEFWorkScheduler.Register); | ||||
|   RegisterUnit('uCEFChromium', @uCEFChromium.Register); | ||||
|   RegisterUnit('uBufferPanel', @uBufferPanel.Register); | ||||
|   RegisterUnit('uCEFServerComponent', @uCEFServerComponent.Register); | ||||
| end; | ||||
|  | ||||
| initialization | ||||
|   RegisterPackage('CEF4Delphi_Lazarus', @Register); | ||||
| end. | ||||
							
								
								
									
										
											BIN
										
									
								
								packages/tbufferpanel.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 192 B | 
							
								
								
									
										
											BIN
										
									
								
								packages/tcefservercomponent.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 923 B | 
							
								
								
									
										
											BIN
										
									
								
								packages/tcefwindowparent.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 271 B | 
							
								
								
									
										
											BIN
										
									
								
								packages/tcefworkscheduler.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 924 B | 
							
								
								
									
										
											BIN
										
									
								
								packages/tchromium.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.1 KiB | 
							
								
								
									
										
											BIN
										
									
								
								packages/tchromiumwindow.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 875 B | 
| @@ -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 | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2017 Salvador D�az Fau. All rights reserved. | ||||
| //        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
									
								
							
							
						
						| @@ -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 | ||||
| ]); | ||||
							
								
								
									
										39
									
								
								source/tcefservercomponent.lrs
									
									
									
									
									
										Normal 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 | ||||
| ]); | ||||
							
								
								
									
										13
									
								
								source/tcefwindowparent.lrs
									
									
									
									
									
										Normal 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 | ||||
| ]); | ||||
							
								
								
									
										40
									
								
								source/tcefworkscheduler.lrs
									
									
									
									
									
										Normal 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
									
								
							
							
						
						| @@ -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 | ||||
| ]); | ||||
							
								
								
									
										38
									
								
								source/tchromiumwindow.lrs
									
									
									
									
									
										Normal 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 | ||||
| ]); | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az 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. | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az 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; | ||||
|  | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az 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; | ||||
|  | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az 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 | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az 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; | ||||
|  | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az 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; | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az 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} | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az 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; | ||||
|  | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az 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)); | ||||
|  | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az 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; | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az 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; | ||||
|  | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az 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} | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az 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. | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| // For more information about CEF4Delphi visit : | ||||
| //         https://www.briskbard.com/index.php?lang=en&pageid=cef | ||||
| // | ||||
| //        Copyright � 2018 Salvador D�az 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; | ||||
|   | ||||