arsd.webview

A web view wrapper. Uses CEF on Linux and WebView2 on Windows.

Microsoft WebView2 is fairly stable and is unlikely to break, but CEF is not remotely stable and likely to break every release. You'll have to get the same version as me to use this unless you want to generate your own bindings (procedure found in the file comments). Details below.

More...

Public Imports

core.sys.windows.windows
public import core.sys.windows.windows;
Undocumented in source.
core.sys.windows.unknwn
public import core.sys.windows.unknwn;
Undocumented in source.
core.sys.windows.oaidl
public import core.sys.windows.oaidl;
Undocumented in source.
core.sys.windows.objidl
public import core.sys.windows.objidl;
Undocumented in source.

Members

Classes

CEF
class CEF(Base)

This creates a base class for a thing to help you implement the function pointers.

WebView
class WebView

Enums

COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT_PNG
anonymousenum COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT_PNG

Image format used by the ICoreWebView2::CapturePreview method.

COREWEBVIEW2_KEY_EVENT_KIND_KEY_DOWN
anonymousenum COREWEBVIEW2_KEY_EVENT_KIND_KEY_DOWN

The type of key event that triggered an AcceleratorKeyPressed event.

COREWEBVIEW2_MOVE_FOCUS_REASON_PROGRAMMATIC
anonymousenum COREWEBVIEW2_MOVE_FOCUS_REASON_PROGRAMMATIC

Reason for moving focus.

COREWEBVIEW2_PERMISSION_KIND_UNKNOWN_PERMISSION
anonymousenum COREWEBVIEW2_PERMISSION_KIND_UNKNOWN_PERMISSION

The type of a permission request.

COREWEBVIEW2_PERMISSION_STATE_DEFAULT
anonymousenum COREWEBVIEW2_PERMISSION_STATE_DEFAULT

Response to a permission request.

COREWEBVIEW2_PROCESS_FAILED_KIND_BROWSER_PROCESS_EXITED
anonymousenum COREWEBVIEW2_PROCESS_FAILED_KIND_BROWSER_PROCESS_EXITED

Kind of process failure used in the ICoreWebView2ProcessFailedEventHandler interface.

COREWEBVIEW2_SCRIPT_DIALOG_KIND_ALERT
anonymousenum COREWEBVIEW2_SCRIPT_DIALOG_KIND_ALERT

Kind of JavaScript dialog used in the ICoreWebView2ScriptDialogOpeningEventHandler interface.

COREWEBVIEW2_WEB_ERROR_STATUS_UNKNOWN
anonymousenum COREWEBVIEW2_WEB_ERROR_STATUS_UNKNOWN

Error status values for web navigations.

COREWEBVIEW2_WEB_RESOURCE_CONTEXT_ALL
anonymousenum COREWEBVIEW2_WEB_RESOURCE_CONTEXT_ALL

Enum for web resource request contexts.

cef_alpha_type_t
enum cef_alpha_type_t

Describes how to interpret the alpha component of a pixel.

cef_button_state_t
enum cef_button_state_t

Specifies the button display state.

cef_channel_layout_t
enum cef_channel_layout_t

Enumerates the various representations of the ordering of audio channels. Must be kept synchronized with media::ChannelLayout from Chromium. See media\base\channel_layout.h

cef_chrome_toolbar_type_t
enum cef_chrome_toolbar_type_t

Supported Chrome toolbar types.

cef_color_model_t
enum cef_color_model_t

Print job color mode values.

cef_color_type_t
enum cef_color_type_t

Describes how to interpret the components of a pixel.

cef_com_init_mode_t
enum cef_com_init_mode_t

Windows COM initialization mode. Specifies how COM will be initialized for a new thread.

cef_composition_underline_style_t
enum cef_composition_underline_style_t

Composition underline style.

cef_context_menu_edit_state_flags_t
enum cef_context_menu_edit_state_flags_t

Supported context menu edit state bit flags. These constants match their equivalents in Chromium's ContextMenuDataEditFlags and should not be renumbered.

cef_context_menu_media_state_flags_t
enum cef_context_menu_media_state_flags_t

Supported context menu media state bit flags. These constants match their equivalents in Chromium's ContextMenuData::MediaFlags and should not be renumbered.

cef_context_menu_media_type_t
enum cef_context_menu_media_type_t

Supported context menu media types. These constants match their equivalents in Chromium's ContextMenuDataMediaType and should not be renumbered.

cef_context_menu_type_flags_t
enum cef_context_menu_type_flags_t

Supported context menu type flags.

cef_cookie_priority_t
enum cef_cookie_priority_t

Cookie priority values.

cef_cookie_same_site_t
enum cef_cookie_same_site_t

Cookie same site values.

cef_cross_axis_alignment_t
enum cef_cross_axis_alignment_t

Specifies where along the cross axis the CefBoxLayout child views should be laid out.

cef_cursor_type_t
enum cef_cursor_type_t

Cursor type values.

cef_docking_mode_t
enum cef_docking_mode_t

Docking modes supported by CefWindow::AddOverlay.

cef_dom_document_type_t
enum cef_dom_document_type_t

DOM document types.

cef_dom_event_category_t
enum cef_dom_event_category_t

DOM event category flags.

cef_dom_event_phase_t
enum cef_dom_event_phase_t

DOM event processing phases.

cef_dom_node_type_t
enum cef_dom_node_type_t

DOM node types.

cef_duplex_mode_t
enum cef_duplex_mode_t

Print job duplex mode values.

cef_errorcode_t
enum cef_errorcode_t

Supported error code values. For the complete list of error values see "include/base/internal/cef_net_error_list.h".

cef_event_flags_t
enum cef_event_flags_t

Supported event bit flags.

cef_file_dialog_mode_t
enum cef_file_dialog_mode_t

Supported file dialog modes.

cef_focus_source_t
enum cef_focus_source_t

Focus sources.

cef_horizontal_alignment_t
enum cef_horizontal_alignment_t

Specifies the horizontal text alignment mode.

cef_jsdialog_type_t
enum cef_jsdialog_type_t

Supported JavaScript dialog types.

cef_json_parser_options_t
enum cef_json_parser_options_t

Options that can be passed to CefParseJSON.

cef_json_writer_options_t
enum cef_json_writer_options_t

Options that can be passed to CefWriteJSON.

cef_key_event_type_t
enum cef_key_event_type_t

Key event types.

cef_log_severity_t
enum cef_log_severity_t

Log severity levels.

cef_main_axis_alignment_t
enum cef_main_axis_alignment_t

Specifies where along the main axis the CefBoxLayout child views should be laid out.

cef_media_access_permission_types_t
enum cef_media_access_permission_types_t

Media access permissions used by OnRequestMediaAccessPermission.

cef_media_route_connection_state_t
enum cef_media_route_connection_state_t

Connection state for a MediaRoute object.

cef_media_route_create_result_t
enum cef_media_route_create_result_t

Result codes for CefMediaRouter::CreateRoute. Should be kept in sync with Chromium's media_router::mojom::RouteRequestResultCode type.

cef_media_sink_icon_type_t
enum cef_media_sink_icon_type_t

Icon types for a MediaSink object. Should be kept in sync with Chromium's

cef_menu_anchor_position_t
enum cef_menu_anchor_position_t

Specifies how a menu will be anchored for non-RTL languages. The opposite position will be used for RTL languages.

cef_menu_color_type_t
enum cef_menu_color_type_t

Supported color types for menu items.

cef_menu_id_t
enum cef_menu_id_t

Supported menu IDs. Non-English translations can be provided for the IDS_MENU_* strings in CefResourceBundleHandler::GetLocalizedString().

cef_menu_item_type_t
enum cef_menu_item_type_t

Supported menu item types.

cef_message_loop_type_t
enum cef_message_loop_type_t

Message loop types. Indicates the set of asynchronous events that a message loop can process.

cef_mouse_button_type_t
enum cef_mouse_button_type_t

Mouse button types.

cef_navigation_type_t
enum cef_navigation_type_t

Navigation types.

cef_paint_element_type_t
enum cef_paint_element_type_t

Paint element types.

cef_path_key_t
enum cef_path_key_t

Path key values.

cef_pdf_print_margin_type_t
enum cef_pdf_print_margin_type_t

Margin type for PDF printing.

cef_permission_request_result_t
enum cef_permission_request_result_t

Permission request results.

cef_permission_request_types_t
enum cef_permission_request_types_t

Permission types used with OnShowPermissionPrompt. Some types are platform-specific or only supported with the Chrome runtime. Should be kept in sync with Chromium's permissions::RequestType type.

cef_pointer_type_t
enum cef_pointer_type_t

The device type that caused the event.

cef_process_id_t
enum cef_process_id_t

Existing process IDs.

cef_quick_menu_edit_state_flags_t
enum cef_quick_menu_edit_state_flags_t

Supported quick menu state bit flags.

cef_referrer_policy_t
enum cef_referrer_policy_t

Policy for how the Referrer HTTP header value will be sent during navigation. If the --no-referrers command-line flag is specified then the policy value will be ignored and the Referrer value will never be sent. Must be kept synchronized with net::URLRequest::ReferrerPolicy from Chromium.

cef_response_filter_status_t
enum cef_response_filter_status_t

Return values for CefResponseFilter::Filter().

cef_return_value_t
enum cef_return_value_t

Return value types.

cef_scale_factor_t
enum cef_scale_factor_t

Supported UI scale factors for the platform. SCALE_FACTOR_NONE is used for density independent resources such as string, html/js files or an image that can be used for any scale factors (such as wallpapers).

cef_scheme_options_t
enum cef_scheme_options_t

Configuration options for registering a custom scheme. These values are used when calling AddCustomScheme.

cef_show_state_t
enum cef_show_state_t

Show states supported by CefWindowDelegate::GetInitialShowState.

cef_ssl_content_status_t
enum cef_ssl_content_status_t

Supported SSL content status flags. See content/public/common/ssl_status.h for more information.

cef_ssl_version_t
enum cef_ssl_version_t

Supported SSL version values. See net/ssl/ssl_connection_status_flags.h for more information.

cef_state_t
enum cef_state_t

Represents the state of a setting.

cef_storage_type_t
enum cef_storage_type_t

Storage types.

cef_termination_status_t
enum cef_termination_status_t

Process termination status values.

cef_test_cert_type_t
enum cef_test_cert_type_t

Certificate types supported by CefTestServer::CreateAndStart. The matching certificate file must exist in the "net/data/ssl/certificates" directory. See CefSetDataDirectoryForTests() for related configuration.

cef_text_field_commands_t
enum cef_text_field_commands_t

Represents commands available to TextField.

