更新libcef

This commit is contained in:
JackLee 2025-03-21 20:37:47 +08:00
parent fa8f19f174
commit ee42bc59bc
233 changed files with 21222 additions and 15621 deletions

View File

@ -13,12 +13,12 @@
#pragma once
// clang-format off
#define CEF_VERSION "127.3.5+g114ea2a+chromium-127.0.6533.120"
#define CEF_VERSION_MAJOR 127
#define CEF_VERSION "134.3.5+g36934eb+chromium-134.0.6998.89"
#define CEF_VERSION_MAJOR 134
#define CEF_VERSION_MINOR 3
#define CEF_VERSION_PATCH 5
#define CEF_COMMIT_NUMBER 3037
#define CEF_COMMIT_HASH "114ea2af1ba9da18c4ac5e599ccdbb17d01ba75a"
#define CEF_COMMIT_NUMBER 3154
#define CEF_COMMIT_HASH "36934ebbc5279631116b9e2b71d8b22acbcd1574"
// clang-format on
#endif // CefVersion

Binary file not shown.

View File

@ -13,12 +13,12 @@
#pragma once
// clang-format off
#define CEF_VERSION "134.3.2+g615db2f+chromium-134.0.6998.89"
#define CEF_VERSION "134.3.5+g36934eb+chromium-134.0.6998.89"
#define CEF_VERSION_MAJOR 134
#define CEF_VERSION_MINOR 3
#define CEF_VERSION_PATCH 2
#define CEF_COMMIT_NUMBER 3151
#define CEF_COMMIT_HASH "615db2f583e46822d28a4f2a57c3ef7316c5b17d"
#define CEF_VERSION_PATCH 5
#define CEF_COMMIT_NUMBER 3154
#define CEF_COMMIT_HASH "36934ebbc5279631116b9e2b71d8b22acbcd1574"
// clang-format on
#endif // CefVersion

Binary file not shown.

View File

@ -84,12 +84,11 @@
#endif
#endif
#if !BUILDFLAG(ENABLE_ALLOY_BOOTSTRAP)
#define DISABLE_ALLOY_BOOTSTRAP 1
#endif
#else // !USING_CHROMIUM_INCLUDES
#if !defined(GENERATING_CEF_API_HASH)
#include "include/cef_config.h"
#endif
// The following is substantially similar to the Chromium implementation.
// If the Chromium implementation diverges the below implementation should be

View File

@ -0,0 +1,76 @@
// Copyright (c) 2024 Marshall A. Greenblatt. Portions copyright (c) 2012
// Google Inc. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the name Chromium Embedded
// Framework nor the names of its contributors may be used to endorse
// or promote products derived from this software without specific prior
// written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
///
/// \file
/// Provides functions for generating crash dumps.
///
/// NOTE: The contents of this file are only available to applications that link
/// against the libcef_dll_wrapper target.
///
/// NOTE: Ensure crash reporting is configured before use. See
/// https://bitbucket.org/chromiumembedded/cef/wiki/CrashReporting.md for more
/// information
///
/// WARNING: Crash reporting should not be used in the main/browser process
/// before calling CefInitialize or in sub-processes before CefExecuteProcess.
///
#ifndef CEF_INCLUDE_BASE_CEF_DUMP_WITHOUT_CRASHING_H_
#define CEF_INCLUDE_BASE_CEF_DUMP_WITHOUT_CRASHING_H_
#pragma once
constexpr long long kOneDayInMilliseconds = 86400000;
///
/// CefDumpWithoutCrashing allows for generating crash dumps with a throttling
/// mechanism, preventing frequent dumps from being generated in a short period
/// of time from the same location. The |function_name|, |file_name|, and
/// |line_number| determine the location of the dump. The
/// |mseconds_between_dumps| is an interval between consecutive dumps in
/// milliseconds from the same location.
///
/// Returns true if the dump was successfully generated, false otherwise.
///
bool CefDumpWithoutCrashing(
long long mseconds_between_dumps = kOneDayInMilliseconds,
const char* function_name = __builtin_FUNCTION(),
const char* file_name = __builtin_FILE(),
int line_number = __builtin_LINE());
///
/// CefDumpWithoutCrashingUnthrottled allows for immediate crash dumping without
/// any throttling constraints.
///
/// Returns true if the dump was successfully generated, false otherwise.
///
bool CefDumpWithoutCrashingUnthrottled();
#endif // CEF_INCLUDE_BASE_CEF_DUMP_WITHOUT_CRASHING_H_

View File

