2021-02-18 23:55:24 +01:00
|
|
|
unit GlobalCefApplication;
|
|
|
|
|
|
|
|
{$mode ObjFPC}{$H+}
|
2023-11-27 18:21:07 +01:00
|
|
|
{$I ../../../source/cef.inc}
|
2021-02-18 23:55:24 +01:00
|
|
|
|
|
|
|
interface
|
|
|
|
|
|
|
|
uses
|
2024-12-04 16:10:43 +01:00
|
|
|
uCEFLazarusCocoa, uCEFApplication, uCEFWorkScheduler, uCEFConstants;
|
2021-02-18 23:55:24 +01:00
|
|
|
|
|
|
|
procedure CreateGlobalCEFApp;
|
|
|
|
|
|
|
|
implementation
|
|
|
|
|
|
|
|
procedure GlobalCEFApp_OnScheduleMessagePumpWork(const aDelayMS : int64);
|
|
|
|
begin
|
|
|
|
if (GlobalCEFWorkScheduler <> nil) then GlobalCEFWorkScheduler.ScheduleMessagePumpWork(aDelayMS);
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure CreateGlobalCEFApp;
|
|
|
|
begin
|
2024-12-04 16:10:43 +01:00
|
|
|
AddCrDelegate;
|
2021-02-18 23:55:24 +01:00
|
|
|
|
|
|
|
// TCEFWorkScheduler will call cef_do_message_loop_work when
|
|
|
|
// it's told in the GlobalCEFApp.OnScheduleMessagePumpWork event.
|
|
|
|
// GlobalCEFWorkScheduler needs to be created before the
|
|
|
|
// GlobalCEFApp.StartMainProcess call.
|
|
|
|
GlobalCEFWorkScheduler := TCEFWorkScheduler.Create(nil);
|
|
|
|
|
|
|
|
GlobalCEFApp := TCefApplication.Create;
|
|
|
|
GlobalCEFApp.ExternalMessagePump := True;
|
|
|
|
GlobalCEFApp.MultiThreadedMessageLoop := False;
|
|
|
|
GlobalCEFApp.OnScheduleMessagePumpWork := @GlobalCEFApp_OnScheduleMessagePumpWork;
|
|
|
|
|
|
|
|
(* Enable the below to prevent being asked for permission to access "Chromium Safe Storage"
|
|
|
|
If set to true, Cookies will not be encrypted.
|
|
|
|
*)
|
2024-09-09 13:16:03 +02:00
|
|
|
GlobalCEFApp.UseMockKeyChain := True;
|
|
|
|
//GlobalCEFApp.EnableGPU := False;
|
|
|
|
//GlobalCEFApp.LogFile := 'debug.log';
|
|
|
|
//GlobalCEFApp.LogSeverity := LOGSEVERITY_VERBOSE;
|
2021-02-18 23:55:24 +01:00
|
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
end.
|
|
|
|
|