cef_text_style_t
enum cef_text_style_t

Text style types. Should be kepy in sync with gfx::TextStyle.

cef_thread_id_t
enum cef_thread_id_t

Existing thread IDs.

cef_thread_priority_t
enum cef_thread_priority_t

Thread priority values listed in increasing order of importance.

cef_touch_event_type_t
enum cef_touch_event_type_t

Touch points states types.

cef_touch_handle_state_flags_t
enum cef_touch_handle_state_flags_t

Values indicating what state of the touch handle is set.

cef_uri_unescape_rule_t
enum cef_uri_unescape_rule_t

URI unescape rules passed to CefURIDecode().

cef_urlrequest_flags_t
enum cef_urlrequest_flags_t

Flags used to customize the behavior of CefURLRequest.

cef_urlrequest_status_t
enum cef_urlrequest_status_t

Flags that represent CefURLRequest status.

cef_value_type_t
enum cef_value_type_t

Supported value types.

cef_xml_encoding_type_t
enum cef_xml_encoding_type_t

Supported XML encoding types. The parser supports ASCII, ISO-8859-1, and UTF16 (LE and BE) by default. All other types must be translated to UTF8 before being passed to the parser. If a BOM is detected and the correct decoder is available then that decoder will be used automatically.

cef_xml_node_type_t
enum cef_xml_node_type_t

XML node types.

Functions

CompareBrowserVersions
HRESULT CompareBrowserVersions(PCWSTR version1, PCWSTR version2, int* result)

This method is for anyone want to compare version correctly to determine which version is newer, older or same. It can be used to determine whether to use webview2 or certain feature base on version. Sets the value of result to -1, 0 or 1 if version1 is less than, equal or greater than version2 respectively. Returns E_INVALIDARG if it fails to parse any of the version strings or any input parameter is null. Input can directly use the versionInfo obtained from GetAvailableCoreWebView2BrowserVersionString, channel info will be ignored.

CreateCoreWebView2Environment
HRESULT CreateCoreWebView2Environment(ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler environmentCreatedHandler)

Creates an evergreen WebView2 Environment using the installed Edge version. This is equivalent to calling CreateCoreWebView2EnvironmentWithOptions with nullptr for browserExecutableFolder, userDataFolder, additionalBrowserArguments. See CreateCoreWebView2EnvironmentWithOptions for more details.

CreateCoreWebView2EnvironmentWithOptions
HRESULT CreateCoreWebView2EnvironmentWithOptions(PCWSTR browserExecutableFolder, PCWSTR userDataFolder, ICoreWebView2EnvironmentOptions environmentOptions, ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler environmentCreatedHandler)

DLL export to create a WebView2 environment with a custom version of Edge, user data directory and/or additional options.

GetAvailableCoreWebView2BrowserVersionString
HRESULT GetAvailableCoreWebView2BrowserVersionString(PCWSTR browserExecutableFolder, LPWSTR* versionInfo)

Get the browser version info including channel name if it is not the stable channel or the Embedded Edge. Channel names are beta, dev, and canary. If an override exists for the browserExecutableFolder or the channel preference, the override will be used. If there isn't an override, then the parameter passed to GetAvailableCoreWebView2BrowserVersionString is used.

cef_add_cross_origin_whitelist_entry
int cef_add_cross_origin_whitelist_entry(const(cef_string_t)* source_origin, const(cef_string_t)* target_protocol, const(cef_string_t)* target_domain, int allow_target_subdomains)

Add an entry to the cross-origin access whitelist.

cef_api_hash
const(char)* cef_api_hash(int entry)
cef_base64decode
cef_binary_value_t* cef_base64decode(const(cef_string_t)* data)

Decodes the base64 encoded string |data|. The returned value will be NULL if the decoding fails.

cef_base64encode
cef_string_userfree_t cef_base64encode(const(void)* data, size_t data_size)

Encodes |data| as a base64 string.

cef_begin_tracing
int cef_begin_tracing(const(cef_string_t)* categories, cef_completion_callback_t* callback)

Start tracing events on all processes. Tracing is initialized asynchronously and |callback| will be executed on the UI thread after initialization is complete.

cef_binary_value_create
cef_binary_value_t* cef_binary_value_create(const(void)* data, size_t data_size)

Creates a new object that is not owned by any other object. The specified |data| will be copied.

cef_browser_host_create_browser
int cef_browser_host_create_browser(const(cef_window_info_t)* windowInfo, cef_client_t* client, const(cef_string_t)* url, const(cef_browser_settings_t)* settings, cef_dictionary_value_t* extra_info, cef_request_context_t* request_context)

Create a new browser using the window parameters specified by |windowInfo|. All values will be copied internally and the actual window (if any) will be created on the UI thread. If |request_context| is NULL the global request context will be used. This function can be called on any browser process thread and will not block. The optional |extra_info| parameter provides an opportunity to specify extra information specific to the created browser that will be passed to cef_render_process_handler_t::on_browser_created() in the render process.

cef_browser_host_create_browser_sync
cef_browser_t* cef_browser_host_create_browser_sync(const(cef_window_info_t)* windowInfo, cef_client_t* client, const(cef_string_t)* url, const(cef_browser_settings_t)* settings, cef_dictionary_value_t* extra_info, cef_request_context_t* request_context)

Create a new browser using the window parameters specified by |windowInfo|. If |request_context| is NULL the global request context will be used. This function can only be called on the browser process UI thread. The optional |extra_info| parameter provides an opportunity to specify extra information specific to the created browser that will be passed to

cef_clear_cross_origin_whitelist
int cef_clear_cross_origin_whitelist()

Remove all entries from the cross-origin access whitelist. Returns false (0) if the whitelist cannot be accessed.

cef_clear_scheme_handler_factories
int cef_clear_scheme_handler_factories()

Clear all scheme handler factories registered with the global request context. Returns false (0) on error. This function may be called on any thread in the browser process. Using this function is equivalent to calling

cef_command_line_create
cef_command_line_t* cef_command_line_create()

Create a new cef_command_line_t instance.

cef_command_line_get_global
cef_command_line_t* cef_command_line_get_global()

Returns the singleton global cef_command_line_t object. The returned object will be read-only.

cef_cookie_manager_get_global_manager
cef_cookie_manager_t* cef_cookie_manager_get_global_manager(cef_completion_callback_t* callback)

Returns the global cookie manager. By default data will be stored at cef_settings_t.cache_path if specified or in memory otherwise. If |callback| is non-NULL it will be executed asnychronously on the UI thread after the manager's storage has been initialized. Using this function is equivalent to calling cef_request_context_t::cef_request_context_get_global_context()->Get DefaultCookieManager().

cef_crash_reporting_enabled
int cef_crash_reporting_enabled()

Crash reporting is configured using an INI-style config file named "crash_reporter.cfg". On Windows and Linux this file must be placed next to the main application executable. On macOS this file must be placed in the top-level app bundle Resources directory (e.g. "<appname>.app/Contents/Resources"). File contents are as follows:

cef_create_context_shared
cef_request_context_t* cef_create_context_shared(cef_request_context_t* other, cef_request_context_handler_t* handler)

Creates a new context object that shares storage with |other| and uses an optional |handler|.

cef_create_directory
int cef_create_directory(const(cef_string_t)* full_path)

Creates a directory and all parent directories if they don't already exist. Returns true (1) on successful creation or if the directory already exists. The directory is only readable by the current user. Calling this function on the browser process UI or IO threads is not allowed.

cef_create_new_temp_directory
int cef_create_new_temp_directory(const(cef_string_t)* prefix, cef_string_t* new_temp_path)

Creates a new directory. On Windows if |prefix| is provided the new directory name is in the format of "prefixyyyy". Returns true (1) on success and sets |new_temp_path| to the full path of the directory that was created. The directory is only readable by the current user. Calling this function on the browser process UI or IO threads is not allowed.

cef_create_temp_directory_in_directory
int cef_create_temp_directory_in_directory(const(cef_string_t)* base_dir, const(cef_string_t)* prefix, cef_string_t* new_dir)

Creates a directory within another directory. Extra characters will be appended to |prefix| to ensure that the new directory does not have the same name as an existing directory. Returns true (1) on success and sets |new_dir| to the full path of the directory that was created. The directory is only readable by the current user. Calling this function on the browser process UI or IO threads is not allowed.

cef_create_url
int cef_create_url(const(cef_urlparts_t)* parts, cef_string_t* url)

Creates a URL from the specified |parts|, which must contain a non-NULL spec or a non-NULL host and path (at a minimum), but not both. Returns false (0) if |parts| isn't initialized as described.

cef_currently_on
int cef_currently_on(cef_thread_id_t threadId)

Returns true (1) if called on the specified thread. Equivalent to using

cef_delete_file
int cef_delete_file(const(cef_string_t)* path, int recursive)

Deletes the given path whether it's a file or a directory. If |path| is a directory all contents will be deleted. If |recursive| is true (1) any sub- directories and their contents will also be deleted (equivalent to executing "rm -rf", so use with caution). On POSIX environments if |path| is a symbolic link then only the symlink will be deleted. Returns true (1) on successful deletion or if |path| does not exist. Calling this function on the browser process UI or IO threads is not allowed.

cef_dictionary_value_create
cef_dictionary_value_t* cef_dictionary_value_create()

Creates a new object that is not owned by any other object.

cef_directory_exists
int cef_directory_exists(const(cef_string_t)* path)

Returns true (1) if the given path exists and is a directory. Calling this function on the browser process UI or IO threads is not allowed.

cef_do_message_loop_work
void cef_do_message_loop_work()

Perform a single iteration of CEF message loop processing. This function is provided for cases where the CEF message loop must be integrated into an existing application message loop. Use of this function is not recommended for most users; use either the cef_run_message_loop() function or cef_settings_t.multi_threaded_message_loop if possible. When using this function care must be taken to balance performance against excessive CPU usage. It is recommended to enable the cef_settings_t.external_message_pump option when using this function so that

cef_drag_data_create
cef_drag_data_t* cef_drag_data_create()

Create a new cef_drag_data_t object.

cef_enable_highdpi_support
void cef_enable_highdpi_support()

Call during process startup to enable High-DPI support on Windows 7 or newer. Older versions of Windows should be left DPI-unaware because they do not support DirectWrite and GDI fonts are kerned very badly.

cef_end_tracing
int cef_end_tracing(const(cef_string_t)* tracing_file, cef_end_tracing_callback_t* callback)

Stop tracing events on all processes.

cef_execute_process
int cef_execute_process(const(cef_main_args_t)* args, cef_app_t* application, void* windows_sandbox_info)

