1
0
mirror of https://github.com/salvadordf/CEF4Delphi.git synced 2025-06-22 22:17:48 +02:00

Update to CEF 133.4.6

This commit is contained in:
Salvador Díaz Fau
2025-02-16 15:02:10 +01:00
parent 2081ad570a
commit e2bafbdf9a
247 changed files with 11842 additions and 7710 deletions

View File

@ -94,9 +94,7 @@ type
FCookieableSchemesExcludeDefaults : boolean;
FChromePolicyId : ustring;
FChromeAppIconId : integer;
{$IF DEFINED(OS_POSIX) AND NOT(DEFINED(ANDROID))}
FDisableSignalHandlers : boolean;
{$IFEND}
// Fields used to set command line switches
FSingleProcess : boolean;
@ -267,6 +265,7 @@ type
function GetApiHashUniversal : ustring;
function GetApiHashPlatform : ustring;
function GetApiHashCommit : ustring;
function GetApiVersion : integer;
function GetExitCode : TCefResultCode;
function GetBrowserById(aID : integer) : ICefBrowser;
function GetCookiesDir(const aRootDirectory : string) : string;
@ -278,6 +277,8 @@ type
function LoadCEFlibrary : boolean; virtual;
function Load_cef_api_hash_h : boolean;
function Load_cef_version_info_h : boolean;
function Load_cef_id_mappers_h : boolean;
function Load_cef_app_capi_h : boolean;
function Load_cef_app_win_h : boolean;
function Load_cef_browser_capi_h : boolean;
@ -383,6 +384,7 @@ type
function SingleExeProcessing : boolean;
procedure BeforeInitSubProcess; virtual;
function CheckCEFResources : boolean; virtual;
function CheckCEFAPIHash : boolean;
{$IFDEF MSWINDOWS}
function CheckCEFDLL : boolean; virtual;
function CheckWindowsVersion: boolean; virtual;
@ -508,6 +510,59 @@ type
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/base/cef_dump_without_crashing.h">CEF source file: /include/base/cef_dump_without_crashing.h (CefDumpWithoutCrashingUnthrottled)</see></para>
/// </remarks>
function DumpWithoutCrashingUnthrottled : boolean;
/// <summary>
/// Returns CEF version information for the libcef library.
/// </summary>
/// <returns>
/// Returns true if successfull.
/// </returns>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/cef_version_info.h">CEF source file: /include/cef_version_info.h (cef_version_info)</see></para>
/// </remarks>
function GetCEFVersionInfo(var aCEFVersionInfo : TCefVersionInfo) : boolean;
/// <summary>
/// Returns Chromium version information for the libcef library.
/// </summary>
/// <returns>
/// Returns true if successfull.
/// </returns>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/cef_version_info.h">CEF source file: /include/cef_version_info.h (cef_version_info)</see></para>
/// </remarks>
function GetChromiumVersionInfo(var aChromiumVersionInfo : TChromiumVersionInfo) : boolean;
/// <summary>
/// Returns the numeric ID value for an IDR |name| from cef_pack_resources.h or
/// -1 if |name| is unrecognized by the current CEF/Chromium build. This
/// function provides version-safe mapping of resource IDR names to
/// version-specific numeric ID values. Numeric ID values are likely to change
/// across CEF/Chromium versions but names generally remain the same.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/cef_id_mappers.h">CEF source file: /include/cef_id_mappers.h (cef_id_for_pack_resource_name)</see></para>
/// </remarks>
function GetIdForPackResourceName(const name : ustring): Integer;
/// <summary>
/// Returns the numeric ID value for an IDS |name| from cef_pack_strings.h or -1
/// if |name| is unrecognized by the current CEF/Chromium build. This function
/// provides version-safe mapping of string IDS names to version-specific
/// numeric ID values. Numeric ID values are likely to change across
/// CEF/Chromium versions but names generally remain the same.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/cef_id_mappers.h">CEF source file: /include/cef_id_mappers.h (cef_id_for_pack_string_name)</see></para>
/// </remarks>
function GetIdForPackStringName(const name : ustring): Integer;
/// <summary>
/// Returns the numeric ID value for an IDC |name| from cef_command_ids.h or -1
/// if |name| is unrecognized by the current CEF/Chromium build. This function
/// provides version-safe mapping of command IDC names to version-specific
/// numeric ID values. Numeric ID values are likely to change across
/// CEF/Chromium versions but names generally remain the same.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/cef_id_mappers.h">CEF source file: /include/cef_id_mappers.h (cef_id_for_command_id_name)</see></para>
/// </remarks>
function GetIdForCommandIdName(const name : ustring): Integer;
/// <summary>
/// Set to true (1) to disable the sandbox for sub-processes. See
@ -770,12 +825,10 @@ type
/// Windows.
/// </summary>
property ChromeAppIconId : integer read FChromeAppIconId write FChromeAppIconId;
{$IF DEFINED(OS_POSIX) AND NOT(DEFINED(ANDROID))}
/// <summary>
/// Specify whether signal handlers must be disabled on POSIX systems.
/// </summary>
property DisableSignalHandlers : boolean read FDisableSignalHandlers write FDisableSignalHandlers;
{$IFEND}
/// <summary>
/// Runs the renderer and plugins in the same process as the browser.
/// </summary>
@ -1448,6 +1501,11 @@ type
/// </summary>
property ApiHashCommit : ustring read GetApiHashCommit;
/// <summary>
/// Returns the CEF API version that was configured by the first call to
/// cef_api_hash().
/// </summary>
property ApiVersion : integer read GetApiVersion;
/// <summary>
/// This property can optionally be read on the main application thread after
/// CefInitialize to retrieve the initialization exit code. When CefInitialize
/// returns true (1) the exit code will be 0 (CEF_RESULT_CODE_NORMAL_EXIT).
@ -1587,8 +1645,10 @@ type
/// <summary>
/// Called to retrieve a localized translation for the specified |string_id|.
/// To provide the translation set |string| to the translation string and
/// return true (1). To use the default translation return false (0). Include
/// cef_pack_strings.h for a listing of valid string ID values.
/// return true (1). To use the default translation return false (0). Use the
/// cef_id_for_pack_string_name() function for version-safe mapping of string
/// IDS names from cef_pack_strings.h to version-specific numerical
/// |string_id| values.
/// </summary>
/// <remarks>
/// <para>This event may be called on multiple threads.</para>
@ -1600,8 +1660,9 @@ type
/// To provide the resource data set |data| and |data_size| to the data
/// pointer and size respectively and return true (1). To use the default
/// resource data return false (0). The resource data will not be copied and
/// must remain resident in memory. Include cef_pack_resources.h for a listing
/// of valid resource ID values.
/// must remain resident in memory. Use the cef_id_for_pack_resource_name()
/// function for version-safe mapping of resource IDR names from
/// cef_pack_resources.h to version-specific numerical |resource_id| values.
/// </summary>
/// <remarks>
/// <para>This event may be called on multiple threads.</para>
@ -1613,8 +1674,10 @@ type
/// factor |scale_factor|. To provide the resource data set |data| and
/// |data_size| to the data pointer and size respectively and return true (1).
/// To use the default resource data return false (0). The resource data will
/// not be copied and must remain resident in memory. Include
/// cef_pack_resources.h for a listing of valid resource ID values.
/// not be copied and must remain resident in memory. Use the
/// cef_id_for_pack_resource_name() function for version-safe mapping of
/// resource IDR names from cef_pack_resources.h to version-specific numerical
/// |resource_id| values.
/// </summary>
/// <remarks>
/// <para>This event may be called on multiple threads.</para>
@ -2381,7 +2444,7 @@ end;
procedure TCefApplicationCore.BeforeInitSubProcess;
begin
// Is implemented by TCefApplication
// This is implemented by TCefApplication
end;
function TCefApplicationCore.GetChromeVersion : ustring;
@ -2510,6 +2573,40 @@ begin
Result := True;
end;
function TCefApplicationCore.CheckCEFAPIHash : boolean;
var
TempHashPtr : PAnsiChar;
TempHash : ustring;
begin
Result := False;
try
if assigned(cef_api_hash) then
begin
// It's necessary to call cef_api_hash with the expected CEF_API_VERSION
// value before initializing CEF.
TempHashPtr := cef_api_hash(CEF_API_VERSION, CEF_API_HASH_PLATFORM);
if (TempHashPtr <> nil) then
begin
TempHash := ustring(AnsiString(TempHashPtr));
{$IFDEF MSWINDOWS}
Result := (TempHash = CEF_API_HASH_PLATFORM_WINDOWS);
{$ENDIF}
{$IFDEF MACOSX}
Result := (TempHash = CEF_API_HASH_PLATFORM_MAC);
{$ENDIF}
{$IFDEF LINUX}
Result := (TempHash = CEF_API_HASH_PLATFORM_LINUX);
{$ENDIF}
end;
end;
except
on e : exception do
if CustomExceptionHandler('TCefApplicationCore.CheckCEFAPIHash', e) then raise;
end;
end;
{$IFDEF MSWINDOWS}
function TCefApplicationCore.CheckCEFDLL : boolean;
var
@ -2796,6 +2893,83 @@ begin
(cef_dump_without_crashing_unthrottled() <> 0);
end;
function TCefApplicationCore.GetCEFVersionInfo(var aCEFVersionInfo : TCefVersionInfo) : boolean;
const
CEF_VERSION_MAJOR = 0;
CEF_VERSION_MINOR = 1;
CEF_VERSION_PATCH = 2;
CEF_COMMIT_NUMBER = 3;
begin
if FLibLoaded then
begin
aCEFVersionInfo.VersionMajor := cef_version_info(CEF_VERSION_MAJOR);
aCEFVersionInfo.VersionMinor := cef_version_info(CEF_VERSION_MINOR);
aCEFVersionInfo.VersionPatch := cef_version_info(CEF_VERSION_PATCH);
aCEFVersionInfo.CommitNumber := cef_version_info(CEF_COMMIT_NUMBER);
Result := True;
end
else
Result := False;
end;
function TCefApplicationCore.GetChromiumVersionInfo(var aChromiumVersionInfo : TChromiumVersionInfo) : boolean;
const
CHROME_VERSION_MAJOR = 4;
CHROME_VERSION_MINOR = 5;
CHROME_VERSION_BUILD = 6;
CHROME_VERSION_PATCH = 7;
begin
if FLibLoaded then
begin
aChromiumVersionInfo.VersionMajor := cef_version_info(CHROME_VERSION_MAJOR);
aChromiumVersionInfo.VersionMinor := cef_version_info(CHROME_VERSION_MINOR);
aChromiumVersionInfo.VersionBuild := cef_version_info(CHROME_VERSION_BUILD);
aChromiumVersionInfo.VersionPatch := cef_version_info(CHROME_VERSION_PATCH);
Result := True;
end
else
Result := False;
end;
function TCefApplicationCore.GetIdForPackResourceName(const name : ustring): Integer;
var
TempName : AnsiString;
begin
if FLibLoaded then
begin
TempName := AnsiString(name);
Result := cef_id_for_pack_resource_name(@TempName);
end
else
Result := -1;
end;
function TCefApplicationCore.GetIdForPackStringName(const name : ustring): Integer;
var
TempName : AnsiString;
begin
if FLibLoaded then
begin
TempName := AnsiString(name);
Result := cef_id_for_pack_string_name(@TempName);
end
else
Result := -1;
end;
function TCefApplicationCore.GetIdForCommandIdName(const name : ustring): Integer;
var
TempName : AnsiString;
begin
if FLibLoaded then
begin
TempName := AnsiString(name);
Result := cef_id_for_command_id_name(@TempName);
end
else
Result := -1;
end;
procedure TCefApplicationCore.ShutDown;
begin
try
@ -2912,9 +3086,7 @@ begin
aSettings.cookieable_schemes_exclude_defaults := Ord(FCookieableSchemesExcludeDefaults);
aSettings.chrome_policy_id := CefString(FChromePolicyId);
aSettings.chrome_app_icon_id := FChromeAppIconId;
{$IF DEFINED(OS_POSIX) AND NOT(DEFINED(ANDROID))}
aSettings.disable_signal_handlers := ord(FDisableSignalHandlers);
{$IFEND}
end;
function TCefApplicationCore.InitializeLibrary(const aApp : ICefApp) : boolean;
@ -3765,7 +3937,7 @@ begin
Result := '';
if not(FLibLoaded) then exit;
TempHash := cef_api_hash(CEF_API_HASH_UNIVERSAL);
TempHash := cef_api_hash(CEF_API_VERSION, CEF_API_HASH_UNIVERSAL);
if (TempHash <> nil) then
Result := ustring(AnsiString(TempHash));
@ -3778,7 +3950,7 @@ begin
Result := '';
if not(FLibLoaded) then exit;
TempHash := cef_api_hash(CEF_API_HASH_PLATFORM);
TempHash := cef_api_hash(CEF_API_VERSION, CEF_API_HASH_PLATFORM);
if (TempHash <> nil) then
Result := ustring(AnsiString(TempHash));
@ -3791,12 +3963,20 @@ begin
Result := '';
if not(FLibLoaded) then exit;
TempHash := cef_api_hash(CEF_COMMIT_HASH);
TempHash := cef_api_hash(CEF_API_VERSION, CEF_COMMIT_HASH);
if (TempHash <> nil) then
Result := ustring(AnsiString(TempHash));
end;
function TCefApplicationCore.GetApiVersion : integer;
begin
if FLibLoaded then
Result := uCEFLibFunctions.cef_api_version()
else
Result := 0;
end;
function TCefApplicationCore.GetExitCode : TCefResultCode;
begin
if FLibLoaded then
@ -3901,17 +4081,24 @@ begin
Load_cef_app_capi_h and
Load_cef_app_win_h and
Load_cef_browser_capi_h and
Load_cef_browser_view_capi_h and
Load_cef_command_line_capi_h and
Load_cef_cookie_capi_h and
Load_cef_crash_util_h and
Load_cef_display_capi_h and
Load_cef_drag_data_capi_h and
Load_cef_dump_without_crashing_internal_h and
Load_cef_file_util_capi_h and
Load_cef_id_mappers_h and
Load_cef_i18n_util_capi_h and
Load_cef_image_capi_h and
Load_cef_label_button_capi_h and
Load_cef_logging_internal_h and
Load_cef_menu_button_capi_h and
Load_cef_menu_model_capi_h and
Load_cef_media_router_capi_h and
Load_cef_origin_whitelist_capi_h and
Load_cef_panel_capi_h and
Load_cef_parser_capi_h and
Load_cef_path_util_capi_h and
Load_cef_preference_capi_h and
@ -3923,37 +4110,33 @@ begin
Load_cef_resource_bundle_capi_h and
Load_cef_response_capi_h and
Load_cef_scheme_capi_h and
Load_cef_scroll_view_capi_h and
Load_cef_server_capi_h and
Load_cef_shared_process_message_builder_capi_h and
Load_cef_ssl_info_capi_h and
Load_cef_stream_capi_h and
Load_cef_task_capi_h and
Load_cef_task_manager_capi_h and
Load_cef_thread_capi_h and
Load_cef_trace_capi_h and
Load_cef_urlrequest_capi_h and
Load_cef_v8_capi_h and
Load_cef_values_capi_h and
Load_cef_waitable_event_capi_h and
Load_cef_xml_reader_capi_h and
Load_cef_zip_reader_capi_h and
Load_cef_logging_internal_h and
Load_cef_string_list_h and
Load_cef_string_map_h and
Load_cef_string_multimap_h and
Load_cef_string_types_h and
Load_cef_thread_internal_h and
Load_cef_trace_event_internal_h and
Load_cef_browser_view_capi_h and
Load_cef_display_capi_h and
Load_cef_label_button_capi_h and
Load_cef_menu_button_capi_h and
Load_cef_panel_capi_h and
Load_cef_scroll_view_capi_h and
Load_cef_task_capi_h and
Load_cef_task_manager_capi_h and
Load_cef_textfield_capi_h and
Load_cef_window_capi_h and
Load_cef_thread_capi_h and
Load_cef_thread_internal_h and
Load_cef_time_h and
Load_cef_trace_capi_h and
Load_cef_trace_event_internal_h and
Load_cef_types_linux_h and
Load_cef_time_h then
Load_cef_urlrequest_capi_h and
Load_cef_v8_capi_h and
Load_cef_values_capi_h and
Load_cef_version_info_h and
Load_cef_waitable_event_capi_h and
Load_cef_window_capi_h and
Load_cef_xml_reader_capi_h and
Load_cef_zip_reader_capi_h and
CheckCEFAPIHash then
begin
FStatus := asLoaded;
FLibLoaded := True;
@ -3978,8 +4161,28 @@ end;
function TCefApplicationCore.Load_cef_api_hash_h : boolean;
begin
{$IFDEF FPC}Pointer({$ENDIF}cef_api_hash{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_api_hash');
{$IFDEF FPC}Pointer({$ENDIF}uCEFLibFunctions.cef_api_version{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_api_version');
Result := assigned(cef_api_hash);
Result := assigned(cef_api_hash) and
assigned(uCEFLibFunctions.cef_api_version);
end;
function TCefApplicationCore.Load_cef_version_info_h : boolean;
begin
{$IFDEF FPC}Pointer({$ENDIF}cef_version_info{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_version_info');
Result := assigned(cef_version_info);
end;
function TCefApplicationCore.Load_cef_id_mappers_h : boolean;
begin
{$IFDEF FPC}Pointer({$ENDIF}cef_id_for_pack_resource_name{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_id_for_pack_resource_name');
{$IFDEF FPC}Pointer({$ENDIF}cef_id_for_pack_string_name{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_id_for_pack_string_name');
{$IFDEF FPC}Pointer({$ENDIF}cef_id_for_command_id_name{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_id_for_command_id_name');
Result := assigned(cef_id_for_pack_resource_name) and
assigned(cef_id_for_pack_string_name) and
assigned(cef_id_for_command_id_name);
end;
function TCefApplicationCore.Load_cef_app_capi_h : boolean;
@ -4132,8 +4335,8 @@ begin
{$IFDEF FPC}Pointer({$ENDIF}cef_format_url_for_security_display{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_format_url_for_security_display');
{$IFDEF FPC}Pointer({$ENDIF}cef_get_mime_type{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_get_mime_type');
{$IFDEF FPC}Pointer({$ENDIF}cef_get_extensions_for_mime_type{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_get_extensions_for_mime_type');
{$IFDEF FPC}Pointer({$ENDIF}cef_base64encode{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_base64encode');
{$IFDEF FPC}Pointer({$ENDIF}cef_base64decode{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_base64decode');
{$IFDEF FPC}Pointer({$ENDIF}cef_base64_encode{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_base64_encode');
{$IFDEF FPC}Pointer({$ENDIF}cef_base64_decode{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_base64_decode');
{$IFDEF FPC}Pointer({$ENDIF}cef_uriencode{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_uriencode');
{$IFDEF FPC}Pointer({$ENDIF}cef_uridecode{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_uridecode');
{$IFDEF FPC}Pointer({$ENDIF}cef_parse_json{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_parse_json');
@ -4147,8 +4350,8 @@ begin
assigned(cef_format_url_for_security_display) and
assigned(cef_get_mime_type) and
assigned(cef_get_extensions_for_mime_type) and
assigned(cef_base64encode) and
assigned(cef_base64decode) and
assigned(cef_base64_encode) and
assigned(cef_base64_decode) and
assigned(cef_uriencode) and
assigned(cef_uridecode) and
assigned(cef_parse_json) and
@ -4205,13 +4408,13 @@ end;
function TCefApplicationCore.Load_cef_request_context_capi_h : boolean;
begin
{$IFDEF FPC}Pointer({$ENDIF}cef_request_context_get_global_context{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_request_context_get_global_context');
{$IFDEF FPC}Pointer({$ENDIF}cef_request_context_create_context{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_request_context_create_context');
{$IFDEF FPC}Pointer({$ENDIF}cef_create_context_shared{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_create_context_shared');
{$IFDEF FPC}Pointer({$ENDIF}cef_request_context_get_global_context{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_request_context_get_global_context');
{$IFDEF FPC}Pointer({$ENDIF}cef_request_context_create_context{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_request_context_create_context');
{$IFDEF FPC}Pointer({$ENDIF}cef_request_context_cef_create_context_shared{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_request_context_cef_create_context_shared');
Result := assigned(cef_request_context_get_global_context) and
assigned(cef_request_context_create_context) and
assigned(cef_create_context_shared);
assigned(cef_request_context_cef_create_context_shared);
end;
function TCefApplicationCore.Load_cef_resource_bundle_capi_h : boolean;
@ -4322,44 +4525,44 @@ end;
function TCefApplicationCore.Load_cef_v8_capi_h : boolean;
begin
{$IFDEF FPC}Pointer({$ENDIF}cef_v8context_get_current_context{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8context_get_current_context');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8context_get_entered_context{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8context_get_entered_context');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8context_in_context{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8context_in_context');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8value_create_undefined{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8value_create_undefined');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8value_create_null{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8value_create_null');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8value_create_bool{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8value_create_bool');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8value_create_int{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8value_create_int');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8value_create_uint{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8value_create_uint');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8value_create_double{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8value_create_double');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8value_create_date{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8value_create_date');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8value_create_string{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8value_create_string');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8value_create_object{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8value_create_object');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8value_create_array{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8value_create_array');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8value_create_array_buffer{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8value_create_array_buffer');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8value_create_array_buffer_with_copy{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8value_create_array_buffer_with_copy');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8value_create_function{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8value_create_function');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8value_create_promise{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8value_create_promise');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8stack_trace_get_current{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8stack_trace_get_current');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8_context_get_current_context{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8_context_get_current_context');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8_context_get_entered_context{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8_context_get_entered_context');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8_context_in_context{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8_context_in_context');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8_value_create_undefined{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8_value_create_undefined');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8_value_create_null{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8_value_create_null');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8_value_create_bool{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8_value_create_bool');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8_value_create_int{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8_value_create_int');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8_value_create_uint{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8_value_create_uint');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8_value_create_double{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8_value_create_double');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8_value_create_date{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8_value_create_date');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8_value_create_string{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8_value_create_string');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8_value_create_object{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8_value_create_object');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8_value_create_array{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8_value_create_array');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8_value_create_array_buffer{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8_value_create_array_buffer');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8_value_create_array_buffer_with_copy{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8_value_create_array_buffer_with_copy');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8_value_create_function{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8_value_create_function');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8_value_create_promise{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8_value_create_promise');
{$IFDEF FPC}Pointer({$ENDIF}cef_v8_stack_trace_get_current{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_v8_stack_trace_get_current');
{$IFDEF FPC}Pointer({$ENDIF}cef_register_extension{$IFDEF FPC}){$ENDIF} := GetProcAddress(FLibHandle, 'cef_register_extension');
Result := assigned(cef_v8context_get_current_context) and
assigned(cef_v8context_get_entered_context) and
assigned(cef_v8context_in_context) and
assigned(cef_v8value_create_undefined) and
assigned(cef_v8value_create_null) and
assigned(cef_v8value_create_bool) and
assigned(cef_v8value_create_int) and
assigned(cef_v8value_create_uint) and
assigned(cef_v8value_create_double) and
assigned(cef_v8value_create_date) and
assigned(cef_v8value_create_string) and
assigned(cef_v8value_create_object) and
assigned(cef_v8value_create_array) and
assigned(cef_v8value_create_array_buffer) and
assigned(cef_v8value_create_array_buffer_with_copy) and
assigned(cef_v8value_create_function) and
assigned(cef_v8value_create_promise) and
assigned(cef_v8stack_trace_get_current) and
Result := assigned(cef_v8_context_get_current_context) and
assigned(cef_v8_context_get_entered_context) and
assigned(cef_v8_context_in_context) and
assigned(cef_v8_value_create_undefined) and
assigned(cef_v8_value_create_null) and
assigned(cef_v8_value_create_bool) and
assigned(cef_v8_value_create_int) and
assigned(cef_v8_value_create_uint) and
assigned(cef_v8_value_create_double) and
assigned(cef_v8_value_create_date) and
assigned(cef_v8_value_create_string) and
assigned(cef_v8_value_create_object) and
assigned(cef_v8_value_create_array) and
assigned(cef_v8_value_create_array_buffer) and
assigned(cef_v8_value_create_array_buffer_with_copy) and
assigned(cef_v8_value_create_function) and
assigned(cef_v8_value_create_promise) and
assigned(cef_v8_stack_trace_get_current) and
assigned(cef_register_extension);
end;
@ -4372,7 +4575,7 @@ begin
Result := assigned(cef_value_create) and
assigned(cef_binary_value_create) and
assigned(cef_v8stack_trace_get_current) and
assigned(cef_dictionary_value_create) and
assigned(cef_list_value_create);
end;