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
cef_button_state_t
enum cef_button_state_t
cef_channel_layout_t
enum cef_channel_layout_t
cef_chrome_toolbar_type_t
enum cef_chrome_toolbar_type_t
cef_color_model_t
enum cef_color_model_t
cef_color_type_t
enum cef_color_type_t
cef_com_init_mode_t
enum cef_com_init_mode_t
cef_composition_underline_style_t
enum cef_composition_underline_style_t
cef_context_menu_edit_state_flags_t
enum cef_context_menu_edit_state_flags_t
cef_context_menu_media_state_flags_t
enum cef_context_menu_media_state_flags_t
cef_context_menu_media_type_t
enum cef_context_menu_media_type_t
cef_context_menu_type_flags_t
enum cef_context_menu_type_flags_t
cef_cookie_priority_t
enum cef_cookie_priority_t
cef_cookie_same_site_t
enum cef_cookie_same_site_t
cef_cross_axis_alignment_t
enum cef_cross_axis_alignment_t
cef_cursor_type_t
enum cef_cursor_type_t
cef_docking_mode_t
enum cef_docking_mode_t
cef_dom_document_type_t
enum cef_dom_document_type_t
cef_dom_event_category_t
enum cef_dom_event_category_t
cef_dom_event_phase_t
enum cef_dom_event_phase_t
cef_dom_node_type_t
enum cef_dom_node_type_t
cef_duplex_mode_t
enum cef_duplex_mode_t
cef_errorcode_t
enum cef_errorcode_t
cef_event_flags_t
enum cef_event_flags_t
cef_file_dialog_mode_t
enum cef_file_dialog_mode_t
cef_focus_source_t
enum cef_focus_source_t
cef_horizontal_alignment_t
enum cef_horizontal_alignment_t
cef_jsdialog_type_t
enum cef_jsdialog_type_t
cef_json_parser_options_t
enum cef_json_parser_options_t
cef_json_writer_options_t
enum cef_json_writer_options_t
cef_key_event_type_t
enum cef_key_event_type_t
cef_log_severity_t
enum cef_log_severity_t
cef_main_axis_alignment_t
enum cef_main_axis_alignment_t
cef_media_route_connection_state_t
enum cef_media_route_connection_state_t
cef_media_route_create_result_t
enum cef_media_route_create_result_t
cef_media_sink_icon_type_t
enum cef_media_sink_icon_type_t
cef_menu_anchor_position_t
enum cef_menu_anchor_position_t
cef_menu_color_type_t
enum cef_menu_color_type_t
cef_menu_id_t
enum cef_menu_id_t
cef_menu_item_type_t
enum cef_menu_item_type_t
cef_message_loop_type_t
enum cef_message_loop_type_t
cef_mouse_button_type_t
enum cef_mouse_button_type_t
cef_navigation_type_t
enum cef_navigation_type_t
cef_paint_element_type_t
enum cef_paint_element_type_t
cef_path_key_t
enum cef_path_key_t
cef_pdf_print_margin_type_t
enum cef_pdf_print_margin_type_t
cef_plugin_policy_t
enum cef_plugin_policy_t
cef_pointer_type_t
enum cef_pointer_type_t
cef_process_id_t
enum cef_process_id_t
cef_referrer_policy_t
enum cef_referrer_policy_t
cef_response_filter_status_t
enum cef_response_filter_status_t
cef_return_value_t
enum cef_return_value_t
cef_scale_factor_t
enum cef_scale_factor_t
cef_show_state_t
enum cef_show_state_t
cef_state_t
enum cef_state_t
cef_storage_type_t
enum cef_storage_type_t
cef_termination_status_t
enum cef_termination_status_t
cef_text_field_commands_t
enum cef_text_field_commands_t
cef_text_style_t
enum cef_text_style_t
cef_thread_id_t
enum cef_thread_id_t
cef_thread_priority_t
enum cef_thread_priority_t
cef_touch_event_type_t
enum cef_touch_event_type_t
cef_uri_unescape_rule_t
enum cef_uri_unescape_rule_t
cef_urlrequest_flags_t
enum cef_urlrequest_flags_t
cef_urlrequest_status_t
enum cef_urlrequest_status_t
cef_value_type_t
enum cef_value_type_t
cef_xml_encoding_type_t
enum cef_xml_encoding_type_t
cef_xml_node_type_t
enum cef_xml_node_type_t

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)
cef_api_hash
const(char)* cef_api_hash(int entry)
cef_base64decode
cef_binary_value_t* cef_base64decode(const(cef_string_t)* data)
cef_base64encode
cef_string_userfree_t cef_base64encode(const(void)* data, size_t data_size)
cef_begin_tracing
int cef_begin_tracing(const(cef_string_t)* categories, cef_completion_callback_t* callback)
cef_binary_value_create
cef_binary_value_t* cef_binary_value_create(const(void)* data, size_t data_size)
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)
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)
cef_clear_cross_origin_whitelist
int cef_clear_cross_origin_whitelist()
cef_clear_scheme_handler_factories
int cef_clear_scheme_handler_factories()
cef_command_line_create
cef_command_line_t* cef_command_line_create()
cef_command_line_get_global
cef_command_line_t* cef_command_line_get_global()
cef_cookie_manager_get_global_manager
cef_cookie_manager_t* cef_cookie_manager_get_global_manager(cef_completion_callback_t* callback)
cef_crash_reporting_enabled
int cef_crash_reporting_enabled()
cef_create_context_shared
cef_request_context_t* cef_create_context_shared(cef_request_context_t* other, cef_request_context_handler_t* handler)
cef_create_directory
int cef_create_directory(const(cef_string_t)* full_path)
cef_create_new_temp_directory
int cef_create_new_temp_directory(const(cef_string_t)* prefix, cef_string_t* new_temp_path)
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)
cef_create_url
int cef_create_url(const(cef_urlparts_t)* parts, cef_string_t* url)
cef_currently_on
int cef_currently_on(cef_thread_id_t threadId)
cef_delete_file
int cef_delete_file(const(cef_string_t)* path, int recursive)
cef_dictionary_value_create
cef_dictionary_value_t* cef_dictionary_value_create()
cef_directory_exists
int cef_directory_exists(const(cef_string_t)* path)
cef_do_message_loop_work
void cef_do_message_loop_work()
cef_drag_data_create
cef_drag_data_t* cef_drag_data_create()
cef_enable_highdpi_support
void cef_enable_highdpi_support()
cef_end_tracing
int cef_end_tracing(const(cef_string_t)* tracing_file, cef_end_tracing_callback_t* callback)
cef_execute_process
int cef_execute_process(const(cef_main_args_t)* args, cef_app_t* application, void* windows_sandbox_info)
cef_format_url_for_security_display
cef_string_userfree_t cef_format_url_for_security_display(const(cef_string_t)* origin_url)
cef_get_extensions_for_mime_type
void cef_get_extensions_for_mime_type(const(cef_string_t)* mime_type, cef_string_list_t extensions)
cef_get_mime_type
cef_string_userfree_t cef_get_mime_type(const(cef_string_t)* extension)
cef_get_path
int cef_get_path(cef_path_key_t key, cef_string_t* path)
cef_get_temp_directory
int cef_get_temp_directory(cef_string_t* temp_dir)
cef_image_create
cef_image_t* cef_image_create()
cef_initialize
int cef_initialize(const(cef_main_args_t)* args, const(cef_settings_t)* settings, cef_app_t* application, void* windows_sandbox_info)
cef_is_cert_status_error
int cef_is_cert_status_error(cef_cert_status_t status)
cef_is_rtl
int cef_is_rtl()
cef_is_web_plugin_unstable
void cef_is_web_plugin_unstable(const(cef_string_t)* path, cef_web_plugin_unstable_callback_t* callback)
cef_launch_process
int cef_launch_process(cef_command_line_t* command_line)
cef_list_value_create
cef_list_value_t* cef_list_value_create()
cef_load_crlsets_file
void cef_load_crlsets_file(const(cef_string_t)* path)
cef_media_router_get_global
cef_media_router_t* cef_media_router_get_global(cef_completion_callback_t* callback)
cef_menu_model_create
cef_menu_model_t* cef_menu_model_create(cef_menu_model_delegate_t* delegate_)
cef_now_from_system_trace_time
int64 cef_now_from_system_trace_time()
cef_parse_json
cef_value_t* cef_parse_json(const(cef_string_t)* json_string, cef_json_parser_options_t options)
cef_parse_json_buffer
cef_value_t* cef_parse_json_buffer(const(void)* json, size_t json_size, cef_json_parser_options_t options)
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)
cef_parse_url
int cef_parse_url(const(cef_string_t)* url, cef_urlparts_t* parts)
cef_post_data_create
cef_post_data_t* cef_post_data_create()
cef_post_data_element_create
cef_post_data_element_t* cef_post_data_element_create()
cef_post_delayed_task
int cef_post_delayed_task(cef_thread_id_t threadId, cef_task_t* task, int64 delay_ms)
cef_post_task
int cef_post_task(cef_thread_id_t threadId, cef_task_t* task)
cef_print_settings_create
cef_print_settings_t* cef_print_settings_create()
cef_process_message_create
cef_process_message_t* cef_process_message_create(const(cef_string_t)* name)
cef_quit_message_loop
void cef_quit_message_loop()
cef_refresh_web_plugins
void cef_refresh_web_plugins()
cef_register_extension
int cef_register_extension(const(cef_string_t)* extension_name, const(cef_string_t)* javascript_code, cef_v8handler_t* handler)
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)
cef_register_web_plugin_crash
void cef_register_web_plugin_crash(const(cef_string_t)* path)
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)
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)
cef_request_context_get_global_context
cef_request_context_t* cef_request_context_get_global_context()
cef_request_create
cef_request_t* cef_request_create()
cef_resource_bundle_get_global
cef_resource_bundle_t* cef_resource_bundle_get_global()
cef_response_create
cef_response_t* cef_response_create()
cef_run_message_loop
void cef_run_message_loop()
cef_server_create
void cef_server_create(const(cef_string_t)* address, uint16 port, int backlog, cef_server_handler_t* handler)
cef_set_crash_key_value
void cef_set_crash_key_value(const(cef_string_t)* key, const(cef_string_t)* value)
cef_set_osmodal_loop
void cef_set_osmodal_loop(int osModalLoop)
cef_shutdown
void cef_shutdown()
cef_stream_reader_create_for_data
cef_stream_reader_t* cef_stream_reader_create_for_data(void* data, size_t size)
cef_stream_reader_create_for_file
cef_stream_reader_t* cef_stream_reader_create_for_file(const(cef_string_t)* fileName)
cef_stream_reader_create_for_handler
cef_stream_reader_t* cef_stream_reader_create_for_handler(cef_read_handler_t* handler)
cef_stream_writer_create_for_file
cef_stream_writer_t* cef_stream_writer_create_for_file(const(cef_string_t)* fileName)
cef_stream_writer_create_for_handler
cef_stream_writer_t* cef_stream_writer_create_for_handler(cef_write_handler_t* handler)
cef_task_runner_get_for_current_thread
cef_task_runner_t* cef_task_runner_get_for_current_thread()
cef_task_runner_get_for_thread
cef_task_runner_t* cef_task_runner_get_for_thread(cef_thread_id_t threadId)
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)
cef_unregister_internal_web_plugin
void cef_unregister_internal_web_plugin(const(cef_string_t)* path)
cef_uridecode
cef_string_userfree_t cef_uridecode(const(cef_string_t)* text, int convert_to_utf8, cef_uri_unescape_rule_t unescape_rule)
cef_uriencode
cef_string_userfree_t cef_uriencode(const(cef_string_t)* text, int use_plus)
cef_urlrequest_create
cef_urlrequest_t* cef_urlrequest_create(cef_request_t* request, cef_urlrequest_client_t* client, cef_request_context_t* request_context)
cef_v8context_get_current_context
cef_v8context_t* cef_v8context_get_current_context()
cef_v8context_get_entered_context
cef_v8context_t* cef_v8context_get_entered_context()
cef_v8context_in_context
int cef_v8context_in_context()
cef_v8stack_trace_get_current
cef_v8stack_trace_t* cef_v8stack_trace_get_current(int frame_limit)
cef_v8value_create_array
cef_v8value_t* cef_v8value_create_array(int length)
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)
cef_v8value_create_bool
cef_v8value_t* cef_v8value_create_bool(int value)
cef_v8value_create_date
cef_v8value_t* cef_v8value_create_date(const(cef_time_t)* date)
cef_v8value_create_double
cef_v8value_t* cef_v8value_create_double(double value)
cef_v8value_create_function
cef_v8value_t* cef_v8value_create_function(const(cef_string_t)* name, cef_v8handler_t* handler)
cef_v8value_create_int
cef_v8value_t* cef_v8value_create_int(int32 value)
cef_v8value_create_null
cef_v8value_t* cef_v8value_create_null()
cef_v8value_create_object
cef_v8value_t* cef_v8value_create_object(cef_v8accessor_t* accessor, cef_v8interceptor_t* interceptor)
cef_v8value_create_string
cef_v8value_t* cef_v8value_create_string(const(cef_string_t)* value)
cef_v8value_create_uint
cef_v8value_t* cef_v8value_create_uint(uint32 value)
cef_v8value_create_undefined
cef_v8value_t* cef_v8value_create_undefined()
cef_value_create
cef_value_t* cef_value_create()
cef_version_info
int cef_version_info(int entry)
cef_visit_web_plugin_info
void cef_visit_web_plugin_info(cef_web_plugin_info_visitor_t* visitor)
cef_waitable_event_create
cef_waitable_event_t* cef_waitable_event_create(int automatic_reset, int initially_signaled)
cef_write_json
cef_string_userfree_t cef_write_json(cef_value_t* node, cef_json_writer_options_t options)
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)
cef_zip_directory
int cef_zip_directory(const(cef_string_t)* src_dir, const(cef_string_t)* dest_file, int include_hidden_files)
cef_zip_reader_create
cef_zip_reader_t* cef_zip_reader_create(cef_stream_reader_t* stream)

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
cef_app_t
struct cef_app_t
cef_audio_handler_t
struct cef_audio_handler_t
cef_audio_parameters_t
struct cef_audio_parameters_t
cef_auth_callback_t
struct cef_auth_callback_t
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
cef_binary_value_t
struct cef_binary_value_t
cef_box_layout_settings_t
struct cef_box_layout_settings_t
cef_browser_host_t
struct cef_browser_host_t
cef_browser_process_handler_t
struct cef_browser_process_handler_t
cef_browser_settings_t
struct cef_browser_settings_t
cef_browser_t
struct cef_browser_t
cef_callback_t
struct cef_callback_t
cef_client_t
struct cef_client_t
cef_command_line_t
struct cef_command_line_t
cef_completion_callback_t
struct cef_completion_callback_t
cef_composition_underline_t
struct cef_composition_underline_t
cef_context_menu_handler_t
struct cef_context_menu_handler_t
cef_context_menu_params_t
struct cef_context_menu_params_t
cef_cookie_access_filter_t
struct cef_cookie_access_filter_t
cef_cookie_manager_t
struct cef_cookie_manager_t
cef_cookie_t
struct cef_cookie_t
cef_cookie_visitor_t
struct cef_cookie_visitor_t
cef_cursor_info_t
struct cef_cursor_info_t
cef_delete_cookies_callback_t
struct cef_delete_cookies_callback_t
cef_dev_tools_message_observer_t
struct cef_dev_tools_message_observer_t
cef_dialog_handler_t
struct cef_dialog_handler_t
cef_dictionary_value_t
struct cef_dictionary_value_t
cef_display_handler_t
struct cef_display_handler_t
cef_domdocument_t
struct cef_domdocument_t
cef_domnode_t
struct cef_domnode_t
cef_domvisitor_t
struct cef_domvisitor_t
cef_download_handler_t
struct cef_download_handler_t
cef_download_image_callback_t
struct cef_download_image_callback_t
cef_download_item_callback_t
struct cef_download_item_callback_t
cef_download_item_t
struct cef_download_item_t
cef_drag_data_t
struct cef_drag_data_t
cef_drag_handler_t
struct cef_drag_handler_t
cef_draggable_region_t
struct cef_draggable_region_t
cef_end_tracing_callback_t
struct cef_end_tracing_callback_t
cef_extension_handler_t
struct cef_extension_handler_t
cef_extension_t
struct cef_extension_t
cef_file_dialog_callback_t
struct cef_file_dialog_callback_t
cef_find_handler_t
struct cef_find_handler_t
cef_focus_handler_t
struct cef_focus_handler_t
cef_frame_handler_t
struct cef_frame_handler_t
cef_frame_t
struct cef_frame_t
cef_get_extension_resource_callback_t
struct cef_get_extension_resource_callback_t
cef_image_t
struct cef_image_t
cef_insets_t
struct cef_insets_t
cef_jsdialog_callback_t
struct cef_jsdialog_callback_t
cef_jsdialog_handler_t
struct cef_jsdialog_handler_t
cef_key_event_t
struct cef_key_event_t
cef_keyboard_handler_t
struct cef_keyboard_handler_t
cef_life_span_handler_t
struct cef_life_span_handler_t
cef_list_value_t
struct cef_list_value_t
cef_load_handler_t
struct cef_load_handler_t
cef_media_observer_t
struct cef_media_observer_t
cef_media_route_create_callback_t
struct cef_media_route_create_callback_t
cef_media_route_t
struct cef_media_route_t
cef_media_router_t
struct cef_media_router_t
cef_media_sink_device_info_callback_t
struct cef_media_sink_device_info_callback_t
cef_media_sink_device_info_t
struct cef_media_sink_device_info_t
cef_media_sink_t
struct cef_media_sink_t
cef_media_source_t
struct cef_media_source_t
cef_menu_model_delegate_t
struct cef_menu_model_delegate_t
cef_menu_model_t
struct cef_menu_model_t
cef_mouse_event_t
struct cef_mouse_event_t
cef_navigation_entry_t
struct cef_navigation_entry_t
cef_navigation_entry_visitor_t
struct cef_navigation_entry_visitor_t
cef_pdf_print_callback_t
struct cef_pdf_print_callback_t
cef_pdf_print_settings_t
struct cef_pdf_print_settings_t
cef_point_t
struct cef_point_t
cef_popup_features_t
struct cef_popup_features_t
cef_post_data_element_t
struct cef_post_data_element_t
cef_post_data_t
struct cef_post_data_t
cef_print_dialog_callback_t
struct cef_print_dialog_callback_t
cef_print_handler_t
struct cef_print_handler_t
cef_print_job_callback_t
struct cef_print_job_callback_t
cef_print_settings_t
struct cef_print_settings_t
cef_process_message_t
struct cef_process_message_t
cef_range_t
struct cef_range_t
cef_read_handler_t
struct cef_read_handler_t
cef_rect_t
struct cef_rect_t
cef_registration_t
struct cef_registration_t
cef_render_handler_t
struct cef_render_handler_t
cef_render_process_handler_t
struct cef_render_process_handler_t
cef_request_context_handler_t
struct cef_request_context_handler_t
cef_request_context_settings_t
struct cef_request_context_settings_t
cef_request_context_t
struct cef_request_context_t
cef_request_handler_t
struct cef_request_handler_t
cef_request_t
struct cef_request_t
cef_resolve_callback_t
struct cef_resolve_callback_t
cef_resource_bundle_handler_t
struct cef_resource_bundle_handler_t
cef_resource_bundle_t
struct cef_resource_bundle_t
cef_resource_handler_t
struct cef_resource_handler_t
cef_resource_read_callback_t
struct cef_resource_read_callback_t
cef_resource_request_handler_t
struct cef_resource_request_handler_t
cef_resource_skip_callback_t
struct cef_resource_skip_callback_t
cef_response_filter_t
struct cef_response_filter_t
cef_response_t
struct cef_response_t
cef_run_context_menu_callback_t
struct cef_run_context_menu_callback_t
cef_run_file_dialog_callback_t
struct cef_run_file_dialog_callback_t
cef_scheme_handler_factory_t
struct cef_scheme_handler_factory_t
cef_scheme_registrar_t
struct cef_scheme_registrar_t
cef_screen_info_t
struct cef_screen_info_t
cef_select_client_certificate_callback_t
struct cef_select_client_certificate_callback_t
cef_server_handler_t
struct cef_server_handler_t
cef_server_t
struct cef_server_t
cef_set_cookie_callback_t
struct cef_set_cookie_callback_t
cef_settings_t
struct cef_settings_t
cef_size_t
struct cef_size_t
cef_sslinfo_t
struct cef_sslinfo_t
cef_sslstatus_t
struct cef_sslstatus_t
cef_stream_reader_t
struct cef_stream_reader_t
cef_stream_writer_t
struct cef_stream_writer_t
cef_string_visitor_t
struct cef_string_visitor_t
cef_task_runner_t
struct cef_task_runner_t
cef_task_t
struct cef_task_t
cef_thread_t
struct cef_thread_t
cef_touch_event_t
struct cef_touch_event_t
cef_urlparts_t
struct cef_urlparts_t
cef_urlrequest_client_t
struct cef_urlrequest_client_t
cef_urlrequest_t
struct cef_urlrequest_t
cef_v8accessor_t
struct cef_v8accessor_t
cef_v8array_buffer_release_callback_t
struct cef_v8array_buffer_release_callback_t
cef_v8context_t
struct cef_v8context_t
cef_v8exception_t
struct cef_v8exception_t
cef_v8handler_t
struct cef_v8handler_t
cef_v8interceptor_t
struct cef_v8interceptor_t
cef_v8stack_frame_t
struct cef_v8stack_frame_t
cef_v8stack_trace_t
struct cef_v8stack_trace_t
cef_v8value_t
struct cef_v8value_t
cef_value_t
struct cef_value_t
cef_waitable_event_t
struct cef_waitable_event_t
cef_web_plugin_info_t
struct cef_web_plugin_info_t
cef_web_plugin_info_visitor_t
struct cef_web_plugin_info_visitor_t
cef_web_plugin_unstable_callback_t
struct cef_web_plugin_unstable_callback_t
cef_write_handler_t
struct cef_write_handler_t
cef_x509cert_principal_t
struct cef_x509cert_principal_t
cef_x509certificate_t
struct cef_x509certificate_t
cef_xml_reader_t
struct cef_xml_reader_t
cef_zip_reader_t
struct cef_zip_reader_t
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.

Then to install the cef put in the Resources in the RElease directory 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