This function should be called from the application entry point function to execute a secondary process. It can be used to run secondary processes from the browser client executable (default behavior) or from a separate executable specified by the cef_settings_t.browser_subprocess_path value. If called for the browser process (identified by no "type" command-line value) it will return immediately with a value of -1. If called for a recognized secondary process it will block until the process should exit and then return the process exit code. The |application| parameter may be NULL. The |windows_sandbox_info| parameter is only used on Windows and may be NULL (see cef_sandbox_win.h for details).

cef_format_url_for_security_display
cef_string_userfree_t cef_format_url_for_security_display(const(cef_string_t)* origin_url)

This is a convenience function for formatting a URL in a concise and human- friendly way to help users make security-related decisions (or in other circumstances when people need to distinguish sites, origins, or otherwise- simplified URLs from each other). Internationalized domain names (IDN) may be presented in Unicode if the conversion is considered safe. The returned value will (a) omit the path for standard schemes, excepting file and filesystem, and (b) omit the port if it is the default for the scheme. Do not use this for URLs which will be parsed or sent to other applications.

cef_get_extensions_for_mime_type
void cef_get_extensions_for_mime_type(const(cef_string_t)* mime_type, cef_string_list_t extensions)

Get the extensions associated with the given mime type. This should be passed in lower case. There could be multiple extensions for a given mime type, like "html,htm" for "text/html", or "txt,text,html,..." for "text/*". Any existing elements in the provided vector will not be erased.

cef_get_mime_type
cef_string_userfree_t cef_get_mime_type(const(cef_string_t)* extension)

Returns the mime type for the specified file extension or an NULL string if unknown.

cef_get_path
int cef_get_path(cef_path_key_t key, cef_string_t* path)

Retrieve the path associated with the specified |key|. Returns true (1) on success. Can be called on any thread in the browser process.

cef_get_temp_directory
int cef_get_temp_directory(cef_string_t* temp_dir)

Get the temporary directory provided by the system.

cef_image_create
cef_image_t* cef_image_create()

Create a new cef_image_t. It will initially be NULL. Use the Add*() functions to add representations at different scale factors.

cef_initialize
int cef_initialize(const(cef_main_args_t)* args, const(cef_settings_t)* settings, cef_app_t* application, void* windows_sandbox_info)

This function should be called on the main application thread to initialize the CEF browser process. The |application| parameter may be NULL. A return value of true (1) indicates that it succeeded and false (0) indicates that it failed. The |windows_sandbox_info| parameter is only used on Windows and may be NULL (see cef_sandbox_win.h for details).

cef_is_cert_status_error
int cef_is_cert_status_error(cef_cert_status_t status)

Returns true (1) if the certificate status represents an error.

cef_is_rtl
int cef_is_rtl()

Returns true (1) if the application text direction is right-to-left.

cef_launch_process
int cef_launch_process(cef_command_line_t* command_line)

Launches the process specified via |command_line|. Returns true (1) upon success. Must be called on the browser process TID_PROCESS_LAUNCHER thread.

cef_list_value_create
cef_list_value_t* cef_list_value_create()

Creates a new object that is not owned by any other object.

cef_load_crlsets_file
void cef_load_crlsets_file(const(cef_string_t)* path)

Loads the existing "Certificate Revocation Lists" file that is managed by Google Chrome. This file can generally be found in Chrome's User Data directory (e.g. "C:\Users\User\AppData\Local\Google\Chrome\User Data\" on Windows) and is updated periodically by Chrome's component updater service. Must be called in the browser process after the context has been initialized. See https://dev.chromium.org/Home/chromium-security/crlsets for background.

cef_media_router_get_global
cef_media_router_t* cef_media_router_get_global(cef_completion_callback_t* callback)

Returns the MediaRouter object associated with the global request context. If |callback| is non-NULL it will be executed asnychronously on the UI thread after the manager's storage has been initialized. Equivalent to calling cef_request_context_t::cef_request_context_get_global_context()->get _media_router().

cef_menu_model_create
cef_menu_model_t* cef_menu_model_create(cef_menu_model_delegate_t* delegate_)

Create a new MenuModel with the specified |delegate|.

cef_now_from_system_trace_time
int64 cef_now_from_system_trace_time()

Returns the current system trace time or, if none is defined, the current high-res time. Can be used by clients to synchronize with the time information in trace events.

cef_parse_json
cef_value_t* cef_parse_json(const(cef_string_t)* json_string, cef_json_parser_options_t options)

Parses the specified |json_string| and returns a dictionary or list representation. If JSON parsing fails this function returns NULL.

cef_parse_json_buffer
cef_value_t* cef_parse_json_buffer(const(void)* json, size_t json_size, cef_json_parser_options_t options)

Parses the specified UTF8-encoded |json| buffer of size |json_size| and returns a dictionary or list representation. If JSON parsing fails this function returns NULL.

cef_parse_jsonand_return_error
cef_value_t* cef_parse_jsonand_return_error(const(cef_string_t)* json_string, cef_json_parser_options_t options, cef_string_t* error_msg_out)

Parses the specified |json_string| and returns a dictionary or list representation. If JSON parsing fails this function returns NULL and populates |error_msg_out| with a formatted error message.

cef_parse_url
int cef_parse_url(const(cef_string_t)* url, cef_urlparts_t* parts)

Parse the specified |url| into its component parts. Returns false (0) if the URL is NULL or invalid.

cef_post_data_create
cef_post_data_t* cef_post_data_create()

Create a new cef_post_data_t object.

cef_post_data_element_create
cef_post_data_element_t* cef_post_data_element_create()

Create a new cef_post_data_element_t object.

cef_post_delayed_task
int cef_post_delayed_task(cef_thread_id_t threadId, cef_task_t* task, int64 delay_ms)

Post a task for delayed execution on the specified thread. Equivalent to using cef_task_runner_t::GetForThread(threadId)->PostDelayedTask(task, delay_ms).

cef_post_task
int cef_post_task(cef_thread_id_t threadId, cef_task_t* task)

Post a task for execution on the specified thread. Equivalent to using

cef_print_settings_create
cef_print_settings_t* cef_print_settings_create()

Create a new cef_print_settings_t object.

cef_process_message_create
cef_process_message_t* cef_process_message_create(const(cef_string_t)* name)

Create a new cef_process_message_t object with the specified name.

cef_quit_message_loop
void cef_quit_message_loop()

Quit the CEF message loop that was started by calling cef_run_message_loop(). This function should only be called on the main application thread and only if cef_run_message_loop() was used.

cef_register_extension
int cef_register_extension(const(cef_string_t)* extension_name, const(cef_string_t)* javascript_code, cef_v8handler_t* handler)

Register a new V8 extension with the specified JavaScript extension code and handler. Functions implemented by the handler are prototyped using the keyword 'native'. The calling of a native function is restricted to the scope in which the prototype of the native function is defined. This function may only be called on the render process main thread.

cef_register_scheme_handler_factory
int cef_register_scheme_handler_factory(const(cef_string_t)* scheme_name, const(cef_string_t)* domain_name, cef_scheme_handler_factory_t* factory)

Register a scheme handler factory with the global request context. An NULL |domain_name| value for a standard scheme will cause the factory to match all domain names. The |domain_name| value will be ignored for non-standard schemes. If |scheme_name| is a built-in scheme and no handler is returned by |factory| then the built-in scheme handler factory will be called. If |scheme_name| is a custom scheme then you must also implement the

cef_remove_cross_origin_whitelist_entry
int cef_remove_cross_origin_whitelist_entry(const(cef_string_t)* source_origin, const(cef_string_t)* target_protocol, const(cef_string_t)* target_domain, int allow_target_subdomains)

Remove an entry from the cross-origin access whitelist. Returns false (0) if |source_origin| is invalid or the whitelist cannot be accessed.

cef_request_context_create_context
cef_request_context_t* cef_request_context_create_context(const(cef_request_context_settings_t)* settings, cef_request_context_handler_t* handler)

Creates a new context object with the specified |settings| and optional |handler|.

cef_request_context_get_global_context
cef_request_context_t* cef_request_context_get_global_context()

Returns the global context object.

cef_request_create
cef_request_t* cef_request_create()

Create a new cef_request_t object.

cef_resource_bundle_get_global
cef_resource_bundle_t* cef_resource_bundle_get_global()

Returns the global resource bundle instance.

cef_response_create
cef_response_t* cef_response_create()

Create a new cef_response_t object.

cef_run_message_loop
void cef_run_message_loop()

Run the CEF message loop. Use this function instead of an application- provided message loop to get the best balance between performance and CPU usage. This function should only be called on the main application thread and only if cef_initialize() is called with a cef_settings_t.multi_threaded_message_loop value of false (0). This function will block until a quit message is received by the system.

cef_server_create
void cef_server_create(const(cef_string_t)* address, uint16 port, int backlog, cef_server_handler_t* handler)

Create a new server that binds to |address| and |port|. |address| must be a valid IPv4 or IPv6 address (e.g. 127.0.0.1 or ::1) and |port| must be a port number outside of the reserved range (e.g. between 1025 and 65535 on most platforms). |backlog| is the maximum number of pending connections. A new thread will be created for each CreateServer call (the "dedicated server thread"). It is therefore recommended to use a different cef_server_handler_t instance for each CreateServer call to avoid thread safety issues in the cef_server_handler_t implementation. The

cef_set_crash_key_value
void cef_set_crash_key_value(const(cef_string_t)* key, const(cef_string_t)* value)

Sets or clears a specific key-value pair from the crash metadata.

cef_set_osmodal_loop
void cef_set_osmodal_loop(int osModalLoop)

Set to true (1) before calling Windows APIs like TrackPopupMenu that enter a modal message loop. Set to false (0) after exiting the modal message loop.

cef_shared_process_message_builder_create
cef_shared_process_message_builder_t* cef_shared_process_message_builder_create(const(cef_string_t)* name, size_t byte_size)

Creates a new cef_shared_process_message_builder_t with the specified |name| and shared memory region of specified |byte_size|.

cef_shutdown
void cef_shutdown()

This function should be called on the main application thread to shut down the CEF browser process before the application exits.

cef_stream_reader_create_for_data
cef_stream_reader_t* cef_stream_reader_create_for_data(void* data, size_t size)

Create a new cef_stream_reader_t object from data.

cef_stream_reader_create_for_file
cef_stream_reader_t* cef_stream_reader_create_for_file(const(cef_string_t)* fileName)

Create a new cef_stream_reader_t object from a file.

cef_stream_reader_create_for_handler
cef_stream_reader_t* cef_stream_reader_create_for_handler(cef_read_handler_t* handler)

Create a new cef_stream_reader_t object from a custom handler.

