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"
}