1
0
mirror of https://github.com/salvadordf/CEF4Delphi.git synced 2025-11-23 21:34:53 +02:00

Update to CEF 101.0.15

This commit is contained in:
salvadordf
2022-05-03 12:43:16 +02:00
parent 455a75c849
commit 3bca41ef4a
22 changed files with 414 additions and 39 deletions

View File

@@ -55,6 +55,7 @@ type
TCefClientRef = class(TCefBaseRefCountedRef, ICefClient)
protected
procedure GetAudioHandler(var aHandler : ICefAudioHandler); virtual;
procedure GetCommandHandler(var aHandler : ICefCommandHandler); virtual;
procedure GetContextMenuHandler(var aHandler : ICefContextMenuHandler); virtual;
procedure GetDialogHandler(var aHandler : ICefDialogHandler); virtual;
procedure GetDisplayHandler(var aHandler : ICefDisplayHandler); virtual;
@@ -81,6 +82,7 @@ type
TCefClientOwn = class(TCefBaseRefCountedOwn, ICefClient)
protected
procedure GetAudioHandler(var aHandler : ICefAudioHandler); virtual;
procedure GetCommandHandler(var aHandler : ICefCommandHandler); virtual;
procedure GetContextMenuHandler(var aHandler : ICefContextMenuHandler); virtual;
procedure GetDialogHandler(var aHandler : ICefDialogHandler); virtual;
procedure GetDisplayHandler(var aHandler : ICefDisplayHandler); virtual;
@@ -108,6 +110,7 @@ type
protected
FEvents : Pointer;
FAudioHandler : ICefAudioHandler;
FCommandHandler : ICefCommandHandler;
FLoadHandler : ICefLoadHandler;
FFocusHandler : ICefFocusHandler;
FContextMenuHandler : ICefContextMenuHandler;
@@ -125,6 +128,7 @@ type
FFrameHandler : ICefFrameHandler;
procedure GetAudioHandler(var aHandler : ICefAudioHandler); override;
procedure GetCommandHandler(var aHandler : ICefCommandHandler); override;
procedure GetContextMenuHandler(var aHandler : ICefContextMenuHandler); override;
procedure GetDialogHandler(var aHandler : ICefDialogHandler); override;
procedure GetDisplayHandler(var aHandler : ICefDisplayHandler); override;
@@ -163,7 +167,7 @@ uses
uCEFDisplayHandler, uCEFDownloadHandler, uCEFJsDialogHandler,
uCEFLifeSpanHandler, uCEFRequestHandler, uCEFRenderHandler, uCEFDragHandler,
uCEFFindHandler, uCEFConstants, uCEFApplicationCore, uCEFFrame, uCEFAudioHandler,
uCEFPrintHandler, uCEFFrameHandler;
uCEFPrintHandler, uCEFFrameHandler, uCEFCommandHandler;
// ******************************************************
@@ -183,6 +187,11 @@ begin
aHandler := nil;
end;
procedure TCefClientRef.GetCommandHandler(var aHandler : ICefCommandHandler);
begin
aHandler := nil;
end;
procedure TCefClientRef.GetContextMenuHandler(var aHandler : ICefContextMenuHandler);
begin
aHandler := nil;
@@ -291,6 +300,23 @@ begin
end;
end;
function cef_client_own_get_command_handler(self: PCefClient): PCefCommandHandler; stdcall;
var
TempObject : TObject;
TempHandler : ICefCommandHandler;
begin
Result := nil;
TempObject := CefGetObject(self);
if (TempObject <> nil) and (TempObject is TCefClientOwn) then
try
TCefClientOwn(TempObject).GetCommandHandler(TempHandler);
if (TempHandler <> nil) then Result := TempHandler.Wrap;
finally
TempHandler := nil;
end;
end;
function cef_client_own_get_context_menu_handler(self: PCefClient): PCefContextMenuHandler; stdcall;
var
TempObject : TObject;
@@ -572,6 +598,7 @@ begin
with PCefClient(FData)^ do
begin
get_audio_handler := {$IFDEF FPC}@{$ENDIF}cef_client_own_get_audio_handler;
get_command_handler := {$IFDEF FPC}@{$ENDIF}cef_client_own_get_command_handler;
get_context_menu_handler := {$IFDEF FPC}@{$ENDIF}cef_client_own_get_context_menu_handler;
get_dialog_handler := {$IFDEF FPC}@{$ENDIF}cef_client_own_get_dialog_handler;
get_display_handler := {$IFDEF FPC}@{$ENDIF}cef_client_own_get_display_handler;
@@ -596,6 +623,11 @@ begin
aHandler := nil;
end;
procedure TCefClientOwn.GetCommandHandler(var aHandler : ICefCommandHandler);
begin
aHandler := nil;
end;
procedure TCefClientOwn.GetContextMenuHandler(var aHandler : ICefContextMenuHandler);
begin
aHandler := nil;
@@ -707,6 +739,7 @@ begin
else
begin
if events.MustCreateAudioHandler then FAudioHandler := TCustomAudioHandler.Create(events);
if events.MustCreateCommandHandler then FCommandHandler := TCustomCommandHandler.Create(events);
if events.MustCreateLoadHandler then FLoadHandler := TCustomLoadHandler.Create(events);
if events.MustCreateFocusHandler then FFocusHandler := TCustomFocusHandler.Create(events);
if events.MustCreateContextMenuHandler then FContextMenuHandler := TCustomContextMenuHandler.Create(events);
@@ -738,6 +771,7 @@ begin
FEvents := nil;
if (FAudioHandler <> nil) then FAudioHandler.RemoveReferences;
if (FCommandHandler <> nil) then FCommandHandler.RemoveReferences;
if (FLoadHandler <> nil) then FLoadHandler.RemoveReferences;
if (FFocusHandler <> nil) then FFocusHandler.RemoveReferences;
if (FContextMenuHandler <> nil) then FContextMenuHandler.RemoveReferences;
@@ -758,6 +792,7 @@ end;
procedure TCustomClientHandler.InitializeVars;
begin
FAudioHandler := nil;
FCommandHandler := nil;
FLoadHandler := nil;
FFocusHandler := nil;
FContextMenuHandler := nil;
@@ -784,6 +819,14 @@ begin
aHandler := nil;
end;
procedure TCustomClientHandler.GetCommandHandler(var aHandler : ICefCommandHandler);
begin
if (FCommandHandler <> nil) then
aHandler := FCommandHandler
else
aHandler := nil;
end;
procedure TCustomClientHandler.GetContextMenuHandler(var aHandler : ICefContextMenuHandler);
begin
if (FContextMenuHandler <> nil) then