Update to CEF 120.1.10

Added Lazarus 3.0 support
This commit is contained in:
salvadordf 2023-12-23 18:58:40 +01:00
parent 4a5a03e7b7
commit a0c8eda6e0
89 changed files with 385 additions and 888 deletions

View File

@ -3,17 +3,17 @@ CEF4Delphi is an open source project created by Salvador Díaz Fau to embed Chro
CEF4Delphi is based on DCEF3 and fpCEF3. The original license of those projects still applies to CEF4Delphi. Read the license terms in the LICENSE.md file.
CEF4Delphi uses CEF 120.1.9 which includes Chromium 120.0.6099.109.
CEF4Delphi uses CEF 120.1.10 which includes Chromium 120.0.6099.129.
The CEF binaries used by CEF4Delphi are available for download at Spotify :
* [Windows 32 bits](https://cef-builds.spotifycdn.com/cef_binary_120.1.9%2Bg3914241%2Bchromium-120.0.6099.109_windows32.tar.bz2)
* [Windows 64 bits](https://cef-builds.spotifycdn.com/cef_binary_120.1.9%2Bg3914241%2Bchromium-120.0.6099.109_windows64.tar.bz2)
* [Linux x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_120.1.9%2Bg3914241%2Bchromium-120.0.6099.109_linux64.tar.bz2)
* [Linux ARM 32 bits](https://cef-builds.spotifycdn.com/cef_binary_120.1.9%2Bg3914241%2Bchromium-120.0.6099.109_linuxarm.tar.bz2)
* [Linux ARM 64 bits](https://cef-builds.spotifycdn.com/cef_binary_120.1.9%2Bg3914241%2Bchromium-120.0.6099.109_linuxarm64.tar.bz2)
* [MacOS x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_120.1.9%2Bg3914241%2Bchromium-120.0.6099.109_macosx64.tar.bz2)
* [Windows 32 bits](https://cef-builds.spotifycdn.com/cef_binary_120.1.10%2Bg3ce3184%2Bchromium-120.0.6099.129_windows32.tar.bz2)
* [Windows 64 bits](https://cef-builds.spotifycdn.com/cef_binary_120.1.10%2Bg3ce3184%2Bchromium-120.0.6099.129_windows64.tar.bz2)
* [Linux x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_120.1.10%2Bg3ce3184%2Bchromium-120.0.6099.129_linux64.tar.bz2)
* [Linux ARM 32 bits](https://cef-builds.spotifycdn.com/cef_binary_120.1.10%2Bg3ce3184%2Bchromium-120.0.6099.129_linuxarm.tar.bz2)
* [Linux ARM 64 bits](https://cef-builds.spotifycdn.com/cef_binary_120.1.10%2Bg3ce3184%2Bchromium-120.0.6099.129_linuxarm64.tar.bz2)
* [MacOS x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_120.1.10%2Bg3ce3184%2Bchromium-120.0.6099.129_macosx64.tar.bz2)
CEF4Delphi was developed and tested on Delphi 12.0 and it has been tested in Delphi 7, Delphi XE, Delphi 10, Delphi 11 and Lazarus 2.2.6/FPC 3.2.2. CEF4Delphi includes VCL, FireMonkey (FMX) and Lazarus components.
CEF4Delphi was developed and tested on Delphi 12.0 and it has been tested in Delphi 7, Delphi XE, Delphi 10, Delphi 11 and Lazarus 3.0/FPC 3.2.2. CEF4Delphi includes VCL, FireMonkey (FMX) and Lazarus components.
CEF4Delphi demos have been tested in Windows 10, Windows 11, Linux Mint 20.3 and Raspberry Pi OS.

View File

@ -13,6 +13,7 @@ begin
GlobalCEFApp.WindowlessRenderingEnabled := True;
GlobalCEFApp.ExternalMessagePump := True;
GlobalCEFApp.MultiThreadedMessageLoop := False;
GlobalCEFApp.SetCurrentDir := True;
// The main process and the subprocess *MUST* have the same GlobalCEFApp
// properties and events, specially FrameworkDirPath, ResourcesDirPath,

View File

@ -12,7 +12,7 @@ object Form1: TForm1
OnDestroy = FormDestroy
OnHide = FormHide
OnShow = FormShow
LCLVersion = '2.2.6.0'
LCLVersion = '3.0.0.3'
object AddressPnl: TPanel
Left = 0
Height = 30
@ -29,9 +29,9 @@ object Form1: TForm1
Width = 929
Align = alClient
AutoSelect = False
OnEnter = AddressEdtEnter
TabOrder = 0
Text = 'https://www.google.com'
OnEnter = AddressEdtEnter
end
object GoBtn: TButton
Left = 930
@ -40,9 +40,9 @@ object Form1: TForm1
Width = 70
Align = alRight
Caption = 'Go'
TabOrder = 1
OnClick = GoBtnClick
OnEnter = GoBtnEnter
TabOrder = 1
end
end
object Panel1: TBufferPanel
@ -69,10 +69,10 @@ object Form1: TForm1
Top = -9000
Width = 80
BorderStyle = bsNone
OnEnter = FocusWorkaroundEdtEnter
OnExit = FocusWorkaroundEdtExit
ReadOnly = True
TabOrder = 0
OnEnter = FocusWorkaroundEdtEnter
OnExit = FocusWorkaroundEdtExit
end
end
object Chromium1: TChromium

View File

@ -174,6 +174,7 @@ begin
GlobalCEFApp.BackgroundColor := CefColorSetARGB($FF, $FF, $FF, $FF);
GlobalCEFApp.ExternalMessagePump := True;
GlobalCEFApp.MultiThreadedMessageLoop := False;
GlobalCEFApp.SetCurrentDir := True;
GlobalCEFApp.OnScheduleMessagePumpWork := @GlobalCEFApp_OnScheduleMessagePumpWork;
// This is a workaround for the 'GPU is not usable error' issue :
@ -217,8 +218,8 @@ end;
function ConnectKeyPressReleaseEvents(const aWidget : PGtkWidget): boolean;
begin
Result := (g_signal_connect_data(aWidget, 'key-press-event', TGCallback(@GTKKeyPress), nil, nil, 0) <> 0) and
(g_signal_connect_data(aWidget, 'key-release-event', TGCallback(@GTKKeyPress), nil, nil, 0) <> 0);
Result := (g_signal_connect_data(aWidget, 'key-press-event', TGCallback(@GTKKeyPress), nil, nil, G_CONNECT_DEFAULT) <> 0) and
(g_signal_connect_data(aWidget, 'key-release-event', TGCallback(@GTKKeyPress), nil, nil, G_CONNECT_DEFAULT) <> 0);
end;
{ TForm1 }

View File

@ -236,6 +236,7 @@ begin
GlobalCEFApp.MultiThreadedMessageLoop := False;
GlobalCEFApp.ExternalMessagePump := False;
GlobalCEFApp.ChromeRuntime := True; // Enable this line to test the new "ChromeRuntime" mode. It's in experimental state.
GlobalCEFApp.SetCurrentDir := True;
GlobalCEFApp.OnContextInitialized := GlobalCEFApp_OnContextInitialized;
GlobalCEFApp.OnGetDefaultClient := GlobalCEFApp_OnGetDefaultClient; // This event is only used in "ChromeRuntime" mode
end;

View File

@ -93,6 +93,7 @@ begin
GlobalCEFApp.ChromeRuntime := True; // Enable this line to enable the "ChromeRuntime" mode. It's in experimental state.
GlobalCEFApp.cache := 'cache';
GlobalCEFApp.DisableZygote := True;
GlobalCEFApp.SetCurrentDir := True;
GlobalCEFApp.OnContextInitialized := GlobalCEFApp_OnContextInitialized;
GlobalCEFApp.OnGetDefaultClient := GlobalCEFApp_OnGetDefaultClient; // This event is only used in "ChromeRuntime" mode

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="11"/>
<Version Value="12"/>
<PathDelim Value="\"/>
<General>
<Flags>
@ -9,9 +9,9 @@
<MainUnitHasCreateFormStatements Value="False"/>
<MainUnitHasTitleStatement Value="False"/>
<MainUnitHasScaledStatement Value="False"/>
<CompatibilityMode Value="True"/>
</Flags>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<Title Value="ConsoleBrowser2_sp"/>
<UseAppBundle Value="False"/>
<ResourceType Value="res"/>
@ -25,7 +25,6 @@
</PublishOptions>
<RunParams>
<FormatVersion Value="2"/>
<Modes Count="0"/>
</RunParams>
<RequiredPackages Count="2">
<Item1>

View File

@ -15,9 +15,9 @@ uses
begin
GlobalCEFApp := TCefApplicationCore.Create;
GlobalCEFApp.WindowlessRenderingEnabled := True;
GlobalCEFApp.EnableHighDPISupport := True;
GlobalCEFApp.ShowMessageDlg := False;
GlobalCEFApp.BlinkSettings := 'hideScrollbars';
GlobalCEFApp.SetCurrentDir := True;
GlobalCEFApp.StartSubProcess;
DestroyGlobalCEFApp;
end.

View File

@ -114,6 +114,7 @@ begin
GlobalCEFApp.BrowserSubprocessPath := 'ConsoleBrowser2_sp.exe'; // This is the other EXE for the CEF subprocesses. It's on the same directory as this app.
GlobalCEFApp.BlinkSettings := 'hideScrollbars'; // This setting removes all scrollbars to capture a cleaner snapshot
GlobalCEFApp.OnContextInitialized := GlobalCEFApp_OnContextInitialized;
GlobalCEFApp.SetCurrentDir := True;
{
// In case you use a custom directory for the CEF binaries you have to set these properties

View File

@ -110,6 +110,7 @@ uses
procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.SetCurrentDir := True;
//GlobalCEFApp.LogFile := 'cef.log';
//GlobalCEFApp.LogSeverity := LOGSEVERITY_VERBOSE;
end;

View File

@ -74,6 +74,7 @@ uses
procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.SetCurrentDir := True;
//GlobalCEFApp.LogFile := 'cef.log';
//GlobalCEFApp.LogSeverity := LOGSEVERITY_VERBOSE;
end;

View File

@ -15,7 +15,7 @@ object DOMVisitorFrm: TDOMVisitorFrm
OnDestroy = FormDestroy
OnShow = FormShow
Position = poScreenCenter
LCLVersion = '2.0.10.0'
LCLVersion = '3.0.0.3'
object CEFWindowParent1: TCEFWindowParent
Left = 0
Height = 539
@ -35,6 +35,7 @@ object DOMVisitorFrm: TDOMVisitorFrm
ClientWidth = 878
DoubleBuffered = True
Enabled = False
ParentBackground = False
ParentDoubleBuffered = False
TabOrder = 1
object AddressEdt: TEdit
@ -55,6 +56,7 @@ object DOMVisitorFrm: TDOMVisitorFrm
BevelOuter = bvNone
ClientHeight = 21
ClientWidth = 114
ParentBackground = False
TabOrder = 1
object GoBtn: TButton
Left = 0
@ -63,8 +65,8 @@ object DOMVisitorFrm: TDOMVisitorFrm
Width = 31
Align = alLeft
Caption = 'Go'
OnClick = GoBtnClick
TabOrder = 0
OnClick = GoBtnClick
end
object VisitDOMBtn: TButton
Left = 39
@ -73,8 +75,8 @@ object DOMVisitorFrm: TDOMVisitorFrm
Width = 75
Align = alRight
Caption = 'Visit DOM'
OnClick = VisitDOMBtnClick
TabOrder = 1
OnClick = VisitDOMBtnClick
end
end
end
@ -85,6 +87,7 @@ object DOMVisitorFrm: TDOMVisitorFrm
Width = 878
Align = alBottom
BevelOuter = bvLowered
ParentBackground = False
TabOrder = 2
end
object Chromium1: TChromium

View File

@ -432,6 +432,7 @@ begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.OnProcessMessageReceived := GlobalCEFApp_OnProcessMessageReceived;
GlobalCEFApp.OnFocusedNodeChanged := GlobalCEFApp_OnFocusedNodeChanged;
GlobalCEFApp.SetCurrentDir := True;
// Enabling the debug log file for then DOM visitor demo.
// This adds lots of warnings to the console, specially if you run this inside VirtualBox.

View File

@ -14,7 +14,7 @@ object Form1: TForm1
OnCreate = FormCreate
OnShow = FormShow
Position = poScreenCenter
LCLVersion = '2.0.6.0'
LCLVersion = '3.0.0.3'
object CEFWindowParent1: TCEFWindowParent
Left = 0
Height = 599
@ -293,8 +293,8 @@ object Form1: TForm1
Enabled = False
Interval = 300
OnTimer = Timer1Timer
left = 56
top = 88
Left = 56
Top = 88
end
object Chromium1: TChromium
OnTextResultAvailable = Chromium1TextResultAvailable
@ -302,663 +302,80 @@ object Form1: TForm1
OnAfterCreated = Chromium1AfterCreated
OnBeforeClose = Chromium1BeforeClose
OnClose = Chromium1Close
left = 56
top = 144
Left = 56
Top = 144
end
object ImageList1: TImageList
left = 56
top = 200
Left = 56
Top = 200
Bitmap = {
4C69140000001000000010000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000000000000000000000000000000000000000000000000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000000000000000000000000000000000000000000000000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000000000
000000000000000000000000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000000000
000000000000000000000000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF00000000000000000000000000000000000000000000
0000000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF00000000000000000000000000000000000000000000
0000000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000FF0000
00FF000000FF000000FF000000FF010101FF282828FFA7A7A7FF000000000000
0000000000000000000000000000000000000000000000000000000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FFA7A7A7FF0000
0000000000000000000000000000000000000000000000000000000000FF0000
00FF7F7F7FFF0000000000000000F3F3F3FF545454FF000000FF2A2A2AFF0000
0000000000000000000000000000000000000000000000000000000000FF0000
00FF7F7F7FFF000000000000000000000000B7B7B7FF000000FF050505FF0000
0000000000000000000000000000000000000000000000000000000000FF0000
00FF7F7F7FFF0000000000000000F2F2F2FF525252FF000000FF424242FF0000
0000000000000000000000000000000000000000000000000000000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF171717FFE0E0E0FF0000
0000000000000000000000000000000000000000000000000000000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF737373FF0000
0000000000000000000000000000000000000000000000000000000000FF0000
00FF7F7F7FFF000000000000000000000000C1C1C1FF070707FF000000FFC5C5
C5FF000000000000000000000000000000000000000000000000000000FF0000
00FF7F7F7FFF00000000000000000000000000000000373737FF000000FF8686
86FF000000000000000000000000000000000000000000000000000000FF0000
00FF7F7F7FFF000000000000000000000000BEBEBEFF060606FF000000FF9C9C
9CFF000000000000000000000000000000000000000000000000000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF1B1B1BFFF1F1
F1FF000000000000000000000000000000000000000000000000000000FF0000
00FF000000FF000000FF000000FF000000FF060606FF474747FFDADADAFF0000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF0000000000000000000000000000000000000000000000000000
000000000000000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF0000000000000000000000000000000000000000000000000000
0000000000000000000000000000585858FF000000FF282828FFFEFEFEFF0000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000DFDFDFFF030303FF000000FF9C9C9CFF000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000006D6D6DFF000000FF191919FFF8F8F8FF000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000EDEDEDFF0B0B0BFF000000FF878787FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000828282FF000000FF0D0D0DFFEFEFEFFF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000F7F7F7FF161616FF000000FF727272FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000979797FF000000FF050505FFE2E2E2FF0000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000FDFD
FDFF242424FF000000FF5D5D5DFF000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF00000000000000000000
00000000000000000000000000000000000000000000000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000D1D1D1FF4C4C4CFF3F3F3FFF3F3F
3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF474747FFDFDF
DFFF000000000000000000000000000000004C4C4CFF0F0F0FFF3F3F3FFF3F3F
3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF0F0F0FFF000000FF1F1F
1FFFDFDFDFFF0000000000000000000000003F3F3FFF3F3F3FFF000000000000
000000000000000000000000000000000000000000003F3F3FFF000000FF0000
00FF1F1F1FFFDFDFDFFF00000000000000003F3F3FFF3F3F3FFF000000000000
000000000000000000000000000000000000000000003F3F3FFF000000FF0000
00FF000000FF474747FF00000000000000003F3F3FFF2F2F2FFFBFBFBFFFBFBF
BFFFBFBFBFFFBFBFBFFFBFBFBFFFBFBFBFFFBFBFBFFF2F2F2FFF000000FF0000
00FF000000FF3F3F3FFF00000000000000003F3F3FFF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF3F3F3FFF00000000000000003F3F3FFF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF3F3F3FFF00000000000000003F3F3FFF000000FF000000FF0000
00FF000000FF000000FF2D2D2DFF2C2C2CFF000000FF000000FF000000FF0000
00FF000000FF3F3F3FFF00000000000000003F3F3FFF000000FF000000FF0000
00FF000000FFA3A3A3FF00000000000000009F9F9FFF000000FF000000FF0000
00FF000000FF3F3F3FFF00000000000000003F3F3FFF000000FF000000FF0000
00FF2D2D2DFF000000000000000000000000000000002A2A2AFF000000FF0000
00FF000000FF3F3F3FFF00000000000000003F3F3FFF000000FF000000FF0000
00FF2C2C2CFF000000000000000000000000000000002A2A2AFF000000FF0000
00FF000000FF3F3F3FFF00000000000000003F3F3FFF000000FF000000FF0000
00FF000000FF9F9F9FFF00000000000000009C9C9CFF000000FF000000FF0000
00FF000000FF3F3F3FFF00000000000000004C4C4CFF000000FF000000FF0000
00FF000000FF000000FF2A2A2AFF2A2A2AFF000000FF000000FF000000FF0000
00FF000000FF4E4E4EFF0000000000000000D2D2D2FF4D4D4DFF3F3F3FFF3F3F
3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F
3FFF4E4E4EFFD5D5D5FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000ECECECFF858585FF565656FF4C4C4CFF727272FFD7D7D7FF000000000000
000000000000000000000000000000000000000000000000000000000000D7D7
D7FF121212FF000000FF000000FF000000FF000000FF030303FFAAAAAAFF0000
0000000000000000000000000000000000000000000000000000000000005454
54FF000000FF3E3E3EFFD8D8D8FFE5E5E5FF676767FF000000FF101010FFFBFB
FBFF000000000000000000000000000000000000000000000000000000003434
34FF000000FF898989FF0000000000000000EFEFEFFF5B5B5BFF5B5B5BFFE8E8
E8FF000000000000000000000000000000000000000000000000000000008B8B
8BFF3F3F3FFF484848FFBFBFBFFF000000000000000000000000000000000000
0000000000000000000000000000000000009F9F9FFF7F7F7FFF7F7F7FFF7F7F
7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F
7FFF7F7F7FFF9F9F9FFF00000000000000003F3F3FFF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF3F3F3FFF00000000000000000000000000000000F8F8F8FFD7D7
D7FFD7D7D7FFFEFEFEFF00000000F1F1F1FF6D6D6DFF000000FF060606FFF3F3
F3FFFBFBFBFFFCFCFCFF00000000000000000000000000000000E5E5E5FF0000
00FF000000FFD0D0D0FF0000000000000000E6E6E6FF000000FF000000FFD9D9
D9FF000000000000000000000000000000000000000000000000000000003C3C
3CFF000000FF2C2C2CFFA0A0A0FFB0B0B0FF515151FF000000FF0F0F0FFFFBFB
FBFF00000000000000000000000000000000000000000000000000000000E6E6
E6FF393939FF000000FF000000FF000000FF000000FF0F0F0FFFB3B3B3FF0000
0000000000000000000000000000000000000000000000000000000000000000
000000000000C6C6C6FF919191FF8A8A8AFFA9A9A9FFF0F0F0FF000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000FF0000
00FF7F7F7FFF000000000000000000000000000000007F7F7FFF000000FF0000
00FF000000000000000000000000000000000000000000000000000000FF0000
00FF7F7F7FFF000000000000000000000000000000007F7F7FFF000000FF0000
00FF000000000000000000000000000000000000000000000000000000FF0000
00FF7F7F7FFF000000000000000000000000000000007F7F7FFF000000FF0000
00FF000000000000000000000000000000000000000000000000000000FF0000
00FF7F7F7FFF000000000000000000000000000000007F7F7FFF000000FF0000
00FF000000000000000000000000000000000000000000000000000000FF0000
00FF7F7F7FFF000000000000000000000000000000007F7F7FFF000000FF0000
00FF000000000000000000000000000000000000000000000000000000FF0000
00FF7F7F7FFF000000000000000000000000000000007F7F7FFF000000FF0000
00FF000000000000000000000000000000000000000000000000000000FF0000
00FF7F7F7FFF000000000000000000000000000000007F7F7FFF000000FF0000
00FF000000000000000000000000000000000000000000000000080808FF0000
00FF6E6E6EFF000000000000000000000000000000006D6D6DFF000000FF0A0A
0AFF0000000000000000000000000000000000000000000000003D3D3DFF0000
00FF141414FFE3E3E3FF0000000000000000E1E1E1FF131313FF000000FF3F3F
3FFF000000000000000000000000000000000000000000000000AEAEAEFF0000
00FF000000FF141414FF6D6D6DFF6D6D6DFF131313FF000000FF000000FFB2B2
B2FF000000000000000000000000000000000000000000000000000000007575
75FF000000FF000000FF000000FF000000FF000000FF000000FF787878FF0000
0000000000000000000000000000000000000000000000000000000000000000
0000B0B0B0FF3E3E3EFF0A0A0AFF0A0A0AFF3F3F3FFFB2B2B2FF000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF00000000000000000000000000000000000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF00000000000000000000000000000000363636FF000000FF0000
00FF000000FF000000FF000000FF000000FF7F7F7FFF00000000000000000000
00000000000000000000000000000000000000000000000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF7F7F7FFF7F7F7FFF000000000000
00000000000000000000000000000000000000000000000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF7F7F7FFF7F7F7FFF7F7F7FFF0000
00000000000000000000000000000000000000000000000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF7F7F7FFF7F7F7FFF7F7F7FFF7F7F
7FFF0000000000000000000000000000000000000000000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF7F7F7FFF7F7F7FFF7F7F7FFF7F7F
7FFF7F7F7FFF00000000000000000000000000000000000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF00000000000000000000000000000000000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF00000000000000000000000000000000000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF00000000000000000000000000000000000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF00000000000000000000000000000000000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF00000000000000000000000000000000000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF00000000000000000000000000000000000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF00000000000000000000000000000000000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF00000000000000000000000000000000000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF00000000000000000000000000000000000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF00000000000000000000000000000000373737FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF3A3A3AFF0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000363636FF000000FF000000FF0000
00FF000000FF000000FF7F7F7FFF000000000000000000000000000000000000
000000000000000000000000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF7F7F7FFF0000000000000000000000000000
000000000000000000000000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF373737FF0000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000000000FF000000FF7F7F7FFF7F7F
7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F
7FFF000000FF000000FF0000000000000000000000FF000000FF7F7F7FFF7F7F
7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F
7FFF000000FF000000FF0000000000000000000000FF000000FF7F7F7FFF7F7F
7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F
7FFF000000FF000000FF0000000000000000000000FF000000FF7F7F7FFF7F7F
7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F
7FFF000000FF000000FF0000000000000000000000FF000000FF7F7F7FFF7F7F
7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F
7FFF000000FF000000FF0000000000000000000000FF000000FF7F7F7FFF7F7F
7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F7FFF7F7F
7FFF000000FF000000FF0000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000373737FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF3A3A3AFF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000B3B3B3FF585858FF4040
40FF3F3F3FFF3F3F3FFFCFCFCFFFCFCFCFFF3F3F3FFF3F3F3FFF404040FF5555
55FFB3B3B3FF0000000000000000000000007C7C7CFF000000FF2E2E2EFF5353
53FF535353FF535353FFD4D4D4FFD4D4D4FF535353FF535353FF535353FF2F2F
2FFF000000FF7C7C7CFF00000000D3D3D3FF010101FF7D7D7DFF000000000000
0000000000000000000000000000000000000000000000000000000000000000
00007A7A7AFF010101FFD3D3D3FF8D8D8DFF070707FFF9F9F9FF000000000000
00003F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF000000000000
0000F7F7F7FF050505FF8C8C8CFF8B8B8BFF080808FFF9F9F9FF000000000000
00003F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF000000000000
0000F6F6F6FF050505FF8D8D8DFFD2D2D2FF010101FF7B7B7BFF000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000767676FF020202FFD4D4D4FF000000007B7B7BFF000000FF2A2A2AFF4F4F
4FFF4F4F4FFF4F4F4FFFD3D3D3FFD3D3D3FF4F4F4FFF4F4F4FFF4F4F4FFF2929
29FF000000FF7F7F7FFF000000000000000000000000B4B4B4FF575757FF4040
40FF3F3F3FFF3F3F3FFFCFCFCFFFCFCFCFFF3F3F3FFF3F3F3FFF404040FF5858
58FFB6B6B6FF0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF00000000000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF3E3E3EFF2A2A2AFF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0505
05FF383838FF000000FF000000FF191919FFE7E7E7FFD5D5D5FF0A0A0AFF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF9090
90FFF2F2F2FF2B2B2BFF040404FFC3C3C3FF00000000000000009F9F9FFF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF575757FF0000
000000000000DDDDDDFF9A9A9AFF000000000000000000000000000000005F5F
5FFF000000FF000000FF000000FF000000FF000000FF292929FFF3F3F3FF0000
000000000000000000000000000000000000000000000000000000000000F5F5
F5FF2A2A2AFF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF00000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000FF000000FF0000
000000000000000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000000000000000000000000000FF000000FF0000
000000000000000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000FF000000FF0000
000000000000000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000000000000000000000000000FF000000FF0000
000000000000000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000FF000000FF0000
000000000000000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000000000000000000000000000FF000000FF0000
000000000000000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000FF000000FF000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000FF000000000000
000000000000000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000000000000000000000000000FF000000000000
000000000000000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000000000000000000000000000FF000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000FF000000FF010101FF0000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000005E5E5EFF868686FF0000
000000000000000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000818181FF636363FF000000000000
000000000000000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000000000FF000000FF000000FF0000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000FF000000FF000000FF0000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000007F7F7FFF000000FF0000
000000000000000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000000000007F7F7FFF000000FF0000
000000000000000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000000000FF000000FF000000FF0000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000DFDFDFFF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000001F1F1FFFDFDFDFFF000000000000
00000000000000000000000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000000000FF1F1F1FFFDFDFDFFF0000
00000000000000000000000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000000000FF000000FF1F1F1FFFDFDF
DFFF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000FF000000FF1F1F1FFFDFDF
DFFF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000FF1F1F1FFFDFDFDFFF0000
00000000000000000000000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF00000000000000001F1F1FFFDFDFDFFF000000000000
00000000000000000000000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000DFDFDFFF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000CFCFCFFF000000FF000000FFD0D0D0FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000006F6F6FFF000000FF000000FF707070FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000FAFAFAFF151515FF050505FF050505FF151515FFFAFAFAFF000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000AFAFAFFF000000FF505050FF4F4F4FFF000000FFB1B1B1FF000000000000
0000000000000000000000000000000000000000000000000000000000000000
00004F4F4FFF000000FFB0B0B0FFAEAEAEFF000000FF515151FF000000000000
000000000000000000000000000000000000000000000000000000000000EAEA
EAFF050505FF161616FFFBFBFBFFF9F9F9FF131313FF050505FFEBEBEBFF0000
0000000000000000000000000000000000000000000000000000000000008F8F
8FFF000000FF707070FF00000000000000006C6C6CFF000000FF929292FF0000
0000000000000000000000000000000000000000000000000000000000002F2F
2FFF000000FF000000FF000000FF000000FF000000FF000000FF323232FF0000
0000000000000000000000000000000000000000000000000000CFCFCFFF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FFD2D2
D2FF0000000000000000000000000000000000000000000000006F6F6FFF0000
00FF939393FF000000000000000000000000000000008B8B8BFF000000FF7373
73FF0000000000000000000000000000000000000000FAFAFAFF151515FF0606
06FFECECECFF00000000000000000000000000000000E7E7E7FF040404FF1818
18FFFBFBFBFF00000000000000000000000000000000AFAFAFFF000000FF5050
50FF0000000000000000000000000000000000000000000000004B4B4BFF0000
00FFB3B3B3FF0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000A4A4A4FFA4A4A4FFA4A4A4FFA4A4
A4FFA4A4A4FFA4A4A4FFA4A4A4FFA4A4A4FFA4A4A4FFA4A4A4FFA4A4A4FFA4A4
A4FFA4A4A4FFA4A4A4FF00000000000000000000000000000000FEFEFEFF6868
68FF969696FF0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000FBFBFBFF5151
51FF010101FF959595FF00000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000FAFA
FAFF303030FF010101FF959595FF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000009191
91FF000000FF161616FF000000FF959595FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000909090FF0000
00FF515151FFF5F5F5FF505050FF000000FF959595FF00000000000000000000
000000000000000000000000000000000000000000008F8F8FFF000000FF5151
51FFFAFAFAFF00000000FAFAFAFF4F4F4FFF000000FF949494FF000000000000
000000000000000000000000000000000000909090FF000000FF515151FFFAFA
FAFF000000000000000000000000FAFAFAFF4E4E4EFF000000FF949494FF0000
000000000000000000000000000000000000080808FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF0D0D0DFF0000
000000000000000000000000000000000000979797FF010101FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF010101FF989898FF0000
0000FBFBFBFF00000000000000000000000000000000969696FF010101FF0000
00FF000000FF000000FF000000FF000000FF010101FF969696FF00000000E4E4
E4FF2A2A2AFFE4E4E4FF00000000000000000000000000000000969696FF0101
01FF000000FF000000FF000000FF010101FF969696FF00000000000000005252
52FF000000FF545454FF00000000000000000000000000000000000000009696
96FF010101FF000000FF010101FF969696FF0000000000000000000000000707
07FF000000FF090909FF00000000000000000000000000000000000000000000
0000979797FF0D0D0DFF989898FF000000000000000000000000000000007777
77FF0C0C0CFF7A7A7AFF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000A4A4A4FFA4A4A4FFA4A4A4FFA4A4
A4FFA4A4A4FFA4A4A4FFA4A4A4FFA4A4A4FFA4A4A4FFA4A4A4FFA4A4A4FFA4A4
A4FFA4A4A4FFA4A4A4FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000FBFBFBFF848484FFF5F5F5FFFBFB
FBFF545454FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000848484FF000000FF424242FFF5F5
F5FFFBFBFBFF545454FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000F6F6F6FF424242FF000000FF4242
42FFF5F5F5FF0000000000000000575757FF000000FF292929FFFEFEFEFF0000
00000000000000000000000000000000000000000000F6F6F6FF424242FF0000
00FF424242FFF5F5F5FF00000000585858FF000000FF9D9D9DFF000000000000
0000000000000000000000000000000000000000000000000000F6F6F6FF4343
43FF000000FF424242FFF5F5F5FFFBFBFBFF6F6F6FFFF9F9F9FF000000000000
000000000000000000000000000000000000000000000000000000000000F6F6
F6FF444444FF000000FF424242FFF5F5F5FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000F6F6F6FF323232FF000000FF424242FFF5F5F5FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000F6F6F6FF151515FF000000FF000000FF424242FFF5F5F5FF000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000979797FF000000FF050505FF3B3B3BFF000000FF424242FFF5F5F5FF0000
000000000000000000000000000000000000000000000000000000000000FDFD
FDFF252525FF000000FF5E5E5EFFF5F5F5FF424242FF000000FF424242FFF5F5
F5FF00000000000000000000000000000000000000000000000000000000AEAE
AEFF000000FF000000FFD2D2D2FF00000000F5F5F5FF424242FF000000FF4242
42FFF5F5F5FF0000000000000000000000000000000000000000000000003939
39FF000000FF464646FF000000000000000000000000F5F5F5FF424242FF0000
00FF4C4C4CFF0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000F5F5F5FF4C4C
4CFFBDBDBDFF0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000DFDF
DFFF000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000007F7F7FFF7F7F
7FFF0000000000000000000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000000000007F7F7FFF000000FF7F7F
7FFF0000000000000000000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF00000000000000007F7F7FFF000000FF000000FF7F7F
7FFF000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000007F7F7FFF000000FF000000FF7F7F
7FFF000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000007F7F7FFF000000FF7F7F
7FFF0000000000000000000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF000000000000000000000000000000007F7F7FFF7F7F
7FFF0000000000000000000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000000000000000000000000000DFDF
DFFF000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF0000000000000000000000FF000000FF000000FF0000
00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FF000000FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000
4C7A1400000010000000100000000D0700000000000078DAED5B5948564F14FF
DAB30523B3851E7A29285B14895CDAA4A282566D85501F7CD007AD48B4B0228A
324AA37D218A8282A80773439F2A22EAB5DC300349DB69A10DDBD4CE9FDF70E7
72FFF7BBCBCCBD9F7EDF67F7C041BF99F99D993967E6DCB9E79EF1F90242E490
03850F15723BEEBE3E6FCFFE9EFDFBA2FDFF55BB7BF6F7ECEFD9DF5B0F9EFD3D
7FD0237AEBD7AF1F4D9D3A956EDCB8416EF52E2083B5DBB76F9FDAEEFBF7EFB4
7EFD7A561E1313238D07D5D6D6B2F241830649E3BF7DFB46696969AC7CD1A245
E474FEE3C68DA3B6B63672A3BFFCFC7C47F3BF7FFF3E0D193284D53D7CF89064
F1A084840456575C5C2C8DBF7BF72E0D1E3C98D55DBA74C9F1BE9B3871227DFD
FA551A8FBE972D5B46CF9E3DEB8B7B36583EB4A7F18C366FDECCDAC307FDFDFB
57CA7ECF9F3FA701030688AC3B43CACBCB63D8091326D0AF5FBFA4F09F3E7DA2
E1C38733FCE1C387A5FB3E70E000C38E1C39923E7FFE2C85FFF9F3278D1D3B96
E177ECD821DDF7F9F3E7557FF9E2C50B297C7777374D9E3C99E1D3D3D329DCD6
5B38525D5D1DAD5CB992162E5C68C9F081D8137A3CB09191919658D4438F9326
4DF293C1DB588D51A93794218B07632EDABAD8D858BA77EF9E29A35E8BD7F6A7
972DC2BD819F397326CD9831C311FEDAB56B6AFD952B57A4F0E857AF7FE5EC25
8457C6EC180F56C6CC48F1DDA678AC5F231DA14F7DBF9C57AF5EADE2EBEBEB69
D5AA55B6FB8733B04D4D4D7DD6A77CFCF8910E1D3A441B376E647E05CF90E6E6
66A1F9A2DDE8D1A3FDF48DE7F0AD5BB76C65F0B3FE82050BE8E9D3A7F4FAF56B
CACECE6665A3468DA2CECE4E4B19B367CF666D8F1C39A2B6C3F373CB962D8CDF
BD7B67892F292961365EBE7C39F31B2273C65AC5995786B5EBDBADFFE084330A
F40FE667259C97F93906E760BC4F41875D5D5D7E78E89ACB7FF2E4895AFFE6CD
1BB5BCA5A5C55227F3E6CD537DC0D5AB57A9BCBC9C52535359199E2176F6435F
4949497EF305B6AAAA4A78CF3D7AF4884E9E3C49478F1EA59B376FD2972F5FC2
61BF9ABE7F296542710B0F1F1CFCD0A14359FDD6AD5BC9EC5D62D8B061A6F8F9
F3E7B33663C68CA1972F5FAAEDDADBDB292A2ACA74DF732A2B2B53C70819E813
CCB1E0CACA4ACB7D50505060EA7376EDDA25B487B0E7E1BF315730C66CD76F18
C650038A9F33678E695BA3F528D33F7FE6B8C5DBC810C25BC810C69BC808AAFD
3CFCBF8DE7F151114E4E4E0E295F68E67B04FD8EEDDEED01DF4B8ABE1DE37D06
DFBF44CFEE1EBE67F04EED27B3F742750FFEEB84773BC4FA535252D438CBE3C7
8F19F3DFA8DBB06183DF7BE09E3D7B984D67CD9A45EBD6AD53B9B1B191B1B68C
C701158CAFA1A1817DE3DCBB77AFF07A282A2A6218608F1D3BC6BEADFDFEFDDB
2F9EA9676D7C1EB1F5D2D25242BC01EF0D32F81F3F7E303CFA46EC0A63D9BD7B
B7F0F80B0B0BA97FFFFE4C37F8AD6059AC6CCD9A352A637E606DD9B469D30CFD
7A7575356DDAB4C9D67EB0714D4D8DB7F75C3EFF34FE8F3C0E6DC6BBB0591C5A
CFD8D7898989EA6F7C7B7CFBF62D8B372BB1034B3E71E204216761FAF4E93470
E0407AF0E081E577002D63FFF2B6ADADAD74F1E245BF7D9A99996988855F406C
D16EA177747408EB224C3810E7CF60FA8F5018BF377F6FFEDEFC434387323A09
24DED39FA73F4F7F81D19D53193E97FA0F24BED7F587F768A702323232F4B9B1
C2F3DFBF7F3F656565B9D15FB0D7B4EBFE35714147EBC7253EDC7D42589F7F8C
721265C8282751705E6A3B131952FAB3188790FDDCE0DD8CDFADFEDCDACF3BFF
079E1077F519E47289D2B66DDB54FCF6EDDBA5F07FFEFCA1E8E86816CB02E37F
9489E26FDFBECDFA5DBB762D8B39E3FF8A8A0A613CC7200F85E7C4283968B6F4
FEFD7B3666E4CF23570D7179E4CFA0ECC3870FB6328E1F3FEEA7B3DCDC5C5676
EAD4295BBC3E4F59CBF1F1F1246A7333C6F7023B9B9F3E7DDAAF0DBE53F82CEE
20719B23C710F9A3FA7AC430118F1C3F7EBC610EA0D6E666E35BB162056B2393
07D81B74FDFA7572C27A39C8D9CCC9C9A173E7CE399A1FF48A758E73ECD9B367
1DC9801DE3E2E21CCB40CE256CC4EF9FC8C840EC9AEF55C48995B5202483EF3B
60B9AFC15FEE0BCE9C394322FDEAFD147E2BB9E2A63278DE9F1DE32E8F111EF7
6D94770F5346FD850B1788DB592F036BC64C06CAF99A7AF5EA158BBFE3AF880C
2D16C4EF422A79DA3E2B197A2C88DF438C888830B507F4015DF1F96A69E7CE9D
3462C408C237D8BEB6FF8345584F070F1E647B0EFFF31C7CD1F30FB03EE57EAC
A40C46F89EADDCAD5565F03AE59B14FBBE6475FFCF4C06BF3F78F9F2655B7D43
C6E2C58BFDE682E7A2F6FBBC9D8C254B9618CE4594204379D63B92013C9EC55C
CFB232B4F7FFE6CE9D2B2503F7FFA64C99C23088890063665B23D2E630F3B38A
8C0C7E7760E9D2A5FF6BA395A1DC179226C800F6CE9D3BA176F6EF33EF3F6EDE
250D7283A5E3474EF0DA9C36899C495FA0F06EC71F08FD05391610B6EBFF3FB6
A59E50
}
end
object OpenDialog1: TOpenDialog
left = 128
top = 88
Left = 128
Top = 88
end
object SaveDialog1: TSaveDialog
left = 128
top = 144
Left = 128
Top = 144
end
object ColorDialog1: TColorDialog
Color = clBlack
@ -984,7 +401,7 @@ object Form1: TForm1
'ColorS=F0FBFF'
'ColorT=A4A0A0'
)
left = 128
top = 200
Left = 128
Top = 200
end
end

View File

@ -138,6 +138,7 @@ uses
procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.SetCurrentDir := True;
//GlobalCEFApp.LogFile := 'cef.log';
//GlobalCEFApp.LogSeverity := LOGSEVERITY_VERBOSE;
end;
@ -175,6 +176,9 @@ begin
FCanClose := False;
FClosing := False;
// The path to the HTML file should be absolute or the browser might not find
// it if the application is launched from a different application.
// For example, running this demo inside the Lazarus debugger.
Chromium1.DefaultURL := 'file:///EditorBrowser.html';
end;

View File

@ -96,6 +96,7 @@ begin
GlobalCEFApp.ExternalMessagePump := True;
GlobalCEFApp.MultiThreadedMessageLoop := False;
GlobalCEFApp.OnScheduleMessagePumpWork := GlobalCEFApp_OnScheduleMessagePumpWork;
GlobalCEFApp.SetCurrentDir := True;
// TCEFWorkScheduler will call cef_do_message_loop_work when
// it's told in the GlobalCEFApp.OnScheduleMessagePumpWork event.

View File

@ -91,6 +91,7 @@ uses
procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.SetCurrentDir := True;
//GlobalCEFApp.LogFile := 'cef.log';
//GlobalCEFApp.LogSeverity := LOGSEVERITY_VERBOSE;
end;

View File

@ -87,6 +87,7 @@ uses
procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.SetCurrentDir := True;
//GlobalCEFApp.LogFile := 'cef.log';
//GlobalCEFApp.LogSeverity := LOGSEVERITY_VERBOSE;
end;

View File

@ -2,7 +2,7 @@
{$MODE Delphi}
{$I ..\..\..\source\cef.inc}
{$I ..\..\..\..\source\cef.inc}
interface
@ -36,7 +36,6 @@ type
GoBtn: TButton;
AddressEdt: TEdit;
Timer1: TTimer;
procedure CEFSentinel1Close(Sender: TObject);
procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser);
procedure GoBtnClick(Sender: TObject);
procedure FormShow(Sender: TObject);
@ -148,11 +147,6 @@ begin
PostMessage(Handle, CEF_AFTERCREATED, 0, 0);
end;
procedure TJSEvalFrm.CEFSentinel1Close(Sender: TObject);
begin
end;
procedure TJSEvalFrm.Chromium1BeforeClose(Sender: TObject;
const browser: ICefBrowser);
begin
@ -509,6 +503,7 @@ end;
procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.SetCurrentDir := True;
GlobalCEFApp.OnProcessMessageReceived := RenderProcessHandler_OnProcessMessageReceivedEvent;
end;

View File

@ -2,7 +2,7 @@
{$MODE Delphi}
{$I ..\..\..\source\cef.inc}
{$I ..\..\..\..\source\cef.inc}
interface
@ -33,7 +33,6 @@ type
CEFWindowParent1: TCEFWindowParent;
Chromium1: TChromium;
Timer1: TTimer;
procedure CEFSentinel1Close(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure GoBtnClick(Sender: TObject);
procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser);
@ -144,6 +143,7 @@ begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.OnContextCreated := GlobalCEFApp_OnContextCreated;
GlobalCEFApp.OnProcessMessageReceived := GlobalCEFApp_OnProcessMessageReceived;
GlobalCEFApp.SetCurrentDir := True;
end;
procedure TJSExecutingFunctionsFrm.GoBtnClick(Sender: TObject);
@ -241,11 +241,6 @@ begin
if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True;
end;
procedure TJSExecutingFunctionsFrm.CEFSentinel1Close(Sender: TObject);
begin
end;
procedure TJSExecutingFunctionsFrm.WMMove(var aMessage : TWMMove);
begin
inherited;

View File

@ -2,7 +2,7 @@
{$MODE Delphi}
{$I ..\..\..\source\cef.inc}
{$I ..\..\..\..\source\cef.inc}
interface

View File

@ -2,7 +2,7 @@
{$MODE Delphi}
{$I ..\..\..\source\cef.inc}
{$I ..\..\..\..\source\cef.inc}
interface
@ -40,7 +40,6 @@ type
Chromium1: TChromium;
StatusPnl: TPanel;
Timer1: TTimer;
procedure CEFSentinel1Close(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure GoBtnClick(Sender: TObject);
procedure Chromium1BeforeContextMenu(Sender: TObject;
@ -288,6 +287,7 @@ procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.OnWebKitInitialized := GlobalCEFApp_OnWebKitInitialized;
GlobalCEFApp.SetCurrentDir := True;
{$IFDEF DEBUG}
GlobalCEFApp.LogFile := 'debug.log';
GlobalCEFApp.LogSeverity := LOGSEVERITY_INFO;
@ -473,11 +473,6 @@ begin
if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True;
end;
procedure TJSExtensionFrm.CEFSentinel1Close(Sender: TObject);
begin
end;
procedure TJSExtensionFrm.WMMove(var aMessage : TWMMove);
begin
inherited;

View File

@ -2,7 +2,7 @@
{$MODE Delphi}
{$I ..\..\..\source\cef.inc}
{$I ..\..\..\..\source\cef.inc}
interface

View File

@ -2,7 +2,7 @@
{$MODE Delphi}
{$I ..\..\..\source\cef.inc}
{$I ..\..\..\..\source\cef.inc}
interface
@ -29,7 +29,6 @@ type
Chromium1: TChromium;
Timer1: TTimer;
StatusBar1: TStatusBar;
procedure CEFSentinel1Close(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure GoBtnClick(Sender: TObject);
procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser);
@ -117,6 +116,7 @@ procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.OnWebKitInitialized := GlobalCEFApp_OnWebKitInitializedEvent;
GlobalCEFApp.SetCurrentDir := True;
end;
procedure TJSExtensionWithFunctionFrm.GoBtnClick(Sender: TObject);
@ -195,11 +195,6 @@ begin
if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True;
end;
procedure TJSExtensionWithFunctionFrm.CEFSentinel1Close(Sender: TObject);
begin
end;
procedure TJSExtensionWithFunctionFrm.WMMove(var aMessage : TWMMove);
begin
inherited;

View File

@ -2,7 +2,7 @@
{$MODE Delphi}
{$I ..\..\..\source\cef.inc}
{$I ..\..\..\..\source\cef.inc}
interface

View File

@ -2,7 +2,7 @@
{$MODE Delphi}
{$I ..\..\..\source\cef.inc}
{$I ..\..\..\..\source\cef.inc}
interface
@ -28,7 +28,6 @@ type
CEFWindowParent1: TCEFWindowParent;
Chromium1: TChromium;
Timer1: TTimer;
procedure CEFSentinel1Close(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure GoBtnClick(Sender: TObject);
procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser);
@ -120,6 +119,7 @@ procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.OnWebKitInitialized := GlobalCEFApp_OnWebKitInitializedEvent;
GlobalCEFApp.SetCurrentDir := True;
end;
procedure TJSExtensionWithObjectParameterFrm.GoBtnClick(Sender: TObject);
@ -185,11 +185,6 @@ begin
if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True;
end;
procedure TJSExtensionWithObjectParameterFrm.CEFSentinel1Close(Sender: TObject);
begin
end;
procedure TJSExtensionWithObjectParameterFrm.WMMove(var aMessage : TWMMove);
begin
inherited;

View File

@ -2,7 +2,7 @@
{$MODE Delphi}
{$I ..\..\..\source\cef.inc}
{$I ..\..\..\..\source\cef.inc}
interface

View File

@ -15,7 +15,7 @@ object MainForm: TMainForm
OnDestroy = FormDestroy
OnShow = FormShow
Position = poScreenCenter
LCLVersion = '2.2.2.0'
LCLVersion = '3.0.0.3'
object CEFWindowParent1: TCEFWindowParent
Left = 0
Height = 559
@ -35,6 +35,7 @@ object MainForm: TMainForm
ClientWidth = 878
DoubleBuffered = True
Enabled = False
ParentBackground = False
ParentDoubleBuffered = False
TabOrder = 1
object AddressEdt: TEdit
@ -55,6 +56,7 @@ object MainForm: TMainForm
BevelOuter = bvNone
ClientHeight = 20
ClientWidth = 128
ParentBackground = False
TabOrder = 1
object GoBtn: TButton
Left = 0
@ -63,8 +65,8 @@ object MainForm: TMainForm
Width = 31
Align = alLeft
Caption = 'Go'
OnClick = GoBtnClick
TabOrder = 0
OnClick = GoBtnClick
end
object SendMessageBtn: TButton
Left = 40
@ -73,8 +75,8 @@ object MainForm: TMainForm
Width = 88
Align = alRight
Caption = 'Send message'
OnClick = SendMessageBtnClick
TabOrder = 1
OnClick = SendMessageBtnClick
end
end
end

View File

@ -2,7 +2,7 @@
{$MODE Delphi}
{$I ..\..\..\source\cef.inc}
{$I ..\..\..\..\source\cef.inc}
interface
@ -153,6 +153,7 @@ begin
GlobalCEFApp.OnProcessMessageReceived := GlobalCEFApp_OnProcessMessageReceived;
GlobalCEFApp.LogFile := 'debug.log';
GlobalCEFApp.LogSeverity := LOGSEVERITY_INFO;
GlobalCEFApp.SetCurrentDir := True;
// Delphi can only debug one process and it debugs the browser process by
// default. If you need to debug code executed in the render process you will

View File

@ -2,7 +2,7 @@
{$MODE Delphi}
{$I ..\..\..\source\cef.inc}
{$I ..\..\..\..\source\cef.inc}
interface
@ -28,7 +28,6 @@ type
CEFWindowParent1: TCEFWindowParent;
Chromium1: TChromium;
Timer1: TTimer;
procedure CEFSentinel1Close(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure GoBtnClick(Sender: TObject);
procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser);
@ -107,6 +106,7 @@ procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.OnWebKitInitialized := GlobalCEFApp_OnWebKitInitializedEvent;
GlobalCEFApp.SetCurrentDir := True;
end;
procedure TJSSimpleExtensionFrm.GoBtnClick(Sender: TObject);
@ -140,11 +140,6 @@ begin
if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True;
end;
procedure TJSSimpleExtensionFrm.CEFSentinel1Close(Sender: TObject);
begin
end;
procedure TJSSimpleExtensionFrm.WMMove(var aMessage : TWMMove);
begin
inherited;

View File

@ -2,7 +2,7 @@
{$MODE Delphi}
{$I ..\..\..\source\cef.inc}
{$I ..\..\..\..\source\cef.inc}
interface
@ -28,7 +28,6 @@ type
CEFWindowParent1: TCEFWindowParent;
Chromium1: TChromium;
Timer1: TTimer;
procedure CEFSentinel1Close(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure GoBtnClick(Sender: TObject);
procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser);
@ -99,6 +98,7 @@ procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.OnContextCreated := GlobalCEFApp_OnContextCreated;
GlobalCEFApp.SetCurrentDir := True;
end;
procedure TJSSimpleWindowBindingFrm.GoBtnClick(Sender: TObject);
@ -132,11 +132,6 @@ begin
if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True;
end;
procedure TJSSimpleWindowBindingFrm.CEFSentinel1Close(Sender: TObject);
begin
end;
procedure TJSSimpleWindowBindingFrm.WMMove(var aMessage : TWMMove);
begin
inherited;

View File

@ -17,6 +17,7 @@ uses
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.SetCurrentDir := True;
// This is the same demo than the JSSimpleWindowBinding but using a different executable for the subprocesses.
// Notice that GlobalCEFApp.OnContextCreated is now defined in the SubProcess.

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="11"/>
<Version Value="12"/>
<PathDelim Value="\"/>
<General>
<Flags>
@ -9,9 +9,9 @@
<MainUnitHasCreateFormStatements Value="False"/>
<MainUnitHasTitleStatement Value="False"/>
<MainUnitHasScaledStatement Value="False"/>
<CompatibilityMode Value="True"/>
</Flags>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<Title Value="SubProcess"/>
<UseAppBundle Value="False"/>
<ResourceType Value="res"/>
@ -25,7 +25,6 @@
</PublishOptions>
<RunParams>
<FormatVersion Value="2"/>
<Modes Count="0"/>
</RunParams>
<RequiredPackages Count="2">
<Item1>

View File

@ -33,6 +33,7 @@ end;
begin
GlobalCEFApp := TCefApplicationCore.Create;
GlobalCEFApp.OnContextCreated := GlobalCEFApp_OnContextCreated;
GlobalCEFApp.SetCurrentDir := True;
// The main process and the subprocess *MUST* have the same FrameworkDirPath, ResourcesDirPath,
// LocalesDirPath, cache and UserDataPath paths

View File

@ -2,7 +2,7 @@
{$MODE Delphi}
{$I ..\..\..\source\cef.inc}
{$I ..\..\..\..\source\cef.inc}
interface
@ -28,7 +28,6 @@ type
CEFWindowParent1: TCEFWindowParent;
Chromium1: TChromium;
Timer1: TTimer;
procedure CEFSentinel1Close(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure GoBtnClick(Sender: TObject);
procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser);
@ -113,11 +112,6 @@ begin
if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True;
end;
procedure TJSSimpleWindowBindingFrm.CEFSentinel1Close(Sender: TObject);
begin
end;
procedure TJSSimpleWindowBindingFrm.WMMove(var aMessage : TWMMove);
begin
inherited;

View File

@ -2,7 +2,7 @@
{$MODE Delphi}
{$I ..\..\..\source\cef.inc}
{$I ..\..\..\..\source\cef.inc}
interface
@ -28,7 +28,6 @@ type
CEFWindowParent1: TCEFWindowParent;
Chromium1: TChromium;
Timer1: TTimer;
procedure CEFSentinel1Close(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure GoBtnClick(Sender: TObject);
procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser);
@ -124,6 +123,7 @@ procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.OnContextCreated := GlobalCEFApp_OnContextCreated;
GlobalCEFApp.SetCurrentDir := True;
end;
procedure TJSWindowBindingWithArrayBufferFrm.GoBtnClick(Sender: TObject);
@ -156,11 +156,6 @@ begin
if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True;
end;
procedure TJSWindowBindingWithArrayBufferFrm.CEFSentinel1Close(Sender: TObject);
begin
end;
procedure TJSWindowBindingWithArrayBufferFrm.WMMove(var aMessage : TWMMove);
begin
inherited;

View File

@ -2,7 +2,7 @@
{$MODE Delphi}
{$I ..\..\..\source\cef.inc}
{$I ..\..\..\..\source\cef.inc}
interface
@ -28,7 +28,6 @@ type
CEFWindowParent1: TCEFWindowParent;
Chromium1: TChromium;
Timer1: TTimer;
procedure CEFSentinel1Close(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure GoBtnClick(Sender: TObject);
procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser);
@ -104,6 +103,7 @@ procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.OnContextCreated := GlobalCEFApp_OnContextCreated;
GlobalCEFApp.SetCurrentDir := True;
end;
procedure TJSWindowBindingWithFunctionFrm.GoBtnClick(Sender: TObject);
@ -136,11 +136,6 @@ begin
if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True;
end;
procedure TJSWindowBindingWithFunctionFrm.CEFSentinel1Close(Sender: TObject);
begin
end;
procedure TJSWindowBindingWithFunctionFrm.WMMove(var aMessage : TWMMove);
begin
inherited;

View File

@ -2,7 +2,7 @@
{$MODE Delphi}
{$I ..\..\..\source\cef.inc}
{$I ..\..\..\..\source\cef.inc}
interface

View File

@ -2,7 +2,7 @@
{$MODE Delphi}
{$I ..\..\..\source\cef.inc}
{$I ..\..\..\..\source\cef.inc}
interface
@ -105,6 +105,7 @@ procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.OnContextCreated := GlobalCEFApp_OnContextCreated;
GlobalCEFApp.SetCurrentDir := True;
end;
procedure TJSWindowBindingWithObjectFrm.GoBtnClick(Sender: TObject);

View File

@ -2,7 +2,7 @@
{$MODE Delphi}
{$I ..\..\..\source\cef.inc}
{$I ..\..\..\..\source\cef.inc}
interface

View File

@ -0,0 +1,2 @@
[1223/171613.318:WARNING:resource_util.cc(94)] Please customize CefSettings.root_cache_path for your application. Use of the default value may lead to unintended process singleton behavior.
[1223/171618.055:WARNING:pref_notifier_impl.cc(41)] Pref observer for media_router.cast_allow_all_ips found at shutdown.

View File

@ -15,7 +15,7 @@ object MediaRouterFrm: TMediaRouterFrm
OnDestroy = FormDestroy
OnShow = FormShow
Position = poScreenCenter
LCLVersion = '2.0.10.0'
LCLVersion = '3.0.0.3'
object CEFWindowParent1: TCEFWindowParent
Left = 184
Height = 0
@ -34,6 +34,7 @@ object MediaRouterFrm: TMediaRouterFrm
BevelOuter = bvNone
ClientHeight = 757
ClientWidth = 1029
ParentBackground = False
TabOrder = 1
object SinksGbx: TGroupBox
Left = 0
@ -44,6 +45,7 @@ object MediaRouterFrm: TMediaRouterFrm
Caption = ' Sinks on this network '
ClientHeight = 739
ClientWidth = 246
ParentBackground = False
TabOrder = 0
object SinksLbx: TListBox
Left = 0
@ -52,8 +54,8 @@ object MediaRouterFrm: TMediaRouterFrm
Width = 246
Align = alClient
ItemHeight = 0
OnClick = SinksLbxClick
TabOrder = 0
OnClick = SinksLbxClick
end
object SinksButtonsPnl: TPanel
Left = 0
@ -64,6 +66,7 @@ object MediaRouterFrm: TMediaRouterFrm
BevelOuter = bvNone
ClientHeight = 60
ClientWidth = 246
ParentBackground = False
TabOrder = 1
object CreateRouteBtn: TButton
Left = 0
@ -73,8 +76,8 @@ object MediaRouterFrm: TMediaRouterFrm
Align = alTop
Caption = 'Create route'
Enabled = False
OnClick = CreateRouteBtnClick
TabOrder = 0
OnClick = CreateRouteBtnClick
end
object NotifySinksBtn: TButton
Left = 0
@ -83,8 +86,8 @@ object MediaRouterFrm: TMediaRouterFrm
Width = 246
Align = alBottom
Caption = 'Notify sinks'
OnClick = NotifySinksBtnClick
TabOrder = 1
OnClick = NotifySinksBtnClick
end
end
end
@ -97,6 +100,7 @@ object MediaRouterFrm: TMediaRouterFrm
BevelOuter = bvNone
ClientHeight = 757
ClientWidth = 529
ParentBackground = False
TabOrder = 1
object SourcePnl: TPanel
Left = 0
@ -107,6 +111,7 @@ object MediaRouterFrm: TMediaRouterFrm
BevelOuter = bvNone
ClientHeight = 21
ClientWidth = 529
ParentBackground = False
TabOrder = 0
object SourceLblPnl: TPanel
Left = 0
@ -117,6 +122,7 @@ object MediaRouterFrm: TMediaRouterFrm
BevelOuter = bvNone
ClientHeight = 21
ClientWidth = 65
ParentBackground = False
TabOrder = 0
object SourceURNLbl: TLabel
Left = 0
@ -155,6 +161,7 @@ object MediaRouterFrm: TMediaRouterFrm
Caption = ' Message '
ClientHeight = 412
ClientWidth = 525
ParentBackground = False
TabOrder = 1
object SendMessagePnl: TPanel
Left = 0
@ -165,6 +172,7 @@ object MediaRouterFrm: TMediaRouterFrm
BevelOuter = bvNone
ClientHeight = 27
ClientWidth = 525
ParentBackground = False
TabOrder = 0
object SendMsgBtn: TButton
Left = 0
@ -173,8 +181,8 @@ object MediaRouterFrm: TMediaRouterFrm
Width = 525
Align = alClient
Caption = 'Send message'
OnClick = SendMsgBtnClick
TabOrder = 0
OnClick = SendMsgBtnClick
end
end
object MessageMem: TMemo
@ -183,9 +191,9 @@ object MediaRouterFrm: TMediaRouterFrm
Top = 0
Width = 525
Align = alClient
OnChange = MessageMemChange
ScrollBars = ssBoth
TabOrder = 1
OnChange = MessageMemChange
end
end
object LogGbx: TGroupBox
@ -197,6 +205,7 @@ object MediaRouterFrm: TMediaRouterFrm
Caption = ' Log '
ClientHeight = 278
ClientWidth = 525
ParentBackground = False
TabOrder = 2
object LogMem: TMemo
Left = 0
@ -217,6 +226,7 @@ object MediaRouterFrm: TMediaRouterFrm
BevelOuter = bvNone
ClientHeight = 27
ClientWidth = 525
ParentBackground = False
TabOrder = 1
object ClearLogBtn: TButton
Left = 0
@ -225,8 +235,8 @@ object MediaRouterFrm: TMediaRouterFrm
Width = 525
Align = alClient
Caption = 'Clear log'
OnClick = ClearLogBtnClick
TabOrder = 0
OnClick = ClearLogBtnClick
end
end
end
@ -237,6 +247,7 @@ object MediaRouterFrm: TMediaRouterFrm
Width = 529
Align = alTop
BevelOuter = bvNone
ParentBackground = False
TabOrder = 3
end
end
@ -249,6 +260,7 @@ object MediaRouterFrm: TMediaRouterFrm
Caption = ' Established routes '
ClientHeight = 739
ClientWidth = 246
ParentBackground = False
TabOrder = 2
object RoutesLbx: TListBox
Left = 0
@ -257,8 +269,8 @@ object MediaRouterFrm: TMediaRouterFrm
Width = 246
Align = alClient
ItemHeight = 0
OnClick = RoutesLbxClick
TabOrder = 0
OnClick = RoutesLbxClick
end
object RoutesButtonPnl: TPanel
Left = 0
@ -269,6 +281,7 @@ object MediaRouterFrm: TMediaRouterFrm
BevelOuter = bvNone
ClientHeight = 60
ClientWidth = 246
ParentBackground = False
TabOrder = 1
object TerminateRouteBtn: TButton
Left = 0
@ -278,8 +291,8 @@ object MediaRouterFrm: TMediaRouterFrm
Align = alTop
Caption = 'Terminate route'
Enabled = False
OnClick = TerminateRouteBtnClick
TabOrder = 0
OnClick = TerminateRouteBtnClick
end
object NotifyRoutesBtn: TButton
Left = 0
@ -288,8 +301,8 @@ object MediaRouterFrm: TMediaRouterFrm
Width = 246
Align = alBottom
Caption = 'Notify routes'
OnClick = NotifyRoutesBtnClick
TabOrder = 1
OnClick = NotifyRoutesBtnClick
end
end
end

View File

@ -179,6 +179,7 @@ begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.LogFile := 'debug.log';
GlobalCEFApp.LogSeverity := LOGSEVERITY_INFO;
GlobalCEFApp.SetCurrentDir := True;
end;
procedure TMediaRouterFrm.Chromium1AfterCreated(Sender: TObject;

View File

@ -15,7 +15,7 @@ object MiniBrowserFrm: TMiniBrowserFrm
OnDestroy = FormDestroy
OnShow = FormShow
Position = poScreenCenter
LCLVersion = '2.2.6.0'
LCLVersion = '3.0.0.3'
object Splitter1: TSplitter
Left = 1179
Height = 663
@ -35,6 +35,7 @@ object MiniBrowserFrm: TMiniBrowserFrm
ClientHeight = 25
ClientWidth = 1184
Enabled = False
ParentBackground = False
TabOrder = 1
object NavButtonPnl: TPanel
Left = 0
@ -45,6 +46,7 @@ object MiniBrowserFrm: TMiniBrowserFrm
BevelOuter = bvNone
ClientHeight = 25
ClientWidth = 133
ParentBackground = False
TabOrder = 0
object BackBtn: TButton
Left = 8
@ -56,9 +58,9 @@ object MiniBrowserFrm: TMiniBrowserFrm
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'Webdings'
OnClick = BackBtnClick
ParentFont = False
TabOrder = 0
OnClick = BackBtnClick
end
object ForwardBtn: TButton
Left = 39
@ -70,9 +72,9 @@ object MiniBrowserFrm: TMiniBrowserFrm
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'Webdings'
OnClick = ForwardBtnClick
ParentFont = False
TabOrder = 1
OnClick = ForwardBtnClick
end
object ReloadBtn: TButton
Left = 70
@ -84,9 +86,9 @@ object MiniBrowserFrm: TMiniBrowserFrm
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'Webdings'
OnClick = ReloadBtnClick
ParentFont = False
TabOrder = 2
OnClick = ReloadBtnClick
end
object StopBtn: TButton
Left = 101
@ -98,9 +100,9 @@ object MiniBrowserFrm: TMiniBrowserFrm
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'Webdings'
OnClick = StopBtnClick
ParentFont = False
TabOrder = 3
OnClick = StopBtnClick
end
end
object URLEditPnl: TPanel
@ -112,14 +114,15 @@ object MiniBrowserFrm: TMiniBrowserFrm
BevelOuter = bvNone
ClientHeight = 25
ClientWidth = 978
ParentBackground = False
TabOrder = 1
object URLCbx: TComboBox
Left = 0
Height = 22
Height = 21
Top = 3
Width = 978
Anchors = [akTop, akLeft, akRight, akBottom]
ItemHeight = 14
ItemHeight = 13
ItemIndex = 0
Items.Strings = (
'https://www.google.com'
@ -175,6 +178,7 @@ object MiniBrowserFrm: TMiniBrowserFrm
BevelOuter = bvNone
ClientHeight = 25
ClientWidth = 73
ParentBackground = False
TabOrder = 2
object ConfigBtn: TButton
Left = 40
@ -187,9 +191,9 @@ object MiniBrowserFrm: TMiniBrowserFrm
Font.Height = -17
Font.Name = 'Arial'
Font.Style = [fsBold]
OnClick = ConfigBtnClick
ParentFont = False
TabOrder = 0
OnClick = ConfigBtnClick
end
object GoBtn: TButton
Left = 8
@ -203,9 +207,9 @@ object MiniBrowserFrm: TMiniBrowserFrm
Font.Height = -17
Font.Name = 'Arial'
Font.Style = [fsBold]
OnClick = GoBtnClick
ParentFont = False
TabOrder = 1
OnClick = GoBtnClick
end
end
end
@ -235,6 +239,7 @@ object MiniBrowserFrm: TMiniBrowserFrm
Width = 1184
Align = alBottom
BevelOuter = bvLowered
ParentBackground = False
TabOrder = 4
end
object Chromium1: TChromium

View File

@ -309,6 +309,7 @@ begin
GlobalCEFApp.LogSeverity := LOGSEVERITY_INFO;
GlobalCEFApp.EnablePrintPreview := True;
GlobalCEFApp.EnableGPU := True;
GlobalCEFApp.SetCurrentDir := True;
end;
procedure TMiniBrowserFrm.BackBtnClick(Sender: TObject);

View File

@ -18,6 +18,7 @@ uses
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.SetCurrentDir := True;
// In case you want to use custom directories for the CEF3 binaries, cache and user data.
// If you don't set a cache directory the browser will use in-memory cache.

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="11"/>
<Version Value="12"/>
<PathDelim Value="\"/>
<General>
<Flags>
@ -9,9 +9,9 @@
<MainUnitHasCreateFormStatements Value="False"/>
<MainUnitHasTitleStatement Value="False"/>
<MainUnitHasScaledStatement Value="False"/>
<CompatibilityMode Value="True"/>
</Flags>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<Title Value="OAuth2Tester"/>
<UseAppBundle Value="False"/>
<ResourceType Value="res"/>
@ -25,7 +25,6 @@
</PublishOptions>
<RunParams>
<FormatVersion Value="2"/>
<Modes Count="0"/>
</RunParams>
<RequiredPackages Count="2">
<Item1>

View File

@ -20,6 +20,7 @@ uses
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.SetCurrentDir := True;
if GlobalCEFApp.StartMainProcess then
begin

View File

@ -154,6 +154,7 @@ begin
GlobalCEFApp.ExternalMessagePump := True;
GlobalCEFApp.MultiThreadedMessageLoop := False;
GlobalCEFApp.OnScheduleMessagePumpWork := @GlobalCEFApp_OnScheduleMessagePumpWork;
GlobalCEFApp.SetCurrentDir := True;
// TCEFWorkScheduler will call cef_do_message_loop_work when
// it's told in the GlobalCEFApp.OnScheduleMessagePumpWork event.

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="11"/>
<Version Value="12"/>
<PathDelim Value="\"/>
<General>
<Flags>
@ -9,9 +9,9 @@
<MainUnitHasCreateFormStatements Value="False"/>
<MainUnitHasTitleStatement Value="False"/>
<MainUnitHasScaledStatement Value="False"/>
<CompatibilityMode Value="True"/>
</Flags>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<Title Value="PopupBrowser"/>
<UseAppBundle Value="False"/>
<ResourceType Value="res"/>
@ -25,7 +25,6 @@
</PublishOptions>
<RunParams>
<FormatVersion Value="2"/>
<Modes Count="0"/>
</RunParams>
<RequiredPackages Count="2">
<Item1>
@ -72,6 +71,9 @@
</SyntaxOptions>
</Parsing>
<Linking>
<Debugging>
<DebugInfoType Value="dsDwarf3"/>
</Debugging>
<Options>
<Win32>
<GraphicApplication Value="True"/>

View File

@ -15,7 +15,7 @@ object MainForm: TMainForm
OnDestroy = FormDestroy
OnShow = FormShow
Position = poScreenCenter
LCLVersion = '2.0.6.0'
LCLVersion = '3.0.0.3'
object AddressPnl: TPanel
Left = 0
Height = 21
@ -26,6 +26,7 @@ object MainForm: TMainForm
ClientHeight = 21
ClientWidth = 1038
Enabled = False
ParentBackground = False
TabOrder = 0
object AddressEdt: TEdit
Left = 0
@ -43,8 +44,8 @@ object MainForm: TMainForm
Width = 31
Align = alRight
Caption = 'Go'
OnClick = GoBtnClick
TabOrder = 1
OnClick = GoBtnClick
end
end
object CEFWindowParent1: TCEFWindowParent
@ -59,19 +60,19 @@ object MainForm: TMainForm
Enabled = False
Interval = 300
OnTimer = Timer1Timer
left = 56
top = 88
Left = 56
Top = 88
end
object Chromium1: TChromium
OnBeforePopup = Chromium1BeforePopup
OnAfterCreated = Chromium1AfterCreated
OnBeforeClose = Chromium1BeforeClose
OnClose = Chromium1Close
left = 56
top = 152
Left = 56
Top = 152
end
object ApplicationProperties1: TApplicationProperties
left = 56
top = 40
Left = 56
Top = 40
end
end

View File

@ -110,6 +110,7 @@ procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.WindowlessRenderingEnabled := True;
GlobalCEFApp.SetCurrentDir := True;
end;
procedure TMainForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

View File

@ -108,6 +108,7 @@ uses
procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.SetCurrentDir := True;
//GlobalCEFApp.LogFile := 'cef.log';
//GlobalCEFApp.LogSeverity := LOGSEVERITY_VERBOSE;
end;

View File

@ -15,7 +15,7 @@ object Form1: TForm1
OnDestroy = FormDestroy
OnShow = FormShow
Position = poScreenCenter
LCLVersion = '2.0.12.0'
LCLVersion = '3.0.0.3'
object Splitter1: TSplitter
Cursor = crVSplit
Left = 0
@ -35,6 +35,7 @@ object Form1: TForm1
ClientHeight = 21
ClientWidth = 1038
Enabled = False
ParentBackground = False
TabOrder = 0
object GoBtn: TButton
Left = 1007
@ -43,8 +44,8 @@ object Form1: TForm1
Width = 31
Align = alRight
Caption = 'Go'
OnClick = GoBtnClick
TabOrder = 0
OnClick = GoBtnClick
end
object AddressCb: TComboBox
Left = 0

View File

@ -111,6 +111,7 @@ uses
procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.SetCurrentDir := True;
//GlobalCEFApp.LogFile := 'cef.log';
//GlobalCEFApp.LogSeverity := LOGSEVERITY_VERBOSE;
end;

View File

@ -15,7 +15,7 @@ object ResponseFilterBrowserFrm: TResponseFilterBrowserFrm
OnDestroy = FormDestroy
OnShow = FormShow
Position = poScreenCenter
LCLVersion = '2.2.0.4'
LCLVersion = '3.0.0.3'
object Splitter1: TSplitter
Cursor = crVSplit
Left = 0
@ -35,6 +35,7 @@ object ResponseFilterBrowserFrm: TResponseFilterBrowserFrm
ClientHeight = 67
ClientWidth = 1054
Enabled = False
ParentBackground = False
TabOrder = 0
object AddressEdt: TEdit
Left = 3
@ -55,6 +56,7 @@ object ResponseFilterBrowserFrm: TResponseFilterBrowserFrm
BevelOuter = bvNone
ClientHeight = 67
ClientWidth = 304
ParentBackground = False
TabOrder = 1
object GoBtn: TButton
Left = 3
@ -62,8 +64,8 @@ object ResponseFilterBrowserFrm: TResponseFilterBrowserFrm
Top = 0
Width = 63
Caption = 'Go'
OnClick = GoBtnClick
TabOrder = 0
OnClick = GoBtnClick
end
object RscNameEdt: TEdit
Left = 174
@ -75,9 +77,9 @@ object ResponseFilterBrowserFrm: TResponseFilterBrowserFrm
end
object CopyScriptBtn: TRadioButton
Left = 72
Height = 19
Height = 17
Top = 0
Width = 81
Width = 79
Caption = 'Copy script :'
Checked = True
TabOrder = 2
@ -85,17 +87,17 @@ object ResponseFilterBrowserFrm: TResponseFilterBrowserFrm
end
object ReplaceLogoBtn: TRadioButton
Left = 72
Height = 19
Height = 17
Top = 19
Width = 81
Width = 79
Caption = 'Replace logo'
TabOrder = 3
end
object ReplaceTextBtn: TRadioButton
Left = 72
Height = 19
Height = 17
Top = 38
Width = 81
Width = 79
Caption = 'Replace text'
TabOrder = 4
end
@ -118,6 +120,7 @@ object ResponseFilterBrowserFrm: TResponseFilterBrowserFrm
BevelOuter = bvNone
ClientHeight = 230
ClientWidth = 1054
ParentBackground = False
TabOrder = 2
object Memo1: TMemo
Left = 0

View File

@ -148,6 +148,7 @@ begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.LogFile := 'cef.log';
GlobalCEFApp.LogSeverity := LOGSEVERITY_VERBOSE;
GlobalCEFApp.SetCurrentDir := True;
// Workaround for CEF issue #3345
// https://bitbucket.org/chromiumembedded/cef/issues/3345/getresourceresponsefilter-not-called-for
GlobalCEFApp.DisableFeatures := 'CombineResponseBody';

View File

@ -105,6 +105,7 @@ procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.OnRegCustomSchemes := GlobalCEFApp_OnRegCustomSchemes;
GlobalCEFApp.SetCurrentDir := True;
end;
procedure TSchemeRegistrationBrowserFrm.Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser);

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="11"/>
<Version Value="12"/>
<PathDelim Value="\"/>
<General>
<Flags>
@ -9,9 +9,9 @@
<MainUnitHasCreateFormStatements Value="False"/>
<MainUnitHasTitleStatement Value="False"/>
<MainUnitHasScaledStatement Value="False"/>
<CompatibilityMode Value="True"/>
</Flags>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<Title Value="SchemeRegistrationBrowser_sp"/>
<UseAppBundle Value="False"/>
<ResourceType Value="res"/>
@ -25,7 +25,6 @@
</PublishOptions>
<RunParams>
<FormatVersion Value="2"/>
<Modes Count="0"/>
</RunParams>
<RequiredPackages Count="2">
<Item1>

View File

@ -23,6 +23,7 @@ begin
GlobalCEFApp.OnRegCustomSchemes := GlobalCEFApp_OnRegCustomSchemes;
GlobalCEFApp.LogFile := 'debug.log';
GlobalCEFApp.LogSeverity := LOGSEVERITY_INFO;
GlobalCEFApp.SetCurrentDir := True;
GlobalCEFApp.StartSubProcess;
GlobalCEFApp.Free;
GlobalCEFApp := nil;

View File

@ -107,6 +107,7 @@ begin
GlobalCEFApp.BrowserSubprocessPath := 'SchemeRegistrationBrowser_sp.exe';
GlobalCEFApp.LogFile := 'debug.log';
GlobalCEFApp.LogSeverity := LOGSEVERITY_INFO;
GlobalCEFApp.SetCurrentDir := True;
end;
procedure TSchemeRegistrationBrowserFrm.Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser);

View File

@ -15,6 +15,7 @@ uses
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.SetCurrentDir := True;
// In case you want to use custom directories for the CEF3 binaries, cache and user data.
// If you don't set a cache directory the browser will use in-memory cache.

View File

@ -18,6 +18,7 @@ uses
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.SetCurrentDir := True;
// In case you want to use custom directories for the CEF3 binaries, cache and user data.
// If you don't set a cache directory the browser will use in-memory cache.

View File

@ -87,6 +87,7 @@ begin
GlobalCEFApp.ExternalMessagePump := True;
GlobalCEFApp.MultiThreadedMessageLoop := False;
GlobalCEFApp.OnScheduleMessagePumpWork := GlobalCEFApp_OnScheduleMessagePumpWork;
GlobalCEFApp.SetCurrentDir := True;
end;
procedure TSimpleExternalPumpBrowserFrm.FormCreate(Sender: TObject);

View File

@ -176,6 +176,7 @@ begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.WindowlessRenderingEnabled := True;
GlobalCEFApp.EnableGPU := True;
GlobalCEFApp.SetCurrentDir := True;
end;
procedure TForm1.GoBtnClick(Sender: TObject);

View File

@ -16,7 +16,7 @@ object Form1: TForm1
OnHide = FormHide
OnShow = FormShow
Position = poScreenCenter
LCLVersion = '2.2.0.4'
LCLVersion = '3.0.0.3'
object NavControlPnl: TPanel
Left = 0
Height = 21
@ -27,6 +27,7 @@ object Form1: TForm1
ClientHeight = 21
ClientWidth = 931
Enabled = False
ParentBackground = False
TabOrder = 0
object ComboBox1: TComboBox
Left = 0
@ -41,9 +42,9 @@ object Form1: TForm1
'https://www.briskbard.com'
'https://frames-per-second.appspot.com/'
)
OnEnter = ComboBox1Enter
TabOrder = 0
Text = 'https://www.google.com'
OnEnter = ComboBox1Enter
end
object Panel2: TPanel
Left = 892
@ -54,6 +55,7 @@ object Form1: TForm1
BevelOuter = bvNone
ClientHeight = 21
ClientWidth = 39
ParentBackground = False
TabOrder = 1
object GoBtn: TButton
Left = 4
@ -61,9 +63,9 @@ object Form1: TForm1
Top = 0
Width = 31
Caption = 'Go'
TabOrder = 0
OnClick = GoBtnClick
OnEnter = GoBtnEnter
TabOrder = 0
end
end
end

View File

@ -170,6 +170,7 @@ begin
GlobalCEFApp.ExternalMessagePump := True;
GlobalCEFApp.MultiThreadedMessageLoop := False;
GlobalCEFApp.OnScheduleMessagePumpWork := @GlobalCEFApp_OnScheduleMessagePumpWork;
GlobalCEFApp.SetCurrentDir := True;
end;
procedure TForm1.GoBtnClick(Sender: TObject);

View File

@ -17,6 +17,7 @@ uses
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.SetCurrentDir := True;
if GlobalCEFApp.StartMainProcess then
begin

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="11"/>
<Version Value="12"/>
<PathDelim Value="\"/>
<General>
<Flags>
@ -9,9 +9,9 @@
<MainUnitHasCreateFormStatements Value="False"/>
<MainUnitHasTitleStatement Value="False"/>
<MainUnitHasScaledStatement Value="False"/>
<CompatibilityMode Value="True"/>
</Flags>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<Title Value="SubProcess"/>
<UseAppBundle Value="False"/>
<ResourceType Value="res"/>
@ -25,7 +25,6 @@
</PublishOptions>
<RunParams>
<FormatVersion Value="2"/>
<Modes Count="0"/>
</RunParams>
<RequiredPackages Count="2">
<Item1>

View File

@ -14,6 +14,7 @@ uses
begin
GlobalCEFApp := TCefApplicationCore.Create;
GlobalCEFApp.SetCurrentDir := True;
// The main process and the subprocess *MUST* have the same GlobalCEFApp
// properties and events, specially FrameworkDirPath, ResourcesDirPath,

View File

@ -16,6 +16,7 @@ uses
procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.SetCurrentDir := True;
// In case you want to use custom directories for the CEF binaries, cache and user data.
// If you don't set a cache directory the browser will use in-memory cache.

View File

@ -14,7 +14,7 @@ object MainForm: TMainForm
OnCreate = FormCreate
OnShow = FormShow
Position = poScreenCenter
LCLVersion = '2.0.6.0'
LCLVersion = '3.0.0.3'
object ButtonPnl: TPanel
Left = 0
Height = 25
@ -26,6 +26,7 @@ object MainForm: TMainForm
ClientHeight = 25
ClientWidth = 897
Enabled = False
ParentBackground = False
TabOrder = 0
object NavButtonPnl: TPanel
Left = 0
@ -36,6 +37,7 @@ object MainForm: TMainForm
BevelOuter = bvNone
ClientHeight = 25
ClientWidth = 183
ParentBackground = False
TabOrder = 1
object BackBtn: TButton
Left = 63
@ -47,9 +49,9 @@ object MainForm: TMainForm
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'Webdings'
OnClick = BackBtnClick
ParentFont = False
TabOrder = 2
OnClick = BackBtnClick
end
object ForwardBtn: TButton
Left = 93
@ -61,9 +63,9 @@ object MainForm: TMainForm
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'Webdings'
OnClick = ForwardBtnClick
ParentFont = False
TabOrder = 3
OnClick = ForwardBtnClick
end
object ReloadBtn: TButton
Left = 123
@ -75,9 +77,9 @@ object MainForm: TMainForm
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'Webdings'
OnClick = ReloadBtnClick
ParentFont = False
TabOrder = 4
OnClick = ReloadBtnClick
end
object StopBtn: TButton
Left = 153
@ -89,9 +91,9 @@ object MainForm: TMainForm
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'Webdings'
OnClick = StopBtnClick
ParentFont = False
TabOrder = 5
OnClick = StopBtnClick
end
object AddTabBtn: TButton
Left = 1
@ -102,9 +104,9 @@ object MainForm: TMainForm
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'Tahoma'
OnClick = AddTabBtnClick
ParentFont = False
TabOrder = 0
OnClick = AddTabBtnClick
end
object RemoveTabBtn: TButton
Left = 32
@ -115,9 +117,9 @@ object MainForm: TMainForm
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'Tahoma'
OnClick = RemoveTabBtnClick
ParentFont = False
TabOrder = 1
OnClick = RemoveTabBtnClick
end
end
object ConfigPnl: TPanel
@ -129,6 +131,7 @@ object MainForm: TMainForm
BevelOuter = bvNone
ClientHeight = 25
ClientWidth = 32
ParentBackground = False
TabOrder = 2
object GoBtn: TButton
Left = 6
@ -141,9 +144,9 @@ object MainForm: TMainForm
Font.Height = -17
Font.Name = 'Arial'
Font.Style = [fsBold]
OnClick = GoBtnClick
ParentFont = False
TabOrder = 0
OnClick = GoBtnClick
end
end
object URLEditPnl: TPanel
@ -155,6 +158,7 @@ object MainForm: TMainForm
BevelOuter = bvNone
ClientHeight = 25
ClientWidth = 682
ParentBackground = False
TabOrder = 0
object URLCbx: TComboBox
Left = 0

View File

@ -125,6 +125,7 @@ procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.OnContextInitialized := GlobalCEFApp_OnContextInitialized;
GlobalCEFApp.SetCurrentDir := True;
end;
procedure TMainForm.AddTabBtnClick(Sender: TObject);

View File

@ -15,7 +15,7 @@ object MainForm: TMainForm
OnDestroy = FormDestroy
OnShow = FormShow
Position = poScreenCenter
LCLVersion = '2.2.4.0'
LCLVersion = '3.0.0.3'
object BrowserPageCtrl: TPageControl
Left = 32
Height = 703
@ -35,6 +35,7 @@ object MainForm: TMainForm
ClientHeight = 703
ClientWidth = 32
Enabled = False
ParentBackground = False
TabOrder = 1
object AddTabBtn: TSpeedButton
Left = 1

View File

@ -159,6 +159,7 @@ begin
GlobalCEFApp.cache := 'cache';
GlobalCEFApp.EnablePrintPreview := True;
GlobalCEFApp.OnContextInitialized := GlobalCEFApp_OnContextInitialized;
GlobalCEFApp.SetCurrentDir := True;
//GlobalCEFApp.ChromeRuntime := True;
end;

View File

@ -239,6 +239,7 @@ begin
GlobalCEFApp.ChromeRuntime := True; // Enable this line to test the new "ChromeRuntime" mode. It's in experimental state.
GlobalCEFApp.OnContextInitialized := GlobalCEFApp_OnContextInitialized;
GlobalCEFApp.OnGetDefaultClient := GlobalCEFApp_OnGetDefaultClient; // This event is only used in "ChromeRuntime" mode
GlobalCEFApp.SetCurrentDir := True;
end;
procedure DestroyTinyBrowser;

View File

@ -71,6 +71,7 @@ begin
GlobalCEFApp.ChromeRuntime := True; // Enable this line to enable the "ChromeRuntime" mode. It's in experimental state.
GlobalCEFApp.DisablePopupBlocking := True;
GlobalCEFApp.cache := 'cache';
GlobalCEFApp.SetCurrentDir := True;
GlobalCEFApp.OnContextInitialized := GlobalCEFApp_OnContextInitialized;
GlobalCEFApp.OnGetDefaultClient := GlobalCEFApp_OnGetDefaultClient; // This event is only used in "ChromeRuntime" mode
end;

View File

@ -81,6 +81,7 @@ procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.OnContextInitialized := GlobalCEFApp_OnContextInitialized;
GlobalCEFApp.SetCurrentDir := True;
end;
procedure TMainForm.CreateToolboxChild(const ChildCaption, URL: string);

View File

@ -117,6 +117,7 @@ procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.OnContextInitialized := GlobalCEFApp_OnContextInitialized;
GlobalCEFApp.SetCurrentDir := True;
end;
procedure TMainForm.Button1Click(Sender: TObject);

View File

@ -16,7 +16,7 @@ object URLRequestFrm: TURLRequestFrm
OnCreate = FormCreate
OnDestroy = FormDestroy
Position = poScreenCenter
LCLVersion = '2.2.4.0'
LCLVersion = '3.0.0.3'
object StatusBar1: TStatusBar
Left = 0
Height = 23
@ -36,6 +36,7 @@ object URLRequestFrm: TURLRequestFrm
Caption = ' GET example '
ClientHeight = 87
ClientWidth = 490
ParentBackground = False
TabOrder = 1
object Label1: TLabel
Left = 14
@ -51,8 +52,8 @@ object URLRequestFrm: TURLRequestFrm
Top = 48
Width = 465
Caption = 'Download'
OnClick = DownloadBtnClick
TabOrder = 0
OnClick = DownloadBtnClick
end
object GetURLEdt: TEdit
Left = 43
@ -71,6 +72,7 @@ object URLRequestFrm: TURLRequestFrm
Caption = ' POST example '
ClientHeight = 428
ClientWidth = 490
ParentBackground = False
TabOrder = 2
object Label2: TLabel
Left = 14
@ -94,8 +96,8 @@ object URLRequestFrm: TURLRequestFrm
Top = 179
Width = 462
Caption = 'Send POST request'
OnClick = SendPostReqBtnClick
TabOrder = 1
OnClick = SendPostReqBtnClick
end
object GroupBox1: TGroupBox
Left = 14
@ -105,6 +107,7 @@ object URLRequestFrm: TURLRequestFrm
Caption = ' Parameter 1 '
ClientHeight = 39
ClientWidth = 458
ParentBackground = False
TabOrder = 2
object Label3: TLabel
Left = 14
@ -147,6 +150,7 @@ object URLRequestFrm: TURLRequestFrm
Caption = ' Parameter 2 '
ClientHeight = 39
ClientWidth = 458
ParentBackground = False
TabOrder = 3
object Label5: TLabel
Left = 14

View File

@ -111,6 +111,7 @@ begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.LogFile := 'cef.log';
GlobalCEFApp.LogSeverity := LOGSEVERITY_VERBOSE;
GlobalCEFApp.SetCurrentDir := True;
end;
procedure TURLRequestFrm.DownloadBtnClick(Sender: TObject);

View File

@ -17,6 +17,7 @@ begin
GlobalCEFApp := TCefApplicationCore.Create;
GlobalCEFApp.WindowlessRenderingEnabled := True;
GlobalCEFApp.EnableGPU := True;
GlobalCEFApp.SetCurrentDir := True;
//GlobalCEFApp.LogFile := 'debug.log';
//GlobalCEFApp.LogSeverity := LOGSEVERITY_VERBOSE;

View File

@ -16,7 +16,7 @@ object Form1: TForm1
OnHide = FormHide
OnShow = FormShow
Position = poScreenCenter
LCLVersion = '2.2.4.0'
LCLVersion = '3.0.0.3'
object NavControlPnl: TPanel
Left = 0
Height = 21
@ -27,6 +27,7 @@ object Form1: TForm1
ClientHeight = 21
ClientWidth = 800
Enabled = False
ParentBackground = False
TabOrder = 0
object ComboBox1: TComboBox
Left = 0
@ -41,9 +42,9 @@ object Form1: TForm1
'https://www.briskbard.com'
'https://frames-per-second.appspot.com/'
)
OnEnter = ComboBox1Enter
TabOrder = 0
Text = 'https://www.google.com'
OnEnter = ComboBox1Enter
end
object Panel2: TPanel
Left = 731
@ -54,6 +55,7 @@ object Form1: TForm1
BevelOuter = bvNone
ClientHeight = 21
ClientWidth = 69
ParentBackground = False
TabOrder = 1
object GoBtn: TButton
Left = 4
@ -61,9 +63,9 @@ object Form1: TForm1
Top = 0
Width = 31
Caption = 'Go'
TabOrder = 0
OnClick = GoBtnClick
OnEnter = GoBtnEnter
TabOrder = 0
end
object SnapshotBtn: TButton
Left = 38
@ -76,12 +78,12 @@ object Form1: TForm1
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Webdings'
OnClick = SnapshotBtnClick
OnEnter = SnapshotBtnEnter
ParentFont = False
ParentShowHint = False
ShowHint = True
TabOrder = 1
OnClick = SnapshotBtnClick
OnEnter = SnapshotBtnEnter
end
end
end

View File

@ -158,6 +158,7 @@ begin
GlobalCEFApp.WindowlessRenderingEnabled := True;
GlobalCEFApp.EnableGPU := True;
GlobalCEFApp.BrowserSubprocessPath := 'VirtualUIBrowser_sp.exe';
GlobalCEFApp.SetCurrentDir := True;
//GlobalCEFApp.LogFile := 'debug.log';
//GlobalCEFApp.LogSeverity := LOGSEVERITY_VERBOSE;
end;

View File

@ -67,6 +67,7 @@ procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.WindowlessRenderingEnabled := True;
GlobalCEFApp.SetCurrentDir := True;
end;
procedure TWebpageSnapshotFrm.GoBtnClick(Sender: TObject);

View File

@ -21,7 +21,7 @@
</CompilerOptions>
<Description Value="CEF4Delphi is an open source project created by Salvador Díaz Fau to embed Chromium-based browsers in applications made with Delphi or Lazarus/FPC."/>
<License Value="MPL 1.1"/>
<Version Major="120" Minor="1" Release="9"/>
<Version Major="120" Minor="1" Release="10"/>
<Files Count="215">
<Item1>
<Filename Value="..\source\uCEFAccessibilityHandler.pas"/>

View File

@ -14,7 +14,7 @@ interface
uses
{$IFDEF LINUX}
{$IFDEF FPC}
ctypes, keysym, xf86keysym, x, xlib,
ctypes, keysym, xf86keysym, x, xlib, LCLVersion,
{$IFDEF LCLGTK2}gtk2, glib2, gdk2, gtk2proc, gtk2int, Gtk2Def, gdk2x, Gtk2Extra,{$ENDIF}
{$IFDEF LCLGTK3}LazGdk3, LazGtk3, LazGObject2, LazGLib2, gtk3objects, gtk3procs,{$ENDIF}
{$ENDIF}
@ -24,7 +24,12 @@ uses
{$IFDEF LINUX}
procedure GdkEventKeyToCEFKeyEvent(GdkEvent: PGdkEventKey; var aCEFKeyEvent : TCEFKeyEvent);
function KeyboardCodeFromXKeysym(keysym : uint32) : integer;
{$IFDEF LCLGTK2 or (LCLGTK3 and (LCL_FULLVERSION<3000000))}
function GetCefStateModifiers(state : uint32) : integer;
{$ENDIF}
{$IFDEF LCLGTK3 and (LCL_FULLVERSION>3000000)}
function GetCefStateModifiers(state : TGdkModifierType) : integer;
{$ENDIF}
function GdkEventToWindowsKeyCode(Event: PGdkEventKey) : integer;
function GetWindowsKeyCodeWithoutLocation(key_code : integer) : integer;
function GetControlCharacter(windows_key_code : integer; shift : boolean) : integer;
@ -48,10 +53,16 @@ function gdk_screen_get_resolution(screen:PGdkScreen):gdouble; cdecl; external '
{$ENDIF}
{$IFDEF FPC}
{$IFDEF LCLGTK3}
{$IF LCL_FULLVERSION>3000000}
function gdk_x11_window_get_xid(window: PGdkWindow): TXID; cdecl; external LazGdk3_library;
function gdk_x11_get_default_xdisplay: PDisplay; cdecl; external LazGdk3_library;
procedure gdk_set_allowed_backends(const backends: PGchar); cdecl; external LazGdk3_library;
{$ELSE}
function gdk_x11_window_get_xid(window: PGdkWindow): TXID; cdecl; external Gdk3_library;
function gdk_x11_get_default_xdisplay: PDisplay; cdecl; external Gdk3_library;
procedure gdk_set_allowed_backends(const backends: PGchar); cdecl; external Gdk3_library;
{$ENDIF}
{$ENDIF}
procedure ShowX11Message(const aMessage : string);
{$ENDIF}{$ENDIF}
@ -448,6 +459,7 @@ begin
end;
end;
{$IFDEF LCLGTK2 or (LCLGTK3 and (LCL_FULLVERSION<3000000))}
function GetCefStateModifiers(state : uint32) : integer;
begin
Result := EVENTFLAG_NONE;
@ -473,6 +485,36 @@ begin
if ((state and GDK_BUTTON3_MASK) <> 0) then
Result := Result or EVENTFLAG_RIGHT_MOUSE_BUTTON;
end;
{$ENDIF}
{$IFDEF LCLGTK3 and (LCL_FULLVERSION>3000000)}
function GetCefStateModifiers(state : TGdkModifierType) : integer;
begin
Result := EVENTFLAG_NONE;
if (GDK_SHIFT_MASK in state) then
Result := Result or EVENTFLAG_SHIFT_DOWN;
if (GDK_LOCK_MASK in state) then
Result := Result or EVENTFLAG_CAPS_LOCK_ON;
if (GDK_CONTROL_MASK in state) then
Result := Result or EVENTFLAG_CONTROL_DOWN;
if (GDK_MOD1_MASK in state) then
Result := Result or EVENTFLAG_ALT_DOWN;
if (GDK_BUTTON1_MASK in state) then
Result := Result or EVENTFLAG_LEFT_MOUSE_BUTTON;
if (GDK_BUTTON2_MASK in state) then
Result := Result or EVENTFLAG_MIDDLE_MOUSE_BUTTON;
if (GDK_BUTTON3_MASK in state) then
Result := Result or EVENTFLAG_RIGHT_MOUSE_BUTTON;
end;
{$ENDIF}
function GdkEventToWindowsKeyCode(event: PGdkEventKey) : integer;
var

View File

@ -1,9 +1,9 @@
CEF_SUPPORTED_VERSION_MAJOR = 120;
CEF_SUPPORTED_VERSION_MINOR = 1;
CEF_SUPPORTED_VERSION_RELEASE = 9;
CEF_SUPPORTED_VERSION_RELEASE = 10;
CEF_SUPPORTED_VERSION_BUILD = 0;
CEF_CHROMEELF_VERSION_MAJOR = CEF_SUPPORTED_VERSION_MAJOR;
CEF_CHROMEELF_VERSION_MINOR = 0;
CEF_CHROMEELF_VERSION_RELEASE = 6099;
CEF_CHROMEELF_VERSION_BUILD = 109;
CEF_CHROMEELF_VERSION_BUILD = 129;

View File

@ -2,9 +2,9 @@
"UpdateLazPackages" : [
{
"ForceNotify" : true,
"InternalVersion" : 547,
"InternalVersion" : 548,
"Name" : "cef4delphi_lazarus.lpk",
"Version" : "120.1.9"
"Version" : "120.1.10"
}
],
"UpdatePackageData" : {