1
0
mirror of https://github.com/salvadordf/CEF4Delphi.git synced 2024-11-24 08:02:15 +02:00

Added support for Lazarus/FPC (windows 32bit)

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

View File

@ -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 *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2017 Salvador Díaz Fau. All rights reserved.
// Copyright © 2017 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2017 Salvador Díaz Fau. All rights reserved.
// Copyright © 2017 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -0,0 +1,2 @@
rmdir /S /Q lib
rmdir /S /Q backup

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

View 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>

View 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.

View 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>

Binary file not shown.

View 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

View 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.

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View 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

View File

@ -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

View File

@ -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',

View File

@ -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',

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -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',

View File

@ -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"/>

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador Díaz Fau. All rights reserved.
// Copyright © 2018 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************

View 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>

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 923 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 924 B

BIN
packages/tchromium.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 875 B

View File

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

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2017 Salvador 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
View File

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

View File

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

View File

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

View File

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

50
source/tchromium.lrs Normal file
View File

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

View File

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

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador 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.

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador 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;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador 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;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright Š 2018 Salvador 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

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador 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;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador 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;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador 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}

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador 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;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador 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
with PCefBinaryValue(FData)^ do
begin
is_valid := cef_binary_value_is_valid;
is_owned := cef_binary_value_is_owned;
is_same := cef_binary_value_is_same;
is_equal := cef_binary_value_is_equal;
copy := cef_binary_value_copy;
get_size := cef_binary_value_get_size;
get_data := cef_binary_value_get_data;
is_valid := {$IFDEF FPC}@{$ENDIF}cef_binary_value_is_valid;
is_owned := {$IFDEF FPC}@{$ENDIF}cef_binary_value_is_owned;
is_same := {$IFDEF FPC}@{$ENDIF}cef_binary_value_is_same;
is_equal := {$IFDEF FPC}@{$ENDIF}cef_binary_value_is_equal;
copy := {$IFDEF FPC}@{$ENDIF}cef_binary_value_copy;
get_size := {$IFDEF FPC}@{$ENDIF}cef_binary_value_get_size;
get_data := {$IFDEF FPC}@{$ENDIF}cef_binary_value_get_data;
end;
end;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador 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;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador 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;

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador 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}

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador 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.

View File

@ -10,7 +10,7 @@
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
// Copyright © 2018 Salvador 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;

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