diff --git a/docs/cef4delphi.chm b/docs/cef4delphi.chm index 2d4a90cf..e3c6bc9a 100644 Binary files a/docs/cef4delphi.chm and b/docs/cef4delphi.chm differ diff --git a/source/uCEFInterfaces.pas b/source/uCEFInterfaces.pas index 61ae826a..5949b47c 100644 --- a/source/uCEFInterfaces.pas +++ b/source/uCEFInterfaces.pas @@ -4971,6 +4971,14 @@ type /// ICefSchemeHandlerFactory = interface(ICefBaseRefCounted) ['{4D9B7960-B73B-4EBD-9ABE-6C1C43C245EB}'] + /// + /// Return a new resource handler instance to handle the request or an NULL + /// reference to allow default handling of the request. |browser| and |frame| + /// will be the browser window and frame respectively that originated the + /// request or NULL if the request did not originate from a browser window + /// (for example, if the request came from ICefUrlRequest). The |request| + /// object passed to this function cannot be modified. + /// function New(const browser: ICefBrowser; const frame: ICefFrame; const schemeName: ustring; const request: ICefRequest): ICefResourceHandler; end; diff --git a/source/uCEFPreferenceRegistrar.pas b/source/uCEFPreferenceRegistrar.pas index f056821f..20877de9 100644 --- a/source/uCEFPreferenceRegistrar.pas +++ b/source/uCEFPreferenceRegistrar.pas @@ -15,8 +15,25 @@ uses uCEFBaseScopedWrapper, uCEFTypes, uCEFInterfaces; type + /// + /// Class that manages custom preference registrations. + /// + /// + /// CEF source file: /include/capi/cef_preference_capi.h (cef_preference_registrar_t) + /// TCefPreferenceRegistrarRef = class(TCEFBaseScopedWrapperRef) public + /// + /// Register a preference with the specified |name| and |default_value|. To + /// avoid conflicts with built-in preferences the |name| value should contain + /// an application-specific prefix followed by a period (e.g. "myapp.value"). + /// The contents of |default_value| will be copied. The data type for the + /// preference will be inferred from |default_value|'s type and cannot be + /// changed after registration. Returns true (1) on success. Returns false (0) + /// if |name| is already registered or if |default_value| has an invalid type. + /// This function must be called from within the scope of the + /// ICefBrowserProcessHandler.OnRegisterCustomPreferences callback. + /// function AddPreference(const name: ustring; const default_value: ICefValue): Boolean; end; diff --git a/source/uCEFSchemeHandlerFactory.pas b/source/uCEFSchemeHandlerFactory.pas index 6a18ef0e..dffabbf3 100644 --- a/source/uCEFSchemeHandlerFactory.pas +++ b/source/uCEFSchemeHandlerFactory.pas @@ -15,13 +15,32 @@ uses uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes, uCEFResourceHandler; type + /// + /// Class that creates ICefResourceHandler instances for handling scheme + /// requests. + /// + /// + /// CEF source file: /include/capi/cef_scheme_capi.h (cef_scheme_handler_factory_t) + /// TCefSchemeHandlerFactoryOwn = class(TCefBaseRefCountedOwn, ICefSchemeHandlerFactory) protected FClass : TCefResourceHandlerClass; + /// + /// Return a new resource handler instance to handle the request or an NULL + /// reference to allow default handling of the request. |browser| and |frame| + /// will be the browser window and frame respectively that originated the + /// request or NULL if the request did not originate from a browser window + /// (for example, if the request came from ICefUrlRequest). The |request| + /// object passed to this function cannot be modified. + /// function New(const browser: ICefBrowser; const frame: ICefFrame; const schemeName: ustring; const request: ICefRequest): ICefResourceHandler; virtual; public + /// + /// Constructor of the scheme handler factory. + /// + /// Class of the custom resource handler used to handle custom scheme requests. constructor Create(const AClass: TCefResourceHandlerClass); virtual; end; diff --git a/source/uCEFSchemeRegistrar.pas b/source/uCEFSchemeRegistrar.pas index 9180d614..597a3726 100644 --- a/source/uCEFSchemeRegistrar.pas +++ b/source/uCEFSchemeRegistrar.pas @@ -15,8 +15,24 @@ uses uCEFBaseScopedWrapper, uCEFTypes; type + /// + /// Class that manages custom scheme registrations. + /// + /// + /// CEF source file: /include/capi/cef_scheme_capi.h (cef_scheme_registrar_t) + /// TCefSchemeRegistrarRef = class(TCEFBaseScopedWrapperRef) public + /// + /// Register a custom scheme. This function should not be called for the + /// built-in HTTP, HTTPS, FILE, FTP, ABOUT and DATA schemes. + /// This function may be called on any thread. It should only be called once + /// per unique |scheme_name| value. If |scheme_name| is already registered or + /// if an error occurs this function will return false (0). + /// + /// + /// See the CEF_SCHEME_OPTION_* constants in the uCEFConstants unit for possible values for |options|. + /// function AddCustomScheme(const schemeName: ustring; options : TCefSchemeOptions): Boolean; end; diff --git a/source/uCEFTypes.pas b/source/uCEFTypes.pas index e3ab50c8..fcfc87dc 100644 --- a/source/uCEFTypes.pas +++ b/source/uCEFTypes.pas @@ -4949,7 +4949,7 @@ type /// Structure that manages custom preference registrations. /// /// - /// Implemented by ICefPreferenceRegistrar. + /// Implemented by TCefPreferenceRegistrarRef. /// CEF source file: /include/capi/cef_preference_capi.h (cef_preference_registrar_t) /// TCefPreferenceRegistrar = record @@ -6028,7 +6028,7 @@ type /// Structure that manages custom scheme registrations. /// /// - /// Implemented by ICefSchemeRegistrar. + /// Implemented by TCefSchemeRegistrarRef. /// CEF source file: /include/capi/cef_scheme_capi.h (cef_scheme_registrar_t) /// TCefSchemeRegistrar = record diff --git a/update_CEF4Delphi.json b/update_CEF4Delphi.json index e2a982af..114ad781 100644 --- a/update_CEF4Delphi.json +++ b/update_CEF4Delphi.json @@ -2,7 +2,7 @@ "UpdateLazPackages" : [ { "ForceNotify" : true, - "InternalVersion" : 535, + "InternalVersion" : 536, "Name" : "cef4delphi_lazarus.lpk", "Version" : "118.6.9" }