cef_stream_writer_create_for_file
cef_stream_writer_t* cef_stream_writer_create_for_file(const(cef_string_t)* fileName)

Create a new cef_stream_writer_t object for a file.

cef_stream_writer_create_for_handler
cef_stream_writer_t* cef_stream_writer_create_for_handler(cef_write_handler_t* handler)

Create a new cef_stream_writer_t object for a custom handler.

cef_task_runner_get_for_current_thread
cef_task_runner_t* cef_task_runner_get_for_current_thread()

Returns the task runner for the current thread. Only CEF threads will have task runners. An NULL reference will be returned if this function is called on an invalid thread.

cef_task_runner_get_for_thread
cef_task_runner_t* cef_task_runner_get_for_thread(cef_thread_id_t threadId)

Returns the task runner for the specified CEF thread.

cef_thread_create
cef_thread_t* cef_thread_create(const(cef_string_t)* display_name, cef_thread_priority_t priority, cef_message_loop_type_t message_loop_type, int stoppable, cef_com_init_mode_t com_init_mode)

Create and start a new thread. This function does not block waiting for the thread to run initialization. |display_name| is the name that will be used to identify the thread. |priority| is the thread execution priority. |message_loop_type| indicates the set of asynchronous events that the thread can process. If |stoppable| is true (1) the thread will stopped and joined on destruction or when stop() is called; otherwise, the thread cannot be stopped and will be leaked on shutdown. On Windows the |com_init_mode| value specifies how COM will be initialized for the thread. If |com_init_mode| is set to COM_INIT_MODE_STA then |message_loop_type| must be set to ML_TYPE_UI.

cef_uridecode
cef_string_userfree_t cef_uridecode(const(cef_string_t)* text, int convert_to_utf8, cef_uri_unescape_rule_t unescape_rule)

Unescapes |text| and returns the result. Unescaping consists of looking for the exact pattern "%XX" where each X is a hex digit and converting to the character with the numerical value of those digits (e.g. "i%20=%203%3b" unescapes to "i = 3;"). If |convert_to_utf8| is true (1) this function will attempt to interpret the initial decoded result as UTF-8. If the result is convertable into UTF-8 it will be returned as converted. Otherwise the initial decoded result will be returned. The |unescape_rule| parameter supports further customization the decoding process.

cef_uriencode
cef_string_userfree_t cef_uriencode(const(cef_string_t)* text, int use_plus)

Escapes characters in |text| which are unsuitable for use as a query parameter value. Everything except alphanumerics and -_.!~*'() will be converted to "%XX". If |use_plus| is true (1) spaces will change to "+". The result is basically the same as encodeURIComponent in Javacript.

cef_urlrequest_create
cef_urlrequest_t* cef_urlrequest_create(cef_request_t* request, cef_urlrequest_client_t* client, cef_request_context_t* request_context)

Create a new URL request that is not associated with a specific browser or frame. Use cef_frame_t::CreateURLRequest instead if you want the request to have this association, in which case it may be handled differently (see documentation on that function). A request created with this function may only originate from the browser process, and will behave as follows: - It may be intercepted by the client via CefResourceRequestHandler or CefSchemeHandlerFactory. - POST data may only contain only a single element of type PDE_TYPE_FILE or PDE_TYPE_BYTES. - If |request_context| is empty the global request context will be used.

cef_v8context_get_current_context
cef_v8context_t* cef_v8context_get_current_context()

Returns the current (top) context object in the V8 context stack.

cef_v8context_get_entered_context
cef_v8context_t* cef_v8context_get_entered_context()

Returns the entered (bottom) context object in the V8 context stack.

cef_v8context_in_context
int cef_v8context_in_context()

Returns true (1) if V8 is currently inside a context.

cef_v8stack_trace_get_current
cef_v8stack_trace_t* cef_v8stack_trace_get_current(int frame_limit)

Returns the stack trace for the currently active context. |frame_limit| is the maximum number of frames that will be captured.

cef_v8value_create_array
cef_v8value_t* cef_v8value_create_array(int length)

Create a new cef_v8value_t object of type array with the specified |length|. If |length| is negative the returned array will have length 0. This function should only be called from within the scope of a cef_render_process_handler_t, cef_v8handler_t or cef_v8accessor_t callback, or in combination with calling enter() and exit() on a stored cef_v8context_t reference.

cef_v8value_create_array_buffer
cef_v8value_t* cef_v8value_create_array_buffer(void* buffer, size_t length, cef_v8array_buffer_release_callback_t* release_callback)

Create a new cef_v8value_t object of type ArrayBuffer which wraps the provided |buffer| of size |length| bytes. The ArrayBuffer is externalized, meaning that it does not own |buffer|. The caller is responsible for freeing |buffer| when requested via a call to cef_v8array_buffer_release_callback_t::ReleaseBuffer. This function should only be called from within the scope of a cef_render_process_handler_t, cef_v8handler_t or cef_v8accessor_t callback, or in combination with calling enter() and exit() on a stored cef_v8context_t reference.

cef_v8value_create_bool
cef_v8value_t* cef_v8value_create_bool(int value)

Create a new cef_v8value_t object of type bool.

cef_v8value_create_date
cef_v8value_t* cef_v8value_create_date(cef_basetime_t date)

Create a new cef_v8value_t object of type Date. This function should only be called from within the scope of a cef_render_process_handler_t, cef_v8handler_t or cef_v8accessor_t callback, or in combination with calling enter() and exit() on a stored cef_v8context_t reference.

cef_v8value_create_double
cef_v8value_t* cef_v8value_create_double(double value)

Create a new cef_v8value_t object of type double.

cef_v8value_create_function
cef_v8value_t* cef_v8value_create_function(const(cef_string_t)* name, cef_v8handler_t* handler)

Create a new cef_v8value_t object of type function. This function should only be called from within the scope of a cef_render_process_handler_t, cef_v8handler_t or cef_v8accessor_t callback, or in combination with calling enter() and exit() on a stored cef_v8context_t reference.

cef_v8value_create_int
cef_v8value_t* cef_v8value_create_int(int32 value)

Create a new cef_v8value_t object of type int.

cef_v8value_create_null
cef_v8value_t* cef_v8value_create_null()

Create a new cef_v8value_t object of type null.

cef_v8value_create_object
cef_v8value_t* cef_v8value_create_object(cef_v8accessor_t* accessor, cef_v8interceptor_t* interceptor)

Create a new cef_v8value_t object of type object with optional accessor and/or interceptor. This function should only be called from within the scope of a cef_render_process_handler_t, cef_v8handler_t or cef_v8accessor_t callback, or in combination with calling enter() and exit() on a stored cef_v8context_t reference.

cef_v8value_create_string
cef_v8value_t* cef_v8value_create_string(const(cef_string_t)* value)

Create a new cef_v8value_t object of type string.

cef_v8value_create_uint
cef_v8value_t* cef_v8value_create_uint(uint32 value)

Create a new cef_v8value_t object of type unsigned int.

cef_v8value_create_undefined
cef_v8value_t* cef_v8value_create_undefined()

Create a new cef_v8value_t object of type undefined.

cef_value_create
cef_value_t* cef_value_create()

Creates a new object.

cef_version_info
int cef_version_info(int entry)
cef_waitable_event_create
cef_waitable_event_t* cef_waitable_event_create(int automatic_reset, int initially_signaled)

Create a new waitable event. If |automatic_reset| is true (1) then the event state is automatically reset to un-signaled after a single waiting thread has been released; otherwise, the state remains signaled until reset() is called manually. If |initially_signaled| is true (1) then the event will start in the signaled state.

cef_write_json
cef_string_userfree_t cef_write_json(cef_value_t* node, cef_json_writer_options_t options)

Generates a JSON string from the specified root |node| which should be a dictionary or list value. Returns an NULL string on failure. This function requires exclusive access to |node| including any underlying data.

cef_xml_reader_create
cef_xml_reader_t* cef_xml_reader_create(cef_stream_reader_t* stream, cef_xml_encoding_type_t encodingType, const(cef_string_t)* URI)

Create a new cef_xml_reader_t object. The returned object's functions can only be called from the thread that created the object.

cef_zip_directory
int cef_zip_directory(const(cef_string_t)* src_dir, const(cef_string_t)* dest_file, int include_hidden_files)

Writes the contents of |src_dir| into a zip archive at |dest_file|. If |include_hidden_files| is true (1) files starting with "." will be included. Returns true (1) on success. Calling this function on the browser process UI or IO threads is not allowed.

cef_zip_reader_create
cef_zip_reader_t* cef_zip_reader_create(cef_stream_reader_t* stream)

Create a new cef_zip_reader_t object. The returned object's functions can only be called from the thread that created the object.

Interfaces

