diff --git a/source/uCEFApplication.pas b/source/uCEFApplication.pas index b595e52d..c606b541 100644 --- a/source/uCEFApplication.pas +++ b/source/uCEFApplication.pas @@ -57,7 +57,7 @@ uses const CEF_SUPPORTED_VERSION_MAJOR = 3; CEF_SUPPORTED_VERSION_MINOR = 3359; - CEF_SUPPORTED_VERSION_RELEASE = 1768; + CEF_SUPPORTED_VERSION_RELEASE = 1769; CEF_SUPPORTED_VERSION_BUILD = 0; CEF_CHROMEELF_VERSION_MAJOR = 66; diff --git a/source/uCEFChromium.pas b/source/uCEFChromium.pas index 6a04bab7..9c1ea40a 100644 --- a/source/uCEFChromium.pas +++ b/source/uCEFChromium.pas @@ -386,7 +386,7 @@ type function doOnClose(const browser: ICefBrowser): Boolean; virtual; // ICefRequestHandler - function doOnBeforeBrowse(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; isRedirect: Boolean): Boolean; virtual; + function doOnBeforeBrowse(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; user_gesture, isRedirect: Boolean): Boolean; virtual; function doOnOpenUrlFromTab(const browser: ICefBrowser; const frame: ICefFrame; const targetUrl: ustring; targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean): Boolean; virtual; function doOnBeforeResourceLoad(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; const callback: ICefRequestCallback): TCefReturnValue; virtual; function doOnGetResourceHandler(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest): ICefResourceHandler; virtual; @@ -2973,16 +2973,17 @@ begin if Assigned(FOnAfterCreated) then FOnAfterCreated(Self, browser); end; -function TChromium.doOnBeforeBrowse(const browser : ICefBrowser; - const frame : ICefFrame; - const request : ICefRequest; - isRedirect : Boolean): Boolean; +function TChromium.doOnBeforeBrowse(const browser : ICefBrowser; + const frame : ICefFrame; + const request : ICefRequest; + user_gesture : Boolean; + isRedirect : Boolean): Boolean; begin Result := False; if FUpdatePreferences then doUpdatePreferences(browser); - if Assigned(FOnBeforeBrowse) then FOnBeforeBrowse(Self, browser, frame, request, isRedirect, Result); + if Assigned(FOnBeforeBrowse) then FOnBeforeBrowse(Self, browser, frame, request, user_gesture, isRedirect, Result); end; procedure TChromium.doOnBeforeContextMenu(const browser : ICefBrowser; diff --git a/source/uCEFChromiumEvents.pas b/source/uCEFChromiumEvents.pas index 702f122c..8497d81d 100644 --- a/source/uCEFChromiumEvents.pas +++ b/source/uCEFChromiumEvents.pas @@ -107,7 +107,7 @@ type TOnClose = procedure(Sender: TObject; const browser: ICefBrowser; out Result: Boolean) of object; // ICefRequestHandler - TOnBeforeBrowse = procedure(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; isRedirect: Boolean; out Result: Boolean) of object; + TOnBeforeBrowse = procedure(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; user_gesture, isRedirect: Boolean; out Result: Boolean) of object; TOnOpenUrlFromTab = procedure(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; const targetUrl: ustring; targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean; out Result: Boolean) of Object; TOnBeforeResourceLoad = procedure(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; const callback: ICefRequestCallback; out Result: TCefReturnValue) of object; TOnGetResourceHandler = procedure(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; out Result: ICefResourceHandler) of object; diff --git a/source/uCEFInterfaces.pas b/source/uCEFInterfaces.pas index 6f9e5fde..f8fc4255 100644 --- a/source/uCEFInterfaces.pas +++ b/source/uCEFInterfaces.pas @@ -282,7 +282,7 @@ type function doOnClose(const browser: ICefBrowser): Boolean; // ICefRequestHandler - function doOnBeforeBrowse(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; isRedirect: Boolean): Boolean; + function doOnBeforeBrowse(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; user_gesture, isRedirect: Boolean): Boolean; function doOnOpenUrlFromTab(const browser: ICefBrowser; const frame: ICefFrame; const targetUrl: ustring; targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean): Boolean; function doOnBeforeResourceLoad(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; const callback: ICefRequestCallback): TCefReturnValue; function doOnGetResourceHandler(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest): ICefResourceHandler; @@ -1568,7 +1568,7 @@ type // /include/capi/cef_request_handler_capi.h (cef_request_handler_t) ICefRequestHandler = interface(ICefBaseRefCounted) ['{050877A9-D1F8-4EB3-B58E-50DC3E3D39FD}'] - function OnBeforeBrowse(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; isRedirect: Boolean): Boolean; + function OnBeforeBrowse(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; user_gesture, isRedirect: Boolean): Boolean; function OnOpenUrlFromTab(const browser: ICefBrowser; const frame: ICefFrame; const targetUrl: ustring; targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean): Boolean; function OnBeforeResourceLoad(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; const callback: ICefRequestCallback): TCefReturnValue; function GetResourceHandler(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest): ICefResourceHandler; diff --git a/source/uCEFRequestHandler.pas b/source/uCEFRequestHandler.pas index 54da20c6..1e9bf6b3 100644 --- a/source/uCEFRequestHandler.pas +++ b/source/uCEFRequestHandler.pas @@ -52,7 +52,7 @@ uses type TCefRequestHandlerOwn = class(TCefBaseRefCountedOwn, ICefRequestHandler) protected - function OnBeforeBrowse(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; isRedirect: Boolean): Boolean; virtual; + function OnBeforeBrowse(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; user_gesture, isRedirect: Boolean): Boolean; virtual; function OnOpenUrlFromTab(const browser: ICefBrowser; const frame: ICefFrame; const targetUrl: ustring; targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean): Boolean; virtual; function OnBeforeResourceLoad(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; const callback: ICefRequestCallback): TCefReturnValue; virtual; function GetResourceHandler(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest): ICefResourceHandler; virtual; @@ -82,7 +82,7 @@ type protected FEvents : Pointer; - function OnBeforeBrowse(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; isRedirect: Boolean): Boolean; override; + 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; function OnBeforeResourceLoad(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; const callback: ICefRequestCallback): TCefReturnValue; override; function GetResourceHandler(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest): ICefResourceHandler; override; @@ -120,11 +120,12 @@ uses uCEFResponse, uCEFAuthCallback, uCEFSslInfo, uCEFSelectClientCertificateCallback, uCEFX509Certificate, uCEFApplication; -function cef_request_handler_on_before_browse(self : PCefRequestHandler; - browser : PCefBrowser; - frame : PCefFrame; - request : PCefRequest; - isRedirect : Integer): Integer; stdcall; +function cef_request_handler_on_before_browse(self : PCefRequestHandler; + browser : PCefBrowser; + frame : PCefFrame; + request : PCefRequest; + user_gesture : Integer; + isRedirect : Integer): Integer; stdcall; var TempObject : TObject; begin @@ -135,6 +136,7 @@ begin Result := Ord(TCefRequestHandlerOwn(TempObject).OnBeforeBrowse(TCefBrowserRef.UnWrap(browser), TCefFrameRef.UnWrap(frame), TCefRequestRef.UnWrap(request), + user_gesture <> 0, isRedirect <> 0)); end; @@ -513,9 +515,14 @@ begin end; end; -function TCefRequestHandlerOwn.GetAuthCredentials(const browser: ICefBrowser; const frame: ICefFrame; - isProxy: Boolean; const host: ustring; port: Integer; const realm, scheme: ustring; - const callback: ICefAuthCallback): Boolean; +function TCefRequestHandlerOwn.GetAuthCredentials(const browser : ICefBrowser; + const frame : ICefFrame; + isProxy : Boolean; + const host : ustring; + port : Integer; + const realm : ustring; + const scheme : ustring; + const callback : ICefAuthCallback): Boolean; begin Result := False; end; @@ -535,29 +542,34 @@ begin Result := True; end; -function TCefRequestHandlerOwn.GetCookieManager(const browser: ICefBrowser; - const mainUrl: ustring): ICefCookieManager; +function TCefRequestHandlerOwn.GetCookieManager(const browser : ICefBrowser; + const mainUrl : ustring): ICefCookieManager; begin Result := nil; end; -function TCefRequestHandlerOwn.OnBeforeBrowse(const browser: ICefBrowser; - const frame: ICefFrame; const request: ICefRequest; - isRedirect: Boolean): Boolean; +function TCefRequestHandlerOwn.OnBeforeBrowse(const browser : ICefBrowser; + const frame : ICefFrame; + const request : ICefRequest; + user_gesture : Boolean; + isRedirect : Boolean): Boolean; begin Result := False; end; -function TCefRequestHandlerOwn.OnBeforeResourceLoad(const browser: ICefBrowser; - const frame: ICefFrame; const request: ICefRequest; - const callback: ICefRequestCallback): TCefReturnValue; +function TCefRequestHandlerOwn.OnBeforeResourceLoad(const browser : ICefBrowser; + const frame : ICefFrame; + const request : ICefRequest; + const callback : ICefRequestCallback): TCefReturnValue; begin Result := RV_CONTINUE; end; -function TCefRequestHandlerOwn.OnCertificateError(const browser: ICefBrowser; - certError: TCefErrorcode; const requestUrl: ustring; const sslInfo: ICefSslInfo; - const callback: ICefRequestCallback): Boolean; +function TCefRequestHandlerOwn.OnCertificateError(const browser : ICefBrowser; + certError : TCefErrorcode; + const requestUrl : ustring; + const sslInfo : ICefSslInfo; + const callback : ICefRequestCallback): Boolean; begin Result := False; end; @@ -573,75 +585,87 @@ begin Result := False; end; -function TCefRequestHandlerOwn.OnOpenUrlFromTab(const browser: ICefBrowser; - const frame: ICefFrame; const targetUrl: ustring; - targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean): Boolean; +function TCefRequestHandlerOwn.OnOpenUrlFromTab(const browser : ICefBrowser; + const frame : ICefFrame; + const targetUrl : ustring; + targetDisposition : TCefWindowOpenDisposition; + userGesture : Boolean): Boolean; begin Result := False; end; -function TCefRequestHandlerOwn.GetResourceHandler(const browser: ICefBrowser; - const frame: ICefFrame; const request: ICefRequest): ICefResourceHandler; +function TCefRequestHandlerOwn.GetResourceHandler(const browser : ICefBrowser; + const frame : ICefFrame; + const request : ICefRequest): ICefResourceHandler; begin Result := nil; end; -procedure TCefRequestHandlerOwn.OnPluginCrashed(const browser: ICefBrowser; - const pluginPath: ustring); +procedure TCefRequestHandlerOwn.OnPluginCrashed(const browser : ICefBrowser; + const pluginPath : ustring); begin - + // end; -procedure TCefRequestHandlerOwn.OnProtocolExecution(const browser: ICefBrowser; - const url: ustring; out allowOsExecution: Boolean); +procedure TCefRequestHandlerOwn.OnProtocolExecution(const browser : ICefBrowser; + const url : ustring; + out allowOsExecution : Boolean); begin - + // end; -function TCefRequestHandlerOwn.OnQuotaRequest(const browser: ICefBrowser; - const originUrl: ustring; newSize: Int64; - const callback: ICefRequestCallback): Boolean; +function TCefRequestHandlerOwn.OnQuotaRequest(const browser : ICefBrowser; + const originUrl : ustring; + newSize : Int64; + const callback : ICefRequestCallback): Boolean; begin Result := False; end; -procedure TCefRequestHandlerOwn.OnRenderProcessTerminated( - const browser: ICefBrowser; status: TCefTerminationStatus); +procedure TCefRequestHandlerOwn.OnRenderProcessTerminated(const browser : ICefBrowser; + status : TCefTerminationStatus); begin - + // end; procedure TCefRequestHandlerOwn.OnRenderViewReady(const browser: ICefBrowser); begin - + // end; -procedure TCefRequestHandlerOwn.OnResourceRedirect(const browser: ICefBrowser; - const frame: ICefFrame; const request: ICefRequest; const response: ICefResponse; var newUrl: ustring); +procedure TCefRequestHandlerOwn.OnResourceRedirect(const browser : ICefBrowser; + const frame : ICefFrame; + const request : ICefRequest; + const response : ICefResponse; + var newUrl : ustring); begin - + // end; -function TCefRequestHandlerOwn.OnResourceResponse(const browser: ICefBrowser; - const frame: ICefFrame; const request: ICefRequest; - const response: ICefResponse): Boolean; +function TCefRequestHandlerOwn.OnResourceResponse(const browser : ICefBrowser; + const frame : ICefFrame; + const request : ICefRequest; + const response : ICefResponse): Boolean; begin Result := False; end; -function TCefRequestHandlerOwn.GetResourceResponseFilter( - const browser: ICefBrowser; const frame: ICefFrame; - const request: ICefRequest; const response: ICefResponse): ICefResponseFilter; +function TCefRequestHandlerOwn.GetResourceResponseFilter(const browser : ICefBrowser; + const frame : ICefFrame; + const request : ICefRequest; + const response : ICefResponse): ICefResponseFilter; begin Result := nil; end; -procedure TCefRequestHandlerOwn.OnResourceLoadComplete( - const browser: ICefBrowser; const frame: ICefFrame; - const request: ICefRequest; const response: ICefResponse; - status: TCefUrlRequestStatus; receivedContentLength: Int64); +procedure TCefRequestHandlerOwn.OnResourceLoadComplete(const browser : ICefBrowser; + const frame : ICefFrame; + const request : ICefRequest; + const response : ICefResponse; + status : TCefUrlRequestStatus; + receivedContentLength : Int64); begin - + // end; procedure TCefRequestHandlerOwn.RemoveReferences; @@ -716,15 +740,16 @@ begin Result := inherited GetResourceHandler(browser, frame, request); end; -function TCustomRequestHandler.OnBeforeBrowse(const browser : ICefBrowser; - const frame : ICefFrame; - const request : ICefRequest; - isRedirect : Boolean): Boolean; +function TCustomRequestHandler.OnBeforeBrowse(const browser : ICefBrowser; + const frame : ICefFrame; + const request : ICefRequest; + user_gesture : Boolean; + isRedirect : Boolean): Boolean; begin if (FEvents <> nil) then - Result := IChromiumEvents(FEvents).doOnBeforeBrowse(browser, frame, request, isRedirect) + Result := IChromiumEvents(FEvents).doOnBeforeBrowse(browser, frame, request, user_gesture, isRedirect) else - Result := inherited OnBeforeBrowse(browser, frame, request, isRedirect); + Result := inherited OnBeforeBrowse(browser, frame, request, user_gesture, isRedirect); end; function TCustomRequestHandler.OnBeforeResourceLoad(const browser : ICefBrowser; @@ -829,10 +854,10 @@ begin Result := inherited OnResourceResponse(browser, frame, request, response); end; -function TCustomRequestHandler.GetResourceResponseFilter(const browser: ICefBrowser; - const frame: ICefFrame; - const request: ICefRequest; - const response: ICefResponse): ICefResponseFilter; +function TCustomRequestHandler.GetResourceResponseFilter(const browser : ICefBrowser; + const frame : ICefFrame; + const request : ICefRequest; + const response : ICefResponse): ICefResponseFilter; begin if (FEvents <> nil) then Result := IChromiumEvents(FEvents).doOnGetResourceResponseFilter(browser, frame, request, response) @@ -847,7 +872,8 @@ procedure TCustomRequestHandler.OnResourceLoadComplete(const browser status : TCefUrlRequestStatus; receivedContentLength : Int64); begin - if (FEvents <> nil) then IChromiumEvents(FEvents).doOnResourceLoadComplete(browser, frame, request, response, status, receivedContentLength); + if (FEvents <> nil) then + IChromiumEvents(FEvents).doOnResourceLoadComplete(browser, frame, request, response, status, receivedContentLength); end; end. diff --git a/source/uCEFTypes.pas b/source/uCEFTypes.pas index dfaa6f69..29043293 100644 --- a/source/uCEFTypes.pas +++ b/source/uCEFTypes.pas @@ -1567,7 +1567,7 @@ type // /include/capi/cef_request_handler_capi.h (cef_request_handler_t) TCefRequestHandler = record base : TCefBaseRefCounted; - on_before_browse : function(self: PCefRequestHandler; browser: PCefBrowser; frame: PCefFrame; request: PCefRequest; isRedirect: Integer): Integer; stdcall; + on_before_browse : function(self: PCefRequestHandler; browser: PCefBrowser; frame: PCefFrame; request: PCefRequest; user_gesture, isRedirect: Integer): Integer; stdcall; on_open_urlfrom_tab : function(self: PCefRequestHandler; browser:PCefBrowser; frame: PCefFrame; const target_url: PCefString; target_disposition: TCefWindowOpenDisposition; user_gesture: Integer): Integer; stdcall; on_before_resource_load : function(self: PCefRequestHandler; browser: PCefBrowser; frame: PCefFrame; request: PCefRequest; callback: PCefRequestCallback): TCefReturnValue; stdcall; get_resource_handler : function(self: PCefRequestHandler; browser: PCefBrowser; frame: PCefFrame; request: PCefRequest): PCefResourceHandler; stdcall; diff --git a/source/uFMXChromium.pas b/source/uFMXChromium.pas index 604ac58d..d7437925 100644 --- a/source/uFMXChromium.pas +++ b/source/uFMXChromium.pas @@ -376,7 +376,7 @@ type function doOnClose(const browser: ICefBrowser): Boolean; virtual; // ICefRequestHandler - function doOnBeforeBrowse(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; isRedirect: Boolean): Boolean; virtual; + function doOnBeforeBrowse(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; user_gesture, isRedirect: Boolean): Boolean; virtual; function doOnOpenUrlFromTab(const browser: ICefBrowser; const frame: ICefFrame; const targetUrl: ustring; targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean): Boolean; virtual; function doOnBeforeResourceLoad(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; const callback: ICefRequestCallback): TCefReturnValue; virtual; function doOnGetResourceHandler(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest): ICefResourceHandler; virtual; @@ -2666,16 +2666,17 @@ begin if Assigned(FOnAfterCreated) then FOnAfterCreated(Self, browser); end; -function TFMXChromium.doOnBeforeBrowse(const browser : ICefBrowser; - const frame : ICefFrame; - const request : ICefRequest; - isRedirect : Boolean): Boolean; +function TFMXChromium.doOnBeforeBrowse(const browser : ICefBrowser; + const frame : ICefFrame; + const request : ICefRequest; + user_gesture : Boolean; + isRedirect : Boolean): Boolean; begin Result := False; if FUpdatePreferences then doUpdatePreferences(browser); - if Assigned(FOnBeforeBrowse) then FOnBeforeBrowse(Self, browser, frame, request, isRedirect, Result); + if Assigned(FOnBeforeBrowse) then FOnBeforeBrowse(Self, browser, frame, request, user_gesture, isRedirect, Result); end; procedure TFMXChromium.doOnBeforeContextMenu(const browser : ICefBrowser;