mirror of
https://github.com/salvadordf/CEF4Delphi.git
synced 2025-06-12 22:07:39 +02:00
Update to CEF 90.6.4
Added try..except blocks to TCustomRequestContextHandler and TCustomResourceRequestHandler events.
This commit is contained in:
parent
d24eec2794
commit
ff05abbe1b
16
README.md
16
README.md
@ -3,15 +3,15 @@ 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 first lines of any *.pas file.
|
||||
|
||||
CEF4Delphi uses CEF 90.6.3 which includes Chromium 90.0.4430.93.
|
||||
CEF4Delphi uses CEF 90.6.4 which includes Chromium 90.0.4430.93.
|
||||
The CEF binaries used by CEF4Delphi are available for download at spotify :
|
||||
* [Windows 32 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.3%2Bgc53c523%2Bchromium-90.0.4430.93_windows32.tar.bz2)
|
||||
* [Windows 64 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.3%2Bgc53c523%2Bchromium-90.0.4430.93_windows64.tar.bz2)
|
||||
* [Linux x86 32 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.3%2Bgc53c523%2Bchromium-90.0.4430.93_linux32.tar.bz2)
|
||||
* [Linux x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.3%2Bgc53c523%2Bchromium-90.0.4430.93_linux64.tar.bz2)
|
||||
* [Linux ARM 32 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.3%2Bgc53c523%2Bchromium-90.0.4430.93_linuxarm.tar.bz2)
|
||||
* [Linux ARM 64 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.3%2Bgc53c523%2Bchromium-90.0.4430.93_linuxarm64.tar.bz2)
|
||||
* [MacOS x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.3%2Bgc53c523%2Bchromium-90.0.4430.93_macosx64.tar.bz2)
|
||||
* [Windows 32 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.4%2Bgf03d75a%2Bchromium-90.0.4430.93_windows32.tar.bz2)
|
||||
* [Windows 64 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.4%2Bgf03d75a%2Bchromium-90.0.4430.93_windows64.tar.bz2)
|
||||
* [Linux x86 32 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.4%2Bgf03d75a%2Bchromium-90.0.4430.93_linux32.tar.bz2)
|
||||
* [Linux x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.4%2Bgf03d75a%2Bchromium-90.0.4430.93_linux64.tar.bz2)
|
||||
* [Linux ARM 32 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.4%2Bgf03d75a%2Bchromium-90.0.4430.93_linuxarm.tar.bz2)
|
||||
* [Linux ARM 64 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.4%2Bgf03d75a%2Bchromium-90.0.4430.93_linuxarm64.tar.bz2)
|
||||
* [MacOS x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_90.6.4%2Bgf03d75a%2Bchromium-90.0.4430.93_macosx64.tar.bz2)
|
||||
|
||||
CEF4Delphi was developed and tested on Delphi 10.4.2 and it has been tested in Delphi 7, Delphi XE, Delphi 10, Delphi 10.2, Delphi 10.3 and Lazarus 2.0.12/FPC 3.2.0. CEF4Delphi includes VCL, FireMonkey (FMX) and Lazarus components.
|
||||
|
||||
|
@ -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="90" Minor="6" Release="3"/>
|
||||
<Version Major="90" Minor="6" Release="4"/>
|
||||
<Files Count="201">
|
||||
<Item1>
|
||||
<Filename Value="..\source\uCEFAccessibilityHandler.pas"/>
|
||||
|
@ -66,7 +66,7 @@ uses
|
||||
const
|
||||
CEF_SUPPORTED_VERSION_MAJOR = 90;
|
||||
CEF_SUPPORTED_VERSION_MINOR = 6;
|
||||
CEF_SUPPORTED_VERSION_RELEASE = 3;
|
||||
CEF_SUPPORTED_VERSION_RELEASE = 4;
|
||||
CEF_SUPPORTED_VERSION_BUILD = 0;
|
||||
|
||||
CEF_CHROMEELF_VERSION_MAJOR = 90;
|
||||
|
@ -49,6 +49,11 @@ unit uCEFRequestContextHandler;
|
||||
interface
|
||||
|
||||
uses
|
||||
{$IFDEF DELPHI16_UP}
|
||||
System.SysUtils,
|
||||
{$ELSE}
|
||||
SysUtils,
|
||||
{$ENDIF}
|
||||
uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
|
||||
|
||||
type
|
||||
@ -219,6 +224,7 @@ end;
|
||||
|
||||
procedure TCefRequestContextHandlerRef.OnRequestContextInitialized(const request_context: ICefRequestContext);
|
||||
begin
|
||||
|
||||
PCefRequestContextHandler(FData)^.on_request_context_initialized(PCefRequestContextHandler(FData), CefGetData(request_context));
|
||||
end;
|
||||
|
||||
@ -261,6 +267,7 @@ begin
|
||||
TempRequestInitiator := CefString(request_initiator);
|
||||
TempDisableDefaultHandling := ord(disable_default_handling);
|
||||
TempResourceRequestHandler := PCefRequestContextHandler(FData)^.get_resource_request_handler(PCefRequestContextHandler(FData),
|
||||
|
||||
CefGetData(browser),
|
||||
CefGetData(frame),
|
||||
CefGetData(request),
|
||||
@ -314,10 +321,13 @@ end;
|
||||
|
||||
procedure TCustomRequestContextHandler.OnRequestContextInitialized(const request_context: ICefRequestContext);
|
||||
begin
|
||||
try
|
||||
if (FEvents <> nil) then
|
||||
IChromiumEvents(FEvents).doOnRequestContextInitialized(request_context)
|
||||
else
|
||||
inherited OnRequestContextInitialized(request_context);
|
||||
IChromiumEvents(FEvents).doOnRequestContextInitialized(request_context);
|
||||
except
|
||||
on e : exception do
|
||||
if CustomExceptionHandler('TCustomRequestContextHandler.OnRequestContextInitialized', e) then raise;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TCustomRequestContextHandler.OnBeforePluginLoad(const mimeType : ustring;
|
||||
@ -327,20 +337,20 @@ function TCustomRequestContextHandler.OnBeforePluginLoad(const mimeType : us
|
||||
const pluginInfo : ICefWebPluginInfo;
|
||||
var pluginPolicy : TCefPluginPolicy): Boolean;
|
||||
begin
|
||||
Result := False;
|
||||
|
||||
try
|
||||
if (FEvents <> nil) then
|
||||
Result := IChromiumEvents(FEvents).doOnBeforePluginLoad(mimeType,
|
||||
pluginUrl,
|
||||
isMainFrame,
|
||||
topOriginUrl,
|
||||
pluginInfo,
|
||||
pluginPolicy)
|
||||
else
|
||||
Result := inherited OnBeforePluginLoad(mimeType,
|
||||
pluginUrl,
|
||||
isMainFrame,
|
||||
topOriginUrl,
|
||||
pluginInfo,
|
||||
pluginPolicy);
|
||||
except
|
||||
on e : exception do
|
||||
if CustomExceptionHandler('TCustomRequestContextHandler.OnBeforePluginLoad', e) then raise;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCustomRequestContextHandler.GetResourceRequestHandler(const browser : ICefBrowser;
|
||||
@ -352,17 +362,9 @@ procedure TCustomRequestContextHandler.GetResourceRequestHandler(const browser
|
||||
var disable_default_handling : boolean;
|
||||
var aResourceRequestHandler : ICefResourceRequestHandler);
|
||||
begin
|
||||
try
|
||||
if (FEvents <> nil) then
|
||||
IChromiumEvents(FEvents).doGetResourceRequestHandler_ReqCtxHdlr(browser,
|
||||
frame,
|
||||
request,
|
||||
is_navigation,
|
||||
is_download,
|
||||
request_initiator,
|
||||
disable_default_handling,
|
||||
aResourceRequestHandler)
|
||||
else
|
||||
inherited GetResourceRequestHandler(browser,
|
||||
frame,
|
||||
request,
|
||||
is_navigation,
|
||||
@ -370,6 +372,10 @@ begin
|
||||
request_initiator,
|
||||
disable_default_handling,
|
||||
aResourceRequestHandler);
|
||||
except
|
||||
on e : exception do
|
||||
if CustomExceptionHandler('TCustomRequestContextHandler.GetResourceRequestHandler', e) then raise;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
@ -558,7 +558,8 @@ procedure TCustomResourceRequestHandler.RemoveReferences;
|
||||
begin
|
||||
FEvents := nil;
|
||||
|
||||
if (FCookieAccessFilter <> nil) then FCookieAccessFilter.RemoveReferences;
|
||||
if (FCookieAccessFilter <> nil) then
|
||||
FCookieAccessFilter.RemoveReferences;
|
||||
end;
|
||||
|
||||
procedure TCustomResourceRequestHandler.InitializeVars;
|
||||
@ -583,10 +584,15 @@ function TCustomResourceRequestHandler.OnBeforeResourceLoad(const browser : ICe
|
||||
const request : ICefRequest;
|
||||
const callback : ICefRequestCallback): TCefReturnValue;
|
||||
begin
|
||||
Result := RV_CONTINUE;
|
||||
|
||||
try
|
||||
if (FEvents <> nil) then
|
||||
Result := IChromiumEvents(FEvents).doOnBeforeResourceLoad(browser, frame, request, callback)
|
||||
else
|
||||
Result := inherited OnBeforeResourceLoad(browser, frame, request, callback);
|
||||
Result := IChromiumEvents(FEvents).doOnBeforeResourceLoad(browser, frame, request, callback);
|
||||
except
|
||||
on e : exception do
|
||||
if CustomExceptionHandler('TCustomResourceRequestHandler.OnBeforeResourceLoad', e) then raise;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCustomResourceRequestHandler.GetResourceHandler(const browser : ICefBrowser;
|
||||
@ -594,10 +600,13 @@ procedure TCustomResourceRequestHandler.GetResourceHandler(const browser
|
||||
const request : ICefRequest;
|
||||
var aResourceHandler : ICefResourceHandler);
|
||||
begin
|
||||
try
|
||||
if (FEvents <> nil) then
|
||||
IChromiumEvents(FEvents).doOnGetResourceHandler(browser, frame, request, aResourceHandler)
|
||||
else
|
||||
inherited GetResourceHandler(browser, frame, request, aResourceHandler);
|
||||
IChromiumEvents(FEvents).doOnGetResourceHandler(browser, frame, request, aResourceHandler);
|
||||
except
|
||||
on e : exception do
|
||||
if CustomExceptionHandler('TCustomResourceRequestHandler.GetResourceHandler', e) then raise;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCustomResourceRequestHandler.OnResourceRedirect(const browser : ICefBrowser;
|
||||
@ -606,8 +615,13 @@ procedure TCustomResourceRequestHandler.OnResourceRedirect(const browser : ICef
|
||||
const response : ICefResponse;
|
||||
var newUrl : ustring);
|
||||
begin
|
||||
try
|
||||
if (FEvents <> nil) then
|
||||
IChromiumEvents(FEvents).doOnResourceRedirect(browser, frame, request, response, newUrl);
|
||||
except
|
||||
on e : exception do
|
||||
if CustomExceptionHandler('TCustomResourceRequestHandler.OnResourceRedirect', e) then raise;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TCustomResourceRequestHandler.OnResourceResponse(const browser : ICefBrowser;
|
||||
@ -615,10 +629,15 @@ function TCustomResourceRequestHandler.OnResourceResponse(const browser : ICefB
|
||||
const request : ICefRequest;
|
||||
const response : ICefResponse): Boolean;
|
||||
begin
|
||||
Result := False;
|
||||
|
||||
try
|
||||
if (FEvents <> nil) then
|
||||
Result := IChromiumEvents(FEvents).doOnResourceResponse(browser, frame, request, response)
|
||||
else
|
||||
Result := inherited OnResourceResponse(browser, frame, request, response);
|
||||
Result := IChromiumEvents(FEvents).doOnResourceResponse(browser, frame, request, response);
|
||||
except
|
||||
on e : exception do
|
||||
if CustomExceptionHandler('TCustomResourceRequestHandler.OnResourceResponse', e) then raise;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCustomResourceRequestHandler.GetResourceResponseFilter(const browser : ICefBrowser;
|
||||
@ -627,10 +646,13 @@ procedure TCustomResourceRequestHandler.GetResourceResponseFilter(const browser
|
||||
const response : ICefResponse;
|
||||
var aResponseFilter : ICefResponseFilter);
|
||||
begin
|
||||
try
|
||||
if (FEvents <> nil) then
|
||||
IChromiumEvents(FEvents).doOnGetResourceResponseFilter(browser, frame, request, response, aResponseFilter)
|
||||
else
|
||||
inherited GetResourceResponseFilter(browser, frame, request, response, aResponseFilter);
|
||||
IChromiumEvents(FEvents).doOnGetResourceResponseFilter(browser, frame, request, response, aResponseFilter);
|
||||
except
|
||||
on e : exception do
|
||||
if CustomExceptionHandler('TCustomResourceRequestHandler.GetResourceResponseFilter', e) then raise;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCustomResourceRequestHandler.OnResourceLoadComplete(const browser : ICefBrowser;
|
||||
@ -640,8 +662,13 @@ procedure TCustomResourceRequestHandler.OnResourceLoadComplete(const browser
|
||||
status : TCefUrlRequestStatus;
|
||||
receivedContentLength : Int64);
|
||||
begin
|
||||
try
|
||||
if (FEvents <> nil) then
|
||||
IChromiumEvents(FEvents).doOnResourceLoadComplete(browser, frame, request, response, status, receivedContentLength);
|
||||
except
|
||||
on e : exception do
|
||||
if CustomExceptionHandler('TCustomResourceRequestHandler.OnResourceLoadComplete', e) then raise;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCustomResourceRequestHandler.OnProtocolExecution(const browser : ICefBrowser;
|
||||
@ -649,10 +676,13 @@ procedure TCustomResourceRequestHandler.OnProtocolExecution(const browser
|
||||
const request : ICefRequest;
|
||||
var allowOsExecution : Boolean);
|
||||
begin
|
||||
try
|
||||
if (FEvents <> nil) then
|
||||
IChromiumEvents(FEvents).doOnProtocolExecution(browser, frame, request, allowOsExecution);
|
||||
except
|
||||
on e : exception do
|
||||
if CustomExceptionHandler('TCustomResourceRequestHandler.OnProtocolExecution', e) then raise;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
end.
|
||||
|
@ -2,9 +2,9 @@
|
||||
"UpdateLazPackages" : [
|
||||
{
|
||||
"ForceNotify" : true,
|
||||
"InternalVersion" : 286,
|
||||
"InternalVersion" : 287,
|
||||
"Name" : "cef4delphi_lazarus.lpk",
|
||||
"Version" : "90.6.3.0"
|
||||
"Version" : "90.6.4.0"
|
||||
}
|
||||
],
|
||||
"UpdatePackageData" : {
|
||||
|
Loading…
x
Reference in New Issue
Block a user