1
0
mirror of https://github.com/salvadordf/CEF4Delphi.git synced 2026-05-16 08:38:08 +02:00

Added TChromium.OnCookieVisitorDestroyed

- Removed TChromium.OnGetResourceRequestHandler
- Added TChromium.OnGetResourceRequestHandler_ReqHdlr
- Added TChromium.OnGetResourceRequestHandler_ReqCtxHdlr
- Modified the CookieVisitor demo to use TChromium.OnCookieVisitorDestroyed
This commit is contained in:
Salvador Díaz Fau
2019-11-08 14:32:03 +01:00
parent aec9e6b922
commit 427059dd9a
13 changed files with 339 additions and 244 deletions
+16 -41
View File
@@ -73,8 +73,7 @@ type
TCustomRequestHandler = class(TCefRequestHandlerOwn)
protected
FEvents : Pointer;
FResourceRequestHandler : ICefResourceRequestHandler;
FEvents : Pointer;
function OnBeforeBrowse(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; user_gesture, isRedirect: Boolean): Boolean; override;
function OnOpenUrlFromTab(const browser: ICefBrowser; const frame: ICefFrame; const targetUrl: ustring; targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean): Boolean; override;
@@ -87,8 +86,6 @@ type
procedure OnRenderViewReady(const browser: ICefBrowser); override;
procedure OnRenderProcessTerminated(const browser: ICefBrowser; status: TCefTerminationStatus); override;
procedure InitializeVars;
public
constructor Create(const events : IChromiumEvents); reintroduce; virtual;
procedure BeforeDestruction; override;
@@ -105,7 +102,7 @@ uses
{$ENDIF}
uCEFMiscFunctions, uCEFLibFunctions, uCEFBrowser, uCEFFrame, uCEFRequest, uCEFRequestCallback,
uCEFResponse, uCEFAuthCallback, uCEFSslInfo, uCEFSelectClientCertificateCallback, uCEFX509Certificate,
uCEFApplication, uCEFResourceRequestHandler;
uCEFApplication;
function cef_request_handler_on_before_browse(self : PCefRequestHandler;
browser : PCefBrowser;
@@ -461,17 +458,12 @@ constructor TCustomRequestHandler.Create(const events : IChromiumEvents);
begin
inherited Create;
InitializeVars;
FEvents := Pointer(events);
if (events <> nil) and events.MustCreateResourceRequestHandler then
FResourceRequestHandler := TCustomResourceRequestHandler.Create(events);
end;
procedure TCustomRequestHandler.BeforeDestruction;
begin
InitializeVars;
FEvents := nil;
inherited BeforeDestruction;
end;
@@ -479,14 +471,6 @@ end;
procedure TCustomRequestHandler.RemoveReferences;
begin
FEvents := nil;
if (FResourceRequestHandler <> nil) then FResourceRequestHandler.RemoveReferences;
end;
procedure TCustomRequestHandler.InitializeVars;
begin
FResourceRequestHandler := nil;
FEvents := nil;
end;
function TCustomRequestHandler.GetAuthCredentials(const browser : ICefBrowser;
@@ -548,31 +532,22 @@ procedure TCustomRequestHandler.GetResourceRequestHandler(const browser
const request_initiator : ustring;
var disable_default_handling : boolean;
var aResourceRequestHandler : ICefResourceRequestHandler);
var
TempUseInternalHandler : boolean;
begin
if (FEvents <> nil) then
begin
TempUseInternalHandler := True;
IChromiumEvents(FEvents).doOnGetResourceRequestHandler(browser, frame, request,
is_navigation, is_download,
request_initiator,
disable_default_handling,
aResourceRequestHandler,
TempUseInternalHandler);
if TempUseInternalHandler then
begin
if (FResourceRequestHandler <> nil) then
aResourceRequestHandler := FResourceRequestHandler
else
aResourceRequestHandler := nil;
end;
end
IChromiumEvents(FEvents).doGetResourceRequestHandler_ReqHdlr(browser,
frame,
request,
is_navigation,
is_download,
request_initiator,
disable_default_handling,
aResourceRequestHandler)
else
inherited GetResourceRequestHandler(browser, frame, request,
is_navigation, is_download,
inherited GetResourceRequestHandler(browser,
frame,
request,
is_navigation,
is_download,
request_initiator,
disable_default_handling,
aResourceRequestHandler);