ICoreWebView2
interface ICoreWebView2
Undocumented in source.
ICoreWebView2AcceleratorKeyPressedEventArgs
interface ICoreWebView2AcceleratorKeyPressedEventArgs
Undocumented in source.
ICoreWebView2AcceleratorKeyPressedEventHandler
interface ICoreWebView2AcceleratorKeyPressedEventHandler
Undocumented in source.
ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler
interface ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler
Undocumented in source.
ICoreWebView2CallDevToolsProtocolMethodCompletedHandler
interface ICoreWebView2CallDevToolsProtocolMethodCompletedHandler
Undocumented in source.
ICoreWebView2CapturePreviewCompletedHandler
interface ICoreWebView2CapturePreviewCompletedHandler
Undocumented in source.
ICoreWebView2ContainsFullScreenElementChangedEventHandler
interface ICoreWebView2ContainsFullScreenElementChangedEventHandler
Undocumented in source.
ICoreWebView2ContentLoadingEventArgs
interface ICoreWebView2ContentLoadingEventArgs
Undocumented in source.
ICoreWebView2ContentLoadingEventHandler
interface ICoreWebView2ContentLoadingEventHandler
Undocumented in source.
ICoreWebView2Controller
interface ICoreWebView2Controller
Undocumented in source.
ICoreWebView2CreateCoreWebView2ControllerCompletedHandler
interface ICoreWebView2CreateCoreWebView2ControllerCompletedHandler
Undocumented in source.
ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler
interface ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler
Undocumented in source.
ICoreWebView2Deferral
interface ICoreWebView2Deferral
Undocumented in source.
ICoreWebView2DevToolsProtocolEventReceivedEventArgs
interface ICoreWebView2DevToolsProtocolEventReceivedEventArgs
Undocumented in source.
ICoreWebView2DevToolsProtocolEventReceivedEventHandler
interface ICoreWebView2DevToolsProtocolEventReceivedEventHandler
Undocumented in source.
ICoreWebView2DevToolsProtocolEventReceiver
interface ICoreWebView2DevToolsProtocolEventReceiver
Undocumented in source.
ICoreWebView2DocumentTitleChangedEventHandler
interface ICoreWebView2DocumentTitleChangedEventHandler
Undocumented in source.
ICoreWebView2Environment
interface ICoreWebView2Environment
Undocumented in source.
ICoreWebView2EnvironmentOptions
interface ICoreWebView2EnvironmentOptions
Undocumented in source.
ICoreWebView2ExecuteScriptCompletedHandler
interface ICoreWebView2ExecuteScriptCompletedHandler
Undocumented in source.
ICoreWebView2FocusChangedEventHandler
interface ICoreWebView2FocusChangedEventHandler
Undocumented in source.
ICoreWebView2HistoryChangedEventHandler
interface ICoreWebView2HistoryChangedEventHandler
Undocumented in source.
ICoreWebView2HttpHeadersCollectionIterator
interface ICoreWebView2HttpHeadersCollectionIterator
Undocumented in source.
ICoreWebView2HttpRequestHeaders
interface ICoreWebView2HttpRequestHeaders
Undocumented in source.
ICoreWebView2HttpResponseHeaders
interface ICoreWebView2HttpResponseHeaders
Undocumented in source.
ICoreWebView2MoveFocusRequestedEventArgs
interface ICoreWebView2MoveFocusRequestedEventArgs
Undocumented in source.
ICoreWebView2MoveFocusRequestedEventHandler
interface ICoreWebView2MoveFocusRequestedEventHandler
Undocumented in source.
ICoreWebView2NavigationCompletedEventArgs
interface ICoreWebView2NavigationCompletedEventArgs
Undocumented in source.
ICoreWebView2NavigationCompletedEventHandler
interface ICoreWebView2NavigationCompletedEventHandler
Undocumented in source.
ICoreWebView2NavigationStartingEventArgs
interface ICoreWebView2NavigationStartingEventArgs
Undocumented in source.
ICoreWebView2NavigationStartingEventHandler
interface ICoreWebView2NavigationStartingEventHandler
Undocumented in source.
ICoreWebView2NewBrowserVersionAvailableEventHandler
interface ICoreWebView2NewBrowserVersionAvailableEventHandler
Undocumented in source.
ICoreWebView2NewWindowRequestedEventArgs
interface ICoreWebView2NewWindowRequestedEventArgs
Undocumented in source.
ICoreWebView2NewWindowRequestedEventHandler
interface ICoreWebView2NewWindowRequestedEventHandler
Undocumented in source.
ICoreWebView2PermissionRequestedEventArgs
interface ICoreWebView2PermissionRequestedEventArgs
Undocumented in source.
ICoreWebView2PermissionRequestedEventHandler
interface ICoreWebView2PermissionRequestedEventHandler
Undocumented in source.
ICoreWebView2ProcessFailedEventArgs
interface ICoreWebView2ProcessFailedEventArgs
Undocumented in source.
ICoreWebView2ProcessFailedEventHandler
interface ICoreWebView2ProcessFailedEventHandler
Undocumented in source.
ICoreWebView2ScriptDialogOpeningEventArgs
interface ICoreWebView2ScriptDialogOpeningEventArgs
Undocumented in source.
ICoreWebView2ScriptDialogOpeningEventHandler
interface ICoreWebView2ScriptDialogOpeningEventHandler
Undocumented in source.
ICoreWebView2Settings
interface ICoreWebView2Settings
Undocumented in source.
ICoreWebView2SourceChangedEventArgs
interface ICoreWebView2SourceChangedEventArgs
Undocumented in source.
ICoreWebView2SourceChangedEventHandler
interface ICoreWebView2SourceChangedEventHandler
Undocumented in source.
ICoreWebView2WebMessageReceivedEventArgs
interface ICoreWebView2WebMessageReceivedEventArgs
Undocumented in source.
ICoreWebView2WebMessageReceivedEventHandler
interface ICoreWebView2WebMessageReceivedEventHandler
Undocumented in source.
ICoreWebView2WebResourceRequest
interface ICoreWebView2WebResourceRequest
Undocumented in source.
ICoreWebView2WebResourceRequestedEventArgs
interface ICoreWebView2WebResourceRequestedEventArgs
Undocumented in source.
ICoreWebView2WebResourceRequestedEventHandler
interface ICoreWebView2WebResourceRequestedEventHandler
Undocumented in source.
ICoreWebView2WebResourceResponse
interface ICoreWebView2WebResourceResponse
Undocumented in source.
ICoreWebView2WindowCloseRequestedEventHandler
interface ICoreWebView2WindowCloseRequestedEventHandler
Undocumented in source.
ICoreWebView2WindowFeatures
interface ICoreWebView2WindowFeatures
Undocumented in source.
ICoreWebView2ZoomFactorChangedEventHandler
interface ICoreWebView2ZoomFactorChangedEventHandler
Undocumented in source.

Structs

COREWEBVIEW2_PHYSICAL_KEY_STATUS
struct COREWEBVIEW2_PHYSICAL_KEY_STATUS

A structure representing the information packed into the LPARAM given to a Win32 key event. See the documentation for WM_KEYDOWN for details at https://docs.microsoft.com/windows/win32/inputdev/wm-keydown

cef_accessibility_handler_t
struct cef_accessibility_handler_t

Implement this structure to receive accessibility notification when accessibility events have been registered. The functions of this structure will be called on the UI thread.

cef_app_t
struct cef_app_t

Implement this structure to provide handler implementations. Methods will be called by the process and/or thread indicated.

cef_audio_handler_t
struct cef_audio_handler_t

Implement this structure to handle audio events.

cef_audio_parameters_t
struct cef_audio_parameters_t

Structure representing the audio parameters for setting up the audio handler.

cef_auth_callback_t
struct cef_auth_callback_t

Callback structure used for asynchronous continuation of authentication requests.

cef_base_ref_counted_t
struct cef_base_ref_counted_t
cef_base_scoped_t
struct cef_base_scoped_t
cef_before_download_callback_t
struct cef_before_download_callback_t

Callback structure used to asynchronously continue a download.

cef_binary_value_t
struct cef_binary_value_t

Structure representing a binary value. Can be used on any process and thread.

cef_box_layout_settings_t
struct cef_box_layout_settings_t

Settings used when initializing a CefBoxLayout.

cef_browser_host_t
struct cef_browser_host_t

Structure used to represent the browser process aspects of a browser. The functions of this structure can only be called in the browser process. They may be called on any thread in that process unless otherwise indicated in the comments.

cef_browser_process_handler_t
struct cef_browser_process_handler_t

Structure used to implement browser process callbacks. The functions of this structure will be called on the browser process main thread unless otherwise indicated.

cef_browser_settings_t
struct cef_browser_settings_t

Browser initialization settings. Specify NULL or 0 to get the recommended default values. The consequences of using custom values may not be well tested. Many of these and other settings can also configured using command- line switches.

cef_browser_t
struct cef_browser_t

Structure used to represent a browser. When used in the browser process the functions of this structure may be called on any thread 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.

cef_callback_t
struct cef_callback_t

Generic callback structure used for asynchronous continuation.

cef_client_t
struct cef_client_t

Implement this structure to provide handler implementations.

cef_command_handler_t
struct cef_command_handler_t

Implement this structure to handle events related to commands. The functions of this structure will be called on the UI thread.

cef_command_line_t
struct cef_command_line_t

Structure used to create and/or parse command line arguments. Arguments with "--", "-" and, on Windows, "/" prefixes are considered switches. Switches will always precede any arguments without switch prefixes. Switches can optionally have a value specified using the "=" delimiter (e.g. "-switch=value"). An argument of "--" will terminate switch parsing with all subsequent tokens, regardless of prefix, being interpreted as non-switch arguments. Switch names should be lowercase ASCII and will be converted to such if necessary. Switch values will retain the original case and UTF8 encoding. This structure can be used before cef_initialize() is called.

cef_completion_callback_t
struct cef_completion_callback_t

Generic callback structure used for asynchronous completion.

cef_composition_underline_t
struct cef_composition_underline_t

Structure representing IME composition underline information. This is a thin wrapper around Blink's WebCompositionUnderline class and should be kept in sync with that.

cef_context_menu_handler_t
struct cef_context_menu_handler_t

Implement this structure to handle context menu events. The functions of this structure will be called on the UI thread.

cef_context_menu_params_t
struct cef_context_menu_params_t

Provides information about the context menu state. The functions of this structure can only be accessed on browser process the UI thread.

cef_cookie_access_filter_t
struct cef_cookie_access_filter_t

Implement this structure to filter cookies that may be sent or received from resource requests. The functions of this structure will be called on the IO thread unless otherwise indicated.

cef_cookie_manager_t
struct cef_cookie_manager_t

Structure used for managing cookies. The functions of this structure may be called on any thread unless otherwise indicated.

cef_cookie_t
struct cef_cookie_t

Cookie information.

cef_cookie_visitor_t
struct cef_cookie_visitor_t

Structure to implement for visiting cookie values. The functions of this structure will always be called on the UI thread.

cef_cursor_info_t
struct cef_cursor_info_t

Structure representing cursor information. |buffer| will be |size.width|*|size.height|*4 bytes in size and represents a BGRA image with an upper-left origin.

cef_delete_cookies_callback_t
struct cef_delete_cookies_callback_t

Structure to implement to be notified of asynchronous completion via

cef_dev_tools_message_observer_t
struct cef_dev_tools_message_observer_t

Callback structure for cef_browser_host_t::AddDevToolsMessageObserver. The functions of this structure will be called on the browser process UI thread.

cef_dialog_handler_t
struct cef_dialog_handler_t

Implement this structure to handle dialog events. The functions of this structure will be called on the browser process UI thread.

cef_dictionary_value_t
struct cef_dictionary_value_t

Structure representing a dictionary value. Can be used on any process and thread.

cef_display_handler_t
struct cef_display_handler_t

Implement this structure to handle events related to browser display state. The functions of this structure will be called on the UI thread.

cef_domdocument_t
struct cef_domdocument_t

Structure used to represent a DOM document. The functions of this structure should only be called on the render process main thread thread.

cef_domnode_t
struct cef_domnode_t

Structure used to represent a DOM node. The functions of this structure should only be called on the render process main thread.

cef_domvisitor_t
struct cef_domvisitor_t

Structure to implement for visiting the DOM. The functions of this structure will be called on the render process main thread.

cef_download_handler_t
struct cef_download_handler_t

Structure used to handle file downloads. The functions of this structure will called on the browser process UI thread.

cef_download_image_callback_t
struct cef_download_image_callback_t

