You've already forked CEF4Delphi
mirror of
https://github.com/salvadordf/CEF4Delphi.git
synced 2025-11-23 21:34:53 +02:00
Update to CEF 83.3.9
This commit is contained in:
@@ -54,6 +54,7 @@ uses
|
||||
type
|
||||
TCefClientRef = class(TCefBaseRefCountedRef, ICefClient)
|
||||
protected
|
||||
procedure GetAudioHandler(var aHandler : ICefAudioHandler); virtual;
|
||||
procedure GetContextMenuHandler(var aHandler : ICefContextMenuHandler); virtual;
|
||||
procedure GetDialogHandler(var aHandler : ICefDialogHandler); virtual;
|
||||
procedure GetDisplayHandler(var aHandler : ICefDisplayHandler); virtual;
|
||||
@@ -77,6 +78,7 @@ type
|
||||
|
||||
TCefClientOwn = class(TCefBaseRefCountedOwn, ICefClient)
|
||||
protected
|
||||
procedure GetAudioHandler(var aHandler : ICefAudioHandler); virtual;
|
||||
procedure GetContextMenuHandler(var aHandler : ICefContextMenuHandler); virtual;
|
||||
procedure GetDialogHandler(var aHandler : ICefDialogHandler); virtual;
|
||||
procedure GetDisplayHandler(var aHandler : ICefDisplayHandler); virtual;
|
||||
@@ -101,6 +103,7 @@ type
|
||||
TCustomClientHandler = class(TCefClientOwn)
|
||||
protected
|
||||
FEvents : Pointer;
|
||||
FAudioHandler : ICefAudioHandler;
|
||||
FLoadHandler : ICefLoadHandler;
|
||||
FFocusHandler : ICefFocusHandler;
|
||||
FContextMenuHandler : ICefContextMenuHandler;
|
||||
@@ -115,6 +118,7 @@ type
|
||||
FDragHandler : ICefDragHandler;
|
||||
FFindHandler : ICefFindHandler;
|
||||
|
||||
procedure GetAudioHandler(var aHandler : ICefAudioHandler); override;
|
||||
procedure GetContextMenuHandler(var aHandler : ICefContextMenuHandler); override;
|
||||
procedure GetDialogHandler(var aHandler : ICefDialogHandler); override;
|
||||
procedure GetDisplayHandler(var aHandler : ICefDisplayHandler); override;
|
||||
@@ -150,7 +154,7 @@ uses
|
||||
uCEFFocusHandler, uCEFContextMenuHandler, uCEFDialogHandler, uCEFKeyboardHandler,
|
||||
uCEFDisplayHandler, uCEFDownloadHandler, uCEFJsDialogHandler,
|
||||
uCEFLifeSpanHandler, uCEFRequestHandler, uCEFRenderHandler, uCEFDragHandler,
|
||||
uCEFFindHandler, uCEFConstants, uCEFApplicationCore, uCEFFrame;
|
||||
uCEFFindHandler, uCEFConstants, uCEFApplicationCore, uCEFFrame, uCEFAudioHandler;
|
||||
|
||||
|
||||
// ******************************************************
|
||||
@@ -165,6 +169,11 @@ begin
|
||||
Result := nil;
|
||||
end;
|
||||
|
||||
procedure TCefClientRef.GetAudioHandler(var aHandler : ICefAudioHandler);
|
||||
begin
|
||||
aHandler := nil;
|
||||
end;
|
||||
|
||||
procedure TCefClientRef.GetContextMenuHandler(var aHandler : ICefContextMenuHandler);
|
||||
begin
|
||||
aHandler := nil;
|
||||
@@ -246,6 +255,23 @@ end;
|
||||
// ******************************************************
|
||||
|
||||
|
||||
function cef_client_own_get_audio_handler(self: PCefClient): PCefAudioHandler; stdcall;
|
||||
var
|
||||
TempObject : TObject;
|
||||
TempHandler : ICefAudioHandler;
|
||||
begin
|
||||
Result := nil;
|
||||
TempObject := CefGetObject(self);
|
||||
|
||||
if (TempObject <> nil) and (TempObject is TCefClientOwn) then
|
||||
try
|
||||
TCefClientOwn(TempObject).GetAudioHandler(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;
|
||||
@@ -491,6 +517,7 @@ begin
|
||||
|
||||
with PCefClient(FData)^ do
|
||||
begin
|
||||
get_audio_handler := {$IFDEF FPC}@{$ENDIF}cef_client_own_get_audio_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;
|
||||
@@ -508,6 +535,11 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCefClientOwn.GetAudioHandler(var aHandler : ICefAudioHandler);
|
||||
begin
|
||||
aHandler := nil;
|
||||
end;
|
||||
|
||||
procedure TCefClientOwn.GetContextMenuHandler(var aHandler : ICefContextMenuHandler);
|
||||
begin
|
||||
aHandler := nil;
|
||||
@@ -608,6 +640,7 @@ begin
|
||||
end
|
||||
else
|
||||
begin
|
||||
if events.MustCreateAudioHandler then FAudioHandler := TCustomAudioHandler.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);
|
||||
@@ -636,6 +669,7 @@ procedure TCustomClientHandler.RemoveReferences;
|
||||
begin
|
||||
FEvents := nil;
|
||||
|
||||
if (FAudioHandler <> nil) then FAudioHandler.RemoveReferences;
|
||||
if (FLoadHandler <> nil) then FLoadHandler.RemoveReferences;
|
||||
if (FFocusHandler <> nil) then FFocusHandler.RemoveReferences;
|
||||
if (FContextMenuHandler <> nil) then FContextMenuHandler.RemoveReferences;
|
||||
@@ -653,6 +687,7 @@ end;
|
||||
|
||||
procedure TCustomClientHandler.InitializeVars;
|
||||
begin
|
||||
FAudioHandler := nil;
|
||||
FLoadHandler := nil;
|
||||
FFocusHandler := nil;
|
||||
FContextMenuHandler := nil;
|
||||
@@ -669,6 +704,14 @@ begin
|
||||
FEvents := nil;
|
||||
end;
|
||||
|
||||
procedure TCustomClientHandler.GetAudioHandler(var aHandler : ICefAudioHandler);
|
||||
begin
|
||||
if (FAudioHandler <> nil) then
|
||||
aHandler := FAudioHandler
|
||||
else
|
||||
aHandler := nil;
|
||||
end;
|
||||
|
||||
procedure TCustomClientHandler.GetContextMenuHandler(var aHandler : ICefContextMenuHandler);
|
||||
begin
|
||||
if (FContextMenuHandler <> nil) then
|
||||
|
||||
Reference in New Issue
Block a user