mirror of
https://github.com/salvadordf/CEF4Delphi.git
synced 2025-04-17 06:57:13 +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 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 :
|
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 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.3%2Bgc53c523%2Bchromium-90.0.4430.93_windows64.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.3%2Bgc53c523%2Bchromium-90.0.4430.93_linux32.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.3%2Bgc53c523%2Bchromium-90.0.4430.93_linux64.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.3%2Bgc53c523%2Bchromium-90.0.4430.93_linuxarm.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.3%2Bgc53c523%2Bchromium-90.0.4430.93_linuxarm64.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.3%2Bgc53c523%2Bchromium-90.0.4430.93_macosx64.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.
|
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>
|
</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."/>
|
<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"/>
|
<License Value="MPL 1.1"/>
|
||||||
<Version Major="90" Minor="6" Release="3"/>
|
<Version Major="90" Minor="6" Release="4"/>
|
||||||
<Files Count="201">
|
<Files Count="201">
|
||||||
<Item1>
|
<Item1>
|
||||||
<Filename Value="..\source\uCEFAccessibilityHandler.pas"/>
|
<Filename Value="..\source\uCEFAccessibilityHandler.pas"/>
|
||||||
|
@ -66,7 +66,7 @@ uses
|
|||||||
const
|
const
|
||||||
CEF_SUPPORTED_VERSION_MAJOR = 90;
|
CEF_SUPPORTED_VERSION_MAJOR = 90;
|
||||||
CEF_SUPPORTED_VERSION_MINOR = 6;
|
CEF_SUPPORTED_VERSION_MINOR = 6;
|
||||||
CEF_SUPPORTED_VERSION_RELEASE = 3;
|
CEF_SUPPORTED_VERSION_RELEASE = 4;
|
||||||
CEF_SUPPORTED_VERSION_BUILD = 0;
|
CEF_SUPPORTED_VERSION_BUILD = 0;
|
||||||
|
|
||||||
CEF_CHROMEELF_VERSION_MAJOR = 90;
|
CEF_CHROMEELF_VERSION_MAJOR = 90;
|
||||||
|
@ -49,6 +49,11 @@ unit uCEFRequestContextHandler;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
|
{$IFDEF DELPHI16_UP}
|
||||||
|
System.SysUtils,
|
||||||
|
{$ELSE}
|
||||||
|
SysUtils,
|
||||||
|
{$ENDIF}
|
||||||
uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
|
uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
|
||||||
|
|
||||||
type
|
type
|
||||||
@ -219,6 +224,7 @@ end;
|
|||||||
|
|
||||||
procedure TCefRequestContextHandlerRef.OnRequestContextInitialized(const request_context: ICefRequestContext);
|
procedure TCefRequestContextHandlerRef.OnRequestContextInitialized(const request_context: ICefRequestContext);
|
||||||
begin
|
begin
|
||||||
|
|
||||||
PCefRequestContextHandler(FData)^.on_request_context_initialized(PCefRequestContextHandler(FData), CefGetData(request_context));
|
PCefRequestContextHandler(FData)^.on_request_context_initialized(PCefRequestContextHandler(FData), CefGetData(request_context));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -261,6 +267,7 @@ begin
|
|||||||
TempRequestInitiator := CefString(request_initiator);
|
TempRequestInitiator := CefString(request_initiator);
|
||||||
TempDisableDefaultHandling := ord(disable_default_handling);
|
TempDisableDefaultHandling := ord(disable_default_handling);
|
||||||
TempResourceRequestHandler := PCefRequestContextHandler(FData)^.get_resource_request_handler(PCefRequestContextHandler(FData),
|
TempResourceRequestHandler := PCefRequestContextHandler(FData)^.get_resource_request_handler(PCefRequestContextHandler(FData),
|
||||||
|
|
||||||
CefGetData(browser),
|
CefGetData(browser),
|
||||||
CefGetData(frame),
|
CefGetData(frame),
|
||||||
CefGetData(request),
|
CefGetData(request),
|
||||||
@ -314,10 +321,13 @@ end;
|
|||||||
|
|
||||||
procedure TCustomRequestContextHandler.OnRequestContextInitialized(const request_context: ICefRequestContext);
|
procedure TCustomRequestContextHandler.OnRequestContextInitialized(const request_context: ICefRequestContext);
|
||||||
begin
|
begin
|
||||||
|
try
|
||||||
if (FEvents <> nil) then
|
if (FEvents <> nil) then
|
||||||
IChromiumEvents(FEvents).doOnRequestContextInitialized(request_context)
|
IChromiumEvents(FEvents).doOnRequestContextInitialized(request_context);
|
||||||
else
|
except
|
||||||
inherited OnRequestContextInitialized(request_context);
|
on e : exception do
|
||||||
|
if CustomExceptionHandler('TCustomRequestContextHandler.OnRequestContextInitialized', e) then raise;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TCustomRequestContextHandler.OnBeforePluginLoad(const mimeType : ustring;
|
function TCustomRequestContextHandler.OnBeforePluginLoad(const mimeType : ustring;
|
||||||
@ -327,20 +337,20 @@ function TCustomRequestContextHandler.OnBeforePluginLoad(const mimeType : us
|
|||||||
const pluginInfo : ICefWebPluginInfo;
|
const pluginInfo : ICefWebPluginInfo;
|
||||||
var pluginPolicy : TCefPluginPolicy): Boolean;
|
var pluginPolicy : TCefPluginPolicy): Boolean;
|
||||||
begin
|
begin
|
||||||
|
Result := False;
|
||||||
|
|
||||||
|
try
|
||||||
if (FEvents <> nil) then
|
if (FEvents <> nil) then
|
||||||
Result := IChromiumEvents(FEvents).doOnBeforePluginLoad(mimeType,
|
Result := IChromiumEvents(FEvents).doOnBeforePluginLoad(mimeType,
|
||||||
pluginUrl,
|
|
||||||
isMainFrame,
|
|
||||||
topOriginUrl,
|
|
||||||
pluginInfo,
|
|
||||||
pluginPolicy)
|
|
||||||
else
|
|
||||||
Result := inherited OnBeforePluginLoad(mimeType,
|
|
||||||
pluginUrl,
|
pluginUrl,
|
||||||
isMainFrame,
|
isMainFrame,
|
||||||
topOriginUrl,
|
topOriginUrl,
|
||||||
pluginInfo,
|
pluginInfo,
|
||||||
pluginPolicy);
|
pluginPolicy);
|
||||||
|
except
|
||||||
|
on e : exception do
|
||||||
|
if CustomExceptionHandler('TCustomRequestContextHandler.OnBeforePluginLoad', e) then raise;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCustomRequestContextHandler.GetResourceRequestHandler(const browser : ICefBrowser;
|
procedure TCustomRequestContextHandler.GetResourceRequestHandler(const browser : ICefBrowser;
|
||||||
@ -352,17 +362,9 @@ procedure TCustomRequestContextHandler.GetResourceRequestHandler(const browser
|
|||||||
var disable_default_handling : boolean;
|
var disable_default_handling : boolean;
|
||||||
var aResourceRequestHandler : ICefResourceRequestHandler);
|
var aResourceRequestHandler : ICefResourceRequestHandler);
|
||||||
begin
|
begin
|
||||||
|
try
|
||||||
if (FEvents <> nil) then
|
if (FEvents <> nil) then
|
||||||
IChromiumEvents(FEvents).doGetResourceRequestHandler_ReqCtxHdlr(browser,
|
IChromiumEvents(FEvents).doGetResourceRequestHandler_ReqCtxHdlr(browser,
|
||||||
frame,
|
|
||||||
request,
|
|
||||||
is_navigation,
|
|
||||||
is_download,
|
|
||||||
request_initiator,
|
|
||||||
disable_default_handling,
|
|
||||||
aResourceRequestHandler)
|
|
||||||
else
|
|
||||||
inherited GetResourceRequestHandler(browser,
|
|
||||||
frame,
|
frame,
|
||||||
request,
|
request,
|
||||||
is_navigation,
|
is_navigation,
|
||||||
@ -370,6 +372,10 @@ begin
|
|||||||
request_initiator,
|
request_initiator,
|
||||||
disable_default_handling,
|
disable_default_handling,
|
||||||
aResourceRequestHandler);
|
aResourceRequestHandler);
|
||||||
|
except
|
||||||
|
on e : exception do
|
||||||
|
if CustomExceptionHandler('TCustomRequestContextHandler.GetResourceRequestHandler', e) then raise;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
@ -558,7 +558,8 @@ procedure TCustomResourceRequestHandler.RemoveReferences;
|
|||||||
begin
|
begin
|
||||||
FEvents := nil;
|
FEvents := nil;
|
||||||
|
|
||||||
if (FCookieAccessFilter <> nil) then FCookieAccessFilter.RemoveReferences;
|
if (FCookieAccessFilter <> nil) then
|
||||||
|
FCookieAccessFilter.RemoveReferences;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCustomResourceRequestHandler.InitializeVars;
|
procedure TCustomResourceRequestHandler.InitializeVars;
|
||||||
@ -583,10 +584,15 @@ function TCustomResourceRequestHandler.OnBeforeResourceLoad(const browser : ICe
|
|||||||
const request : ICefRequest;
|
const request : ICefRequest;
|
||||||
const callback : ICefRequestCallback): TCefReturnValue;
|
const callback : ICefRequestCallback): TCefReturnValue;
|
||||||
begin
|
begin
|
||||||
|
Result := RV_CONTINUE;
|
||||||
|
|
||||||
|
try
|
||||||
if (FEvents <> nil) then
|
if (FEvents <> nil) then
|
||||||
Result := IChromiumEvents(FEvents).doOnBeforeResourceLoad(browser, frame, request, callback)
|
Result := IChromiumEvents(FEvents).doOnBeforeResourceLoad(browser, frame, request, callback);
|
||||||
else
|
except
|
||||||
Result := inherited OnBeforeResourceLoad(browser, frame, request, callback);
|
on e : exception do
|
||||||
|
if CustomExceptionHandler('TCustomResourceRequestHandler.OnBeforeResourceLoad', e) then raise;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCustomResourceRequestHandler.GetResourceHandler(const browser : ICefBrowser;
|
procedure TCustomResourceRequestHandler.GetResourceHandler(const browser : ICefBrowser;
|
||||||
@ -594,10 +600,13 @@ procedure TCustomResourceRequestHandler.GetResourceHandler(const browser
|
|||||||
const request : ICefRequest;
|
const request : ICefRequest;
|
||||||
var aResourceHandler : ICefResourceHandler);
|
var aResourceHandler : ICefResourceHandler);
|
||||||
begin
|
begin
|
||||||
|
try
|
||||||
if (FEvents <> nil) then
|
if (FEvents <> nil) then
|
||||||
IChromiumEvents(FEvents).doOnGetResourceHandler(browser, frame, request, aResourceHandler)
|
IChromiumEvents(FEvents).doOnGetResourceHandler(browser, frame, request, aResourceHandler);
|
||||||
else
|
except
|
||||||
inherited GetResourceHandler(browser, frame, request, aResourceHandler);
|
on e : exception do
|
||||||
|
if CustomExceptionHandler('TCustomResourceRequestHandler.GetResourceHandler', e) then raise;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCustomResourceRequestHandler.OnResourceRedirect(const browser : ICefBrowser;
|
procedure TCustomResourceRequestHandler.OnResourceRedirect(const browser : ICefBrowser;
|
||||||
@ -606,8 +615,13 @@ procedure TCustomResourceRequestHandler.OnResourceRedirect(const browser : ICef
|
|||||||
const response : ICefResponse;
|
const response : ICefResponse;
|
||||||
var newUrl : ustring);
|
var newUrl : ustring);
|
||||||
begin
|
begin
|
||||||
|
try
|
||||||
if (FEvents <> nil) then
|
if (FEvents <> nil) then
|
||||||
IChromiumEvents(FEvents).doOnResourceRedirect(browser, frame, request, response, newUrl);
|
IChromiumEvents(FEvents).doOnResourceRedirect(browser, frame, request, response, newUrl);
|
||||||
|
except
|
||||||
|
on e : exception do
|
||||||
|
if CustomExceptionHandler('TCustomResourceRequestHandler.OnResourceRedirect', e) then raise;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TCustomResourceRequestHandler.OnResourceResponse(const browser : ICefBrowser;
|
function TCustomResourceRequestHandler.OnResourceResponse(const browser : ICefBrowser;
|
||||||
@ -615,10 +629,15 @@ function TCustomResourceRequestHandler.OnResourceResponse(const browser : ICefB
|
|||||||
const request : ICefRequest;
|
const request : ICefRequest;
|
||||||
const response : ICefResponse): Boolean;
|
const response : ICefResponse): Boolean;
|
||||||
begin
|
begin
|
||||||
|
Result := False;
|
||||||
|
|
||||||
|
try
|
||||||
if (FEvents <> nil) then
|
if (FEvents <> nil) then
|
||||||
Result := IChromiumEvents(FEvents).doOnResourceResponse(browser, frame, request, response)
|
Result := IChromiumEvents(FEvents).doOnResourceResponse(browser, frame, request, response);
|
||||||
else
|
except
|
||||||
Result := inherited OnResourceResponse(browser, frame, request, response);
|
on e : exception do
|
||||||
|
if CustomExceptionHandler('TCustomResourceRequestHandler.OnResourceResponse', e) then raise;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCustomResourceRequestHandler.GetResourceResponseFilter(const browser : ICefBrowser;
|
procedure TCustomResourceRequestHandler.GetResourceResponseFilter(const browser : ICefBrowser;
|
||||||
@ -627,10 +646,13 @@ procedure TCustomResourceRequestHandler.GetResourceResponseFilter(const browser
|
|||||||
const response : ICefResponse;
|
const response : ICefResponse;
|
||||||
var aResponseFilter : ICefResponseFilter);
|
var aResponseFilter : ICefResponseFilter);
|
||||||
begin
|
begin
|
||||||
|
try
|
||||||
if (FEvents <> nil) then
|
if (FEvents <> nil) then
|
||||||
IChromiumEvents(FEvents).doOnGetResourceResponseFilter(browser, frame, request, response, aResponseFilter)
|
IChromiumEvents(FEvents).doOnGetResourceResponseFilter(browser, frame, request, response, aResponseFilter);
|
||||||
else
|
except
|
||||||
inherited GetResourceResponseFilter(browser, frame, request, response, aResponseFilter);
|
on e : exception do
|
||||||
|
if CustomExceptionHandler('TCustomResourceRequestHandler.GetResourceResponseFilter', e) then raise;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCustomResourceRequestHandler.OnResourceLoadComplete(const browser : ICefBrowser;
|
procedure TCustomResourceRequestHandler.OnResourceLoadComplete(const browser : ICefBrowser;
|
||||||
@ -640,8 +662,13 @@ procedure TCustomResourceRequestHandler.OnResourceLoadComplete(const browser
|
|||||||
status : TCefUrlRequestStatus;
|
status : TCefUrlRequestStatus;
|
||||||
receivedContentLength : Int64);
|
receivedContentLength : Int64);
|
||||||
begin
|
begin
|
||||||
|
try
|
||||||
if (FEvents <> nil) then
|
if (FEvents <> nil) then
|
||||||
IChromiumEvents(FEvents).doOnResourceLoadComplete(browser, frame, request, response, status, receivedContentLength);
|
IChromiumEvents(FEvents).doOnResourceLoadComplete(browser, frame, request, response, status, receivedContentLength);
|
||||||
|
except
|
||||||
|
on e : exception do
|
||||||
|
if CustomExceptionHandler('TCustomResourceRequestHandler.OnResourceLoadComplete', e) then raise;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCustomResourceRequestHandler.OnProtocolExecution(const browser : ICefBrowser;
|
procedure TCustomResourceRequestHandler.OnProtocolExecution(const browser : ICefBrowser;
|
||||||
@ -649,10 +676,13 @@ procedure TCustomResourceRequestHandler.OnProtocolExecution(const browser
|
|||||||
const request : ICefRequest;
|
const request : ICefRequest;
|
||||||
var allowOsExecution : Boolean);
|
var allowOsExecution : Boolean);
|
||||||
begin
|
begin
|
||||||
|
try
|
||||||
if (FEvents <> nil) then
|
if (FEvents <> nil) then
|
||||||
IChromiumEvents(FEvents).doOnProtocolExecution(browser, frame, request, allowOsExecution);
|
IChromiumEvents(FEvents).doOnProtocolExecution(browser, frame, request, allowOsExecution);
|
||||||
|
except
|
||||||
|
on e : exception do
|
||||||
|
if CustomExceptionHandler('TCustomResourceRequestHandler.OnProtocolExecution', e) then raise;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
"UpdateLazPackages" : [
|
"UpdateLazPackages" : [
|
||||||
{
|
{
|
||||||
"ForceNotify" : true,
|
"ForceNotify" : true,
|
||||||
"InternalVersion" : 286,
|
"InternalVersion" : 287,
|
||||||
"Name" : "cef4delphi_lazarus.lpk",
|
"Name" : "cef4delphi_lazarus.lpk",
|
||||||
"Version" : "90.6.3.0"
|
"Version" : "90.6.4.0"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"UpdatePackageData" : {
|
"UpdatePackageData" : {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user