Callback structure for cef_browser_host_t::DownloadImage. The functions of this structure will be called on the browser process UI thread.

cef_download_item_callback_t
struct cef_download_item_callback_t

Callback structure used to asynchronously cancel a download.

cef_download_item_t
struct cef_download_item_t

Structure used to represent a download item.

cef_drag_data_t
struct cef_drag_data_t

Structure used to represent drag data. The functions of this structure may be called on any thread.

cef_drag_handler_t
struct cef_drag_handler_t

Implement this structure to handle events related to dragging. The functions of this structure will be called on the UI thread.

cef_draggable_region_t
struct cef_draggable_region_t

Structure representing a draggable region.

cef_end_tracing_callback_t
struct cef_end_tracing_callback_t

Implement this structure to receive notification when tracing has completed. The functions of this structure will be called on the browser process UI thread.

cef_extension_handler_t
struct cef_extension_handler_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_extension_t
struct cef_extension_t

Object representing an extension. Methods may be called on any thread unless otherwise indicated.

cef_file_dialog_callback_t
struct cef_file_dialog_callback_t

Callback structure for asynchronous continuation of file dialog requests.

cef_find_handler_t
struct cef_find_handler_t

Implement this structure to handle events related to find results. The functions of this structure will be called on the UI thread.

cef_focus_handler_t
struct cef_focus_handler_t

Implement this structure to handle events related to focus. The functions of this structure will be called on the UI thread.

cef_frame_handler_t
struct cef_frame_handler_t

Implement this structure to handle events related to cef_frame_t life span. The order of callbacks is:

cef_frame_t
struct cef_frame_t

Structure used to represent a frame in the browser window. When used in the browser process the functions of this structure may be called on any thread 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.

cef_get_extension_resource_callback_t
struct cef_get_extension_resource_callback_t

Callback structure used for asynchronous continuation of

cef_image_t
struct cef_image_t

Container for a single image represented at different scale factors. All image representations should be the same size in density independent pixel (DIP) units. For example, if the image at scale factor 1.0 is 100x100 pixels then the image at scale factor 2.0 should be 200x200 pixels -- both images will display with a DIP size of 100x100 units. The functions of this structure can be called on any browser process thread.

cef_insets_t
struct cef_insets_t

Structure representing insets.

cef_jsdialog_callback_t
struct cef_jsdialog_callback_t

Callback structure used for asynchronous continuation of JavaScript dialog requests.

cef_jsdialog_handler_t
struct cef_jsdialog_handler_t

Implement this structure to handle events related to JavaScript dialogs. The functions of this structure will be called on the UI thread.

cef_key_event_t
struct cef_key_event_t

Structure representing keyboard event information.

cef_keyboard_handler_t
struct cef_keyboard_handler_t

Implement this structure to handle events related to keyboard input. The functions of this structure will be called on the UI thread.

cef_life_span_handler_t
struct cef_life_span_handler_t

Implement this structure to handle events related to browser life span. The functions of this structure will be called on the UI thread unless otherwise indicated.

cef_list_value_t
struct cef_list_value_t

Structure representing a list value. Can be used on any process and thread.

cef_load_handler_t
struct cef_load_handler_t

Implement this structure to handle events related to browser load status. The functions of this structure will be called on the browser process UI thread or render process main thread (TID_RENDERER).

cef_media_access_callback_t
struct cef_media_access_callback_t

Callback structure used for asynchronous continuation of media access permission requests.

cef_media_observer_t
struct cef_media_observer_t

Implemented by the client to observe MediaRouter events and registered via

cef_media_route_create_callback_t
struct cef_media_route_create_callback_t

Callback structure for cef_media_router_t::CreateRoute. The functions of this structure will be called on the browser process UI thread.

cef_media_route_t
struct cef_media_route_t

Represents the route between a media source and sink. Instances of this object are created via cef_media_router_t::CreateRoute and retrieved via

cef_media_router_t
struct cef_media_router_t

Supports discovery of and communication with media devices on the local network via the Cast and DIAL protocols. The functions of this structure may be called on any browser process thread unless otherwise indicated.

cef_media_sink_device_info_callback_t
struct cef_media_sink_device_info_callback_t

Callback structure for cef_media_sink_t::GetDeviceInfo. The functions of this structure will be called on the browser process UI thread.

cef_media_sink_device_info_t
struct cef_media_sink_device_info_t

Device information for a MediaSink object.

cef_media_sink_t
struct cef_media_sink_t

Represents a sink to which media can be routed. Instances of this object are retrieved via cef_media_observer_t::OnSinks. The functions of this structure may be called on any browser process thread unless otherwise indicated.

cef_media_source_t
struct cef_media_source_t

Represents a source from which media can be routed. Instances of this object are retrieved via cef_media_router_t::GetSource. The functions of this structure may be called on any browser process thread unless otherwise indicated.

cef_menu_model_delegate_t
struct cef_menu_model_delegate_t

Implement this structure to handle menu model events. The functions of this structure will be called on the browser process UI thread unless otherwise indicated.

cef_menu_model_t
struct cef_menu_model_t

Supports creation and modification of menus. See cef_menu_id_t for the command ids that have default implementations. All user-defined command ids 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.

cef_mouse_event_t
struct cef_mouse_event_t

Structure representing mouse event information.

cef_navigation_entry_t
struct cef_navigation_entry_t

Structure used to represent an entry in navigation history.

cef_navigation_entry_visitor_t
struct cef_navigation_entry_visitor_t

Callback structure for cef_browser_host_t::GetNavigationEntries. The functions of this structure will be called on the browser process UI thread.

cef_pdf_print_callback_t
struct cef_pdf_print_callback_t

Callback structure for cef_browser_host_t::PrintToPDF. The functions of this structure will be called on the browser process UI thread.

cef_pdf_print_settings_t
struct cef_pdf_print_settings_t

Structure representing PDF print settings.

cef_permission_handler_t
struct cef_permission_handler_t

Implement this structure to handle events related to permission requests. The functions of this structure will be called on the browser process UI thread.

cef_permission_prompt_callback_t
struct cef_permission_prompt_callback_t

Callback structure used for asynchronous continuation of permission prompts.

cef_point_t
struct cef_point_t

Structure representing a point.

cef_popup_features_t
struct cef_popup_features_t

Popup window features.

cef_post_data_element_t
struct cef_post_data_element_t

Structure used to represent a single element in the request post data. The functions of this structure may be called on any thread.

cef_post_data_t
struct cef_post_data_t

Structure used to represent post data for a web request. The functions of this structure may be called on any thread.

cef_print_dialog_callback_t
struct cef_print_dialog_callback_t

Callback structure for asynchronous continuation of print dialog requests.

cef_print_handler_t
struct cef_print_handler_t

Implement this structure to handle printing on Linux. Each browser will have only one print job in progress at a time. The functions of this structure will be called on the browser process UI thread.

cef_print_job_callback_t
struct cef_print_job_callback_t

Callback structure for asynchronous continuation of print job requests.

cef_print_settings_t
struct cef_print_settings_t

Structure representing print settings.

cef_process_message_t
struct cef_process_message_t

Structure representing a message. Can be used on any process and thread.

cef_range_t
struct cef_range_t

Structure representing a range.

cef_read_handler_t
struct cef_read_handler_t

Structure the client can implement to provide a custom stream reader. The functions of this structure may be called on any thread.

cef_rect_t
struct cef_rect_t

Structure representing a rectangle.

cef_registration_t
struct cef_registration_t

Generic callback structure used for managing the lifespan of a registration.

cef_render_handler_t
struct cef_render_handler_t

Implement this structure to handle events when window rendering is disabled. The functions of this structure will be called on the UI thread.

cef_render_process_handler_t
struct cef_render_process_handler_t

Structure used to implement render process callbacks. The functions of this structure will be called on the render process main thread (TID_RENDERER) unless otherwise indicated.

cef_request_context_handler_t
struct cef_request_context_handler_t

Implement this structure to provide handler implementations. The handler instance will not be released until all objects related to the context have been destroyed.

cef_request_context_settings_t
struct cef_request_context_settings_t

Request context initialization settings. Specify NULL or 0 to get the recommended default values.

cef_request_context_t
struct cef_request_context_t

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 browser via the cef_browser_host_t static factory functions or when creating a new URL request via the cef_urlrequest_t static factory functions. Browser objects with different request contexts will never be hosted in the same render process. Browser objects with the same request context may or may not be hosted in the same render process depending on the process model. Browser objects created indirectly via the JavaScript window.open function or targeted links will share the same render process and the same request context as the source browser. When running in single-process mode there is only a single render process (the main process) and so all browsers created in single-process mode will share the same request context. This will be the first request context passed into a cef_browser_host_t static factory function and all other request context objects will be ignored.

cef_request_handler_t
struct cef_request_handler_t

Implement this structure to handle events related to browser requests. The functions of this structure will be called on the thread indicated.

cef_request_t
struct cef_request_t

Structure used to represent a web request. The functions of this structure may be called on any thread.

cef_resolve_callback_t
struct cef_resolve_callback_t

Callback structure for cef_request_context_t::ResolveHost.

cef_resource_bundle_handler_t
struct cef_resource_bundle_handler_t

Structure used to implement a custom resource bundle structure. See CefSettings for additional options related to resource bundle loading. The functions of this structure may be called on multiple threads.

cef_resource_bundle_t
struct cef_resource_bundle_t

Structure used for retrieving resources from the resource bundle (*.pak) files loaded by CEF during startup or via the cef_resource_bundle_handler_t returned from cef_app_t::GetResourceBundleHandler. See CefSettings for additional options related to resource bundle loading. The functions of this structure may be called on any thread unless otherwise indicated.

cef_resource_handler_t
struct cef_resource_handler_t

Structure used to implement a custom request handler structure. The functions of this structure will be called on the IO thread unless otherwise indicated.

cef_resource_read_callback_t
struct cef_resource_read_callback_t

Callback for asynchronous continuation of cef_resource_handler_t::read().

cef_resource_request_handler_t
struct cef_resource_request_handler_t

Implement this structure to handle events related to browser requests. The functions of this structure will be called on the IO thread unless otherwise indicated.

cef_resource_skip_callback_t
struct cef_resource_skip_callback_t

Callback for asynchronous continuation of cef_resource_handler_t::skip().

cef_response_filter_t
struct cef_response_filter_t

Implement this structure to filter resource response content. The functions of this structure will be called on the browser process IO thread.

cef_response_t
struct cef_response_t

Structure used to represent a web response. The functions of this structure may be called on any thread.

cef_run_context_menu_callback_t
struct cef_run_context_menu_callback_t

Callback structure used for continuation of custom context menu display.

