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 101.0.15
This commit is contained in:
@@ -54,6 +54,7 @@ uses
|
||||
type
|
||||
TCefDownloadHandlerOwn = class(TCefBaseRefCountedOwn, ICefDownloadHandler)
|
||||
protected
|
||||
function CanDownload(const browser: ICefBrowser; const url, request_method: ustring): boolean; virtual;
|
||||
procedure OnBeforeDownload(const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const suggestedName: ustring; const callback: ICefBeforeDownloadCallback); virtual;
|
||||
procedure OnDownloadUpdated(const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const callback: ICefDownloadItemCallback); virtual;
|
||||
|
||||
@@ -67,6 +68,7 @@ type
|
||||
protected
|
||||
FEvents : Pointer;
|
||||
|
||||
function CanDownload(const browser: ICefBrowser; const url, request_method: ustring): boolean; override;
|
||||
procedure OnBeforeDownload(const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const suggestedName: ustring; const callback: ICefBeforeDownloadCallback); override;
|
||||
procedure OnDownloadUpdated(const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const callback: ICefDownloadItemCallback); override;
|
||||
|
||||
@@ -83,6 +85,22 @@ uses
|
||||
uCEFMiscFunctions, uCEFLibFunctions, uCEFBrowser, uCEFDownLoadItem, uCEFBeforeDownloadCallback,
|
||||
uCEFDownloadItemCallback;
|
||||
|
||||
function cef_download_handler_can_download( self : PCefDownloadHandler;
|
||||
browser : PCefBrowser;
|
||||
const url : PCefString;
|
||||
const request_method : PCefString): integer; stdcall;
|
||||
var
|
||||
TempObject : TObject;
|
||||
begin
|
||||
Result := Ord(True);
|
||||
TempObject := CefGetObject(self);
|
||||
|
||||
if (TempObject <> nil) and (TempObject is TCefDownloadHandlerOwn) then
|
||||
Result := Ord(TCefDownloadHandlerOwn(TempObject).CanDownload(TCefBrowserRef.UnWrap(browser),
|
||||
CefString(url),
|
||||
CefString(request_method)));
|
||||
end;
|
||||
|
||||
procedure cef_download_handler_on_before_download( self : PCefDownloadHandler;
|
||||
browser : PCefBrowser;
|
||||
download_item : PCefDownloadItem;
|
||||
@@ -121,11 +139,17 @@ begin
|
||||
|
||||
with PCefDownloadHandler(FData)^ do
|
||||
begin
|
||||
can_download := {$IFDEF FPC}@{$ENDIF}cef_download_handler_can_download;
|
||||
on_before_download := {$IFDEF FPC}@{$ENDIF}cef_download_handler_on_before_download;
|
||||
on_download_updated := {$IFDEF FPC}@{$ENDIF}cef_download_handler_on_download_updated;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TCefDownloadHandlerOwn.CanDownload(const browser: ICefBrowser; const url, request_method: ustring): boolean;
|
||||
begin
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
procedure TCefDownloadHandlerOwn.OnBeforeDownload(const browser : ICefBrowser;
|
||||
const downloadItem : ICefDownloadItem;
|
||||
const suggestedName : ustring;
|
||||
@@ -167,19 +191,31 @@ begin
|
||||
FEvents := nil;
|
||||
end;
|
||||
|
||||
function TCustomDownloadHandler.CanDownload(const browser : ICefBrowser;
|
||||
const url : ustring;
|
||||
const request_method : ustring): boolean;
|
||||
begin
|
||||
Result := True;
|
||||
|
||||
if (FEvents <> nil) then
|
||||
Result := IChromiumEvents(FEvents).doOnCanDownload(browser, url, request_method);
|
||||
end;
|
||||
|
||||
procedure TCustomDownloadHandler.OnBeforeDownload(const browser : ICefBrowser;
|
||||
const downloadItem : ICefDownloadItem;
|
||||
const suggestedName : ustring;
|
||||
const callback : ICefBeforeDownloadCallback);
|
||||
begin
|
||||
if (FEvents <> nil) then IChromiumEvents(FEvents).doOnBeforeDownload(browser, downloadItem, suggestedName, callback);
|
||||
if (FEvents <> nil) then
|
||||
IChromiumEvents(FEvents).doOnBeforeDownload(browser, downloadItem, suggestedName, callback);
|
||||
end;
|
||||
|
||||
procedure TCustomDownloadHandler.OnDownloadUpdated(const browser : ICefBrowser;
|
||||
const downloadItem : ICefDownloadItem;
|
||||
const callback : ICefDownloadItemCallback);
|
||||
begin
|
||||
if (FEvents <> nil) then IChromiumEvents(FEvents).doOnDownloadUpdated(browser, downloadItem, callback);
|
||||
if (FEvents <> nil) then
|
||||
IChromiumEvents(FEvents).doOnDownloadUpdated(browser, downloadItem, callback);
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
Reference in New Issue
Block a user