@ -131,6 +131,9 @@ NET_ERROR(BLOCKED_BY_ORB, -32)
// network access.
NET_ERROR(NETWORK_ACCESS_REVOKED, -33)
// The request was blocked by fingerprinting protections.
NET_ERROR(BLOCKED_BY_FINGERPRINTING_PROTECTION, -34)
// A connection was closed (corresponding to a TCP FIN).
NET_ERROR(CONNECTION_CLOSED, -100)

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=6ea5d772fb4961ae4a658b4b730aa608fa93309f$
// $hash=5fdf00ffc44f242afeba750876f072b712e7a6b5$
//
#ifndef CEF_INCLUDE_CAPI_CEF_ACCESSIBILITY_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_ACCESSIBILITY_HANDLER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_values_capi.h"
#ifdef __cplusplus
@ -51,6 +55,8 @@ extern "C" {
/// accessibility events have been registered. The functions of this structure
/// will be called on the UI thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_accessibility_handler_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=dfa0d4d2da319b2fd5e92324fd14301b500ceb5c$
// $hash=3e0a6d0e76c1a53167df0a29211a00bda9d6a4c9$
//
#ifndef CEF_INCLUDE_CAPI_CEF_APP_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_APP_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_process_handler_capi.h"
#include "include/capi/cef_command_line_capi.h"
@ -57,6 +61,8 @@ struct _cef_app_t;
/// Implement this structure to provide handler implementations. Methods will be
/// called by the process and/or thread indicated.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_app_t {
///
/// Base structure.
@ -91,11 +97,9 @@ typedef struct _cef_app_t {
struct _cef_scheme_registrar_t* registrar);
///
/// Return the handler for resource bundle events. If
/// cef_settings_t.pack_loading_disabled is true (1) a handler must be
/// returned. If no handler is returned resources will be loaded from pack
/// files. This function is called by the browser and render processes on
/// multiple threads.
/// Return the handler for resource bundle events. If no handler is returned
/// resources will be loaded from pack files. This function is called by the
/// browser and render processes on multiple threads.
///
struct _cef_resource_bundle_handler_t*(
CEF_CALLBACK* get_resource_bundle_handler)(struct _cef_app_t* self);

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=d98482eba93dcd8b6a6f69b2732162733c73203d$
// $hash=d5ffacfa715e53e29eda66ba1adbc2fe36a0f136$
//
#ifndef CEF_INCLUDE_CAPI_CEF_AUDIO_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_AUDIO_HANDLER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
@ -50,6 +54,8 @@ extern "C" {
///
/// Implement this structure to handle audio events.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_audio_handler_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=b63947918eca8c31790cae16b2e8a0be7e9464dd$
// $hash=c75890ff2b7a45a39fc51492ddb16d6f6107b7ef$
//
#ifndef CEF_INCLUDE_CAPI_CEF_AUTH_CALLBACK_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_AUTH_CALLBACK_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus
@ -50,6 +54,8 @@ extern "C" {
/// Callback structure used for asynchronous continuation of authentication
/// requests.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_auth_callback_t {
///
/// Base structure.

View File

@ -44,62 +44,54 @@ extern "C" {
#endif
///
// All ref-counted framework structures must include this structure first.
/// All ref-counted framework structures must include this structure first.
///
typedef struct _cef_base_ref_counted_t {
///
// Size of the data structure.
/// Size of the data structure.
///
size_t size;
///
// Called to increment the reference count for the object. Should be called
// for every new copy of a pointer to a given object.
/// Called to increment the reference count for the object. Should be called
/// for every new copy of a pointer to a given object.
///
void(CEF_CALLBACK* add_ref)(struct _cef_base_ref_counted_t* self);
///
// Called to decrement the reference count for the object. If the reference
// count falls to 0 the object should self-delete. Returns true (1) if the
// resulting reference count is 0.
/// Called to decrement the reference count for the object. If the reference
/// count falls to 0 the object should self-delete. Returns true (1) if the
/// resulting reference count is 0.
///
int(CEF_CALLBACK* release)(struct _cef_base_ref_counted_t* self);
///
// Returns true (1) if the current reference count is 1.
/// Returns true (1) if the current reference count is 1.
///
int(CEF_CALLBACK* has_one_ref)(struct _cef_base_ref_counted_t* self);
///
// Returns true (1) if the current reference count is at least 1.
/// Returns true (1) if the current reference count is at least 1.
///
int(CEF_CALLBACK* has_at_least_one_ref)(struct _cef_base_ref_counted_t* self);
} cef_base_ref_counted_t;
///
// All scoped framework structures must include this structure first.
/// All scoped framework structures must include this structure first.
///
typedef struct _cef_base_scoped_t {
///
// Size of the data structure.
/// Size of the data structure.
///
size_t size;
///
// Called to delete this object. May be NULL if the object is not owned.
/// Called to delete this object. May be NULL if the object is not owned.
///
void(CEF_CALLBACK* del)(struct _cef_base_scoped_t* self);
} cef_base_scoped_t;
// Check that the structure |s|, which is defined with a size_t member at the
// top, is large enough to contain the specified member |f|.
#define CEF_MEMBER_EXISTS(s, f) \
((intptr_t) & \
((s)->f) - (intptr_t)(s) + sizeof((s)->f) <= *reinterpret_cast<size_t*>(s))
#define CEF_MEMBER_MISSING(s, f) (!CEF_MEMBER_EXISTS(s, f) || !((s)->f))
#ifdef __cplusplus
}
#endif

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=6ee74f31d37a1b5ab3c9c5ccbe2dce9841329b38$
// $hash=526025c4c24dfa2cf678f3b265ff70e8ee6adc5c$
//
#ifndef CEF_INCLUDE_CAPI_CEF_BROWSER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_BROWSER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_devtools_message_observer_capi.h"
#include "include/capi/cef_drag_data_capi.h"
@ -62,6 +66,8 @@ struct _cef_client_t;
/// indicated in the comments. When used in the render process the functions of
/// this structure may only be called on the main thread.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_browser_t {
///
/// Base structure.
@ -198,6 +204,8 @@ typedef struct _cef_browser_t {
/// Callback structure for cef_browser_host_t::RunFileDialog. The functions of
/// this structure will be called on the browser process UI thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_run_file_dialog_callback_t {
///
/// Base structure.
@ -218,6 +226,8 @@ typedef struct _cef_run_file_dialog_callback_t {
/// Callback structure for cef_browser_host_t::GetNavigationEntries. The
/// functions of this structure will be called on the browser process UI thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_navigation_entry_visitor_t {
///
/// Base structure.
@ -242,6 +252,8 @@ typedef struct _cef_navigation_entry_visitor_t {
/// Callback structure for cef_browser_host_t::PrintToPDF. The functions of this
/// structure will be called on the browser process UI thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_pdf_print_callback_t {
///
/// Base structure.
@ -263,6 +275,8 @@ typedef struct _cef_pdf_print_callback_t {
/// Callback structure for cef_browser_host_t::DownloadImage. The functions of
/// this structure will be called on the browser process UI thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_download_image_callback_t {
///
/// Base structure.
@ -288,6 +302,8 @@ typedef struct _cef_download_image_callback_t {
/// may be called on any thread in that process unless otherwise indicated in
/// the comments.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_browser_host_t {
///
/// Base structure.
@ -301,29 +317,62 @@ typedef struct _cef_browser_host_t {
struct _cef_browser_host_t* self);
///
/// Request that the browser close. The JavaScript 'onbeforeunload' event will
/// be fired. If |force_close| is false (0) the event handler, if any, will be
/// allowed to prompt the user and the user can optionally cancel the close.
/// If |force_close| is true (1) the prompt will not be displayed and the
/// close will proceed. Results in a call to
/// cef_life_span_handler_t::do_close() if the event handler allows the close
/// or if |force_close| is true (1). See cef_life_span_handler_t::do_close()
/// documentation for additional usage information.
/// Request that the browser close. Closing a browser is a multi-stage process
/// that may complete either synchronously or asynchronously, and involves
/// callbacks such as cef_life_span_handler_t::DoClose (Alloy style only),
/// cef_life_span_handler_t::OnBeforeClose, and a top-level window close
/// handler such as cef_window_delegate_t::CanClose (or platform-specific
/// equivalent). In some cases a close request may be delayed or canceled by
/// the user. Using try_close_browser() instead of close_browser() is
/// recommended for most use cases. See cef_life_span_handler_t::do_close()
/// documentation for detailed usage and examples.
///
/// If |force_close| is false (0) then JavaScript unload handlers, if any, may
/// be fired and the close may be delayed or canceled by the user. If
/// |force_close| is true (1) then the user will not be prompted and the close
/// will proceed immediately (possibly asynchronously). If browser close is
/// delayed and not canceled the default behavior is to call the top-level
/// window close handler once the browser is ready to be closed. This default
/// behavior can be changed for Alloy style browsers by implementing
/// cef_life_span_handler_t::do_close(). is_ready_to_be_closed() can be used
/// to detect mandatory browser close events when customizing close behavior
/// on the browser process UI thread.
///
void(CEF_CALLBACK* close_browser)(struct _cef_browser_host_t* self,
int force_close);
///
/// Helper for closing a browser. Call this function from the top-level window
/// close handler (if any). Internally this calls CloseBrowser(false (0)) if
/// the close has not yet been initiated. This function returns false (0)
/// while the close is pending and true (1) after the close has completed. See
/// close_browser() and cef_life_span_handler_t::do_close() documentation for
/// additional usage information. This function must be called on the browser
/// process UI thread.
/// Helper for closing a browser. This is similar in behavior to
/// CLoseBrowser(false (0)) but returns a boolean to reflect the immediate
/// close status. Call this function from a top-level window close handler
/// such as cef_window_delegate_t::CanClose (or platform-specific equivalent)
/// to request that the browser close, and return the result to indicate if
/// the window close should proceed. Returns false (0) if the close will be
/// delayed (JavaScript unload handlers triggered but still pending) or true
/// (1) if the close will proceed immediately (possibly asynchronously). See
/// close_browser() documentation for additional usage information. This
/// function must be called on the browser process UI thread.
///
int(CEF_CALLBACK* try_close_browser)(struct _cef_browser_host_t* self);
///
/// Returns true (1) if the browser is ready to be closed, meaning that the
/// close has already been initiated and that JavaScript unload handlers have
/// already executed or should be ignored. This can be used from a top-level
/// window close handler such as cef_window_delegate_t::CanClose (or platform-
/// specific equivalent) to distringuish between potentially cancelable
/// browser close events (like the user clicking the top-level window close
/// button before browser close has started) and mandatory browser close
/// events (like JavaScript `window.close()` or after browser close has
/// started in response to [Try]close_browser()). Not completing the browser
/// close for mandatory close events (when this function returns true (1))
/// will leave the browser in a partially closed state that interferes with
/// proper functioning. See close_browser() documentation for additional usage
/// information. This function must be called on the browser process UI
/// thread.
///
int(CEF_CALLBACK* is_ready_to_be_closed)(struct _cef_browser_host_t* self);
///
/// Set whether the browser is focused.
///
@ -347,6 +396,12 @@ typedef struct _cef_browser_host_t {
cef_window_handle_t(CEF_CALLBACK* get_opener_window_handle)(
struct _cef_browser_host_t* self);
///
/// Retrieve the unique identifier of the browser that opened this browser.
/// Will return 0 for non-popup browsers.
///
int(CEF_CALLBACK* get_opener_identifier)(struct _cef_browser_host_t* self);
///
/// Returns true (1) if this browser is wrapped in a cef_browser_view_t.
///
@ -381,8 +436,7 @@ typedef struct _cef_browser_host_t {
///
/// Get the default zoom level. This value will be 0.0 by default but can be
/// configured with the Chrome runtime. This function can only be called on
/// the UI thread.
/// configured. This function can only be called on the UI thread.
///
double(CEF_CALLBACK* get_default_zoom_level)(
struct _cef_browser_host_t* self);
@ -907,24 +961,6 @@ typedef struct _cef_browser_host_t {
const cef_size_t* min_size,
const cef_size_t* max_size);
///
/// Returns the extension hosted in this browser or NULL if no extension is
/// hosted. See cef_request_context_t::LoadExtension for details.
///
/// WARNING: This function is deprecated and will be removed in ~M127.
///
struct _cef_extension_t*(CEF_CALLBACK* get_extension)(
struct _cef_browser_host_t* self);
///
/// Returns true (1) if this browser is hosting an extension background
/// script. Background hosts do not have a window and are not displayable. See
/// cef_request_context_t::LoadExtension for details.
///
/// WARNING: This function is deprecated and will be removed in ~M127.
///
int(CEF_CALLBACK* is_background_host)(struct _cef_browser_host_t* self);
///
/// Set whether the browser's audio is muted.
///
@ -948,12 +984,12 @@ typedef struct _cef_browser_host_t {
///
/// Requests the renderer to exit browser fullscreen. In most cases exiting
/// window fullscreen should also exit browser fullscreen. With the Alloy
/// runtime this function should be called in response to a user action such
/// as clicking the green traffic light button on MacOS
/// window fullscreen should also exit browser fullscreen. With Alloy style
/// this function should be called in response to a user action such as
/// clicking the green traffic light button on MacOS
/// (cef_window_delegate_t::OnWindowFullscreenTransition callback) or pressing
/// the "ESC" key (cef_keyboard_handler_t::OnPreKeyEvent callback). With the
/// Chrome runtime these standard exit actions are handled internally but
/// the "ESC" key (cef_keyboard_handler_t::OnPreKeyEvent callback). With
/// Chrome style these standard exit actions are handled internally but
/// new/additional user actions can use this function. Set |will_cause_resize|
/// to true (1) if exiting browser fullscreen will cause a view resize.
///
@ -961,18 +997,22 @@ typedef struct _cef_browser_host_t {
int will_cause_resize);
///
/// Returns true (1) if a Chrome command is supported and enabled. Values for
/// |command_id| can be found in the cef_command_ids.h file. This function can
/// only be called on the UI thread. Only used with the Chrome runtime.
/// Returns true (1) if a Chrome command is supported and enabled. Use the
/// cef_id_for_command_id_name() function for version-safe mapping of command
/// IDC names from cef_command_ids.h to version-specific numerical
/// |command_id| values. This function can only be called on the UI thread.
/// Only used with Chrome style.
///
int(CEF_CALLBACK* can_execute_chrome_command)(
struct _cef_browser_host_t* self,
int command_id);
///
/// Execute a Chrome command. Values for |command_id| can be found in the
/// cef_command_ids.h file. |disposition| provides information about the
/// intended command target. Only used with the Chrome runtime.
/// Execute a Chrome command. Use the cef_id_for_command_id_name() function
/// for version-safe mapping of command IDC names from cef_command_ids.h to
/// version-specific numerical |command_id| values. |disposition| provides
/// information about the intended command target. Only used with Chrome
/// style.
///
void(CEF_CALLBACK* execute_chrome_command)(
struct _cef_browser_host_t* self,
@ -1032,6 +1072,12 @@ CEF_EXPORT cef_browser_t* cef_browser_host_create_browser_sync(
struct _cef_dictionary_value_t* extra_info,
struct _cef_request_context_t* request_context);
///
/// Returns the browser (if any) with the specified identifier.
///
CEF_EXPORT cef_browser_t* cef_browser_host_get_browser_by_identifier(
int browser_id);
#ifdef __cplusplus
}
#endif

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=d958d5bed7f909f6313facef3440fb8ba07a5c01$
// $hash=75439e8ba353162c029448b1f7ed536e3d20598a$
//
#ifndef CEF_INCLUDE_CAPI_CEF_BROWSER_PROCESS_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_BROWSER_PROCESS_HANDLER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_client_capi.h"
#include "include/capi/cef_command_line_capi.h"
@ -56,6 +60,8 @@ extern "C" {
/// structure will be called on the browser process main thread unless otherwise
/// indicated.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_browser_process_handler_t {
///
/// Base structure.
@ -69,8 +75,8 @@ typedef struct _cef_browser_process_handler_t {
/// If |type| is CEF_PREFERENCES_TYPE_GLOBAL the registered preferences can be
/// accessed via cef_preference_manager_t::GetGlobalPreferences after
/// OnContextInitialized is called. Global preferences are registered a single
/// time at application startup. See related cef_settings_t.cache_path and
/// cef_settings_t.persist_user_preferences configuration.
/// time at application startup. See related cef_settings_t.cache_path
/// configuration.
///
/// If |type| is CEF_PREFERENCES_TYPE_REQUEST_CONTEXT the preferences can be
/// accessed via the cef_request_context_t after
@ -78,8 +84,7 @@ typedef struct _cef_browser_process_handler_t {
/// Request context preferences are registered each time a new
/// cef_request_context_t is created. It is intended but not required that all
/// request contexts have the same registered preferences. See related
/// cef_request_context_settings_t.cache_path and
/// cef_request_context_settings_t.persist_user_preferences configuration.
/// cef_request_context_settings_t.cache_path configuration.
///
/// Do not keep a reference to the |registrar| object. This function is called
/// on the browser process UI thread.
@ -152,8 +157,8 @@ typedef struct _cef_browser_process_handler_t {
/// (cef_browser_t object). If null is returned the cef_browser_t will be
/// unmanaged (no callbacks will be executed for that cef_browser_t) and
/// application shutdown will be blocked until the browser window is closed
/// manually. This function is currently only used with the Chrome runtime
/// when creating new browser windows via Chrome UI.
/// manually. This function is currently only used with Chrome style when
/// creating new browser windows via Chrome UI.
///
struct _cef_client_t*(CEF_CALLBACK* get_default_client)(
struct _cef_browser_process_handler_t* self);
@ -162,8 +167,8 @@ typedef struct _cef_browser_process_handler_t {
/// Return the default handler for use with a new user or incognito profile
/// (cef_request_context_t object). If null is returned the
/// cef_request_context_t will be unmanaged (no callbacks will be executed for
/// that cef_request_context_t). This function is currently only used with the
/// Chrome runtime when creating new browser windows via Chrome UI.
/// that cef_request_context_t). This function is currently only used with
/// Chrome style when creating new browser windows via Chrome UI.
///
struct _cef_request_context_handler_t*(
CEF_CALLBACK* get_default_request_context_handler)(

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=46bc048bec64590735298a95633167d66e445844$
// $hash=ba91cbebd3f8dda1131713c51cd4621069939589$
//
#ifndef CEF_INCLUDE_CAPI_CEF_CALLBACK_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_CALLBACK_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus
@ -49,6 +53,8 @@ extern "C" {
///
/// Generic callback structure used for asynchronous continuation.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_callback_t {
///
/// Base structure.
@ -69,6 +75,8 @@ typedef struct _cef_callback_t {
///
/// Generic callback structure used for asynchronous completion.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_completion_callback_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=09bd4140605645c9dfbd81e7e22d029d0bb50129$
// $hash=89798b8a3a9a4ae14a57e81dfaad1e05a2c23639$
//
#ifndef CEF_INCLUDE_CAPI_CEF_CLIENT_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_CLIENT_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_audio_handler_capi.h"
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_command_handler_capi.h"
@ -68,6 +72,8 @@ extern "C" {
///
/// Implement this structure to provide handler implementations.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_client_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=dd183a473b1e8c5ee8bdcf99949fc5274c4cc892$
// $hash=979f6d810588e94c86b94cd204f27175bd5b85aa$
//
#ifndef CEF_INCLUDE_CAPI_CEF_COMMAND_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_COMMAND_HANDLER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
@ -51,6 +55,8 @@ extern "C" {
/// Implement this structure to handle events related to commands. The functions
/// of this structure will be called on the UI thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_command_handler_t {
///
/// Base structure.
@ -59,12 +65,14 @@ typedef struct _cef_command_handler_t {
///
/// Called to execute a Chrome command triggered via menu selection or
/// keyboard shortcut. Values for |command_id| can be found in the
/// cef_command_ids.h file. |disposition| provides information about the
/// intended command target. Return true (1) if the command was handled or
/// false (0) for the default implementation. For context menu commands this
/// will be called after cef_context_menu_handler_t::OnContextMenuCommand.
/// Only used with the Chrome runtime.
/// keyboard shortcut. Use the cef_id_for_command_id_name() function for
/// version-safe mapping of command IDC names from cef_command_ids.h to
/// version-specific numerical |command_id| values. |disposition| provides
/// information about the intended command target. Return true (1) if the
/// command was handled or false (0) for the default implementation. For
/// context menu commands this will be called after
/// cef_context_menu_handler_t::OnContextMenuCommand. Only used with Chrome
/// style.
///
int(CEF_CALLBACK* on_chrome_command)(
struct _cef_command_handler_t* self,
@ -73,10 +81,11 @@ typedef struct _cef_command_handler_t {
cef_window_open_disposition_t disposition);
///
/// Called to check if a Chrome app menu item should be visible. Values for
/// |command_id| can be found in the cef_command_ids.h file. Only called for
/// menu items that would be visible by default. Only used with the Chrome
/// runtime.
/// Called to check if a Chrome app menu item should be visible. Use the
/// cef_id_for_command_id_name() function for version-safe mapping of command
/// IDC names from cef_command_ids.h to version-specific numerical
/// |command_id| values. Only called for menu items that would be visible by
/// default. Only used with Chrome style.
///
int(CEF_CALLBACK* is_chrome_app_menu_item_visible)(
struct _cef_command_handler_t* self,
@ -84,10 +93,11 @@ typedef struct _cef_command_handler_t {
int command_id);
///
/// Called to check if a Chrome app menu item should be enabled. Values for
/// |command_id| can be found in the cef_command_ids.h file. Only called for
/// menu items that would be enabled by default. Only used with the Chrome
/// runtime.
/// Called to check if a Chrome app menu item should be enabled. Use the
/// cef_id_for_command_id_name() function for version-safe mapping of command
/// IDC names from cef_command_ids.h to version-specific numerical
/// |command_id| values. Only called for menu items that would be enabled by
/// default. Only used with Chrome style.
///
int(CEF_CALLBACK* is_chrome_app_menu_item_enabled)(
struct _cef_command_handler_t* self,
@ -97,7 +107,7 @@ typedef struct _cef_command_handler_t {
///
/// Called during browser creation to check if a Chrome page action icon
/// should be visible. Only called for icons that would be visible by default.
/// Only used with the Chrome runtime.
/// Only used with Chrome style.
///
int(CEF_CALLBACK* is_chrome_page_action_icon_visible)(
struct _cef_command_handler_t* self,
@ -106,7 +116,7 @@ typedef struct _cef_command_handler_t {
///
/// Called during browser creation to check if a Chrome toolbar button should
/// be visible. Only called for buttons that would be visible by default. Only
/// used with the Chrome runtime.
/// used with Chrome style.
///
int(CEF_CALLBACK* is_chrome_toolbar_button_visible)(
struct _cef_command_handler_t* self,

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=fce786b3f054d6581438e2906b77e573c797372a$
// $hash=bf1dd4b8e83fc885c5d035597b248fb1866ada9a$
//
#ifndef CEF_INCLUDE_CAPI_CEF_COMMAND_LINE_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_COMMAND_LINE_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus
@ -57,6 +61,8 @@ extern "C" {
/// such if necessary. Switch values will retain the original case and UTF8
/// encoding. This structure can be used before cef_initialize() is called.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_command_line_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=3ae7dbb24ec7a95a2f4d4e390c9b6622221c2f42$
// $hash=524f53a1411035ac6050853e6c52f17f9bd4eaa9$
//
#ifndef CEF_INCLUDE_CAPI_CEF_CONTEXT_MENU_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_CONTEXT_MENU_HANDLER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
#include "include/capi/cef_frame_capi.h"
@ -54,6 +58,8 @@ struct _cef_context_menu_params_t;
///
/// Callback structure used for continuation of custom context menu display.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_run_context_menu_callback_t {
///
/// Base structure.
@ -77,6 +83,8 @@ typedef struct _cef_run_context_menu_callback_t {
///
/// Callback structure used for continuation of custom quick menu display.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_run_quick_menu_callback_t {
///
/// Base structure.
@ -101,6 +109,8 @@ typedef struct _cef_run_quick_menu_callback_t {
/// Implement this structure to handle context menu events. The functions of
/// this structure will be called on the UI thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_context_menu_handler_t {
///
/// Base structure.
@ -208,6 +218,8 @@ typedef struct _cef_context_menu_handler_t {
/// Provides information about the context menu state. The functions of this
/// structure can only be accessed on browser process the UI thread.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_context_menu_params_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=76ba2e59636aa71c8c6286093198a1e64d012c62$
// $hash=3119b8cebf5b649a3418c2c17a770473663b16ce$
//
#ifndef CEF_INCLUDE_CAPI_CEF_COOKIE_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_COOKIE_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_callback_capi.h"
@ -55,6 +59,8 @@ struct _cef_set_cookie_callback_t;
/// Structure used for managing cookies. The functions of this structure may be
/// called on any thread unless otherwise indicated.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_cookie_manager_t {
///
/// Base structure.
@ -136,6 +142,8 @@ CEF_EXPORT cef_cookie_manager_t* cef_cookie_manager_get_global_manager(
/// Structure to implement for visiting cookie values. The functions of this
/// structure will always be called on the UI thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_cookie_visitor_t {
///
/// Base structure.
@ -160,6 +168,8 @@ typedef struct _cef_cookie_visitor_t {
/// Structure to implement to be notified of asynchronous completion via
/// cef_cookie_manager_t::set_cookie().
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_set_cookie_callback_t {
///
/// Base structure.
@ -178,6 +188,8 @@ typedef struct _cef_set_cookie_callback_t {
/// Structure to implement to be notified of asynchronous completion via
/// cef_cookie_manager_t::delete_cookies().
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_delete_cookies_callback_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=46a6432f66cce88d8597c3d070681b09a712dc54$
// $hash=79ce82867dc40d8d2ebc54e17b8bc181b81df870$
//
#ifndef CEF_INCLUDE_CAPI_CEF_CRASH_UTIL_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_CRASH_UTIL_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=dd94c50619e92bf5bed4fe61479813ee559f779d$
// $hash=62859097510036135679070817e19b339ec1248b$
//
#ifndef CEF_INCLUDE_CAPI_CEF_DEVTOOLS_MESSAGE_OBSERVER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_DEVTOOLS_MESSAGE_OBSERVER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus
@ -52,6 +56,8 @@ struct _cef_browser_t;
/// Callback structure for cef_browser_host_t::AddDevToolsMessageObserver. The
/// functions of this structure will be called on the browser process UI thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_dev_tools_message_observer_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=bf7208a86ee17f63fd7163cef8c3a13373a1f1c8$
// $hash=091879ed08a62dbcb50c30db695fc51fb6496b64$
//
#ifndef CEF_INCLUDE_CAPI_CEF_DIALOG_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_DIALOG_HANDLER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
@ -50,6 +54,8 @@ extern "C" {
///
/// Callback structure for asynchronous continuation of file dialog requests.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_file_dialog_callback_t {
///
/// Base structure.
@ -74,6 +80,8 @@ typedef struct _cef_file_dialog_callback_t {
/// Implement this structure to handle dialog events. The functions of this
/// structure will be called on the browser process UI thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_dialog_handler_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=5a99c5e88ea0e123087234b2795fa625fed183f2$
// $hash=343360189cbcf3b3e3beb6f48bc05168ca2266a3$
//
#ifndef CEF_INCLUDE_CAPI_CEF_DISPLAY_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_DISPLAY_HANDLER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
#include "include/capi/cef_frame_capi.h"
@ -52,6 +56,8 @@ extern "C" {
/// Implement this structure to handle events related to browser display state.
/// The functions of this structure will be called on the UI thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_display_handler_t {
///
/// Base structure.
@ -84,13 +90,12 @@ typedef struct _cef_display_handler_t {
/// Called when web content in the page has toggled fullscreen mode. If
/// |fullscreen| is true (1) the content will automatically be sized to fill
/// the browser content area. If |fullscreen| is false (0) the content will
/// automatically return to its original size and position. With the Alloy
/// runtime the client is responsible for triggering the fullscreen transition
/// (for example, by calling cef_window_t::SetFullscreen when using Views).
/// With the Chrome runtime the fullscreen transition will be triggered
/// automatically. The cef_window_delegate_t::OnWindowFullscreenTransition
/// function will be called during the fullscreen transition for notification
/// purposes.
/// automatically return to its original size and position. With Alloy style
/// the client is responsible for triggering the fullscreen transition (for
/// example, by calling cef_window_t::SetFullscreen when using Views). With
/// Chrome style the fullscreen transition will be triggered automatically.
/// The cef_window_delegate_t::OnWindowFullscreenTransition function will be
/// called during the fullscreen transition for notification purposes.
///
void(CEF_CALLBACK* on_fullscreen_mode_change)(
struct _cef_display_handler_t* self,

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=a4d2f79163205ed4367916546240a6aedc2165f9$
// $hash=ca21c122172743af8b747eb6dbef6eed5280b97f$
//
#ifndef CEF_INCLUDE_CAPI_CEF_DOM_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_DOM_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus
@ -53,6 +57,8 @@ struct _cef_domnode_t;
/// Structure to implement for visiting the DOM. The functions of this structure
/// will be called on the render process main thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_domvisitor_t {
///
/// Base structure.
@ -74,6 +80,8 @@ typedef struct _cef_domvisitor_t {
/// Structure used to represent a DOM document. The functions of this structure
/// should only be called on the render process main thread thread.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_domdocument_t {
///
/// Base structure.
@ -175,6 +183,8 @@ typedef struct _cef_domdocument_t {
/// Structure used to represent a DOM node. The functions of this structure
/// should only be called on the render process main thread.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_domnode_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=7ecfb07a95315ff81937e9f68d419122fc88f1b7$
// $hash=409a438b598bdae8a0728cb6d1a281d550c44841$
//
#ifndef CEF_INCLUDE_CAPI_CEF_DOWNLOAD_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_DOWNLOAD_HANDLER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
#include "include/capi/cef_download_item_capi.h"
@ -51,6 +55,8 @@ extern "C" {
///
/// Callback structure used to asynchronously continue a download.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_before_download_callback_t {
///
/// Base structure.
@ -71,6 +77,8 @@ typedef struct _cef_before_download_callback_t {
///
/// Callback structure used to asynchronously cancel a download.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_download_item_callback_t {
///
/// Base structure.
@ -97,6 +105,8 @@ typedef struct _cef_download_item_callback_t {
/// Structure used to handle file downloads. The functions of this structure
/// will called on the browser process UI thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_download_handler_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=9af8ade3addfd112db41792c4e80682a8143e8c4$
// $hash=7a70a551184bfa12ef6dddeea66fd585943c3c70$
//
#ifndef CEF_INCLUDE_CAPI_CEF_DOWNLOAD_ITEM_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_DOWNLOAD_ITEM_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus
@ -49,6 +53,8 @@ extern "C" {
///
/// Structure used to represent a download item.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_download_item_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=a096775255ddc4d7616095e48e7370bd87bf4bb5$
// $hash=54a8ac1ecd79da5fe7a02bc176c9b9d9a480f0d1$
//
#ifndef CEF_INCLUDE_CAPI_CEF_DRAG_DATA_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_DRAG_DATA_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_image_capi.h"
#include "include/capi/cef_stream_capi.h"
@ -52,6 +56,8 @@ extern "C" {
/// Structure used to represent drag data. The functions of this structure may
/// be called on any thread.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_drag_data_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=0723a2a59d46e465ac94f198351dc871f0b35b96$
// $hash=8f69a9cffadf663bbe69230e8210dcda768038e5$
//
#ifndef CEF_INCLUDE_CAPI_CEF_DRAG_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_DRAG_HANDLER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
#include "include/capi/cef_drag_data_capi.h"
@ -53,6 +57,8 @@ extern "C" {
/// Implement this structure to handle events related to dragging. The functions
/// of this structure will be called on the UI thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_drag_handler_t {
///
/// Base structure.

View File

@ -1,132 +0,0 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the name Chromium Embedded
// Framework nor the names of its contributors may be used to endorse
// or promote products derived from this software without specific prior
// written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// ---------------------------------------------------------------------------
//
// This file was generated by the CEF translator tool and should not edited
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=634054ad25154c30fb4ec630fe7fb79b0cf1f9b3$
//
#ifndef CEF_INCLUDE_CAPI_CEF_EXTENSION_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_EXTENSION_CAPI_H_
#pragma once
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_values_capi.h"
#ifdef __cplusplus
extern "C" {
#endif
struct _cef_extension_handler_t;
struct _cef_request_context_t;
///
/// Object representing an extension. Methods may be called on any thread unless
/// otherwise indicated.
///
/// WARNING: This API is deprecated and will be removed in ~M127.
///
typedef struct _cef_extension_t {
///
/// Base structure.
///
cef_base_ref_counted_t base;
///
/// Returns the unique extension identifier. This is calculated based on the
/// extension public key, if available, or on the extension path. See
/// https://developer.chrome.com/extensions/manifest/key for details.
///
// The resulting string must be freed by calling cef_string_userfree_free().
cef_string_userfree_t(CEF_CALLBACK* get_identifier)(
struct _cef_extension_t* self);
///
/// Returns the absolute path to the extension directory on disk. This value
/// will be prefixed with PK_DIR_RESOURCES if a relative path was passed to
/// cef_request_context_t::LoadExtension.
///
// The resulting string must be freed by calling cef_string_userfree_free().
cef_string_userfree_t(CEF_CALLBACK* get_path)(struct _cef_extension_t* self);
///
/// Returns the extension manifest contents as a cef_dictionary_value_t
/// object. See https://developer.chrome.com/extensions/manifest for details.
///
struct _cef_dictionary_value_t*(CEF_CALLBACK* get_manifest)(
struct _cef_extension_t* self);
///
/// Returns true (1) if this object is the same extension as |that| object.
/// Extensions are considered the same if identifier, path and loader context
/// match.
///
int(CEF_CALLBACK* is_same)(struct _cef_extension_t* self,
struct _cef_extension_t* that);
///
/// Returns the handler for this extension. Will return NULL for internal
/// extensions or if no handler was passed to
/// cef_request_context_t::LoadExtension.
///
struct _cef_extension_handler_t*(CEF_CALLBACK* get_handler)(
struct _cef_extension_t* self);
///
/// Returns the request context that loaded this extension. Will return NULL
/// for internal extensions or if the extension has been unloaded. See the
/// cef_request_context_t::LoadExtension documentation for more information
/// about loader contexts. Must be called on the browser process UI thread.
///
struct _cef_request_context_t*(CEF_CALLBACK* get_loader_context)(
struct _cef_extension_t* self);
///
/// Returns true (1) if this extension is currently loaded. Must be called on
/// the browser process UI thread.
///
int(CEF_CALLBACK* is_loaded)(struct _cef_extension_t* self);
///
/// Unload this extension if it is not an internal extension and is currently
/// loaded. Will result in a call to
/// cef_extension_handler_t::OnExtensionUnloaded on success.
///
void(CEF_CALLBACK* unload)(struct _cef_extension_t* self);
} cef_extension_t;
#ifdef __cplusplus
}
#endif
#endif // CEF_INCLUDE_CAPI_CEF_EXTENSION_CAPI_H_

View File

@ -1,214 +0,0 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the name Chromium Embedded
// Framework nor the names of its contributors may be used to endorse
// or promote products derived from this software without specific prior
// written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// ---------------------------------------------------------------------------
//
// This file was generated by the CEF translator tool and should not edited
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=ebac34c9b85de780ce7524211c5dd61a80d4576c$
//
#ifndef CEF_INCLUDE_CAPI_CEF_EXTENSION_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_EXTENSION_HANDLER_CAPI_H_
#pragma once
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
#include "include/capi/cef_extension_capi.h"
#include "include/capi/cef_stream_capi.h"
#ifdef __cplusplus
extern "C" {
#endif
struct _cef_client_t;
///
/// Callback structure used for asynchronous continuation of
/// cef_extension_handler_t::GetExtensionResource.
///
typedef struct _cef_get_extension_resource_callback_t {
///
/// Base structure.
///
cef_base_ref_counted_t base;
///
/// Continue the request. Read the resource contents from |stream|.
///
void(CEF_CALLBACK* cont)(struct _cef_get_extension_resource_callback_t* self,
struct _cef_stream_reader_t* stream);
///
/// Cancel the request.
///
void(CEF_CALLBACK* cancel)(
struct _cef_get_extension_resource_callback_t* self);
} cef_get_extension_resource_callback_t;
///
/// Implement this structure to handle events related to browser extensions. The
/// functions of this structure will be called on the UI thread. See
/// cef_request_context_t::LoadExtension for information about extension
/// loading.
///
/// WARNING: This API is deprecated and will be removed in ~M127.
///
typedef struct _cef_extension_handler_t {
///
/// Base structure.
///
cef_base_ref_counted_t base;
///
/// Called if the cef_request_context_t::LoadExtension request fails. |result|
/// will be the error code.
///
void(CEF_CALLBACK* on_extension_load_failed)(
struct _cef_extension_handler_t* self,
cef_errorcode_t result);
///
/// Called if the cef_request_context_t::LoadExtension request succeeds.
/// |extension| is the loaded extension.
///
void(CEF_CALLBACK* on_extension_loaded)(struct _cef_extension_handler_t* self,
struct _cef_extension_t* extension);
///
/// Called after the cef_extension_t::Unload request has completed.
///
void(CEF_CALLBACK* on_extension_unloaded)(
struct _cef_extension_handler_t* self,
struct _cef_extension_t* extension);
///
/// Called when an extension needs a browser to host a background script
/// specified via the "background" manifest key. The browser will have no
/// visible window and cannot be displayed. |extension| is the extension that
/// is loading the background script. |url| is an internally generated
/// reference to an HTML page that will be used to load the background script
/// via a "<script>" src attribute. To allow creation of the browser
/// optionally modify |client| and |settings| and return false (0). To cancel
/// creation of the browser (and consequently cancel load of the background
/// script) return true (1). Successful creation will be indicated by a call
/// to cef_life_span_handler_t::OnAfterCreated, and
/// cef_browser_host_t::IsBackgroundHost will return true (1) for the
/// resulting browser. See https://developer.chrome.com/extensions/event_pages
/// for more information about extension background script usage.
///
int(CEF_CALLBACK* on_before_background_browser)(
struct _cef_extension_handler_t* self,
struct _cef_extension_t* extension,
const cef_string_t* url,
struct _cef_client_t** client,
struct _cef_browser_settings_t* settings);
///
/// Called when an extension API (e.g. chrome.tabs.create) requests creation
/// of a new browser. |extension| and |browser| are the source of the API
/// call. |active_browser| may optionally be specified via the windowId
/// property or returned via the get_active_browser() callback and provides
/// the default |client| and |settings| values for the new browser. |index| is
/// the position value optionally specified via the index property. |url| is
/// the URL that will be loaded in the browser. |active| is true (1) if the
/// new browser should be active when opened. To allow creation of the
/// browser optionally modify |windowInfo|, |client| and |settings| and return
/// false (0). To cancel creation of the browser return true (1). Successful
/// creation will be indicated by a call to
/// cef_life_span_handler_t::OnAfterCreated. Any modifications to |windowInfo|
/// will be ignored if |active_browser| is wrapped in a cef_browser_view_t.
///
int(CEF_CALLBACK* on_before_browser)(
struct _cef_extension_handler_t* self,
struct _cef_extension_t* extension,
struct _cef_browser_t* browser,
struct _cef_browser_t* active_browser,
int index,
const cef_string_t* url,
int active,
struct _cef_window_info_t* windowInfo,
struct _cef_client_t** client,
struct _cef_browser_settings_t* settings);
///
/// Called when no tabId is specified to an extension API call that accepts a
/// tabId parameter (e.g. chrome.tabs.*). |extension| and |browser| are the
/// source of the API call. Return the browser that will be acted on by the
/// API call or return NULL to act on |browser|. The returned browser must
/// share the same cef_request_context_t as |browser|. Incognito browsers
/// should not be considered unless the source extension has incognito access
/// enabled, in which case |include_incognito| will be true (1).
///
struct _cef_browser_t*(CEF_CALLBACK* get_active_browser)(
struct _cef_extension_handler_t* self,
struct _cef_extension_t* extension,
struct _cef_browser_t* browser,
int include_incognito);
///
/// Called when the tabId associated with |target_browser| is specified to an
/// extension API call that accepts a tabId parameter (e.g. chrome.tabs.*).
/// |extension| and |browser| are the source of the API call. Return true (1)
/// to allow access of false (0) to deny access. Access to incognito browsers
/// should not be allowed unless the source extension has incognito access
/// enabled, in which case |include_incognito| will be true (1).
///
int(CEF_CALLBACK* can_access_browser)(struct _cef_extension_handler_t* self,
struct _cef_extension_t* extension,
struct _cef_browser_t* browser,
int include_incognito,
struct _cef_browser_t* target_browser);
///
/// Called to retrieve an extension resource that would normally be loaded
/// from disk (e.g. if a file parameter is specified to
/// chrome.tabs.executeScript). |extension| and |browser| are the source of
/// the resource request. |file| is the requested relative file path. To
/// handle the resource request return true (1) and execute |callback| either
/// synchronously or asynchronously. For the default behavior which reads the
/// resource from the extension directory on disk return false (0).
/// Localization substitutions will not be applied to resources handled via
/// this function.
///
int(CEF_CALLBACK* get_extension_resource)(
struct _cef_extension_handler_t* self,
struct _cef_extension_t* extension,
struct _cef_browser_t* browser,
const cef_string_t* file,
struct _cef_get_extension_resource_callback_t* callback);
} cef_extension_handler_t;
#ifdef __cplusplus
}
#endif
#endif // CEF_INCLUDE_CAPI_CEF_EXTENSION_HANDLER_CAPI_H_

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=e10581d1f6aeb104646ae106aaa5fb36016643dd$
// $hash=05bfcb46c5f93e280a389f4fb7108483f5324db5$
//
#ifndef CEF_INCLUDE_CAPI_CEF_FILE_UTIL_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_FILE_UTIL_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=da0a9242b309fbd70d19949fb1c5b4ec4475ef94$
// $hash=dedc73aa9a27ee614d17cf1f15670675c31351ac$
//
#ifndef CEF_INCLUDE_CAPI_CEF_FIND_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_FIND_HANDLER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
@ -51,6 +55,8 @@ extern "C" {
/// Implement this structure to handle events related to find results. The
/// functions of this structure will be called on the UI thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_find_handler_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=6eefc2c650908461fb7536dd3314c77a3f89dceb$
// $hash=985e0376dc9951e1801f24d09d232705e9bf6373$
//
#ifndef CEF_INCLUDE_CAPI_CEF_FOCUS_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_FOCUS_HANDLER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
#include "include/capi/cef_dom_capi.h"
@ -53,6 +57,8 @@ extern "C" {
/// Implement this structure to handle events related to focus. The functions of
/// this structure will be called on the UI thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_focus_handler_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=8f347a95168778ec0e686cdef93be3bc517e2f68$
// $hash=b0b10042cc19c3120f0ee101ed86ab3e5bd9de9d$
//
#ifndef CEF_INCLUDE_CAPI_CEF_FRAME_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_FRAME_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_dom_capi.h"
#include "include/capi/cef_process_message_capi.h"
@ -54,7 +58,7 @@ extern "C" {
struct _cef_browser_t;
struct _cef_urlrequest_client_t;
struct _cef_urlrequest_t;
struct _cef_v8context_t;
struct _cef_v8_context_t;
///
/// Structure used to represent a frame in the browser window. When used in the
@ -62,6 +66,8 @@ struct _cef_v8context_t;
/// unless otherwise indicated in the comments. When used in the render process
/// the functions of this structure may only be called on the main thread.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_frame_t {
///
/// Base structure.
@ -98,6 +104,11 @@ typedef struct _cef_frame_t {
///
void(CEF_CALLBACK* paste)(struct _cef_frame_t* self);
///
/// Execute paste and match style in this frame.
///
void(CEF_CALLBACK* paste_and_match_style)(struct _cef_frame_t* self);
///
/// Execute delete in this frame.
///
@ -206,7 +217,7 @@ typedef struct _cef_frame_t {
/// Get the V8 context associated with the frame. This function can only be
/// called from the render process.
///
struct _cef_v8context_t*(CEF_CALLBACK* get_v8context)(
struct _cef_v8_context_t*(CEF_CALLBACK* get_v8_context)(
struct _cef_frame_t* self);
///

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=fc6fbee765ce2b649f5293c8c4b076d36014e4aa$
// $hash=965da5d7c93b61b4ce758db80f1c49ceeb2cd9e9$
//
#ifndef CEF_INCLUDE_CAPI_CEF_FRAME_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_FRAME_HANDLER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
#include "include/capi/cef_frame_capi.h"
@ -76,6 +80,8 @@ extern "C" {
/// objects are detached at the same time then notifications will be sent for
/// any sub-frame objects before the main frame object. Commands can no longer
/// be routed and will be discarded.
/// - CefFremeHadler::OnFrameDestroyed => An existing main frame or sub-frame
/// object has been destroyed.
/// - cef_frame_handler_t::OnMainFrameChanged => A new main frame object has
/// been assigned to the browser. This will only occur with cross-origin
/// navigation or re-navigation after renderer process termination (due to
@ -85,42 +91,32 @@ extern "C" {
/// - cef_frame_handler_t::OnFrameDetached => Any sub-frame objects have lost
/// their connection to the renderer process. Commands can no longer be routed
/// and will be discarded.
/// - CefFreameHandler::OnFrameDestroyed => Any sub-frame objects have been
/// destroyed.
/// - cef_life_span_handler_t::OnBeforeClose => The browser has been destroyed.
/// - cef_frame_handler_t::OnFrameDetached => The main frame object have lost
/// its connection to the renderer process. Notifications will be sent for any
/// sub-frame objects before the main frame object. Commands can no longer be
/// routed and will be discarded.
/// - CefFreameHandler::OnFrameDestroyed => The main frame object has been
/// destroyed.
/// - cef_frame_handler_t::OnMainFrameChanged => The final main frame object has
/// been removed from the browser.
///
/// Cross-origin navigation and/or loading receives special handling.
/// Special handling applies for cross-origin loading on creation/navigation of
/// sub-frames, and cross-origin loading on creation of new popup browsers. A
/// temporary frame will first be created in the parent frame's renderer
/// process. This temporary frame will never attach and will be discarded after
/// the real cross-origin frame is created in the new/target renderer process.
/// The client will receive creation callbacks for the temporary frame, followed
/// by cross-origin navigation callbacks (2) for the transition from the
/// temporary frame to the real frame. The temporary frame will not receive or
/// execute commands during this transitional period (any sent commands will be
/// discarded).
///
/// When the main frame navigates to a different origin the OnMainFrameChanged
/// callback (2) will be executed with the old and new main frame objects.
///
/// When a new sub-frame is loaded in, or an existing sub-frame is navigated to,
/// a different origin from the parent frame, a temporary sub-frame object will
/// first be created in the parent's renderer process. That temporary sub-frame
/// will then be discarded after the real cross-origin sub-frame is created in
/// the new/target renderer process. The client will receive cross-origin
/// navigation callbacks (2) for the transition from the temporary sub-frame to
/// the real sub-frame. The temporary sub-frame will not receive or execute
/// commands during this transitional period (any sent commands will be
/// discarded).
///
/// When a new popup browser is created in a different origin from the parent
/// browser, a temporary main frame object for the popup will first be created
/// in the parent's renderer process. That temporary main frame will then be
/// discarded after the real cross-origin main frame is created in the
/// new/target renderer process. The client will receive creation and initial
/// navigation callbacks (1) for the temporary main frame, followed by cross-
/// origin navigation callbacks (2) for the transition from the temporary main
/// frame to the real main frame. The temporary main frame may receive and
/// execute commands during this transitional period (any sent commands may be
/// executed, but the behavior is potentially undesirable since they execute in
/// the parent browser's renderer process and not the new/target renderer
/// process).
///
/// Callbacks will not be executed for placeholders that may be created during
/// pre-commit navigation for sub-frames that do not yet exist in the renderer
/// process. Placeholders will have cef_frame_t::get_identifier() == -4.
@ -128,6 +124,8 @@ extern "C" {
/// The functions of this structure will be called on the UI thread unless
/// otherwise indicated.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_frame_handler_t {
///
/// Base structure.
@ -138,17 +136,33 @@ typedef struct _cef_frame_handler_t {
/// Called when a new frame is created. This will be the first notification
/// that references |frame|. Any commands that require transport to the
/// associated renderer process (LoadRequest, SendProcessMessage, GetSource,
/// etc.) will be queued until OnFrameAttached is called for |frame|.
/// etc.) will be queued. The queued commands will be sent before
/// OnFrameAttached or discarded before OnFrameDestroyed if the frame never
/// attaches.
///
void(CEF_CALLBACK* on_frame_created)(struct _cef_frame_handler_t* self,
struct _cef_browser_t* browser,
struct _cef_frame_t* frame);
///
/// Called when an existing frame is destroyed. This will be the last
/// notification that references |frame| and cef_frame_t::is_valid() will
/// return false (0) for |frame|. If called during browser destruction and
/// after cef_life_span_handler_t::on_before_close() then
/// cef_browser_t::is_valid() will return false (0) for |browser|. Any queued
/// commands that have not been sent will be discarded before this callback.
///
void(CEF_CALLBACK* on_frame_destroyed)(struct _cef_frame_handler_t* self,
struct _cef_browser_t* browser,
struct _cef_frame_t* frame);
///
/// Called when a frame can begin routing commands to/from the associated
/// renderer process. |reattached| will be true (1) if the frame was re-
/// attached after exiting the BackForwardCache. Any commands that were queued
/// have now been dispatched.
/// attached after exiting the BackForwardCache or after encountering a
/// recoverable connection error. Any queued commands will now have been
/// dispatched. This function will not be called for temporary frames created
/// during cross-origin navigation.
///
void(CEF_CALLBACK* on_frame_attached)(struct _cef_frame_handler_t* self,
struct _cef_browser_t* browser,
@ -156,12 +170,19 @@ typedef struct _cef_frame_handler_t {
int reattached);
///
/// Called when a frame loses its connection to the renderer process and will
/// be destroyed. Any pending or future commands will be discarded and
/// cef_frame_t::is_valid() will now return false (0) for |frame|. If called
/// after cef_life_span_handler_t::on_before_close() during browser
/// destruction then cef_browser_t::is_valid() will return false (0) for
/// |browser|.
/// Called when a frame loses its connection to the renderer process. This may
/// occur when a frame is destroyed, enters the BackForwardCache, or
/// encounters a rare connection error. In the case of frame destruction this
/// call will be followed by a (potentially async) call to OnFrameDestroyed.
/// If frame destruction is occuring synchronously then
/// cef_frame_t::is_valid() will return false (0) for |frame|. If called
/// during browser destruction and after
/// cef_life_span_handler_t::on_before_close() then cef_browser_t::is_valid()
/// will return false (0) for |browser|. If, in the non-destruction case, the
/// same frame later exits the BackForwardCache or recovers from a connection
/// error then there will be a follow-up call to OnFrameAttached. This
/// function will not be called for temporary frames created during cross-
/// origin navigation.
///
void(CEF_CALLBACK* on_frame_detached)(struct _cef_frame_handler_t* self,
struct _cef_browser_t* browser,
@ -173,14 +194,14 @@ typedef struct _cef_frame_handler_t {
/// navigation after renderer process termination (due to crashes, etc).
/// |old_frame| will be NULL and |new_frame| will be non-NULL when a main
/// frame is assigned to |browser| for the first time. |old_frame| will be
/// non-NULL and |new_frame| will be NULL and when a main frame is removed
/// from |browser| for the last time. Both |old_frame| and |new_frame| will be
/// non-NULL for cross-origin navigations or re-navigation after renderer
/// process termination. This function will be called after on_frame_created()
/// for |new_frame| and/or after on_frame_detached() for |old_frame|. If
/// called after cef_life_span_handler_t::on_before_close() during browser
/// destruction then cef_browser_t::is_valid() will return false (0) for
/// |browser|.
/// non-NULL and |new_frame| will be NULL when a main frame is removed from
/// |browser| for the last time. Both |old_frame| and |new_frame| will be non-
/// NULL for cross-origin navigations or re-navigation after renderer process
/// termination. This function will be called after on_frame_created() for
/// |new_frame| and/or after on_frame_destroyed() for |old_frame|. If called
/// during browser destruction and after
/// cef_life_span_handler_t::on_before_close() then cef_browser_t::is_valid()
/// will return false (0) for |browser|.
///
void(CEF_CALLBACK* on_main_frame_changed)(struct _cef_frame_handler_t* self,
struct _cef_browser_t* browser,

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=990e80ab5ae04298e6b70cbc0a67115825563251$
// $hash=fc600dc0b69aa3deef96205d41cb96883cc6bcac$
//
#ifndef CEF_INCLUDE_CAPI_CEF_I18N_UTIL_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_I18N_UTIL_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=7512ccf755017d5b1866b753890b498e8163006d$
// $hash=06efd881efedad55a31769af58c3fd2b52d68b70$
//
#ifndef CEF_INCLUDE_CAPI_CEF_IMAGE_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_IMAGE_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_values_capi.h"
@ -55,6 +59,8 @@ extern "C" {
/// will display with a DIP size of 100x100 units. The functions of this
/// structure can be called on any browser process thread.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_image_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=c6810367ba3a17824247dcb17f87040cd021c295$
// $hash=99272ca9b4c3fdc748a57d8b259503c723dd09ce$
//
#ifndef CEF_INCLUDE_CAPI_CEF_JSDIALOG_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_JSDIALOG_HANDLER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
@ -51,6 +55,8 @@ extern "C" {
/// Callback structure used for asynchronous continuation of JavaScript dialog
/// requests.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_jsdialog_callback_t {
///
/// Base structure.
@ -71,6 +77,8 @@ typedef struct _cef_jsdialog_callback_t {
/// Implement this structure to handle events related to JavaScript dialogs. The
/// functions of this structure will be called on the UI thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_jsdialog_handler_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=0bfe161c51cc6378b2e8e2e2b2c017b750b46864$
// $hash=d3eaf55b4b5742d2a83bed3517f64900b9423eec$
//
#ifndef CEF_INCLUDE_CAPI_CEF_KEYBOARD_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_KEYBOARD_HANDLER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
@ -51,6 +55,8 @@ extern "C" {
/// Implement this structure to handle events related to keyboard input. The
/// functions of this structure will be called on the UI thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_keyboard_handler_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=54edf9e9c2a12acdc4cab55079a4a5cb8e2a1e43$
// $hash=239f4760e09071556a555cdce7d945e7e2169e4e$
//
#ifndef CEF_INCLUDE_CAPI_CEF_LIFE_SPAN_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_LIFE_SPAN_HANDLER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
@ -54,6 +58,8 @@ struct _cef_client_t;
/// functions of this structure will be called on the UI thread unless otherwise
/// indicated.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_life_span_handler_t {
///
/// Base structure.
@ -62,33 +68,40 @@ typedef struct _cef_life_span_handler_t {
///
/// Called on the UI thread before a new popup browser is created. The
/// |browser| and |frame| values represent the source of the popup request.
/// The |target_url| and |target_frame_name| values indicate where the popup
/// browser should navigate and may be NULL if not specified with the request.
/// The |target_disposition| value indicates where the user intended to open
/// the popup (e.g. current tab, new tab, etc). The |user_gesture| value will
/// be true (1) if the popup was opened via explicit user gesture (e.g.
/// clicking a link) or false (0) if the popup opened automatically (e.g. via
/// the DomContentLoaded event). The |popupFeatures| structure contains
/// additional information about the requested popup window. To allow creation
/// of the popup browser optionally modify |windowInfo|, |client|, |settings|
/// and |no_javascript_access| and return false (0). To cancel creation of the
/// |browser| and |frame| values represent the source of the popup request
/// (opener browser and frame). The |popup_id| value uniquely identifies the
/// popup in the context of the opener browser. The |target_url| and
/// |target_frame_name| values indicate where the popup browser should
/// navigate and may be NULL if not specified with the request. The
/// |target_disposition| value indicates where the user intended to open the
/// popup (e.g. current tab, new tab, etc). The |user_gesture| value will be
/// true (1) if the popup was opened via explicit user gesture (e.g. clicking
/// a link) or false (0) if the popup opened automatically (e.g. via the
/// DomContentLoaded event). The |popupFeatures| structure contains additional
/// information about the requested popup window. To allow creation of the
/// popup browser optionally modify |windowInfo|, |client|, |settings| and
/// |no_javascript_access| and return false (0). To cancel creation of the
/// popup browser return true (1). The |client| and |settings| values will
/// default to the source browser's values. If the |no_javascript_access|
/// value is set to false (0) the new browser will not be scriptable and may
/// not be hosted in the same renderer process as the source browser. Any
/// modifications to |windowInfo| will be ignored if the parent browser is
/// wrapped in a cef_browser_view_t. Popup browser creation will be canceled
/// if the parent browser is destroyed before the popup browser creation
/// completes (indicated by a call to OnAfterCreated for the popup browser).
/// The |extra_info| parameter provides an opportunity to specify extra
/// information specific to the created popup browser that will be passed to
/// wrapped in a cef_browser_view_t. The |extra_info| parameter provides an
/// opportunity to specify extra information specific to the created popup
/// browser that will be passed to
/// cef_render_process_handler_t::on_browser_created() in the render process.
///
/// If popup browser creation succeeds then OnAfterCreated will be called for
/// the new popup browser. If popup browser creation fails, and if the opener
/// browser has not yet been destroyed, then OnBeforePopupAborted will be
/// called for the opener browser. See OnBeforePopupAborted documentation for
/// additional details.
///
int(CEF_CALLBACK* on_before_popup)(
struct _cef_life_span_handler_t* self,
struct _cef_browser_t* browser,
struct _cef_frame_t* frame,
int popup_id,
const cef_string_t* target_url,
const cef_string_t* target_frame_name,
cef_window_open_disposition_t target_disposition,
@ -100,6 +113,26 @@ typedef struct _cef_life_span_handler_t {
struct _cef_dictionary_value_t** extra_info,
int* no_javascript_access);
///
/// Called on the UI thread if a new popup browser is aborted. This only
/// occurs if the popup is allowed in OnBeforePopup and creation fails before
/// OnAfterCreated is called for the new popup browser. The |browser| value is
/// the source of the popup request (opener browser). The |popup_id| value
/// uniquely identifies the popup in the context of the opener browser, and is
/// the same value that was passed to OnBeforePopup.
///
/// Any client state associated with pending popups should be cleared in
/// OnBeforePopupAborted, OnAfterCreated of the popup browser, or
/// OnBeforeClose of the opener browser. OnBeforeClose of the opener browser
/// may be called before this function in cases where the opener is closing
/// during popup creation, in which case cef_browser_host_t::IsValid will
/// return false (0) in this function.
///
void(CEF_CALLBACK* on_before_popup_aborted)(
struct _cef_life_span_handler_t* self,
struct _cef_browser_t* browser,
int popup_id);
///
/// Called on the UI thread before a new DevTools popup browser is created.
/// The |browser| value represents the source of the popup request. Optionally
@ -117,7 +150,7 @@ typedef struct _cef_life_span_handler_t {
/// Views-hosted source browsers will create Views-hosted DevTools popups
/// unless |use_default_window| is set to to true (1). DevTools popups can be
/// blocked by returning true (1) from cef_command_handler_t::OnChromeCommand
/// for IDC_DEV_TOOLS. Only used with the Chrome runtime.
/// for IDC_DEV_TOOLS. Only used with Chrome style.
///
void(CEF_CALLBACK* on_before_dev_tools_popup)(
struct _cef_life_span_handler_t* self,
@ -138,35 +171,44 @@ typedef struct _cef_life_span_handler_t {
struct _cef_browser_t* browser);
///
/// Called when a browser has received a request to close. This may result
/// directly from a call to cef_browser_host_t::*close_browser() or indirectly
/// if the browser is parented to a top-level window created by CEF and the
/// user attempts to close that window (by clicking the 'X', for example). The
/// do_close() function will be called after the JavaScript 'onunload' event
/// has been fired.
/// Called when an Alloy style browser is ready to be closed, meaning that the
/// close has already been initiated and that JavaScript unload handlers have
/// already executed or should be ignored. This may result directly from a
/// call to cef_browser_host_t::[Try]close_browser() or indirectly if the
/// browser's top-level parent window was created by CEF and the user attempts
/// to close that window (by clicking the 'X', for example). do_close() will
/// not be called if the browser's host window/view has already been destroyed
/// (via parent window/view hierarchy tear-down, for example), as it is no
/// longer possible to customize the close behavior at that point.
///
/// An application should handle top-level owner window close notifications by
/// calling cef_browser_host_t::try_close_browser() or
/// An application should handle top-level parent window close notifications
/// by calling cef_browser_host_t::try_close_browser() or
/// cef_browser_host_t::CloseBrowser(false (0)) instead of allowing the window
/// to close immediately (see the examples below). This gives CEF an
/// opportunity to process the 'onbeforeunload' event and optionally cancel
/// opportunity to process JavaScript unload handlers and optionally cancel
/// the close before do_close() is called.
///
/// When windowed rendering is enabled CEF will internally create a window or
/// view to host the browser. In that case returning false (0) from do_close()
/// will send the standard close notification to the browser's top-level owner
/// window (e.g. WM_CLOSE on Windows, performClose: on OS X, "delete_event" on
/// Linux or cef_window_delegate_t::can_close() callback from Views). If the
/// browser's host window/view has already been destroyed (via view hierarchy
/// tear-down, for example) then do_close() will not be called for that
/// browser since is no longer possible to cancel the close.
/// When windowed rendering is enabled CEF will create an internal child
/// window/view to host the browser. In that case returning false (0) from
/// do_close() will send the standard close notification to the browser's top-
/// level parent window (e.g. WM_CLOSE on Windows, performClose: on OS X,
/// "delete_event" on Linux or cef_window_delegate_t::can_close() callback
/// from Views).
///
/// When windowed rendering is disabled returning false (0) from do_close()
/// will cause the browser object to be destroyed immediately.
/// When windowed rendering is disabled there is no internal window/view and
/// returning false (0) from do_close() will cause the browser object to be
/// destroyed immediately.
///
/// If the browser's top-level owner window requires a non-standard close
/// If the browser's top-level parent window requires a non-standard close
/// notification then send that notification from do_close() and return true
/// (1).
/// (1). You are still required to complete the browser close as soon as
/// possible (either by calling [Try]close_browser() or by proceeding with
/// window/view hierarchy tear-down), otherwise the browser will be left in a
/// partially closed state that interferes with proper functioning. Top-level
/// windows created on the browser process UI thread can alternately call
/// cef_browser_host_t::is_ready_to_be_closed() in the close handler to check
/// close status instead of relying on custom do_close() handling. See
/// documentation on that function for additional details.
///
/// The cef_life_span_handler_t::on_before_close() function will be called
/// after do_close() (if do_close() is called) and immediately before the
@ -182,22 +224,26 @@ typedef struct _cef_life_span_handler_t {
/// which sends a close notification
/// to the application's top-level window.
/// 2. Application's top-level window receives the close notification and
/// calls TryCloseBrowser() (which internally calls CloseBrowser(false)).
/// calls TryCloseBrowser() (similar to calling CloseBrowser(false)).
/// TryCloseBrowser() returns false so the client cancels the window
/// close.
/// 3. JavaScript 'onbeforeunload' handler executes and shows the close
/// confirmation dialog (which can be overridden via
/// CefJSDialogHandler::OnBeforeUnloadDialog()).
/// 4. User approves the close. 5. JavaScript 'onunload' handler executes.
/// 6. CEF sends a close notification to the application's top-level window
/// (because DoClose() returned false by default).
/// 7. Application's top-level window receives the close notification and
/// 6. Application's do_close() handler is called and returns false (0) by
/// default.
/// 7. CEF sends a close notification to the application's top-level window
/// (because DoClose() returned false).
/// 8. Application's top-level window receives the close notification and
/// calls TryCloseBrowser(). TryCloseBrowser() returns true so the client
/// allows the window close.
/// 8. Application's top-level window is destroyed. 9. Application's
/// on_before_close() handler is called and the browser object
/// 9. Application's top-level window is destroyed, triggering destruction
/// of the child browser window.
/// 10. Application's on_before_close() handler is called and the browser
/// object
/// is destroyed.
/// 10. Application exits by calling cef_quit_message_loop() if no other
/// 11. Application exits by calling cef_quit_message_loop() if no other
/// browsers
/// exist.
///
@ -215,13 +261,17 @@ typedef struct _cef_life_span_handler_t {
/// CefJSDialogHandler::OnBeforeUnloadDialog()).
/// 4. User approves the close. 5. JavaScript 'onunload' handler executes.
/// 6. Application's do_close() handler is called. Application will:
/// A. Set a flag to indicate that the next close attempt will be allowed.
/// A. Set a flag to indicate that the next top-level window close attempt
/// will be allowed.
/// B. Return false.
/// 7. CEF sends an close notification to the application's top-level window.
/// 7. CEF sends a close notification to the application's top-level window
/// (because DoClose() returned false).
/// 8. Application's top-level window receives the close notification and
/// allows the window to close based on the flag from #6B.
/// 9. Application's top-level window is destroyed. 10. Application's
/// on_before_close() handler is called and the browser object
/// allows the window to close based on the flag from #6A.
/// 9. Application's top-level window is destroyed, triggering destruction
/// of the child browser window.
/// 10. Application's on_before_close() handler is called and the browser
/// object
/// is destroyed.
/// 11. Application exits by calling cef_quit_message_loop() if no other
/// browsers
@ -235,10 +285,11 @@ typedef struct _cef_life_span_handler_t {
/// browser object and do not attempt to execute any functions on the browser
/// object (other than IsValid, GetIdentifier or IsSame) after this callback
/// returns. cef_frame_handler_t callbacks related to final main frame
/// destruction will arrive after this callback and cef_browser_t::IsValid
/// will return false (0) at that time. Any in-progress network requests
/// associated with |browser| will be aborted when the browser is destroyed,
/// and cef_resource_request_handler_t callbacks related to those requests may
/// destruction, and OnBeforePopupAborted callbacks for any pending popups,
/// will arrive after this callback and cef_browser_t::IsValid will return
/// false (0) at that time. Any in-progress network requests associated with
/// |browser| will be aborted when the browser is destroyed, and
/// cef_resource_request_handler_t callbacks related to those requests may
/// still arrive on the IO thread after this callback. See cef_frame_handler_t
/// and do_close() documentation for additional usage information.
///

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=eb842e65cd2e7c4a8a6baa2813b57ac0d3977261$
// $hash=f4ea0f8d1157566cf53d2f35ba118afde12d0dcc$
//
#ifndef CEF_INCLUDE_CAPI_CEF_LOAD_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_LOAD_HANDLER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
#include "include/capi/cef_frame_capi.h"
@ -53,6 +57,8 @@ extern "C" {
/// The functions of this structure will be called on the browser process UI
/// thread or render process main thread (TID_RENDERER).
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_load_handler_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=8eec1100e8470cbe3ebc54d5962416d2fa4d57fb$
// $hash=4874cf5e01fff48e265cba12720148f4a2355123$
//
#ifndef CEF_INCLUDE_CAPI_CEF_MEDIA_ROUTER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_MEDIA_ROUTER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_callback_capi.h"
#include "include/capi/cef_registration_capi.h"
@ -60,6 +64,8 @@ struct _cef_media_source_t;
/// network via the Cast and DIAL protocols. The functions of this structure may
/// be called on any browser process thread unless otherwise indicated.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_media_router_t {
///
/// Base structure.
@ -125,6 +131,8 @@ CEF_EXPORT cef_media_router_t* cef_media_router_get_global(
/// cef_media_router_t::AddObserver. The functions of this structure will be
/// called on the browser process UI thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_media_observer_t {
///
/// Base structure.
@ -173,6 +181,8 @@ typedef struct _cef_media_observer_t {
/// routing operation. The functions of this structure may be called on any
/// browser process thread unless otherwise indicated.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_media_route_t {
///
/// Base structure.
@ -215,6 +225,8 @@ typedef struct _cef_media_route_t {
/// Callback structure for cef_media_router_t::CreateRoute. The functions of
/// this structure will be called on the browser process UI thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_media_route_create_callback_t {
///
/// Base structure.
@ -239,6 +251,8 @@ typedef struct _cef_media_route_create_callback_t {
/// retrieved via cef_media_observer_t::OnSinks. The functions of this structure
/// may be called on any browser process thread unless otherwise indicated.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_media_sink_t {
///
/// Base structure.
@ -291,6 +305,8 @@ typedef struct _cef_media_sink_t {
/// Callback structure for cef_media_sink_t::GetDeviceInfo. The functions of
/// this structure will be called on the browser process UI thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_media_sink_device_info_callback_t {
///
/// Base structure.
@ -312,6 +328,8 @@ typedef struct _cef_media_sink_device_info_callback_t {
/// structure may be called on any browser process thread unless otherwise
/// indicated.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_media_source_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=5dae0b1a1271e79a5fd9b2c6e71e7a719a450161$
// $hash=3faec922bbb345e8bc5429dabe8ebdc2275253dd$
//
#ifndef CEF_INCLUDE_CAPI_CEF_MENU_MODEL_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_MENU_MODEL_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_menu_model_delegate_capi.h"
@ -53,6 +57,8 @@ extern "C" {
/// should be between MENU_ID_USER_FIRST and MENU_ID_USER_LAST. The functions of
/// this structure can only be accessed on the browser process the UI thread.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_menu_model_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=01bdeaf96ea01591689b52b0955504644d6614b8$
// $hash=356622117a74adbc02a4b778985a3dcf402992f6$
//
#ifndef CEF_INCLUDE_CAPI_CEF_MENU_MODEL_DELEGATE_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_MENU_MODEL_DELEGATE_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus
@ -53,6 +57,8 @@ struct _cef_menu_model_t;
/// structure will be called on the browser process UI thread unless otherwise
/// indicated.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_menu_model_delegate_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=dbdac05f2ebd8e8a357eacfe5095676a5bd5b1ac$
// $hash=ee689e4f8ec74d73a3b89f039fc0df900fa2611e$
//
#ifndef CEF_INCLUDE_CAPI_CEF_NAVIGATION_ENTRY_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_NAVIGATION_ENTRY_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_ssl_status_capi.h"
@ -50,6 +54,8 @@ extern "C" {
///
/// Structure used to represent an entry in navigation history.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_navigation_entry_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=f146fd9172033e77e90994841df9fa55ff71aa4b$
// $hash=c79c0b685306bfc5de847142f9c0abb36e88c891$
//
#ifndef CEF_INCLUDE_CAPI_CEF_ORIGIN_WHITELIST_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_ORIGIN_WHITELIST_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=8accded29b97df1549e86e58d8976fe0f800359a$
// $hash=76d89f9af92afd53c32f711d9f48528f52b071e9$
//
#ifndef CEF_INCLUDE_CAPI_CEF_PARSER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_PARSER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus
@ -104,14 +108,14 @@ CEF_EXPORT void cef_get_extensions_for_mime_type(const cef_string_t* mime_type,
/// Encodes |data| as a base64 string.
///
// The resulting string must be freed by calling cef_string_userfree_free().
CEF_EXPORT cef_string_userfree_t cef_base64encode(const void* data,
size_t data_size);
CEF_EXPORT cef_string_userfree_t cef_base64_encode(const void* data,
size_t data_size);
///
/// Decodes the base64 encoded string |data|. The returned value will be NULL if
/// the decoding fails.
///
CEF_EXPORT struct _cef_binary_value_t* cef_base64decode(
CEF_EXPORT struct _cef_binary_value_t* cef_base64_decode(
const cef_string_t* data);
///

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=ee0c50b4e1f51fb2286da24bb9244ae74f3b0c6f$
// $hash=996b61439db40a3a21b3395999451ab754911fbe$
//
#ifndef CEF_INCLUDE_CAPI_CEF_PATH_UTIL_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_PATH_UTIL_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=c9b3913701581cd6a1077fa3a39d197f338a2507$
// $hash=c68d422a83fa1de8bd4e53e8b95223303cff206e$
//
#ifndef CEF_INCLUDE_CAPI_CEF_PERMISSION_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_PERMISSION_HANDLER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
@ -51,6 +55,8 @@ extern "C" {
/// Callback structure used for asynchronous continuation of media access
/// permission requests.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_media_access_callback_t {
///
/// Base structure.
@ -77,6 +83,8 @@ typedef struct _cef_media_access_callback_t {
///
/// Callback structure used for asynchronous continuation of permission prompts.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_permission_prompt_callback_t {
///
/// Base structure.
@ -95,6 +103,8 @@ typedef struct _cef_permission_prompt_callback_t {
/// The functions of this structure will be called on the browser process UI
/// thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_permission_handler_t {
///
/// Base structure.
@ -108,11 +118,11 @@ typedef struct _cef_permission_handler_t {
/// cef_media_access_permission_types_t that represent the requested
/// permissions. Return true (1) and call cef_media_access_callback_t
/// functions either in this function or at a later time to continue or cancel
/// the request. Return false (0) to proceed with default handling. With the
/// Chrome runtime, default handling will display the permission request UI.
/// With the Alloy runtime, default handling will deny the request. This
/// function will not be called if the "--enable-media-stream" command-line
/// switch is used to grant all permissions.
/// the request. Return false (0) to proceed with default handling. With
/// Chrome style, default handling will display the permission request UI.
/// With Alloy style, default handling will deny the request. This function
/// will not be called if the "--enable-media-stream" command-line switch is
/// used to grant all permissions.
///
int(CEF_CALLBACK* on_request_media_access_permission)(
struct _cef_permission_handler_t* self,
@ -129,9 +139,9 @@ typedef struct _cef_permission_handler_t {
/// cef_permission_request_types_t that represent the requested permissions.
/// Return true (1) and call cef_permission_prompt_callback_t::Continue either
/// in this function or at a later time to continue or cancel the request.
/// Return false (0) to proceed with default handling. With the Chrome
/// runtime, default handling will display the permission prompt UI. With the
/// Alloy runtime, default handling is CEF_PERMISSION_RESULT_IGNORE.
/// Return false (0) to proceed with default handling. With Chrome style,
/// default handling will display the permission prompt UI. With Alloy style,
/// default handling is CEF_PERMISSION_RESULT_IGNORE.
///
int(CEF_CALLBACK* on_show_permission_prompt)(
struct _cef_permission_handler_t* self,

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,14 +33,19 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=1c0e469a283538945834404bcd5934b9bb9a0756$
// $hash=fb4ae87f82c143a82ddc5e4855624f9555c0d617$
//
#ifndef CEF_INCLUDE_CAPI_CEF_PREFERENCE_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_PREFERENCE_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_registration_capi.h"
#include "include/capi/cef_values_capi.h"
#ifdef __cplusplus
@ -50,6 +55,8 @@ extern "C" {
///
/// Structure that manages custom preference registrations.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_preference_registrar_t {
///
/// Base structure.
@ -72,11 +79,39 @@ typedef struct _cef_preference_registrar_t {
struct _cef_value_t* default_value);
} cef_preference_registrar_t;
#if CEF_API_ADDED(13401)
///
/// Implemented by the client to observe preference changes and registered via
/// cef_preference_manager_t::AddPreferenceObserver. The functions of this
/// structure will be called on the browser process UI thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_preference_observer_t {
///
/// Base structure.
///
cef_base_ref_counted_t base;
///
/// Called when a preference has changed. The new value can be retrieved using
/// cef_preference_manager_t::GetPreference.
///
void(CEF_CALLBACK* on_preference_changed)(
struct _cef_preference_observer_t* self,
const cef_string_t* name);
} cef_preference_observer_t;
#endif // CEF_API_ADDED(13401)
///
/// Manage access to preferences. Many built-in preferences are registered by
/// Chromium. Custom preferences can be registered in
/// cef_browser_process_handler_t::OnRegisterCustomPreferences.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_preference_manager_t {
///
/// Base structure.
@ -134,8 +169,52 @@ typedef struct _cef_preference_manager_t {
const cef_string_t* name,
struct _cef_value_t* value,
cef_string_t* error);
#if CEF_API_ADDED(13401)
///
/// Add an observer for preference changes. |name| is the name of the
/// preference to observe. If |name| is NULL then all preferences will be
/// observed. Observing all preferences has performance consequences and is
/// not recommended outside of testing scenarios. The observer will remain
/// registered until the returned Registration object is destroyed. This
/// function must be called on the browser process UI thread.
///
struct _cef_registration_t*(CEF_CALLBACK* add_preference_observer)(
struct _cef_preference_manager_t* self,
const cef_string_t* name,
struct _cef_preference_observer_t* observer);
#endif
} cef_preference_manager_t;
#if CEF_API_ADDED(13401)
///
/// Returns the current Chrome Variations configuration (combination of field
/// trials and chrome://flags) as equivalent command-line switches
/// (`--[enable|disable]-features=XXXX`, etc). These switches can be used to
/// apply the same configuration when launching a CEF-based application. See
/// https://developer.chrome.com/docs/web-platform/chrome-variations for
/// background and details. Note that field trial tests are disabled by default
/// in Official CEF builds (via the `disable_fieldtrial_testing_config=true (1)`
/// GN flag). This function must be called on the browser process UI thread.
///
CEF_EXPORT void cef_preference_manager_get_chrome_variations_as_switches(
cef_string_list_t switches);
#endif
#if CEF_API_ADDED(13401)
///
/// Returns the current Chrome Variations configuration (combination of field
/// trials and chrome://flags) as human-readable strings. This is the human-
/// readable equivalent of the "Active Variations" section of chrome://version.
/// See https://developer.chrome.com/docs/web-platform/chrome-variations for
/// background and details. Note that field trial tests are disabled by default
/// in Official CEF builds (via the `disable_fieldtrial_testing_config=true (1)`
/// GN flag). This function must be called on the browser process UI thread.
///
CEF_EXPORT void cef_preference_manager_get_chrome_variations_as_strings(
cef_string_list_t strings);
#endif
///
/// Returns the global preference manager object.
///

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=96d5b6c0dc8f2575e686fb79684c63787cdfe876$
// $hash=6ee45d7ffdb5670f98e8a042ed0c4db5cabc6d12$
//
#ifndef CEF_INCLUDE_CAPI_CEF_PRINT_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_PRINT_HANDLER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
#include "include/capi/cef_print_settings_capi.h"
@ -51,6 +55,8 @@ extern "C" {
///
/// Callback structure for asynchronous continuation of print dialog requests.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_print_dialog_callback_t {
///
/// Base structure.
@ -72,6 +78,8 @@ typedef struct _cef_print_dialog_callback_t {
///
/// Callback structure for asynchronous continuation of print job requests.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_print_job_callback_t {
///
/// Base structure.
@ -89,6 +97,8 @@ typedef struct _cef_print_job_callback_t {
/// only one print job in progress at a time. The functions of this structure
/// will be called on the browser process UI thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_print_handler_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=63977fcbe4567db202914f69539f49b254352053$
// $hash=69993ccc7b3ffcb04b8a892d6607a005b6e8dcc9$
//
#ifndef CEF_INCLUDE_CAPI_CEF_PRINT_SETTINGS_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_PRINT_SETTINGS_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus
@ -49,6 +53,8 @@ extern "C" {
///
/// Structure representing print settings.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_print_settings_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=89c569df7e5e4a6035d4527218ce4dc1d68e20f0$
// $hash=3b2decb52f84b67988dc2ae791efc7223b0f35ed$
//
#ifndef CEF_INCLUDE_CAPI_CEF_PROCESS_MESSAGE_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_PROCESS_MESSAGE_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_shared_memory_region_capi.h"
#include "include/capi/cef_values_capi.h"
@ -51,6 +55,8 @@ extern "C" {
///
/// Structure representing a message. Can be used on any process and thread.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_process_message_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=a61a639c7e53ecd9481eae363bac557055f0442e$
// $hash=3f9182df1fe85fe89287c4260c60ce224fef6d27$
//
#ifndef CEF_INCLUDE_CAPI_CEF_PROCESS_UTIL_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_PROCESS_UTIL_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=c53a67bbf1497a51766bf03040714b5edb2117d5$
// $hash=04c145d2d938e84ac015c3f8265f942d187943f7$
//
#ifndef CEF_INCLUDE_CAPI_CEF_REGISTRATION_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_REGISTRATION_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus
@ -49,6 +53,8 @@ extern "C" {
///
/// Generic callback structure used for managing the lifespan of a registration.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_registration_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=5151b6ea3c06e46a75f2cd7679044a2891063d29$
// $hash=b5a7e3a696d67577cfeeb3739086fc3a2c8287d1$
//
#ifndef CEF_INCLUDE_CAPI_CEF_RENDER_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_RENDER_HANDLER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_accessibility_handler_capi.h"
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
@ -53,6 +57,8 @@ extern "C" {
/// Implement this structure to handle events when window rendering is disabled.
/// The functions of this structure will be called on the UI thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_render_handler_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=6e2fccb5a8e49918d723f6c5223062cf98b0f9de$
// $hash=5f9161db67adb86dc477f51aa775956c5ebbdf36$
//
#ifndef CEF_INCLUDE_CAPI_CEF_RENDER_PROCESS_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_RENDER_PROCESS_HANDLER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
#include "include/capi/cef_dom_capi.h"
@ -58,6 +62,8 @@ extern "C" {
/// structure will be called on the render process main thread (TID_RENDERER)
/// unless otherwise indicated.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_render_process_handler_t {
///
/// Base structure.
@ -100,16 +106,16 @@ typedef struct _cef_render_process_handler_t {
///
/// Called immediately after the V8 context for a frame has been created. To
/// retrieve the JavaScript 'window' object use the
/// cef_v8context_t::get_global() function. V8 handles can only be accessed
/// cef_v8_context_t::get_global() function. V8 handles can only be accessed
/// from the thread on which they are created. A task runner for posting tasks
/// on the associated thread can be retrieved via the
/// cef_v8context_t::get_task_runner() function.
/// cef_v8_context_t::get_task_runner() function.
///
void(CEF_CALLBACK* on_context_created)(
struct _cef_render_process_handler_t* self,
struct _cef_browser_t* browser,
struct _cef_frame_t* frame,
struct _cef_v8context_t* context);
struct _cef_v8_context_t* context);
///
/// Called immediately before the V8 context for a frame is released. No
@ -119,7 +125,7 @@ typedef struct _cef_render_process_handler_t {
struct _cef_render_process_handler_t* self,
struct _cef_browser_t* browser,
struct _cef_frame_t* frame,
struct _cef_v8context_t* context);
struct _cef_v8_context_t* context);
///
/// Called for global uncaught exceptions in a frame. Execution of this
@ -130,9 +136,9 @@ typedef struct _cef_render_process_handler_t {
struct _cef_render_process_handler_t* self,
struct _cef_browser_t* browser,
struct _cef_frame_t* frame,
struct _cef_v8context_t* context,
struct _cef_v8exception_t* exception,
struct _cef_v8stack_trace_t* stackTrace);
struct _cef_v8_context_t* context,
struct _cef_v8_exception_t* exception,
struct _cef_v8_stack_trace_t* stackTrace);
///
/// Called when a new node in the the browser gets focus. The |node| value may

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=14ce483864835eca476d08d39ed4236fbd1a874c$
// $hash=956f208ecbbbdee8e0db8a066de1c4e154d12e4a$
//
#ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_REQUEST_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus
@ -53,6 +57,8 @@ struct _cef_post_data_t;
/// Structure used to represent a web request. The functions of this structure
/// may be called on any thread.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_request_t {
///
/// Base structure.
@ -226,6 +232,8 @@ CEF_EXPORT cef_request_t* cef_request_create(void);
/// Structure used to represent post data for a web request. The functions of
/// this structure may be called on any thread.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_post_data_t {
///
/// Base structure.
@ -286,6 +294,8 @@ CEF_EXPORT cef_post_data_t* cef_post_data_create(void);
/// Structure used to represent a single element in the request post data. The
/// functions of this structure may be called on any thread.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_post_data_element_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,19 +33,22 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=2c496139ca9a59303b1493ee93d2c3ae96a956c0$
// $hash=f2001cd5df8882c3f3a796dbf224b094c0d681f0$
//
#ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_CONTEXT_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_REQUEST_CONTEXT_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_callback_capi.h"
#include "include/capi/cef_cookie_capi.h"
#include "include/capi/cef_extension_capi.h"
#include "include/capi/cef_extension_handler_capi.h"
#include "include/capi/cef_media_router_capi.h"
#include "include/capi/cef_preference_capi.h"
#include "include/capi/cef_registration_capi.h"
#include "include/capi/cef_values_capi.h"
#ifdef __cplusplus
@ -58,6 +61,8 @@ struct _cef_scheme_handler_factory_t;
///
/// Callback structure for cef_request_context_t::ResolveHost.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_resolve_callback_t {
///
/// Base structure.
@ -74,6 +79,35 @@ typedef struct _cef_resolve_callback_t {
cef_string_list_t resolved_ips);
} cef_resolve_callback_t;
#if CEF_API_ADDED(13401)
///
/// Implemented by the client to observe content and website setting changes and
/// registered via cef_request_context_t::AddSettingObserver. The functions of
/// this structure will be called on the browser process UI thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_setting_observer_t {
///
/// Base structure.
///
cef_base_ref_counted_t base;
///
/// Called when a content or website setting has changed. The new value can be
/// retrieved using cef_request_context_t::GetContentSetting or
/// cef_request_context_t::GetWebsiteSetting.
///
void(CEF_CALLBACK* on_setting_changed)(
struct _cef_setting_observer_t* self,
const cef_string_t* requesting_url,
const cef_string_t* top_level_url,
cef_content_setting_types_t content_type);
} cef_setting_observer_t;
#endif // CEF_API_ADDED(13401)
///
/// A request context provides request handling for a set of related browser or
/// URL request objects. A request context can be specified when creating a new
@ -90,6 +124,8 @@ typedef struct _cef_resolve_callback_t {
/// first request context passed into a cef_browser_host_t static factory
/// function and all other request context objects will be ignored.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_request_context_t {
///
/// Base structure.
@ -205,105 +241,6 @@ typedef struct _cef_request_context_t {
const cef_string_t* origin,
struct _cef_resolve_callback_t* callback);
///
/// Load an extension.
///
/// If extension resources will be read from disk using the default load
/// implementation then |root_directory| should be the absolute path to the
/// extension resources directory and |manifest| should be NULL. If extension
/// resources will be provided by the client (e.g. via cef_request_handler_t
/// and/or cef_extension_handler_t) then |root_directory| should be a path
/// component unique to the extension (if not absolute this will be internally
/// prefixed with the PK_DIR_RESOURCES path) and |manifest| should contain the
/// contents that would otherwise be read from the "manifest.json" file on
/// disk.
///
/// The loaded extension will be accessible in all contexts sharing the same
/// storage (HasExtension returns true (1)). However, only the context on
/// which this function was called is considered the loader (DidLoadExtension
/// returns true (1)) and only the loader will receive
/// cef_request_context_handler_t callbacks for the extension.
///
/// cef_extension_handler_t::OnExtensionLoaded will be called on load success
/// or cef_extension_handler_t::OnExtensionLoadFailed will be called on load
/// failure.
///
/// If the extension specifies a background script via the "background"
/// manifest key then cef_extension_handler_t::OnBeforeBackgroundBrowser will
/// be called to create the background browser. See that function for
/// additional information about background scripts.
///
/// For visible extension views the client application should evaluate the
/// manifest to determine the correct extension URL to load and then pass that
/// URL to the cef_browser_host_t::CreateBrowser* function after the extension
/// has loaded. For example, the client can look for the "browser_action"
/// manifest key as documented at
/// https://developer.chrome.com/extensions/browserAction. Extension URLs take
/// the form "chrome-extension://<extension_id>/<path>".
///
/// Browsers that host extensions differ from normal browsers as follows:
/// - Can access chrome.* JavaScript APIs if allowed by the manifest. Visit
/// chrome://extensions-support for the list of extension APIs currently
/// supported by CEF.
/// - Main frame navigation to non-extension content is blocked.
/// - Pinch-zooming is disabled.
/// - CefBrowserHost::GetExtension returns the hosted extension.
/// - CefBrowserHost::IsBackgroundHost returns true for background hosts.
///
/// See https://developer.chrome.com/extensions for extension implementation
/// and usage documentation.
///
/// WARNING: This function is deprecated and will be removed in ~M127.
///
void(CEF_CALLBACK* load_extension)(struct _cef_request_context_t* self,
const cef_string_t* root_directory,
struct _cef_dictionary_value_t* manifest,
struct _cef_extension_handler_t* handler);
///
/// Returns true (1) if this context was used to load the extension identified
/// by |extension_id|. Other contexts sharing the same storage will also have
/// access to the extension (see HasExtension). This function must be called
/// on the browser process UI thread.
///
/// WARNING: This function is deprecated and will be removed in ~M127.
///
int(CEF_CALLBACK* did_load_extension)(struct _cef_request_context_t* self,
const cef_string_t* extension_id);
///
/// Returns true (1) if this context has access to the extension identified by
/// |extension_id|. This may not be the context that was used to load the
/// extension (see DidLoadExtension). This function must be called on the
/// browser process UI thread.
///
/// WARNING: This function is deprecated and will be removed in ~M127.
///
int(CEF_CALLBACK* has_extension)(struct _cef_request_context_t* self,
const cef_string_t* extension_id);
///
/// Retrieve the list of all extensions that this context has access to (see
/// HasExtension). |extension_ids| will be populated with the list of
/// extension ID values. Returns true (1) on success. This function must be
/// called on the browser process UI thread.
///
/// WARNING: This function is deprecated and will be removed in ~M127.
///
int(CEF_CALLBACK* get_extensions)(struct _cef_request_context_t* self,
cef_string_list_t extension_ids);
///
/// Returns the extension matching |extension_id| or NULL if no matching
/// extension is accessible in this context (see HasExtension). This function
/// must be called on the browser process UI thread.
///
/// WARNING: This function is deprecated and will be removed in ~M127.
///
struct _cef_extension_t*(CEF_CALLBACK* get_extension)(
struct _cef_request_context_t* self,
const cef_string_t* extension_id);
///
/// Returns the MediaRouter object associated with this context. If
/// |callback| is non-NULL it will be executed asnychronously on the UI thread
@ -411,6 +348,17 @@ typedef struct _cef_request_context_t {
///
cef_color_variant_t(CEF_CALLBACK* get_chrome_color_scheme_variant)(
struct _cef_request_context_t* self);
#if CEF_API_ADDED(13401)
///
/// Add an observer for content and website setting changes. The observer will
/// remain registered until the returned Registration object is destroyed.
/// This function must be called on the browser process UI thread.
///
struct _cef_registration_t*(CEF_CALLBACK* add_setting_observer)(
struct _cef_request_context_t* self,
struct _cef_setting_observer_t* observer);
#endif
} cef_request_context_t;
///
@ -430,7 +378,7 @@ CEF_EXPORT cef_request_context_t* cef_request_context_create_context(
/// Creates a new context object that shares storage with |other| and uses an
/// optional |handler|.
///
CEF_EXPORT cef_request_context_t* cef_create_context_shared(
CEF_EXPORT cef_request_context_t* cef_request_context_cef_create_context_shared(
cef_request_context_t* other,
struct _cef_request_context_handler_t* handler);

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=d90d816565429ad304f43490b0619af5ffa70274$
// $hash=fef0d3340e7c791bed431719a7864f707a830ddc$
//
#ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_CONTEXT_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_REQUEST_CONTEXT_HANDLER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
#include "include/capi/cef_frame_capi.h"
@ -56,6 +60,8 @@ extern "C" {
/// instance will not be released until all objects related to the context have
/// been destroyed.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_request_context_handler_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=2e8b5c5107f61e3d4c333dc02c76a9f30cd0cf83$
// $hash=8097f8f9576d870ca90fced556dcdb2d57301fa3$
//
#ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_REQUEST_HANDLER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_auth_callback_capi.h"
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
@ -58,6 +62,8 @@ extern "C" {
///
/// Callback structure used to select a client certificate for authentication.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_select_client_certificate_callback_t {
///
/// Base structure.
@ -70,13 +76,15 @@ typedef struct _cef_select_client_certificate_callback_t {
///
void(CEF_CALLBACK* select)(
struct _cef_select_client_certificate_callback_t* self,
struct _cef_x509certificate_t* cert);
struct _cef_x509_certificate_t* cert);
} cef_select_client_certificate_callback_t;
///
/// Implement this structure to handle events related to browser requests. The
/// functions of this structure will be called on the thread indicated.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_request_handler_t {
///
/// Base structure.
@ -194,16 +202,19 @@ typedef struct _cef_request_handler_t {
///
/// Called on the UI thread when a client certificate is being requested for
/// authentication. Return false (0) to use the default behavior and
/// automatically select the first certificate available. Return true (1) and
/// call cef_select_client_certificate_callback_t::Select either in this
/// function or at a later time to select a certificate. Do not call Select or
/// call it with NULL to continue without using any certificate. |isProxy|
/// indicates whether the host is an HTTPS proxy or the origin server. |host|
/// and |port| contains the hostname and port of the SSL server.
/// |certificates| is the list of certificates to choose from; this list has
/// already been pruned by Chromium so that it only contains certificates from
/// issuers that the server trusts.
/// authentication. Return false (0) to use the default behavior. If the
/// |certificates| list is not NULL the default behavior will be to display a
/// dialog for certificate selection. If the |certificates| list is NULL then
/// the default behavior will be not to show a dialog and it will continue
/// without using any certificate. Return true (1) and call
/// cef_select_client_certificate_callback_t::Select either in this function
/// or at a later time to select a certificate. Do not call Select or call it
/// with NULL to continue without using any certificate. |isProxy| indicates
/// whether the host is an HTTPS proxy or the origin server. |host| and |port|
/// contains the hostname and port of the SSL server. |certificates| is the
/// list of certificates to choose from; this list has already been pruned by
/// Chromium so that it only contains certificates from issuers that the
/// server trusts.
///
int(CEF_CALLBACK* on_select_client_certificate)(
struct _cef_request_handler_t* self,
@ -212,7 +223,7 @@ typedef struct _cef_request_handler_t {
const cef_string_t* host,
int port,
size_t certificatesCount,
struct _cef_x509certificate_t* const* certificates,
struct _cef_x509_certificate_t* const* certificates,
struct _cef_select_client_certificate_callback_t* callback);
///
@ -227,20 +238,19 @@ typedef struct _cef_request_handler_t {
/// Called on the browser process UI thread when the render process is
/// unresponsive as indicated by a lack of input event processing for at least
/// 15 seconds. Return false (0) for the default behavior which is an
/// indefinite wait with the Alloy runtime or display of the "Page
/// unresponsive" dialog with the Chrome runtime. Return true (1) and don't
/// execute the callback for an indefinite wait without display of the Chrome
/// runtime dialog. Return true (1) and call
/// cef_unresponsive_process_callback_t::Wait either in this function or at a
/// later time to reset the wait timer, potentially triggering another call to
/// this function if the process remains unresponsive. Return true (1) and
/// call cef_unresponsive_process_callback_t:: Terminate either in this
/// function or at a later time to terminate the unresponsive process,
/// resulting in a call to OnRenderProcessTerminated.
/// OnRenderProcessResponsive will be called if the process becomes responsive
/// after this function is called. This functionality depends on the hang
/// monitor which can be disabled by passing the `--disable-hang-monitor`
/// command-line flag.
/// indefinite wait with Alloy style or display of the "Page unresponsive"
/// dialog with Chrome style. Return true (1) and don't execute the callback
/// for an indefinite wait without display of the Chrome style dialog. Return
/// true (1) and call cef_unresponsive_process_callback_t::Wait either in this
/// function or at a later time to reset the wait timer, potentially
/// triggering another call to this function if the process remains
/// unresponsive. Return true (1) and call
/// cef_unresponsive_process_callback_t:: Terminate either in this function or
/// at a later time to terminate the unresponsive process, resulting in a call
/// to OnRenderProcessTerminated. OnRenderProcessResponsive will be called if
/// the process becomes responsive after this function is called. This
/// functionality depends on the hang monitor which can be disabled by passing
/// the `--disable-hang-monitor` command-line flag.
///
int(CEF_CALLBACK* on_render_process_unresponsive)(
struct _cef_request_handler_t* self,

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=d97d3ca6c8d610627538c58f3b4ba3869f3d9ac7$
// $hash=f47f2838ce9498bf79366713ae03573c3d0e50d5$
//
#ifndef CEF_INCLUDE_CAPI_CEF_RESOURCE_BUNDLE_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_RESOURCE_BUNDLE_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_values_capi.h"
@ -54,6 +58,8 @@ extern "C" {
/// additional options related to resource bundle loading. The functions of this
/// structure may be called on any thread unless otherwise indicated.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_resource_bundle_t {
///
/// Base structure.
@ -62,8 +68,9 @@ typedef struct _cef_resource_bundle_t {
///
/// Returns the localized string for the specified |string_id| or an NULL
/// string if the value is not found. Include cef_pack_strings.h for a listing
/// of valid string ID values.
/// string if the value is not found. 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.
///
// The resulting string must be freed by calling cef_string_userfree_free().
cef_string_userfree_t(CEF_CALLBACK* get_localized_string)(
@ -72,8 +79,10 @@ typedef struct _cef_resource_bundle_t {
///
/// Returns a cef_binary_value_t containing the decompressed contents of the
/// specified scale independent |resource_id| or NULL if not found. Include
/// cef_pack_resources.h for a listing of valid resource ID values.
/// specified scale independent |resource_id| or NULL if not found. 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.
///
struct _cef_binary_value_t*(CEF_CALLBACK* get_data_resource)(
struct _cef_resource_bundle_t* self,
@ -83,8 +92,10 @@ typedef struct _cef_resource_bundle_t {
/// Returns a cef_binary_value_t containing the decompressed contents of the
/// specified |resource_id| nearest the scale factor |scale_factor| or NULL if
/// not found. Use a |scale_factor| value of SCALE_FACTOR_NONE for scale
/// independent resources or call GetDataResource instead.Include
/// cef_pack_resources.h for a listing of valid resource ID values.
/// independent resources or call GetDataResource instead. 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.
///
struct _cef_binary_value_t*(CEF_CALLBACK* get_data_resource_for_scale)(
struct _cef_resource_bundle_t* self,

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=b25f3131d67980e493da4d7e484676d000334995$
// $hash=7943ef07f085554227d0f3c42eaa0af46865d06e$
//
#ifndef CEF_INCLUDE_CAPI_CEF_RESOURCE_BUNDLE_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_RESOURCE_BUNDLE_HANDLER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus
@ -51,6 +55,8 @@ extern "C" {
/// CefSettings for additional options related to resource bundle loading. The
/// functions of this structure may be called on multiple threads.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_resource_bundle_handler_t {
///
/// Base structure.
@ -60,8 +66,10 @@ typedef struct _cef_resource_bundle_handler_t {
///
/// 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.
///
int(CEF_CALLBACK* get_localized_string)(
struct _cef_resource_bundle_handler_t* self,
@ -73,8 +81,9 @@ typedef struct _cef_resource_bundle_handler_t {
/// 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.
///
int(CEF_CALLBACK* get_data_resource)(
struct _cef_resource_bundle_handler_t* self,
@ -87,8 +96,10 @@ typedef struct _cef_resource_bundle_handler_t {
/// 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.
///
int(CEF_CALLBACK* get_data_resource_for_scale)(
struct _cef_resource_bundle_handler_t* self,

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=ad8218a8ac9e313884110e72bb2af32ec916907f$
// $hash=dcc85bc129a43eca533e2f6cce32d04926f1efae$
//
#ifndef CEF_INCLUDE_CAPI_CEF_RESOURCE_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_RESOURCE_HANDLER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
#include "include/capi/cef_callback_capi.h"
@ -54,6 +58,8 @@ extern "C" {
///
/// Callback for asynchronous continuation of cef_resource_handler_t::skip().
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_resource_skip_callback_t {
///
/// Base structure.
@ -73,6 +79,8 @@ typedef struct _cef_resource_skip_callback_t {
///
/// Callback for asynchronous continuation of cef_resource_handler_t::read().
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_resource_read_callback_t {
///
/// Base structure.
@ -95,6 +103,8 @@ typedef struct _cef_resource_read_callback_t {
/// functions of this structure will be called on the IO thread unless otherwise
/// indicated.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_resource_handler_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=c4416644786e3c1999cdcd7e6bf78af94ff7f0da$
// $hash=9bcfb08e73653706d1c2f0ea9cab3fe41c4f5806$
//
#ifndef CEF_INCLUDE_CAPI_CEF_RESOURCE_REQUEST_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_RESOURCE_REQUEST_HANDLER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
#include "include/capi/cef_callback_capi.h"
@ -60,6 +64,8 @@ struct _cef_cookie_access_filter_t;
/// functions of this structure will be called on the IO thread unless otherwise
/// indicated.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_resource_request_handler_t {
///
/// Base structure.
@ -213,6 +219,8 @@ typedef struct _cef_resource_request_handler_t {
/// resource requests. The functions of this structure will be called on the IO
/// thread unless otherwise indicated.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_cookie_access_filter_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=de559e5cd4b539ce129beab8f7627576c4249cd5$
// $hash=48b607ec385e08b767b6ac1ab132121204f075fc$
//
#ifndef CEF_INCLUDE_CAPI_CEF_RESPONSE_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_RESPONSE_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus
@ -50,6 +54,8 @@ extern "C" {
/// Structure used to represent a web response. The functions of this structure
/// may be called on any thread.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_response_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=1c83177e8030f7637d8ce0aa68831e417fbf37d3$
// $hash=bd8bf0bc352c1ff20740c04a8cd5f9df4841c8f0$
//
#ifndef CEF_INCLUDE_CAPI_CEF_RESPONSE_FILTER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_RESPONSE_FILTER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus
@ -50,6 +54,8 @@ extern "C" {
/// Implement this structure to filter resource response content. The functions
/// of this structure will be called on the browser process IO thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_response_filter_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=dd3f6003f9a8f59c2eb4320c382651a441086aee$
// $hash=78ec82513b2dec15aba3847cdbbec6a551c20464$
//
#ifndef CEF_INCLUDE_CAPI_CEF_SCHEME_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_SCHEME_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
#include "include/capi/cef_frame_capi.h"
@ -56,6 +60,8 @@ struct _cef_scheme_handler_factory_t;
///
/// Structure that manages custom scheme registrations.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_scheme_registrar_t {
///
/// Base structure.
@ -82,6 +88,8 @@ typedef struct _cef_scheme_registrar_t {
/// requests. The functions of this structure will always be called on the IO
/// thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_scheme_handler_factory_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=b85c5d4060c951571f122e519e7dc7e9a4c4e629$
// $hash=ccb8dd9df0cd92e44f2a95bc6ee32cc66af6fd45$
//
#ifndef CEF_INCLUDE_CAPI_CEF_SERVER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_SERVER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_callback_capi.h"
#include "include/capi/cef_request_capi.h"
@ -58,6 +62,8 @@ struct _cef_server_handler_t;
/// localhost). The functions of this structure are safe to call from any thread
/// in the brower process unless otherwise indicated.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_server_t {
///
/// Base structure.
@ -111,19 +117,19 @@ typedef struct _cef_server_t {
/// of |data| in bytes. The contents of |data| will be copied. The connection
/// will be closed automatically after the response is sent.
///
void(CEF_CALLBACK* send_http200response)(struct _cef_server_t* self,
int connection_id,
const cef_string_t* content_type,
const void* data,
size_t data_size);
void(CEF_CALLBACK* send_http200_response)(struct _cef_server_t* self,
int connection_id,
const cef_string_t* content_type,
const void* data,
size_t data_size);
///
/// Send an HTTP 404 "Not Found" response to the connection identified by
/// |connection_id|. The connection will be closed automatically after the
/// response is sent.
///
void(CEF_CALLBACK* send_http404response)(struct _cef_server_t* self,
int connection_id);
void(CEF_CALLBACK* send_http404_response)(struct _cef_server_t* self,
int connection_id);
///
/// Send an HTTP 500 "Internal Server Error" response to the connection
@ -131,9 +137,9 @@ typedef struct _cef_server_t {
/// message. The connection will be closed automatically after the response is
/// sent.
///
void(CEF_CALLBACK* send_http500response)(struct _cef_server_t* self,
int connection_id,
const cef_string_t* error_message);
void(CEF_CALLBACK* send_http500_response)(struct _cef_server_t* self,
int connection_id,
const cef_string_t* error_message);
///
/// Send a custom HTTP response to the connection identified by
@ -215,6 +221,8 @@ CEF_EXPORT void cef_server_create(const cef_string_t* address,
/// for each cef_server_t::CreateServer call to avoid thread safety issues in
/// the cef_server_handler_t implementation.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_server_handler_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=3d208a996f65f37012460edb1890773218580913$
// $hash=70d9aba509f824a05c705e07fd008185a41e3ad9$
//
#ifndef CEF_INCLUDE_CAPI_CEF_SHARED_MEMORY_REGION_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_SHARED_MEMORY_REGION_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus
@ -49,6 +53,8 @@ extern "C" {
///
/// Structure that wraps platform-dependent share memory region mapping.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_shared_memory_region_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=1ae66f6ec465fda2d62530f5871efd58c89e7568$
// $hash=63bb39e8c19a16637af5ee4dfeaa2c6aa2c3bdf3$
//
#ifndef CEF_INCLUDE_CAPI_CEF_SHARED_PROCESS_MESSAGE_BUILDER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_SHARED_PROCESS_MESSAGE_BUILDER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_process_message_capi.h"
#ifdef __cplusplus
@ -51,6 +55,8 @@ extern "C" {
/// region. This structure is not thread-safe but may be used exclusively on a
/// different thread from the one which constructed it.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_shared_process_message_builder_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=d781f3791df17c6d6adc4414e8534a6b13a54ff2$
// $hash=dce2233cf08d4c9a55470aa11e4f8fab3cb2bede$
//
#ifndef CEF_INCLUDE_CAPI_CEF_SSL_INFO_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_SSL_INFO_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_values_capi.h"
#include "include/capi/cef_x509_certificate_capi.h"
@ -51,6 +55,8 @@ extern "C" {
///
/// Structure representing SSL information.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_sslinfo_t {
///
/// Base structure.
@ -66,7 +72,7 @@ typedef struct _cef_sslinfo_t {
///
/// Returns the X.509 certificate.
///
struct _cef_x509certificate_t*(CEF_CALLBACK* get_x509certificate)(
struct _cef_x509_certificate_t*(CEF_CALLBACK* get_x509_certificate)(
struct _cef_sslinfo_t* self);
} cef_sslinfo_t;

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=1d224cc81c5a42ce8d7de172ff7341f1e0785f46$
// $hash=9f93bc0dbf57e4dda50f1f1100ccd52249bd3aa7$
//
#ifndef CEF_INCLUDE_CAPI_CEF_SSL_STATUS_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_SSL_STATUS_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_values_capi.h"
#include "include/capi/cef_x509_certificate_capi.h"
@ -51,6 +55,8 @@ extern "C" {
///
/// Structure representing the SSL information for a navigation entry.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_sslstatus_t {
///
/// Base structure.
@ -84,7 +90,7 @@ typedef struct _cef_sslstatus_t {
///
/// Returns the X.509 certificate.
///
struct _cef_x509certificate_t*(CEF_CALLBACK* get_x509certificate)(
struct _cef_x509_certificate_t*(CEF_CALLBACK* get_x509_certificate)(
struct _cef_sslstatus_t* self);
} cef_sslstatus_t;

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=f55fa17800b9a63d128fb78201372754f9250875$
// $hash=650f1218832c4b81610ba0ddc8c77d307ce2a993$
//
#ifndef CEF_INCLUDE_CAPI_CEF_STREAM_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_STREAM_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus
@ -50,6 +54,8 @@ extern "C" {
/// Structure the client can implement to provide a custom stream reader. The
/// functions of this structure may be called on any thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_read_handler_t {
///
/// Base structure.
@ -95,6 +101,8 @@ typedef struct _cef_read_handler_t {
/// Structure used to read data from a stream. The functions of this structure
/// may be called on any thread.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_stream_reader_t {
///
/// Base structure.
@ -158,6 +166,8 @@ CEF_EXPORT cef_stream_reader_t* cef_stream_reader_create_for_handler(
/// Structure the client can implement to provide a custom stream writer. The
/// functions of this structure may be called on any thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_write_handler_t {
///
/// Base structure.
@ -203,6 +213,8 @@ typedef struct _cef_write_handler_t {
/// Structure used to write data to a stream. The functions of this structure
/// may be called on any thread.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_stream_writer_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=c43ca147d723753000bc819d64d09b83a23bfac2$
// $hash=e8c2b9b6b1e907c6c042cbd38fc8dab5ce4c744e$
//
#ifndef CEF_INCLUDE_CAPI_CEF_STRING_VISITOR_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_STRING_VISITOR_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus
@ -49,6 +53,8 @@ extern "C" {
///
/// Implement this structure to receive string values asynchronously.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_string_visitor_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=d6055c4567fec4f3e9c72b0536812f40a97c0c3c$
// $hash=d075982ed273707bf193b608acabf26db8896303$
//
#ifndef CEF_INCLUDE_CAPI_CEF_TASK_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_TASK_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus
@ -54,6 +58,8 @@ extern "C" {
/// instead of the target thread. For this reason be cautious when performing
/// work in the task object destructor.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_task_t {
///
/// Base structure.
@ -75,6 +81,8 @@ typedef struct _cef_task_t {
/// cef_types.h list the common CEF threads. Task runners are also available for
/// other CEF threads as appropriate (for example, V8 WebWorker threads).
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_task_runner_t {
///
/// Base structure.

View File

@ -0,0 +1,123 @@
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the name Chromium Embedded
// Framework nor the names of its contributors may be used to endorse
// or promote products derived from this software without specific prior
// written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// ---------------------------------------------------------------------------
//
// This file was generated by the CEF translator tool and should not edited
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=98fbe5c90a7eb86068787b850ecf0b119719a0d4$
//
#ifndef CEF_INCLUDE_CAPI_CEF_TASK_MANAGER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_TASK_MANAGER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus
extern "C" {
#endif
///
/// Structure that facilitates managing the browser-related tasks. The functions
/// of this structure may only be called on the UI thread.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_task_manager_t {
///
/// Base structure.
///
cef_base_ref_counted_t base;
///
/// Returns the number of tasks currently tracked by the task manager. Returns
/// 0 if the function was called from the incorrect thread.
///
size_t(CEF_CALLBACK* get_tasks_count)(struct _cef_task_manager_t* self);
///
/// Gets the list of task IDs currently tracked by the task manager. Tasks
/// that share the same process id will always be consecutive. The list will
/// be sorted in a way that reflects the process tree: the browser process
/// will be first, followed by the gpu process if it exists. Related processes
/// (e.g., a subframe process and its parent) will be kept together if
/// possible. Callers can expect this ordering to be stable when a process is
/// added or removed. The task IDs are unique within the application lifespan.
/// Returns false (0) if the function was called from the incorrect thread.
///
int(CEF_CALLBACK* get_task_ids_list)(struct _cef_task_manager_t* self,
size_t* task_idsCount,
int64_t* task_ids);
///
/// Gets information about the task with |task_id|. Returns true (1) if the
/// information about the task was successfully retrieved and false (0) if the
/// |task_id| is invalid or the function was called from the incorrect thread.
///
int(CEF_CALLBACK* get_task_info)(struct _cef_task_manager_t* self,
int64_t task_id,
struct _cef_task_info_t* info);
///
/// Attempts to terminate a task with |task_id|. Returns false (0) if the
/// |task_id| is invalid, the call is made from an incorrect thread, or if the
/// task cannot be terminated.
///
int(CEF_CALLBACK* kill_task)(struct _cef_task_manager_t* self,
int64_t task_id);
///
/// Returns the task ID associated with the main task for |browser_id| (value
/// from cef_browser_t::GetIdentifier). Returns -1 if |browser_id| is invalid,
/// does not currently have an associated task, or the function was called
/// from the incorrect thread.
///
int64_t(CEF_CALLBACK* get_task_id_for_browser_id)(
struct _cef_task_manager_t* self,
int browser_id);
} cef_task_manager_t;
///
/// Returns the global task manager object. Returns nullptr if the function was
/// called from the incorrect thread.
///
CEF_EXPORT cef_task_manager_t* cef_task_manager_get(void);
#ifdef __cplusplus
}
#endif
#endif // CEF_INCLUDE_CAPI_CEF_TASK_MANAGER_CAPI_H_

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=752a853dae97c9bfd9b6515d20f99af751ba2dd9$
// $hash=cfb6c14f5002cca121bef52933749d37097a244e$
//
#ifndef CEF_INCLUDE_CAPI_CEF_THREAD_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_THREAD_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_task_capi.h"
#include "include/internal/cef_thread_internal.h"
@ -58,6 +62,8 @@ extern "C" {
/// thread. In most cases you can post tasks to an existing CEF thread instead
/// of creating a new one; see cef_task.h for details.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_thread_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=740d6eb5bea1bfc7c4ea413fefd3bf6586a81f20$
// $hash=5e961bec40c2a8602d6625af303791e33aa16f8d$
//
#ifndef CEF_INCLUDE_CAPI_CEF_TRACE_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_TRACE_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_callback_capi.h"
@ -52,6 +56,8 @@ extern "C" {
/// The functions of this structure will be called on the browser process UI
/// thread.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_end_tracing_callback_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=9ad38f2709d9e3b1bd0e99c279b0497b8aa4c82a$
// $hash=8c45f30dd1dc404020c91509d0f93e03fa363007$
//
#ifndef CEF_INCLUDE_CAPI_CEF_UNRESPONSIVE_PROCESS_CALLBACK_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_UNRESPONSIVE_PROCESS_CALLBACK_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus
@ -49,6 +53,8 @@ extern "C" {
///
/// Callback structure for asynchronous handling of an unresponsive process.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_unresponsive_process_callback_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=6a8ed2646d767d3c42ea79f7586f19769c1df742$
// $hash=142a3f70bf67cc526ac7d6d88e878e8954d9e5fe$
//
#ifndef CEF_INCLUDE_CAPI_CEF_URLREQUEST_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_URLREQUEST_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_auth_callback_capi.h"
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_request_capi.h"
@ -59,6 +63,8 @@ struct _cef_urlrequest_client_t;
/// process. Once created the functions of the URL request object must be
/// accessed on the same thread that created it.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_urlrequest_t {
///
/// Base structure.
@ -136,6 +142,8 @@ CEF_EXPORT cef_urlrequest_t* cef_urlrequest_create(
/// functions of this structure will be called on the same thread that created
/// the request unless otherwise documented.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_urlrequest_client_t {
///
/// Base structure.

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=f1ac6a6d5605078a38b7fa7e898619623eca6d51$
// $hash=aab41106167d5748ab4d15e255ffd0b68160fd7e$
//
#ifndef CEF_INCLUDE_CAPI_CEF_VALUES_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_VALUES_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus
@ -55,6 +59,8 @@ struct _cef_list_value_t;
/// dictionary and list) will be referenced but not owned by this object. Can be
/// used on any process and thread.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_value_t {
///
/// Base structure.
@ -225,6 +231,8 @@ CEF_EXPORT cef_value_t* cef_value_create(void);
/// Structure representing a binary value. Can be used on any process and
/// thread.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_binary_value_t {
///
/// Base structure.
@ -297,6 +305,8 @@ CEF_EXPORT cef_binary_value_t* cef_binary_value_create(const void* data,
/// Structure representing a dictionary value. Can be used on any process and
/// thread.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_dictionary_value_t {
///
/// Base structure.
@ -536,6 +546,8 @@ CEF_EXPORT cef_dictionary_value_t* cef_dictionary_value_create(void);
///
/// Structure representing a list value. Can be used on any process and thread.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_list_value_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=7dbd68a4517f8fc578a523d590d1ff7a8aa2a49a$
// $hash=9557ee036441059712a50397b99979c3c232dc27$
//
#ifndef CEF_INCLUDE_CAPI_CEF_WAITABLE_EVENT_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_WAITABLE_EVENT_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus
@ -57,6 +61,8 @@ extern "C" {
/// a WaitableEvent by calling the *wait() functions is not allowed on the
/// browser process UI or IO threads.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_waitable_event_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=e20d330e3d1cd3ac5bcd3ce7ee09bc1025490f63$
// $hash=2c9a65c33971ecb12e76d207894650ac53f024e5$
//
#ifndef CEF_INCLUDE_CAPI_CEF_X509_CERTIFICATE_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_X509_CERTIFICATE_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_values_capi.h"
@ -50,7 +54,9 @@ extern "C" {
///
/// Structure representing the issuer or subject field of an X.509 certificate.
///
typedef struct _cef_x509cert_principal_t {
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_x509_cert_principal_t {
///
/// Base structure.
///
@ -63,55 +69,57 @@ typedef struct _cef_x509cert_principal_t {
///
// The resulting string must be freed by calling cef_string_userfree_free().
cef_string_userfree_t(CEF_CALLBACK* get_display_name)(
struct _cef_x509cert_principal_t* self);
struct _cef_x509_cert_principal_t* self);
///
/// Returns the common name.
///
// The resulting string must be freed by calling cef_string_userfree_free().
cef_string_userfree_t(CEF_CALLBACK* get_common_name)(
struct _cef_x509cert_principal_t* self);
struct _cef_x509_cert_principal_t* self);
///
/// Returns the locality name.
///
// The resulting string must be freed by calling cef_string_userfree_free().
cef_string_userfree_t(CEF_CALLBACK* get_locality_name)(
struct _cef_x509cert_principal_t* self);
struct _cef_x509_cert_principal_t* self);
///
/// Returns the state or province name.
///
// The resulting string must be freed by calling cef_string_userfree_free().
cef_string_userfree_t(CEF_CALLBACK* get_state_or_province_name)(
struct _cef_x509cert_principal_t* self);
struct _cef_x509_cert_principal_t* self);
///
/// Returns the country name.
///
// The resulting string must be freed by calling cef_string_userfree_free().
cef_string_userfree_t(CEF_CALLBACK* get_country_name)(
struct _cef_x509cert_principal_t* self);
struct _cef_x509_cert_principal_t* self);
///
/// Retrieve the list of organization names.
///
void(CEF_CALLBACK* get_organization_names)(
struct _cef_x509cert_principal_t* self,
struct _cef_x509_cert_principal_t* self,
cef_string_list_t names);
///
/// Retrieve the list of organization unit names.
///
void(CEF_CALLBACK* get_organization_unit_names)(
struct _cef_x509cert_principal_t* self,
struct _cef_x509_cert_principal_t* self,
cef_string_list_t names);
} cef_x509cert_principal_t;
} cef_x509_cert_principal_t;
///
/// Structure representing a X.509 certificate.
///
typedef struct _cef_x509certificate_t {
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_x509_certificate_t {
///
/// Base structure.
///
@ -122,54 +130,54 @@ typedef struct _cef_x509certificate_t {
/// certificates this represents the web server. The common name of the
/// subject should match the host name of the web server.
///
struct _cef_x509cert_principal_t*(CEF_CALLBACK* get_subject)(
struct _cef_x509certificate_t* self);
struct _cef_x509_cert_principal_t*(CEF_CALLBACK* get_subject)(
struct _cef_x509_certificate_t* self);
///
/// Returns the issuer of the X.509 certificate.
///
struct _cef_x509cert_principal_t*(CEF_CALLBACK* get_issuer)(
struct _cef_x509certificate_t* self);
struct _cef_x509_cert_principal_t*(CEF_CALLBACK* get_issuer)(
struct _cef_x509_certificate_t* self);
///
/// Returns the DER encoded serial number for the X.509 certificate. The value
/// possibly includes a leading 00 byte.
///
struct _cef_binary_value_t*(CEF_CALLBACK* get_serial_number)(
struct _cef_x509certificate_t* self);
struct _cef_x509_certificate_t* self);
///
/// Returns the date before which the X.509 certificate is invalid.
/// CefBaseTime.GetTimeT() will return 0 if no date was specified.
///
cef_basetime_t(CEF_CALLBACK* get_valid_start)(
struct _cef_x509certificate_t* self);
struct _cef_x509_certificate_t* self);
///
/// Returns the date after which the X.509 certificate is invalid.
/// CefBaseTime.GetTimeT() will return 0 if no date was specified.
///
cef_basetime_t(CEF_CALLBACK* get_valid_expiry)(
struct _cef_x509certificate_t* self);
struct _cef_x509_certificate_t* self);
///
/// Returns the DER encoded data for the X.509 certificate.
///
struct _cef_binary_value_t*(CEF_CALLBACK* get_derencoded)(
struct _cef_x509certificate_t* self);
struct _cef_x509_certificate_t* self);
///
/// Returns the PEM encoded data for the X.509 certificate.
///
struct _cef_binary_value_t*(CEF_CALLBACK* get_pemencoded)(
struct _cef_x509certificate_t* self);
struct _cef_x509_certificate_t* self);
///
/// Returns the number of certificates in the issuer chain. If 0, the
/// certificate is self-signed.
///
size_t(CEF_CALLBACK* get_issuer_chain_size)(
struct _cef_x509certificate_t* self);
struct _cef_x509_certificate_t* self);
///
/// Returns the DER encoded data for the certificate issuer chain. If we
@ -177,7 +185,7 @@ typedef struct _cef_x509certificate_t {
/// array but is an NULL string.
///
void(CEF_CALLBACK* get_derencoded_issuer_chain)(
struct _cef_x509certificate_t* self,
struct _cef_x509_certificate_t* self,
size_t* chainCount,
struct _cef_binary_value_t** chain);
@ -187,10 +195,10 @@ typedef struct _cef_x509certificate_t {
/// array but is an NULL string.
///
void(CEF_CALLBACK* get_pemencoded_issuer_chain)(
struct _cef_x509certificate_t* self,
struct _cef_x509_certificate_t* self,
size_t* chainCount,
struct _cef_binary_value_t** chain);
} cef_x509certificate_t;
} cef_x509_certificate_t;
#ifdef __cplusplus
}

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=53c197aa80f55c9a1c9496de4a4d3598a9d7c735$
// $hash=af8006814745c9ec2f51018f578d3e592933046b$
//
#ifndef CEF_INCLUDE_CAPI_CEF_XML_READER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_XML_READER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_stream_capi.h"
@ -52,6 +56,8 @@ extern "C" {
/// API. The functions of this structure should only be called on the thread
/// that creates the object.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_xml_reader_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=134a172de5a6674836b723af06baf792553bf9be$
// $hash=94f18dd234f8478eb4f167febc3d821e30432e3c$
//
#ifndef CEF_INCLUDE_CAPI_CEF_ZIP_READER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_ZIP_READER_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_stream_capi.h"
@ -52,6 +56,8 @@ extern "C" {
/// The functions of this structure should only be called on the thread that
/// creates the object.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_zip_reader_t {
///
/// Base structure.

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,15 +33,18 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=da2edf5e08eb45942b6a82109aa86682c202ccac$
// $hash=71fed650639b04fee7412cceeff5d56e73f11026$
//
#ifndef CEF_INCLUDE_CAPI_TEST_CEF_TEST_HELPERS_CAPI_H_
#define CEF_INCLUDE_CAPI_TEST_CEF_TEST_HELPERS_CAPI_H_
#pragma once
#if !defined(BUILDING_CEF_SHARED) && !defined(WRAPPING_CEF_SHARED) && \
!defined(UNIT_TEST)
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#if !defined(WRAPPING_CEF_SHARED) && !defined(UNIT_TEST)
#error This file can be included for unit tests only
#endif

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,15 +33,18 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=854c9a8831692fabcf6eef2e4a7d7a1089694fd2$
// $hash=e6e214aab8252f224e5a30e4fea245eae421858c$
//
#ifndef CEF_INCLUDE_CAPI_TEST_CEF_TEST_SERVER_CAPI_H_
#define CEF_INCLUDE_CAPI_TEST_CEF_TEST_SERVER_CAPI_H_
#pragma once
#if !defined(BUILDING_CEF_SHARED) && !defined(WRAPPING_CEF_SHARED) && \
!defined(UNIT_TEST)
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#if !defined(WRAPPING_CEF_SHARED) && !defined(UNIT_TEST)
#error This file can be included for unit tests only
#endif
@ -65,6 +68,8 @@ struct _cef_test_server_handler_t;
/// functions of this structure are safe to call from any thread in the brower
/// process unless otherwise indicated.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_test_server_t {
///
/// Base structure.
@ -115,6 +120,8 @@ CEF_EXPORT cef_test_server_t* cef_test_server_create_and_start(
/// server thread"), and the functions of this structure will be called on that
/// thread. See related documentation on cef_test_server_t::CreateAndStart.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_test_server_handler_t {
///
/// Base structure.
@ -139,6 +146,8 @@ typedef struct _cef_test_server_handler_t {
/// structure are safe to call from any thread in the brower process unless
/// otherwise indicated.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_test_server_connection_t {
///
/// Base structure.
@ -151,7 +160,7 @@ typedef struct _cef_test_server_connection_t {
/// the size of |data| in bytes. The contents of |data| will be copied. The
/// connection will be closed automatically after the response is sent.
///
void(CEF_CALLBACK* send_http200response)(
void(CEF_CALLBACK* send_http200_response)(
struct _cef_test_server_connection_t* self,
const cef_string_t* content_type,
const void* data,
@ -161,7 +170,7 @@ typedef struct _cef_test_server_connection_t {
/// Send an HTTP 404 "Not Found" response. The connection will be closed
/// automatically after the response is sent.
///
void(CEF_CALLBACK* send_http404response)(
void(CEF_CALLBACK* send_http404_response)(
struct _cef_test_server_connection_t* self);
///
@ -169,7 +178,7 @@ typedef struct _cef_test_server_connection_t {
/// associated error message. The connection will be closed automatically
/// after the response is sent.
///
void(CEF_CALLBACK* send_http500response)(
void(CEF_CALLBACK* send_http500_response)(
struct _cef_test_server_connection_t* self,
const cef_string_t* error_message);

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,15 +33,18 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=0781c0ae10a414bf6a41af1754b7c92206a674e1$
// $hash=6746ab08caedbd0fd40ecac40ff41cd03e088255$
//
#ifndef CEF_INCLUDE_CAPI_TEST_CEF_TRANSLATOR_TEST_CAPI_H_
#define CEF_INCLUDE_CAPI_TEST_CEF_TRANSLATOR_TEST_CAPI_H_
#pragma once
#if !defined(BUILDING_CEF_SHARED) && !defined(WRAPPING_CEF_SHARED) && \
!defined(UNIT_TEST)
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#if !defined(WRAPPING_CEF_SHARED) && !defined(UNIT_TEST)
#error This file can be included for unit tests only
#endif
@ -63,6 +66,8 @@ struct _cef_translator_test_scoped_library_t;
///
/// Structure for testing all of the possible data transfer types.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_translator_test_t {
///
/// Base structure.
@ -517,6 +522,8 @@ CEF_EXPORT cef_translator_test_t* cef_translator_test_create(void);
///
/// Library-side test object for RefPtr.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_translator_test_ref_ptr_library_t {
///
/// Base structure.
@ -546,6 +553,8 @@ cef_translator_test_ref_ptr_library_create(int value);
///
/// Library-side child test object for RefPtr.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_translator_test_ref_ptr_library_child_t {
///
/// Base structure.
@ -575,6 +584,8 @@ cef_translator_test_ref_ptr_library_child_create(int value, int other_value);
///
/// Another library-side child test object for RefPtr.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_translator_test_ref_ptr_library_child_child_t {
///
/// Base structure.
@ -606,6 +617,8 @@ cef_translator_test_ref_ptr_library_child_child_create(int value,
///
/// Client-side test object for RefPtr.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_translator_test_ref_ptr_client_t {
///
/// Base structure.
@ -622,6 +635,8 @@ typedef struct _cef_translator_test_ref_ptr_client_t {
///
/// Client-side child test object for RefPtr.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_translator_test_ref_ptr_client_child_t {
///
/// Base structure.
@ -638,6 +653,8 @@ typedef struct _cef_translator_test_ref_ptr_client_child_t {
///
/// Library-side test object for OwnPtr/RawPtr.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_translator_test_scoped_library_t {
///
/// Base structure.
@ -667,6 +684,8 @@ cef_translator_test_scoped_library_create(int value);
///
/// Library-side child test object for OwnPtr/RawPtr.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_translator_test_scoped_library_child_t {
///
/// Base structure.
@ -696,6 +715,8 @@ cef_translator_test_scoped_library_child_create(int value, int other_value);
///
/// Another library-side child test object for OwnPtr/RawPtr.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_translator_test_scoped_library_child_child_t {
///
/// Base structure.
@ -727,6 +748,8 @@ cef_translator_test_scoped_library_child_child_create(int value,
///
/// Client-side test object for OwnPtr/RawPtr.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_translator_test_scoped_client_t {
///
/// Base structure.
@ -743,6 +766,8 @@ typedef struct _cef_translator_test_scoped_client_t {
///
/// Client-side child test object for OwnPtr/RawPtr.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_translator_test_scoped_client_child_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=cbddff0c5c4f8b4eeee86c9f45590c20c5e4c614$
// $hash=36c0050d011416c37bd50986ec28b60d1722ffb4$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_BOX_LAYOUT_CAPI_H_
#define CEF_INCLUDE_CAPI_VIEWS_CEF_BOX_LAYOUT_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/views/cef_layout_capi.h"
#ifdef __cplusplus
@ -56,6 +60,8 @@ struct _cef_view_t;
/// Excess space will not be distributed. Methods must be called on the browser
/// process UI thread unless otherwise indicated.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_box_layout_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=1c2fbbffaf51e90a2d55bfa7eb3fa3a4e315f4ac$
// $hash=a3eb8a6dade40d321ec728f9cec5ba41d054c139$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_BROWSER_VIEW_CAPI_H_
#define CEF_INCLUDE_CAPI_VIEWS_CEF_BROWSER_VIEW_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_browser_capi.h"
#include "include/capi/views/cef_browser_view_delegate_capi.h"
#include "include/capi/views/cef_view_capi.h"
@ -52,6 +56,8 @@ extern "C" {
/// A View hosting a cef_browser_t instance. Methods must be called on the
/// browser process UI thread unless otherwise indicated.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_browser_view_t {
///
/// Base structure.
@ -67,7 +73,7 @@ typedef struct _cef_browser_view_t {
///
/// Returns the Chrome toolbar associated with this BrowserView. Only
/// supported when using the Chrome runtime. The cef_browser_view_delegate_t::
/// supported when using Chrome style. The cef_browser_view_delegate_t::
/// get_chrome_toolbar_type() function must return a value other than
/// CEF_CTT_NONE and the toolbar will not be available until after this
/// BrowserView is added to a cef_window_t and
@ -81,8 +87,8 @@ typedef struct _cef_browser_view_t {
/// content (`keydown` event handler) or cef_keyboard_handler_t. Normal
/// priority accelerators can be registered via cef_window_t::SetAccelerator
/// (with |high_priority|=false (0)) or internally for standard accelerators
/// supported by the Chrome runtime. If |prefer_accelerators| is true (1) then
/// the matching accelerator will be triggered immediately (calling
/// supported by Chrome style. If |prefer_accelerators| is true (1) then the
/// matching accelerator will be triggered immediately (calling
/// cef_window_delegate_t::OnAccelerator or
/// cef_command_handler_t::OnChromeCommand respectively) and the event will
/// not be forwarded to the web content or cef_keyboard_handler_t first. If

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=a0a9f2bfcdf8e05d3d1114fcd8860caaa726ec98$
// $hash=20b951c8294260d1da5b0a03b6cb468c625eabba$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_BROWSER_VIEW_DELEGATE_CAPI_H_
#define CEF_INCLUDE_CAPI_VIEWS_CEF_BROWSER_VIEW_DELEGATE_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_client_capi.h"
#include "include/capi/views/cef_view_delegate_capi.h"
@ -55,6 +59,8 @@ struct _cef_browser_view_t;
/// structure will be called on the browser process UI thread unless otherwise
/// indicated.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_browser_view_delegate_t {
///
/// Base structure.
@ -134,7 +140,7 @@ typedef struct _cef_browser_view_delegate_t {
///
/// Called when |browser_view| receives a gesture command. Return true (1) to
/// handle (or disable) a |gesture_command| or false (0) to propagate the
/// gesture to the browser for default handling. With the Chrome runtime these
/// gesture to the browser for default handling. With Chrome style these
/// commands can also be handled via cef_command_handler_t::OnChromeCommand.
///
int(CEF_CALLBACK* on_gesture_command)(

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=6214d914eee619c0d0eacc7b7a64fcccdcc1b178$
// $hash=3805078d9fe45a053beba9252aab563c90f01972$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_BUTTON_CAPI_H_
#define CEF_INCLUDE_CAPI_VIEWS_CEF_BUTTON_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/views/cef_view_capi.h"
#ifdef __cplusplus
@ -53,6 +57,8 @@ struct _cef_label_button_t;
/// could be implemented by a native control or custom rendered. Methods must be
/// called on the browser process UI thread unless otherwise indicated.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_button_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=511d67575e6887b836b49732f753ffe9cfb268bf$
// $hash=53e4ce022d6f0d96052a2f4c347b8fbdb18f5be6$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_BUTTON_DELEGATE_CAPI_H_
#define CEF_INCLUDE_CAPI_VIEWS_CEF_BUTTON_DELEGATE_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/views/cef_view_delegate_capi.h"
#ifdef __cplusplus
@ -53,6 +57,8 @@ struct _cef_button_t;
/// structure will be called on the browser process UI thread unless otherwise
/// indicated.
///
/// NOTE: This struct is allocated client-side.
///
typedef struct _cef_button_delegate_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=06dee162d385bd75338147e3741b3d526755cc21$
// $hash=74c9f5429ea5e9c4ab3b7d472d449fb8b40c51e0$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_DISPLAY_CAPI_H_
#define CEF_INCLUDE_CAPI_VIEWS_CEF_DISPLAY_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus
@ -54,6 +58,8 @@ extern "C" {
/// indicated. Methods must be called on the browser process UI thread unless
/// otherwise indicated.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_display_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=e262d99c88dcf94357d3b53c6449999701c7c1e6$
// $hash=4f8a367cfabb6dbca323a2ce70747502aa1901d7$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_FILL_LAYOUT_CAPI_H_
#define CEF_INCLUDE_CAPI_VIEWS_CEF_FILL_LAYOUT_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/views/cef_layout_capi.h"
#ifdef __cplusplus
@ -51,6 +55,8 @@ extern "C" {
/// match the bounds of its parent. Methods must be called on the browser
/// process UI thread unless otherwise indicated.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_fill_layout_t {
///
/// Base structure.

View File

@ -1,4 +1,4 @@
// Copyright (c) 2024 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2025 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@ -33,13 +33,17 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=06d17ed2939b57c97d73a0025e9f9ff65834b51a$
// $hash=ee705896db3927f6869e3d249f48c1a2e13ecf5e$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_LABEL_BUTTON_CAPI_H_
#define CEF_INCLUDE_CAPI_VIEWS_CEF_LABEL_BUTTON_CAPI_H_
#pragma once
#if defined(BUILDING_CEF_SHARED)
#error This file cannot be included DLL-side
#endif
#include "include/capi/cef_image_capi.h"
#include "include/capi/views/cef_button_capi.h"
#include "include/capi/views/cef_button_delegate_capi.h"
@ -54,6 +58,8 @@ struct _cef_menu_button_t;
/// LabelButton is a button with optional text and/or icon. Methods must be
/// called on the browser process UI thread unless otherwise indicated.
///
/// NOTE: This struct is allocated DLL-side.
///
typedef struct _cef_label_button_t {
///
/// Base structure.

Some files were not shown because too many files have changed in this diff Show More