cef_run_file_dialog_callback_t
struct cef_run_file_dialog_callback_t

Callback structure for cef_browser_host_t::RunFileDialog. The functions of this structure will be called on the browser process UI thread.

cef_run_quick_menu_callback_t
struct cef_run_quick_menu_callback_t

Callback structure used for continuation of custom quick menu display.

cef_scheme_handler_factory_t
struct cef_scheme_handler_factory_t

Structure that creates cef_resource_handler_t instances for handling scheme requests. The functions of this structure will always be called on the IO thread.

cef_scheme_registrar_t
struct cef_scheme_registrar_t

Structure that manages custom scheme registrations.

cef_screen_info_t
struct cef_screen_info_t

Screen information used when window rendering is disabled. This structure is passed as a parameter to CefRenderHandler::GetScreenInfo and should be filled in by the client.

cef_select_client_certificate_callback_t
struct cef_select_client_certificate_callback_t

Callback structure used to select a client certificate for authentication.

cef_server_handler_t
struct cef_server_handler_t

Implement this structure to handle HTTP server requests. A new thread will be created for each cef_server_t::CreateServer call (the "dedicated server thread"), and the functions of this structure will be called on that thread. It is therefore recommended to use a different cef_server_handler_t instance for each cef_server_t::CreateServer call to avoid thread safety issues in the cef_server_handler_t implementation.

cef_server_t
struct cef_server_t

Structure representing a server that supports HTTP and WebSocket requests. Server capacity is limited and is intended to handle only a small number of simultaneous connections (e.g. for communicating between applications on localhost). The functions of this structure are safe to call from any thread in the brower process unless otherwise indicated.

cef_set_cookie_callback_t
struct cef_set_cookie_callback_t

Structure to implement to be notified of asynchronous completion via

cef_settings_t
struct cef_settings_t

Initialization settings. Specify NULL or 0 to get the recommended default values. Many of these and other settings can also configured using command- line switches.

cef_shared_memory_region_t
struct cef_shared_memory_region_t

Structure that wraps platform-dependent share memory region mapping.

cef_shared_process_message_builder_t
struct cef_shared_process_message_builder_t

Structure that builds a cef_process_message_t containing a shared memory region. This structure is not thread-safe but may be used exclusively on a different thread from the one which constructed it.

cef_size_t
struct cef_size_t

Structure representing a size.

cef_sslinfo_t
struct cef_sslinfo_t

Structure representing SSL information.

cef_sslstatus_t
struct cef_sslstatus_t

Structure representing the SSL information for a navigation entry.

cef_stream_reader_t
struct cef_stream_reader_t

Structure used to read data from a stream. The functions of this structure may be called on any thread.

cef_stream_writer_t
struct cef_stream_writer_t

Structure used to write data to a stream. The functions of this structure may be called on any thread.

cef_string_visitor_t
struct cef_string_visitor_t

Implement this structure to receive string values asynchronously.

cef_task_runner_t
struct cef_task_runner_t

Structure that asynchronously executes tasks on the associated thread. It is safe to call the functions of this structure on any thread.

cef_task_t
struct cef_task_t

Implement this structure for asynchronous task execution. If the task is posted successfully and if the associated message loop is still running then the execute() function will be called on the target thread. If the task fails to post then the task object may be destroyed on the source thread instead of the target thread. For this reason be cautious when performing work in the task object destructor.

cef_thread_t
struct cef_thread_t

A simple thread abstraction that establishes a message loop on a new thread. The consumer uses cef_task_runner_t to execute code on the thread's message loop. The thread is terminated when the cef_thread_t object is destroyed or stop() is called. All pending tasks queued on the thread's message loop will run to completion before the thread is terminated. cef_thread_create() can be called on any valid CEF thread in either the browser or render process. This structure should only be used for tasks that require a dedicated 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.

cef_touch_event_t
struct cef_touch_event_t

Structure representing touch event information.

cef_touch_handle_state_t
struct cef_touch_handle_state_t
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
cef_urlparts_t
struct cef_urlparts_t

URL component parts.

cef_urlrequest_client_t
struct cef_urlrequest_client_t

Structure that should be implemented by the cef_urlrequest_t client. The functions of this structure will be called on the same thread that created the request unless otherwise documented.

cef_urlrequest_t
struct cef_urlrequest_t

Structure used to make a URL request. URL requests are not associated with a browser instance so no cef_client_t callbacks will be executed. URL requests can be created on any valid CEF thread in either the browser or render process. Once created the functions of the URL request object must be accessed on the same thread that created it.

cef_v8accessor_t
struct cef_v8accessor_t

Structure that should be implemented to handle V8 accessor calls. Accessor identifiers are registered by calling cef_v8value_t::set_value(). The functions of this structure will be called on the thread associated with the V8 accessor.

cef_v8array_buffer_release_callback_t
struct cef_v8array_buffer_release_callback_t

Callback structure that is passed to cef_v8value_t::CreateArrayBuffer.

cef_v8context_t
struct cef_v8context_t

Structure representing a V8 context handle. V8 handles can only be accessed from the thread on which they are created. Valid threads for creating a V8 handle include the render process main thread (TID_RENDERER) and WebWorker threads. A task runner for posting tasks on the associated thread can be retrieved via the cef_v8context_t::get_task_runner() function.

cef_v8exception_t
struct cef_v8exception_t

Structure representing a V8 exception. The functions of this structure may be called on any render process thread.

cef_v8handler_t
struct cef_v8handler_t

Structure that should be implemented to handle V8 function calls. The functions of this structure will be called on the thread associated with the V8 function.

cef_v8interceptor_t
struct cef_v8interceptor_t

Structure that should be implemented to handle V8 interceptor calls. The functions of this structure will be called on the thread associated with the V8 interceptor. Interceptor's named property handlers (with first argument of type CefString) are called when object is indexed by string. Indexed property handlers (with first argument of type int) are called when object is indexed by integer.

cef_v8stack_frame_t
struct cef_v8stack_frame_t

Structure representing a V8 stack frame handle. V8 handles can only be accessed from the thread on which they are created. Valid threads for creating a V8 handle include the render process main thread (TID_RENDERER) and WebWorker threads. A task runner for posting tasks on the associated thread can be retrieved via the cef_v8context_t::get_task_runner() function.

cef_v8stack_trace_t
struct cef_v8stack_trace_t

Structure representing a V8 stack trace handle. V8 handles can only be accessed from the thread on which they are created. Valid threads for creating a V8 handle include the render process main thread (TID_RENDERER) and WebWorker threads. A task runner for posting tasks on the associated thread can be retrieved via the cef_v8context_t::get_task_runner() function.

cef_v8value_t
struct cef_v8value_t

Structure representing a V8 value handle. V8 handles can only be accessed from the thread on which they are created. Valid threads for creating a V8 handle include the render process main thread (TID_RENDERER) and WebWorker threads. A task runner for posting tasks on the associated thread can be retrieved via the cef_v8context_t::get_task_runner() function.

cef_value_t
struct cef_value_t

Structure that wraps other data value types. Complex types (binary, dictionary and list) will be referenced but not owned by this object. Can be used on any process and thread.

cef_waitable_event_t
struct cef_waitable_event_t

WaitableEvent is a thread synchronization tool that allows one thread to wait for another thread to finish some work. This is equivalent to using a Lock+ConditionVariable to protect a simple boolean value. However, using WaitableEvent in conjunction with a Lock to wait for a more complex state change (e.g., for an item to be added to a queue) is not recommended. In that case consider using a ConditionVariable instead of a WaitableEvent. It is safe to create and/or signal a WaitableEvent from any thread. Blocking on a WaitableEvent by calling the *wait() functions is not allowed on the browser process UI or IO threads.

cef_write_handler_t
struct cef_write_handler_t

Structure the client can implement to provide a custom stream writer. The functions of this structure may be called on any thread.

cef_x509cert_principal_t
struct cef_x509cert_principal_t

Structure representing the issuer or subject field of an X.509 certificate.

cef_x509certificate_t
struct cef_x509certificate_t

Structure representing a X.509 certificate.

cef_xml_reader_t
struct cef_xml_reader_t

Structure that supports the reading of XML data via the libxml streaming API. The functions of this structure should only be called on the thread that creates the object.

cef_zip_reader_t
struct cef_zip_reader_t

Structure that supports the reading of zip archives via the zlib unzip API. The functions of this structure should only be called on the thread that creates the object.

libcef
struct libcef

This gives access to the CEF functions. If you get a linker error for using an undefined function, it is probably because you did NOT go through this when dynamically loading.

Variables

IID_ICoreWebView2
GUID IID_ICoreWebView2;

WebView2 enables you to host web content using the latest Edge web browser technology.

IID_ICoreWebView2AcceleratorKeyPressedEventArgs
GUID IID_ICoreWebView2AcceleratorKeyPressedEventArgs;

Event args for the AcceleratorKeyPressed event.

IID_ICoreWebView2AcceleratorKeyPressedEventHandler
GUID IID_ICoreWebView2AcceleratorKeyPressedEventHandler;

The caller implements this interface to receive the AcceleratorKeyPressed event.

IID_ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler
GUID IID_ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler;

The caller implements this interface to receive the result of the AddScriptToExecuteOnDocumentCreated method.

IID_ICoreWebView2CallDevToolsProtocolMethodCompletedHandler
GUID IID_ICoreWebView2CallDevToolsProtocolMethodCompletedHandler;

The caller implements this interface to receive CallDevToolsProtocolMethod completion results.

IID_ICoreWebView2CapturePreviewCompletedHandler
GUID IID_ICoreWebView2CapturePreviewCompletedHandler;

The caller implements this method to receive the result of the CapturePreview method. The result is written to the stream provided in the CapturePreview method call.

IID_ICoreWebView2ContainsFullScreenElementChangedEventHandler
GUID IID_ICoreWebView2ContainsFullScreenElementChangedEventHandler;

The caller implements this method to receive the ContainsFullScreenElementChanged events. There are no event args for this event.

IID_ICoreWebView2ContentLoadingEventArgs
GUID IID_ICoreWebView2ContentLoadingEventArgs;

Event args for the ContentLoading event.

IID_ICoreWebView2ContentLoadingEventHandler
GUID IID_ICoreWebView2ContentLoadingEventHandler;

The caller implements this interface to receive the ContentLoading event.

IID_ICoreWebView2Controller
GUID IID_ICoreWebView2Controller;

This interface is the owner of the CoreWebView2 object, and provides support for resizing, showing and hiding, focusing, and other functionality related to windowing and composition. The CoreWebView2Controller owns the CoreWebView2, and if all references to the CoreWebView2Controller go away, the WebView will be closed.

IID_ICoreWebView2CreateCoreWebView2ControllerCompletedHandler
GUID IID_ICoreWebView2CreateCoreWebView2ControllerCompletedHandler;

The caller implements this interface to receive the CoreWebView2Controller created via CreateCoreWebView2Controller.

IID_ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler
GUID IID_ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler;

The caller implements this interface to receive the WebView2Environment created via CreateCoreWebView2Environment.

IID_ICoreWebView2Deferral
GUID IID_ICoreWebView2Deferral;

This interface is used to complete deferrals on event args that support getting deferrals via their GetDeferral method.

IID_ICoreWebView2DevToolsProtocolEventReceivedEventArgs
GUID IID_ICoreWebView2DevToolsProtocolEventReceivedEventArgs;

Event args for the DevToolsProtocolEventReceived event.

IID_ICoreWebView2DevToolsProtocolEventReceivedEventHandler
GUID IID_ICoreWebView2DevToolsProtocolEventReceivedEventHandler;

The caller implements this interface to receive DevToolsProtocolEventReceived events from the WebView.

IID_ICoreWebView2DevToolsProtocolEventReceiver
GUID IID_ICoreWebView2DevToolsProtocolEventReceiver;

A Receiver is created for a particular DevTools Protocol event and allows you to subscribe and unsubscribe from that event. Obtained from the WebView object via GetDevToolsProtocolEventReceiver.

IID_ICoreWebView2DocumentTitleChangedEventHandler
GUID IID_ICoreWebView2DocumentTitleChangedEventHandler;

The caller implements this interface to receive DocumentTitleChanged events. Use the DocumentTitle property to get the modified title.

IID_ICoreWebView2Environment
GUID IID_ICoreWebView2Environment;

This represents the WebView2 Environment. WebViews created from an environment run on the browser process specified with environment parameters and objects created from an environment should be used in the same environment. Using it in different environments are not guaranteed to be compatible and may fail.

IID_ICoreWebView2EnvironmentOptions
GUID IID_ICoreWebView2EnvironmentOptions;

Options used to create WebView2 Environment.

IID_ICoreWebView2ExecuteScriptCompletedHandler
GUID IID_ICoreWebView2ExecuteScriptCompletedHandler;

The caller implements this interface to receive the result of the ExecuteScript method.

IID_ICoreWebView2FocusChangedEventHandler
GUID IID_ICoreWebView2FocusChangedEventHandler;

The caller implements this method to receive the GotFocus and LostFocus events. There are no event args for this event.

IID_ICoreWebView2HistoryChangedEventHandler
GUID IID_ICoreWebView2HistoryChangedEventHandler;

The caller implements this interface to receive the HistoryChanged event.

IID_ICoreWebView2HttpHeadersCollectionIterator
GUID IID_ICoreWebView2HttpHeadersCollectionIterator;

Iterator for a collection of HTTP headers. See ICoreWebView2HttpRequestHeaders and ICoreWebView2HttpResponseHeaders.

IID_ICoreWebView2HttpRequestHeaders
GUID IID_ICoreWebView2HttpRequestHeaders;

HTTP request headers. Used to inspect the HTTP request on WebResourceRequested event and NavigationStarting event. Note, you can modify the HTTP request headers from a WebResourceRequested event, but not from a NavigationStarting event.

IID_ICoreWebView2HttpResponseHeaders
GUID IID_ICoreWebView2HttpResponseHeaders;

HTTP response headers. Used to construct a WebResourceResponse for the WebResourceRequested event.

IID_ICoreWebView2MoveFocusRequestedEventArgs
GUID IID_ICoreWebView2MoveFocusRequestedEventArgs;

Event args for the MoveFocusRequested event.

IID_ICoreWebView2MoveFocusRequestedEventHandler
GUID IID_ICoreWebView2MoveFocusRequestedEventHandler;

The caller implements this method to receive the MoveFocusRequested event.

IID_ICoreWebView2NavigationCompletedEventArgs
GUID IID_ICoreWebView2NavigationCompletedEventArgs;

Event args for the NavigationCompleted event.

IID_ICoreWebView2NavigationCompletedEventHandler
GUID IID_ICoreWebView2NavigationCompletedEventHandler;

The caller implements this interface to receive the NavigationCompleted event.

IID_ICoreWebView2NavigationStartingEventArgs
GUID IID_ICoreWebView2NavigationStartingEventArgs;

Event args for the NavigationStarting event.

IID_ICoreWebView2NavigationStartingEventHandler
GUID IID_ICoreWebView2NavigationStartingEventHandler;

The caller implements this interface to receive the NavigationStarting event.

IID_ICoreWebView2NewBrowserVersionAvailableEventHandler
GUID IID_ICoreWebView2NewBrowserVersionAvailableEventHandler;

The caller implements this interface to receive NewBrowserVersionAvailable events.

IID_ICoreWebView2NewWindowRequestedEventArgs
GUID IID_ICoreWebView2NewWindowRequestedEventArgs;

Event args for the NewWindowRequested event. The event is fired when content inside webview requested to a open a new window (through window.open() and so on.)

IID_ICoreWebView2NewWindowRequestedEventHandler
GUID IID_ICoreWebView2NewWindowRequestedEventHandler;

The caller implements this interface to receive NewWindowRequested events.

IID_ICoreWebView2PermissionRequestedEventArgs
GUID IID_ICoreWebView2PermissionRequestedEventArgs;

Event args for the PermissionRequested event.

IID_ICoreWebView2PermissionRequestedEventHandler
GUID IID_ICoreWebView2PermissionRequestedEventHandler;

The caller implements this interface to receive the PermissionRequested event.

IID_ICoreWebView2ProcessFailedEventArgs
GUID IID_ICoreWebView2ProcessFailedEventArgs;

Event args for the ProcessFailed event.

IID_ICoreWebView2ProcessFailedEventHandler
GUID IID_ICoreWebView2ProcessFailedEventHandler;

The caller implements this interface to receive ProcessFailed events.

IID_ICoreWebView2ScriptDialogOpeningEventArgs
GUID IID_ICoreWebView2ScriptDialogOpeningEventArgs;

Event args for the ScriptDialogOpening event.

IID_ICoreWebView2ScriptDialogOpeningEventHandler
GUID IID_ICoreWebView2ScriptDialogOpeningEventHandler;

The caller implements this interface to receive the ScriptDialogOpening event.

IID_ICoreWebView2Settings
GUID IID_ICoreWebView2Settings;

Defines properties that enable, disable, or modify WebView features. Setting changes made after NavigationStarting event will not apply until the next top level navigation.

IID_ICoreWebView2SourceChangedEventArgs
GUID IID_ICoreWebView2SourceChangedEventArgs;

Event args for the SourceChanged event.

IID_ICoreWebView2SourceChangedEventHandler
GUID IID_ICoreWebView2SourceChangedEventHandler;

The caller implements this interface to receive the SourceChanged event.

IID_ICoreWebView2WebMessageReceivedEventArgs
GUID IID_ICoreWebView2WebMessageReceivedEventArgs;

Event args for the WebMessageReceived event.

IID_ICoreWebView2WebMessageReceivedEventHandler
GUID IID_ICoreWebView2WebMessageReceivedEventHandler;

The caller implements this interface to receive the WebMessageReceived event.

IID_ICoreWebView2WebResourceRequest
GUID IID_ICoreWebView2WebResourceRequest;

An HTTP request used with the WebResourceRequested event.

IID_ICoreWebView2WebResourceRequestedEventArgs
GUID IID_ICoreWebView2WebResourceRequestedEventArgs;

Event args for the WebResourceRequested event.

IID_ICoreWebView2WebResourceRequestedEventHandler
GUID IID_ICoreWebView2WebResourceRequestedEventHandler;

Fires when a URL request (through network, file etc.) is made in the webview for a Web resource matching resource context filter and URL specified in AddWebResourceRequestedFilter. The host can view and modify the request or provide a response in a similar pattern to HTTP, in which case the request immediately completed. This may not contain any request headers that are added by the network stack, such as Authorization headers.

IID_ICoreWebView2WebResourceResponse
GUID IID_ICoreWebView2WebResourceResponse;

An HTTP response used with the WebResourceRequested event.

IID_ICoreWebView2WindowCloseRequestedEventHandler
GUID IID_ICoreWebView2WindowCloseRequestedEventHandler;

The caller implements this interface to receive NewWindowRequested events.

IID_ICoreWebView2WindowFeatures
GUID IID_ICoreWebView2WindowFeatures;

Window features for a WebView popup window. These fields match the 'windowFeatures' passed to window.open as specified in https://developer.mozilla.org/en-US/docs/Web/API/Window/open#Window_features

There is no requirement for you to respect these values. If your app doesn't have corresponding UI features, for example no toolbar, or if all webviews are opened in tabs and so cannot have distinct size or positions, then your app cannot respect these values. You may want to respect values but perhaps only some can apply to your app's UI. Accordingly, it is fine to respect all, some, or none of these properties as appropriate based on your app. For all numeric properties, if the value when passed to window.open is outside the range of an unsigned 32bit int, the value will be mod of the max of unsigned 32bit integer. If the value cannot be parsed as an integer it will be considered 0. If the value is a floating point value, it will be rounded down to an integer.

IID_ICoreWebView2ZoomFactorChangedEventHandler
GUID IID_ICoreWebView2ZoomFactorChangedEventHandler;

The caller implements this interface to receive ZoomFactorChanged events. Use the ICoreWebView2Controller.ZoomFactor property to get the modified zoom factor.

Detailed Description

I currently built against 95.7.17+g4208276+chromium-95.0.4638.69 and it uses UTF-16 strings.

cef_binary_107.1.9+g1f0a21a+chromium-107.0.5304.110_linux64_minimal.tar.bz2

Note my ceftranslate.d for instructions to start the update process.

Then to install the cef put in the Resources in the Release directory (*.pak and *.dat out of Resources, failure to do this will cause an abort on ICU file descriptor things) and copy the locales to /opt/cef/Resources/Locales

You can download compatible builds from https://cef-builds.spotifycdn.com/index.html just make sure to put in the version filter and check "all builds" to match it.

You do NOT actually need the cef to build the application, but it must be on the user's machine to run it. It looks in /opt/cef/ on Linux.

Work in progress. DO NOT USE YET as I am prolly gonna break everything too.

On Windows, you need to distribute the WebView2Loader.dll with your exe. That is found in the web view 2 sdk. Furthermore, users will have to install the runtime.

Please note; the Microsoft terms and conditions say they may be able to collect information about your users if you use this on Windows. see: https://developer.microsoft.com/en-us/microsoft-edge/webview2/

Meta