diff --git a/.gitignore b/.gitignore index 183bb204..634571e0 100644 --- a/.gitignore +++ b/.gitignore @@ -14,4 +14,5 @@ hs_err_pid*.log # Do not commit CEF binaries /java/org.eclipse.set.browser.cef.win32/cef -/cef \ No newline at end of file +/cef +cef \ No newline at end of file diff --git a/CEF_VERSION.txt b/CEF_VERSION.txt index a70c02a0..363f3a03 100644 --- a/CEF_VERSION.txt +++ b/CEF_VERSION.txt @@ -1,3 +1,3 @@ # This file contains the CEF browser version used for Jenkins # -cef_binary_122.1.8+g40272b5+chromium-122.0.6261.69_windows64_minimal \ No newline at end of file +cef_binary_145.0.28+g51162e8+chromium-145.0.7632.160_windows64_minimal \ No newline at end of file diff --git a/cef.deps b/cef.deps index 440112cd..4ed6c19e 100644 --- a/cef.deps +++ b/cef.deps @@ -1,5 +1,5 @@ # Listed below are the current CEF and Chromium versions for Eclipse Dash # The CEF version should match CEF_VERSION.txt # The Chromium version should match the Chromium version used to build CEF -git/github/chromiumembedded/cef/40272b5bc5890fc897011f81ee4e6f86e2f7ece9 -git/github/chromium/chromium/122.0.6261.69 \ No newline at end of file +git/github/chromiumembedded/cef/51162e83c6f21779c0a3bc110589aff9ead2af33 +git/github/chromium/chromium/145.0.7632.160 \ No newline at end of file diff --git a/java/org.eclipse.set.browser/src/org/eclipse/set/browser/cef/handlers/AppHandler.java b/java/org.eclipse.set.browser/src/org/eclipse/set/browser/cef/handlers/AppHandler.java index 801e78b5..2b402472 100644 --- a/java/org.eclipse.set.browser/src/org/eclipse/set/browser/cef/handlers/AppHandler.java +++ b/java/org.eclipse.set.browser/src/org/eclipse/set/browser/cef/handlers/AppHandler.java @@ -42,16 +42,22 @@ private long get_browser_process_handler(final long app) { } @SuppressWarnings({ "unused", "static-method" }) // Called via JNI - private void on_before_command_line_processing(final long app, final long process_type, final long command_line) { + private void on_before_command_line_processing(final long app, + final long process_type, final long command_line) { // Disable updating Chromium components from Google servers - cef_command_line_t.cefswt_append_switch(command_line, "use-gl", "angle"); - cef_command_line_t.cefswt_append_switch(command_line, "use-angle", "vulkan"); - - cef_command_line_t.cefswt_append_switch(command_line, "disable-component-update", null); - + cef_command_line_t.cefswt_append_switch(command_line, "use-gl", + "angle"); + cef_command_line_t.cefswt_append_switch(command_line, "use-angle", + "vulkan"); + + cef_command_line_t.cefswt_append_switch(command_line, + "disable-component-update", null); + cef_command_line_t.cefswt_append_switch(command_line, + "force-light-mode", null); // If debugging is enabled, allow remote debugging if (ChromiumStatic.getCEFConfiguration().DebugPort != 0) { - cef_command_line_t.cefswt_append_switch(command_line, "remote-allow-origins", "*"); + cef_command_line_t.cefswt_append_switch(command_line, + "remote-allow-origins", "*"); } } } diff --git a/native/Cargo.lock b/native/Cargo.lock index 713132db..d0b9fb61 100644 --- a/native/Cargo.lock +++ b/native/Cargo.lock @@ -19,7 +19,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.89", + "syn", ] [[package]] @@ -83,7 +83,7 @@ version = "1.0.0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn", ] [[package]] @@ -228,7 +228,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" dependencies = [ "proc-macro2", - "syn 2.0.89", + "syn", ] [[package]] @@ -287,20 +287,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "syn" -version = "1.0.109" +version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.89" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d46482f1c1c87acd84dea20c1bf5ebff4c757009ed6bf19cfd36fb10e92c4e" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ "proc-macro2", "quote", @@ -309,22 +298,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.31" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.31" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn", ] [[package]] diff --git a/native/chromium/build.rs b/native/chromium/build.rs index 959a9271..d5ff2f86 100644 --- a/native/chromium/build.rs +++ b/native/chromium/build.rs @@ -83,7 +83,6 @@ fn gen_cef(cef_path: std::path::Display) { .blocklist_type("char16") .blocklist_type("u?int64") .blocklist_type("DWORD") - .blocklist_type("HWND.*") .blocklist_type("HINSTANCE.*") .blocklist_type("HMENU.*") .blocklist_type("HICON.*") @@ -103,6 +102,9 @@ fn gen_cef(cef_path: std::path::Display) { .raw_line("pub type time_t = i64;") .raw_line("pub type int64 = ::std::os::raw::c_longlong;") .raw_line("pub type uint64 = ::std::os::raw::c_ulonglong;") + // The API Version should be change by update CEF version. + // See: https://github.com/chromiumembedded/cef/blob/master/cef_api_versions.json + .raw_line("pub const CEF_API_VERSION: std::os::raw::c_int = 14500;") .generate() .expect("Failed to gencef") .to_string(); @@ -164,8 +166,21 @@ fn generator(cef_path: std::path::Display) -> bindgen::Builder { .clang_arg(format!("-I{cef_path}")) .clang_arg(format!( "-I{}", - "C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.1A\\Include" + "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.44.35207\\include" )) + .clang_arg(format!( + "-I{}", + "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.26100.0\\shared" + )) + .clang_arg(format!( + "-I{}", + "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.26100.0\\um" + )) + .clang_arg(format!( + "-I{}", + "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.26100.0\\ucrt" + )) + .clang_arg("--target=x86_64-pc-windows-msvc") .clang_arg("-fparse-all-comments") .clang_arg("-Wno-nonportable-include-path") .clang_arg("-Wno-invalid-token-paste") diff --git a/native/chromium/src/cef/mod.rs b/native/chromium/src/cef/mod.rs index b27eef71..5361e4c0 100644 --- a/native/chromium/src/cef/mod.rs +++ b/native/chromium/src/cef/mod.rs @@ -1,4 +1,4 @@ -/* automatically generated by rust-bindgen 0.69.4 */ +/* automatically generated by rust-bindgen 0.72.1 */ #![allow(dead_code)] #![allow(non_snake_case)] @@ -24,7 +24,15 @@ pub type char16 = u16; pub type time_t = i64; pub type int64 = ::std::os::raw::c_longlong; pub type uint64 = ::std::os::raw::c_ulonglong; +pub const CEF_API_VERSION: std::os::raw::c_int = 14500; +pub type HANDLE = *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HWND__ { + pub unused: ::std::os::raw::c_int, +} +pub type HWND = *mut HWND__; pub type char16_t = ::std::os::raw::c_ushort; #[doc = "\n CEF string type definitions. Whomever allocates |str| is responsible for\n providing an appropriate |dtor| implementation that will free the string in\n the same memory space. When reusing an existing string structure make sure\n to call |dtor| for the old value before assigning new |str| and |dtor|\n values. Static strings will have a NULL |dtor| value. Using the below\n functions if you want this managed for you.\n"] #[repr(C)] @@ -52,7 +60,7 @@ pub struct _cef_string_utf16_t { pub dtor: ::std::option::Option, } pub type cef_string_utf16_t = _cef_string_utf16_t; -extern "C" { +unsafe extern "C" { #[doc = "\n These functions set string values. If |copy| is true (1) the value will be\n copied instead of referenced. It is up to the user to properly manage\n the lifespan of references.\n"] pub fn cef_string_wide_set( src: *const wchar_t, @@ -61,7 +69,7 @@ extern "C" { copy: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { pub fn cef_string_utf8_set( src: *const ::std::os::raw::c_char, src_len: usize, @@ -69,7 +77,7 @@ extern "C" { copy: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { pub fn cef_string_utf16_set( src: *const char16_t, src_len: usize, @@ -77,36 +85,36 @@ extern "C" { copy: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { #[doc = "\n These functions clear string values. The structure itself is not freed.\n"] pub fn cef_string_wide_clear(str_: *mut cef_string_wide_t); } -extern "C" { +unsafe extern "C" { pub fn cef_string_utf8_clear(str_: *mut cef_string_utf8_t); } -extern "C" { +unsafe extern "C" { pub fn cef_string_utf16_clear(str_: *mut cef_string_utf16_t); } -extern "C" { +unsafe extern "C" { #[doc = "\n These functions compare two string values with the same results as strcmp().\n"] pub fn cef_string_wide_cmp( str1: *const cef_string_wide_t, str2: *const cef_string_wide_t, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { pub fn cef_string_utf8_cmp( str1: *const cef_string_utf8_t, str2: *const cef_string_utf8_t, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { pub fn cef_string_utf16_cmp( str1: *const cef_string_utf16_t, str2: *const cef_string_utf16_t, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { #[doc = "\n These functions convert between UTF-8, -16, and -32 strings. They are\n potentially slow so unnecessary conversions should be avoided. The best\n possible result will always be written to |output| with the boolean return\n value indicating whether the conversion is 100% valid.\n"] pub fn cef_string_wide_to_utf8( src: *const wchar_t, @@ -114,42 +122,42 @@ extern "C" { output: *mut cef_string_utf8_t, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { pub fn cef_string_utf8_to_wide( src: *const ::std::os::raw::c_char, src_len: usize, output: *mut cef_string_wide_t, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { pub fn cef_string_wide_to_utf16( src: *const wchar_t, src_len: usize, output: *mut cef_string_utf16_t, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { pub fn cef_string_utf16_to_wide( src: *const char16_t, src_len: usize, output: *mut cef_string_wide_t, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { pub fn cef_string_utf8_to_utf16( src: *const ::std::os::raw::c_char, src_len: usize, output: *mut cef_string_utf16_t, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { pub fn cef_string_utf16_to_utf8( src: *const char16_t, src_len: usize, output: *mut cef_string_utf8_t, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { #[doc = "\n These functions convert an ASCII string, typically a hardcoded constant, to\n a Wide/UTF16 string. Use instead of the UTF8 conversion routines if you know\n the string is ASCII.\n"] pub fn cef_string_ascii_to_wide( src: *const ::std::os::raw::c_char, @@ -157,7 +165,7 @@ extern "C" { output: *mut cef_string_wide_t, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { pub fn cef_string_ascii_to_utf16( src: *const ::std::os::raw::c_char, src_len: usize, @@ -168,27 +176,27 @@ extern "C" { pub type cef_string_userfree_wide_t = *mut cef_string_wide_t; pub type cef_string_userfree_utf8_t = *mut cef_string_utf8_t; pub type cef_string_userfree_utf16_t = *mut cef_string_utf16_t; -extern "C" { +unsafe extern "C" { #[doc = "\n These functions allocate a new string structure. They must be freed by\n calling the associated free function.\n"] pub fn cef_string_userfree_wide_alloc() -> cef_string_userfree_wide_t; } -extern "C" { +unsafe extern "C" { pub fn cef_string_userfree_utf8_alloc() -> cef_string_userfree_utf8_t; } -extern "C" { +unsafe extern "C" { pub fn cef_string_userfree_utf16_alloc() -> cef_string_userfree_utf16_t; } -extern "C" { +unsafe extern "C" { #[doc = "\n These functions free the string structure allocated by the associated\n alloc function. Any string contents will first be cleared.\n"] pub fn cef_string_userfree_wide_free(str_: cef_string_userfree_wide_t); } -extern "C" { +unsafe extern "C" { pub fn cef_string_userfree_utf8_free(str_: cef_string_userfree_utf8_t); } -extern "C" { +unsafe extern "C" { pub fn cef_string_userfree_utf16_free(str_: cef_string_userfree_utf16_t); } -extern "C" { +unsafe extern "C" { #[doc = "\n These functions convert utf16 string case using the current ICU locale. This\n may change the length of the string in some cases.\n"] pub fn cef_string_utf16_to_lower( src: *const char16_t, @@ -196,7 +204,7 @@ extern "C" { output: *mut cef_string_utf16_t, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { pub fn cef_string_utf16_to_upper( src: *const char16_t, src_len: usize, @@ -205,6 +213,17 @@ extern "C" { } pub type cef_string_userfree_t = cef_string_userfree_utf16_t; pub type cef_string_t = cef_string_utf16_t; +#[repr(i32)] +#[doc = "\n Describes how to interpret the components of a pixel.\n"] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum cef_color_type_t { + #[doc = "\n RGBA with 8 bits per pixel (32bits total).\n"] + CEF_COLOR_TYPE_RGBA_8888 = 0, + #[doc = "\n BGRA with 8 bits per pixel (32bits total).\n"] + CEF_COLOR_TYPE_BGRA_8888 = 1, + #[doc = "\n BGRA with 8 bits per pixel (32bits total).\n"] + CEF_COLOR_TYPE_NUM_VALUES = 2, +} #[doc = "\n Structure representing a point.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -234,10 +253,82 @@ pub struct _cef_size_t { } #[doc = "\n Structure representing a size.\n"] pub type cef_size_t = _cef_size_t; +#[doc = "\n Structure containing shared texture common metadata.\n For documentation on each field, please refer to\n src/media/base/video_frame_metadata.h for actual details.\n"] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _cef_accelerated_paint_info_common_t { + #[doc = "\n Size of this structure.\n"] + pub size: usize, + #[doc = "\n Timestamp of the frame in microseconds since capture start.\n"] + pub timestamp: u64, + #[doc = "\n The full dimensions of the video frame.\n"] + pub coded_size: cef_size_t, + #[doc = "\n The visible area of the video frame.\n"] + pub visible_rect: cef_rect_t, + #[doc = "\n The region of the video frame that capturer would like to populate.\n"] + pub content_rect: cef_rect_t, + #[doc = "\n Full size of the source frame.\n"] + pub source_size: cef_size_t, + #[doc = "\n Updated area of frame, can be considered as the `dirty` area.\n"] + pub capture_update_rect: cef_rect_t, + #[doc = "\n May reflects where the frame's contents originate from if region\n capture is used internally.\n"] + pub region_capture_rect: cef_rect_t, + #[doc = "\n The increamental counter of the frame.\n"] + pub capture_counter: u64, + #[doc = "\n Optional flag of capture_update_rect\n"] + pub has_capture_update_rect: u8, + #[doc = "\n Optional flag of region_capture_rect\n"] + pub has_region_capture_rect: u8, + #[doc = "\n Optional flag of source_size\n"] + pub has_source_size: u8, + #[doc = "\n Optional flag of capture_counter\n"] + pub has_capture_counter: u8, +} +#[doc = "\n Structure containing shared texture common metadata.\n For documentation on each field, please refer to\n src/media/base/video_frame_metadata.h for actual details.\n"] +pub type cef_accelerated_paint_info_common_t = _cef_accelerated_paint_info_common_t; +#[repr(i32)] +#[doc = "\n CEF supports both a Chrome runtime style (based on the Chrome UI layer) and\n an Alloy runtime style (based on the Chromium content layer). Chrome style\n provides the full Chrome UI and browser functionality whereas Alloy style\n provides less default browser functionality but adds additional client\n callbacks and support for windowless (off-screen) rendering. The style type\n is individually configured for each window/browser at creation time and\n different styles can be mixed during runtime. For additional comparative\n details on runtime styles see\n https://bitbucket.org/chromiumembedded/cef/wiki/Architecture.md#markdown-header-cef3\n\n Windowless rendering will always use Alloy style. Windowed rendering with a\n default window or client-provided parent window can configure the style via\n CefWindowInfo.runtime_style. Windowed rendering with the Views framework can\n configure the style via CefWindowDelegate::GetWindowRuntimeStyle and\n CefBrowserViewDelegate::GetBrowserRuntimeStyle. Alloy style Windows with the\n Views framework can host only Alloy style BrowserViews but Chrome style\n Windows can host both style BrowserViews. Additionally, a Chrome style\n Window can host at most one Chrome style BrowserView but potentially\n multiple Alloy style BrowserViews. See CefWindowInfo.runtime_style\n documentation for any additional platform-specific limitations.\n"] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum cef_runtime_style_t { + #[doc = "\n Use the default style. See above documentation for exceptions.\n"] + CEF_RUNTIME_STYLE_DEFAULT = 0, + #[doc = "\n Use Chrome style.\n"] + CEF_RUNTIME_STYLE_CHROME = 1, + #[doc = "\n Use Alloy style.\n"] + CEF_RUNTIME_STYLE_ALLOY = 2, +} +pub type cef_window_handle_t = HWND; +pub type cef_shared_texture_handle_t = HANDLE; #[doc = "\n Structure representing CefExecuteProcess arguments.\n"] pub type cef_main_args_t = _cef_main_args_t; #[doc = "\n Structure representing window information.\n"] pub type cef_window_info_t = _cef_window_info_t; +#[doc = "\n Structure containing shared texture information for the OnAcceleratedPaint\n callback. Resources will be released to the underlying pool for reuse when\n the callback returns from client code.\n"] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _cef_accelerated_paint_info_t { + #[doc = "\n Size of this structure.\n"] + pub size: usize, + #[doc = "\n Handle for the shared texture. The shared texture is instantiated\n without a keyed mutex.\n"] + pub shared_texture_handle: cef_shared_texture_handle_t, + #[doc = "\n The pixel format of the texture.\n"] + pub format: cef_color_type_t, + #[doc = "\n The extra common info.\n"] + pub extra: cef_accelerated_paint_info_common_t, +} +#[doc = "\n Structure containing shared texture information for the OnAcceleratedPaint\n callback. Resources will be released to the underlying pool for reuse when\n the callback returns from client code.\n"] +pub type cef_accelerated_paint_info_t = _cef_accelerated_paint_info_t; +unsafe extern "C" { + #[doc = "\n Configures the CEF API version and returns API hashes for the libcef\n library. The returned string is owned by the library and should not be\n freed. The |version| parameter should be CEF_API_VERSION and any changes to\n this value will be ignored after the first call to this method. The |entry|\n parameter describes which hash value will be returned:\n\n 0 - CEF_API_HASH_PLATFORM\n 1 - CEF_API_HASH_UNIVERSAL (deprecated, same as CEF_API_HASH_PLATFORM)\n 2 - CEF_COMMIT_HASH (from cef_version.h)\n"] + pub fn cef_api_hash( + version: ::std::os::raw::c_int, + entry: ::std::os::raw::c_int, + ) -> *const ::std::os::raw::c_char; +} +unsafe extern "C" { + #[doc = "\n Returns the CEF API version that was configured by the first call to\n cef_api_hash().\n"] + pub fn cef_api_version() -> ::std::os::raw::c_int; +} #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_string_list_t { @@ -245,15 +336,15 @@ pub struct _cef_string_list_t { } #[doc = "\n CEF string maps are a set of key/value string pairs.\n"] pub type cef_string_list_t = *mut _cef_string_list_t; -extern "C" { +unsafe extern "C" { #[doc = "\n Allocate a new string map.\n"] pub fn cef_string_list_alloc() -> cef_string_list_t; } -extern "C" { +unsafe extern "C" { #[doc = "\n Return the number of elements in the string list.\n"] pub fn cef_string_list_size(list: cef_string_list_t) -> usize; } -extern "C" { +unsafe extern "C" { #[doc = "\n Retrieve the value at the specified zero-based string list index. Returns\n true (1) if the value was successfully retrieved.\n"] pub fn cef_string_list_value( list: cef_string_list_t, @@ -261,19 +352,19 @@ extern "C" { value: *mut cef_string_t, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { #[doc = "\n Append a new value at the end of the string list.\n"] pub fn cef_string_list_append(list: cef_string_list_t, value: *const cef_string_t); } -extern "C" { +unsafe extern "C" { #[doc = "\n Clear the string list.\n"] pub fn cef_string_list_clear(list: cef_string_list_t); } -extern "C" { +unsafe extern "C" { #[doc = "\n Free the string list.\n"] pub fn cef_string_list_free(list: cef_string_list_t); } -extern "C" { +unsafe extern "C" { #[doc = "\n Creates a copy of an existing string list.\n"] pub fn cef_string_list_copy(list: cef_string_list_t) -> cef_string_list_t; } @@ -308,35 +399,35 @@ pub struct _cef_time_t { } #[doc = "\n Time information. Values should always be in UTC.\n"] pub type cef_time_t = _cef_time_t; -extern "C" { +unsafe extern "C" { #[doc = "\n Converts cef_time_t to/from time_t. Returns true (1) on success and false\n (0) on failure.\n"] pub fn cef_time_to_timet( cef_time: *const cef_time_t, time: *mut time_t, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { pub fn cef_time_from_timet(time: time_t, cef_time: *mut cef_time_t) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { #[doc = "\n Converts cef_time_t to/from a double which is the number of seconds since\n epoch (Jan 1, 1970). Webkit uses this format to represent time. A value of 0\n means \"not initialized\". Returns true (1) on success and false (0) on\n failure.\n"] pub fn cef_time_to_doublet( cef_time: *const cef_time_t, time: *mut f64, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { pub fn cef_time_from_doublet(time: f64, cef_time: *mut cef_time_t) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { #[doc = "\n Retrieve the current system time. Returns true (1) on success and false (0)\n on failure.\n"] pub fn cef_time_now(cef_time: *mut cef_time_t) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { #[doc = "\n Retrieve the current system time.\n"] pub fn cef_basetime_now() -> cef_basetime_t; } -extern "C" { +unsafe extern "C" { #[doc = "\n Retrieve the delta in milliseconds between two time values. Returns true (1)\n on success and false (0) on failure.\n"] pub fn cef_time_delta( cef_time1: *const cef_time_t, @@ -344,14 +435,14 @@ extern "C" { delta: *mut ::std::os::raw::c_longlong, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { #[doc = "\n Converts cef_time_t to cef_basetime_t. Returns true (1) on success and\n false (0) on failure.\n"] pub fn cef_time_to_basetime( from: *const cef_time_t, to: *mut cef_basetime_t, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { #[doc = "\n Converts cef_basetime_t to cef_time_t. Returns true (1) on success and\n false (0) on failure.\n"] pub fn cef_time_from_basetime( from: cef_basetime_t, @@ -359,7 +450,7 @@ extern "C" { ) -> ::std::os::raw::c_int; } #[repr(i32)] -#[doc = "\n Supported content setting types. Some types are platform-specific or only\n supported with the Chrome runtime. Should be kept in sync with Chromium's\n ContentSettingsType type.\n"] +#[doc = "\n Supported content setting types. Some types are platform-specific or only\n supported with Chrome style. Should be kept in sync with Chromium's\n ContentSettingsType type.\n"] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum cef_content_setting_types_t { #[doc = " This setting governs whether cookies are enabled by the user in the\n provided context. However, it may be overridden by other settings. This\n enum should NOT be read directly to determine whether cookies are enabled;\n the client should instead rely on the CookieSettings API."] @@ -428,8 +519,8 @@ pub enum cef_content_setting_types_t { CEF_CONTENT_SETTING_TYPE_CLIENT_HINTS = 31, #[doc = " Generic Sensor API covering ambient-light-sensor, accelerometer, gyroscope\n and magnetometer are all mapped to a single content_settings_type.\n Setting for the Generic Sensor API covering ambient-light-sensor,\n accelerometer, gyroscope and magnetometer. These are all mapped to a\n single ContentSettingsType."] CEF_CONTENT_SETTING_TYPE_SENSORS = 32, - #[doc = " Content setting which stores whether or not the user has granted the site\n permission to respond to accessibility events, which can be used to\n provide a custom accessibility experience. Requires explicit user consent\n because some users may not want sites to know they're using assistive\n technology."] - CEF_CONTENT_SETTING_TYPE_ACCESSIBILITY_EVENTS = 33, + #[doc = " Content setting which stores whether or not the user has granted the site\n permission to respond to accessibility events, which can be used to\n provide a custom accessibility experience. Requires explicit user consent\n because some users may not want sites to know they're using assistive\n technology. Deprecated in M131."] + CEF_CONTENT_SETTING_TYPE_DEPRECATED_ACCESSIBILITY_EVENTS = 33, #[doc = " Used to store whether to allow a website to install a payment handler."] CEF_CONTENT_SETTING_TYPE_PAYMENT_HANDLER = 34, #[doc = " Content setting which stores whether to allow sites to ask for permission\n to access USB devices. If this is allowed specific device permissions are\n stored under USB_CHOOSER_DATA."] @@ -482,8 +573,7 @@ pub enum cef_content_setting_types_t { CEF_CONTENT_SETTING_TYPE_CAMERA_PAN_TILT_ZOOM = 58, #[doc = " Content setting for Screen Enumeration and Screen Detail functionality.\n Permits access to detailed multi-screen information, like size and\n position. Permits placing fullscreen and windowed content on specific\n screens. See also: https://w3c.github.io/window-placement"] CEF_CONTENT_SETTING_TYPE_WINDOW_MANAGEMENT = 59, - #[doc = " Stores whether to allow insecure websites to make private network\n requests.\n See also: https://wicg.github.io/cors-rfc1918\n Set through enterprise policies only."] - CEF_CONTENT_SETTING_TYPE_INSECURE_PRIVATE_NETWORK = 60, + CEF_CONTENT_SETTING_TYPE_INSECURE_PRIVATE_NETWORK_DEPRECATED = 60, #[doc = " Content setting which stores whether or not a site can access low-level\n locally installed font data using the Local Fonts Access API."] CEF_CONTENT_SETTING_TYPE_LOCAL_FONTS = 61, #[doc = " Stores per-origin state for permission auto-revocation (for all permission\n types)."] @@ -516,13 +606,11 @@ pub enum cef_content_setting_types_t { CEF_CONTENT_SETTING_TYPE_REDUCED_ACCEPT_LANGUAGE = 75, #[doc = " Website setting which is used for NotificationPermissionReviewService to\n store origin blocklist from review notification permissions feature."] CEF_CONTENT_SETTING_TYPE_NOTIFICATION_PERMISSION_REVIEW = 76, - #[doc = " Website setting to store permissions granted to access particular devices\n in private network."] - CEF_CONTENT_SETTING_TYPE_PRIVATE_NETWORK_GUARD = 77, - #[doc = " Website setting to store permissions granted to access particular devices\n in private network."] - CEF_CONTENT_SETTING_TYPE_PRIVATE_NETWORK_CHOOSER_DATA = 78, + CEF_CONTENT_SETTING_TYPE_PRIVATE_NETWORK_GUARD_DEPRECATED = 77, + CEF_CONTENT_SETTING_TYPE_PRIVATE_NETWORK_CHOOSER_DATA_DEPRECATED = 78, #[doc = " Website setting which stores whether the browser has observed the user\n signing into an identity-provider based on observing the IdP-SignIn-Status\n HTTP header."] CEF_CONTENT_SETTING_TYPE_FEDERATED_IDENTITY_IDENTITY_PROVIDER_SIGNIN_STATUS = 79, - #[doc = " Website setting which is used for UnusedSitePermissionsService to\n store revoked permissions of unused sites from unused site permissions\n feature."] + #[doc = " Website setting which is used for RevokedPermissionsService to\n store revoked permissions of unused sites from unused site permissions\n feature."] CEF_CONTENT_SETTING_TYPE_REVOKED_UNUSED_SITE_PERMISSIONS = 80, #[doc = " Similar to STORAGE_ACCESS, but applicable at the page-level rather than\n being specific to a frame."] CEF_CONTENT_SETTING_TYPE_TOP_LEVEL_STORAGE_ACCESS = 81, @@ -544,26 +632,80 @@ pub enum cef_content_setting_types_t { CEF_CONTENT_SETTING_TYPE_TPCD_HEURISTICS_GRANTS = 89, #[doc = " Content Setting for 3PC accesses granted by metadata delivered via the\n component updater service. This type will only be used when\n `net::features::kTpcdMetadataGrants` is enabled."] CEF_CONTENT_SETTING_TYPE_TPCD_METADATA_GRANTS = 90, - #[doc = " Content Setting for 3PC accesses granted via 3PC deprecation trial."] - CEF_CONTENT_SETTING_TYPE_TPCD_TRIAL = 91, - #[doc = " Content Setting for 3PC accesses granted via top-level 3PC deprecation\n trial. Similar to TPCD_TRIAL, but applicable at the page-level for the\n lifetime of the page that served the token, rather than being specific to\n a requesting-origin/top-level-site combination and persistent."] - CEF_CONTENT_SETTING_TYPE_TOP_LEVEL_TPCD_TRIAL = 92, + CEF_CONTENT_SETTING_TYPE_TPCD_TRIAL_DEPRECATED = 91, + CEF_CONTENT_SETTING_TYPE_TOP_LEVEL_TPCD_TRIAL_DEPRECATED = 92, + CEF_CONTENT_SETTING_TYPE_TOP_LEVEL_TPCD_ORIGIN_TRIAL_DEPRECATED = 93, #[doc = " Content setting used to indicate whether entering picture-in-picture\n automatically should be enabled."] - CEF_CONTENT_SETTING_TYPE_AUTO_PICTURE_IN_PICTURE = 93, + CEF_CONTENT_SETTING_TYPE_AUTO_PICTURE_IN_PICTURE = 94, #[doc = " Whether user has opted into keeping file/directory permissions persistent\n between visits for a given origin. When enabled, permission metadata\n stored under |FILE_SYSTEM_ACCESS_CHOOSER_DATA| can auto-grant incoming\n permission request."] - CEF_CONTENT_SETTING_TYPE_FILE_SYSTEM_ACCESS_EXTENDED_PERMISSION = 94, + CEF_CONTENT_SETTING_TYPE_FILE_SYSTEM_ACCESS_EXTENDED_PERMISSION = 95, #[doc = " Whether the FSA Persistent Permissions restore prompt is eligible to be\n shown to the user, for a given origin."] - CEF_CONTENT_SETTING_TYPE_FILE_SYSTEM_ACCESS_RESTORE_PERMISSION = 95, + CEF_CONTENT_SETTING_TYPE_FILE_SYSTEM_ACCESS_RESTORE_PERMISSION = 96, #[doc = " Whether an application capturing another tab, may scroll and zoom\n the captured tab."] - CEF_CONTENT_SETTING_TYPE_CAPTURED_SURFACE_CONTROL = 96, + CEF_CONTENT_SETTING_TYPE_CAPTURED_SURFACE_CONTROL = 97, #[doc = " Content setting for access to smart card readers.\n The \"guard\" content setting stores whether to allow sites to access the\n Smart Card API."] - CEF_CONTENT_SETTING_TYPE_SMART_CARD_GUARD = 97, + CEF_CONTENT_SETTING_TYPE_SMART_CARD_GUARD = 98, #[doc = " Content setting for access to smart card readers.\n The \"guard\" content setting stores whether to allow sites to access the\n Smart Card API."] - CEF_CONTENT_SETTING_TYPE_SMART_CARD_DATA = 98, - #[doc = " Content settings for access to printers for the Web Printing API."] - CEF_CONTENT_SETTING_TYPE_WEB_PRINTING = 99, + CEF_CONTENT_SETTING_TYPE_SMART_CARD_DATA = 99, #[doc = " Content settings for access to printers for the Web Printing API."] - CEF_CONTENT_SETTING_TYPE_NUM_TYPES = 100, + CEF_CONTENT_SETTING_TYPE_WEB_PRINTING = 100, + #[doc = " Content setting used to indicate whether entering HTML Fullscreen\n automatically (i.e. without transient activation) should be enabled."] + CEF_CONTENT_SETTING_TYPE_AUTOMATIC_FULLSCREEN = 101, + #[doc = " Content settings used to indicate that a web app is allowed to prompt the\n user for the installation of sub apps."] + CEF_CONTENT_SETTING_TYPE_SUB_APP_INSTALLATION_PROMPTS = 102, + #[doc = " Whether an application can enumerate audio output device."] + CEF_CONTENT_SETTING_TYPE_SPEAKER_SELECTION = 103, + #[doc = " Content settings for access to the Direct Sockets API."] + CEF_CONTENT_SETTING_TYPE_DIRECT_SOCKETS = 104, + #[doc = " Keyboard Lock API allows a site to capture keyboard inputs that would\n otherwise be handled by the OS or the browser."] + CEF_CONTENT_SETTING_TYPE_KEYBOARD_LOCK = 105, + #[doc = " Pointer Lock API allows a site to hide the cursor and have exclusive\n access to mouse inputs."] + CEF_CONTENT_SETTING_TYPE_POINTER_LOCK = 106, + #[doc = " Website setting which is used for RevokedPermissionsService to store\n auto-revoked notification permissions from abusive sites."] + CEF_CONTENT_SETTING_TYPE_REVOKED_ABUSIVE_NOTIFICATION_PERMISSIONS = 107, + #[doc = " Content setting that controls tracking protection status per site.\n BLOCK: Protections enabled. This is the default state.\n ALLOW: Protections disabled."] + CEF_CONTENT_SETTING_TYPE_TRACKING_PROTECTION = 108, + #[doc = " With this permission, when the application calls `getDisplayMedia()`, a\n system audio track can be returned without showing the display media\n selection picker. The application can explicitly specify\n `systemAudio: 'exclude'` or `video: true` to still show the display media\n selection picker if needed. Please note that the setting only works for\n WebUI."] + CEF_CONTENT_SETTING_TYPE_DISPLAY_MEDIA_SYSTEM_AUDIO = 109, + #[doc = " Whether to use the higher-tier v8 optimizers for running JavaScript on the\n page."] + CEF_CONTENT_SETTING_TYPE_JAVASCRIPT_OPTIMIZER = 110, + #[doc = " Content Setting for the Storage Access Headers persistent origin trial\n that allows origins to opt into the storage access header behavior. Should\n be scoped to `REQUESTING_ORIGIN_AND_TOP_SCHEMEFUL_SITE_SCOPE` in order to\n correspond to the design of persistent origin trials. See also:\n https://github.com/cfredric/storage-access-headers\n ALLOW: storage access request headers will be attached to cross-site\n requests, and url requests will look for response headers from\n origins to retry a request or load with storage access.\n BLOCK (default): no effect."] + CEF_CONTENT_SETTING_TYPE_STORAGE_ACCESS_HEADER_ORIGIN_TRIAL = 111, + #[doc = " Whether or not sites can request Hand Tracking data within WebXR Sessions."] + CEF_CONTENT_SETTING_TYPE_HAND_TRACKING = 112, + #[doc = " Website setting to indicate whether user has opted in to allow web apps to\n install other web apps."] + CEF_CONTENT_SETTING_TYPE_WEB_APP_INSTALLATION = 113, + #[doc = " Content settings for private network access in the context of the\n Direct Sockets API."] + CEF_CONTENT_SETTING_TYPE_DIRECT_SOCKETS_PRIVATE_NETWORK_ACCESS = 114, + #[doc = " Content settings for legacy cookie scope.\n Checks whether cookies scope is handled according to origin-bound cookies\n or legacy behavior."] + CEF_CONTENT_SETTING_TYPE_LEGACY_COOKIE_SCOPE = 115, + #[doc = " Website setting to indicate whether the user has allowlisted suspicious\n notifications for the origin."] + CEF_CONTENT_SETTING_TYPE_ARE_SUSPICIOUS_NOTIFICATIONS_ALLOWLISTED_BY_USER = 116, + #[doc = " Content settings for access to the Controlled Frame API."] + CEF_CONTENT_SETTING_TYPE_CONTROLLED_FRAME = 117, + #[doc = " Website setting which is used for RevokedPermissionsService to\n store revoked notification permissions of disruptive sites."] + CEF_CONTENT_SETTING_TYPE_REVOKED_DISRUPTIVE_NOTIFICATION_PERMISSIONS = 118, + #[doc = " Content setting for whether the site is allowed to make local network\n requests."] + CEF_CONTENT_SETTING_TYPE_LOCAL_NETWORK_ACCESS = 119, + #[doc = " Stores information on-device language packs for which a site has\n installed using the Web Speech API."] + CEF_CONTENT_SETTING_TYPE_ON_DEVICE_SPEECH_RECOGNITION_LANGUAGES_DOWNLOADED = 120, + #[doc = " Stores which Translator API language packs the site has initialized."] + CEF_CONTENT_SETTING_TYPE_INITIALIZED_TRANSLATIONS = 121, + #[doc = " Stores a list of notification ids where content detection found the\n notification to be suspicious and a warning has already been shown for the\n site. Used for recovering notification contents from the database if the\n user decides they would like to see all of these notifications."] + CEF_CONTENT_SETTING_TYPE_SUSPICIOUS_NOTIFICATION_IDS = 122, + #[doc = " To support approximate geolocation, the permission is migrating to use\n permissions with options, which won't be stored as ContentSettings. Upon\n launch of the feature, GEOLOCATION and GEOLOCATION_WITH_OPTIONS should be\n merged."] + CEF_CONTENT_SETTING_TYPE_GEOLOCATION_WITH_OPTIONS = 123, + #[doc = " Setting for enabling the Device Attributes API. Spec link:\n https://wicg.github.io/WebApiDevice/device_attributes/"] + CEF_CONTENT_SETTING_TYPE_DEVICE_ATTRIBUTES = 124, + #[doc = " Stores per-origin state for permission heuristics. Currently used for\n auto-granting geolocation element permission request after repeated\n temporary grants."] + CEF_CONTENT_SETTING_TYPE_PERMISSION_ACTIONS_HISTORY = 125, + #[doc = " Website setting to indicate whether the user has selected \"show original\"\n when suspicious warning is shown. If the user has selected this, the\n notification permission will not be revoked based on suspicious verdict."] + CEF_CONTENT_SETTING_TYPE_SUSPICIOUS_NOTIFICATION_SHOW_ORIGINAL = 126, + #[doc = " Content setting for whether the site is allowed to make local network\n requests. Split from LOCAL_NETWORK_ACCESS."] + CEF_CONTENT_SETTING_TYPE_LOCAL_NETWORK = 127, + #[doc = " Content setting for whether the site is allowed to make loopback network\n requests. Split from LOCAL_NETWORK_ACCESS."] + CEF_CONTENT_SETTING_TYPE_LOOPBACK_NETWORK = 128, + CEF_CONTENT_SETTING_TYPE_NUM_VALUES = 129, } #[repr(i32)] #[doc = "\n Supported content setting values. Should be kept in sync with Chromium's\n ContentSetting type.\n"] @@ -574,7 +716,7 @@ pub enum cef_content_setting_values_t { CEF_CONTENT_SETTING_VALUE_BLOCK = 2, CEF_CONTENT_SETTING_VALUE_ASK = 3, CEF_CONTENT_SETTING_VALUE_SESSION_ONLY = 4, - CEF_CONTENT_SETTING_VALUE_DETECT_IMPORTANT_CONTENT = 5, + CEF_CONTENT_SETTING_VALUE_DETECT_IMPORTANT_CONTENT_DEPRECATED = 5, CEF_CONTENT_SETTING_VALUE_NUM_VALUES = 6, } #[doc = " 32-bit ARGB color value, not premultiplied. The color components are always\n in a known order. Equivalent to the SkColor type."] @@ -643,8 +785,6 @@ pub struct _cef_settings_t { pub framework_dir_path: cef_string_t, #[doc = "\n The path to the main bundle on macOS. If this value is empty then it\n defaults to the top-level app bundle. If this value is non-empty then it\n must be an absolute path. Also configurable using the \"main-bundle-path\"\n command-line switch.\n"] pub main_bundle_path: cef_string_t, - #[doc = "\n Set to true (1) to enable use of the Chrome runtime in CEF. This feature\n is considered experimental and is not recommended for most users at this\n time. See issue #2969 for details.\n"] - pub chrome_runtime: ::std::os::raw::c_int, #[doc = "\n Set to true (1) to have the browser process message loop run in a separate\n thread. If false (0) then the CefDoMessageLoopWork() function must be\n called from your application message loop. This option is only supported\n on Windows and Linux.\n"] pub multi_threaded_message_loop: ::std::os::raw::c_int, #[doc = "\n Set to true (1) to control browser process main (UI) thread message pump\n scheduling via the CefBrowserProcessHandler::OnScheduleMessagePumpWork()\n callback. This option is recommended for use in combination with the\n CefDoMessageLoopWork() function in cases where the CEF message loop must\n be integrated into an existing application message loop (see additional\n comments and warnings on CefDoMessageLoopWork). Enabling this option is\n not recommended for most users; leave this option disabled and use either\n the CefRunMessageLoop() function or multi_threaded_message_loop if\n possible.\n"] @@ -653,14 +793,12 @@ pub struct _cef_settings_t { pub windowless_rendering_enabled: ::std::os::raw::c_int, #[doc = "\n Set to true (1) to disable configuration of browser process features using\n standard CEF and Chromium command-line arguments. Configuration can still\n be specified using CEF data structures or via the\n CefApp::OnBeforeCommandLineProcessing() method.\n"] pub command_line_args_disabled: ::std::os::raw::c_int, - #[doc = "\n The directory where data for the global browser cache will be stored on\n disk. If this value is non-empty then it must be an absolute path that is\n either equal to or a child directory of CefSettings.root_cache_path. If\n this value is empty then browsers will be created in \"incognito mode\"\n where in-memory caches are used for storage and no profile-specific data\n is persisted to disk (installation-specific data will still be persisted\n in root_cache_path). HTML5 databases such as localStorage will only\n persist across sessions if a cache path is specified. Can be overridden\n for individual CefRequestContext instances via the\n CefRequestContextSettings.cache_path value. When using the Chrome runtime\n any child directory value will be ignored and the \"default\" profile (also\n a child directory) will be used instead.\n"] + #[doc = "\n The directory where data for the global browser cache will be stored on\n disk. If this value is non-empty then it must be an absolute path that is\n either equal to or a child directory of CefSettings.root_cache_path. If\n this value is empty then browsers will be created in \"incognito mode\"\n where in-memory caches are used for storage and no profile-specific data\n is persisted to disk (installation-specific data will still be persisted\n in root_cache_path). HTML5 databases such as localStorage will only\n persist across sessions if a cache path is specified. Can be overridden\n for individual CefRequestContext instances via the\n CefRequestContextSettings.cache_path value. Any child directory value will\n be ignored and the \"default\" profile (also a child directory) will be used\n instead.\n"] pub cache_path: cef_string_t, #[doc = "\n The root directory for installation-specific data and the parent directory\n for profile-specific data. All CefSettings.cache_path and\n CefRequestContextSettings.cache_path values must have this parent\n directory in common. If this value is empty and CefSettings.cache_path is\n non-empty then it will default to the CefSettings.cache_path value. Any\n non-empty value must be an absolute path. If both values are empty then\n the default platform-specific directory will be used\n (\"~/.config/cef_user_data\" directory on Linux, \"~/Library/Application\n Support/CEF/User Data\" directory on MacOS, \"AppData\\Local\\CEF\\User Data\"\n directory under the user profile directory on Windows). Use of the default\n directory is not recommended in production applications (see below).\n\n Multiple application instances writing to the same root_cache_path\n directory could result in data corruption. A process singleton lock based\n on the root_cache_path value is therefore used to protect against this.\n This singleton behavior applies to all CEF-based applications using\n version 120 or newer. You should customize root_cache_path for your\n application and implement CefBrowserProcessHandler::\n OnAlreadyRunningAppRelaunch, which will then be called on any app relaunch\n with the same root_cache_path value.\n\n Failure to set the root_cache_path value correctly may result in startup\n crashes or other unexpected behaviors (for example, the sandbox blocking\n read/write access to certain files).\n"] pub root_cache_path: cef_string_t, #[doc = "\n To persist session cookies (cookies without an expiry date or validity\n interval) by default when using the global cookie manager set this value\n to true (1). Session cookies are generally intended to be transient and\n most Web browsers do not persist them. A |cache_path| value must also be\n specified to enable this feature. Also configurable using the\n \"persist-session-cookies\" command-line switch. Can be overridden for\n individual CefRequestContext instances via the\n CefRequestContextSettings.persist_session_cookies value.\n"] pub persist_session_cookies: ::std::os::raw::c_int, - #[doc = "\n To persist user preferences as a JSON file in the cache path directory set\n this value to true (1). A |cache_path| value must also be specified\n to enable this feature. Also configurable using the\n \"persist-user-preferences\" command-line switch. Can be overridden for\n individual CefRequestContext instances via the\n CefRequestContextSettings.persist_user_preferences value.\n"] - pub persist_user_preferences: ::std::os::raw::c_int, #[doc = "\n Value that will be returned as the User-Agent HTTP header. If empty the\n default User-Agent string will be used. Also configurable using the\n \"user-agent\" command-line switch.\n"] pub user_agent: cef_string_t, #[doc = "\n Value that will be inserted as the product portion of the default\n User-Agent string. If empty the Chromium product version will be used. If\n |userAgent| is specified this value will be ignored. Also configurable\n using the \"user-agent-product\" command-line switch.\n"] @@ -679,8 +817,6 @@ pub struct _cef_settings_t { pub resources_dir_path: cef_string_t, #[doc = "\n The fully qualified path for the locales directory. If this value is empty\n the locales directory must be located in the module directory. If this\n value is non-empty then it must be an absolute path. This value is ignored\n on MacOS where pack files are always loaded from the app bundle Resources\n directory. Also configurable using the \"locales-dir-path\" command-line\n switch.\n"] pub locales_dir_path: cef_string_t, - #[doc = "\n Set to true (1) to disable loading of pack files for resources and\n locales. A resource bundle handler must be provided for the browser and\n render processes via CefApp::GetResourceBundleHandler() if loading of pack\n files is disabled. Also configurable using the \"disable-pack-loading\"\n command- line switch.\n"] - pub pack_loading_disabled: ::std::os::raw::c_int, #[doc = "\n Set to a value between 1024 and 65535 to enable remote debugging on the\n specified port. Also configurable using the \"remote-debugging-port\"\n command-line switch. Specifying 0 via the command-line switch will result\n in the selection of an ephemeral port and the port number will be printed\n as part of the WebSocket endpoint URL to stderr. If a cache directory path\n is provided the port will also be written to the\n /DevToolsActivePort file. Remote debugging can be accessed by\n loading the chrome://inspect page in Google Chrome. Port numbers 9222 and\n 9229 are discoverable by default. Other port numbers may need to be\n configured via \"Discover network targets\" on the Devices tab.\n"] pub remote_debugging_port: ::std::os::raw::c_int, #[doc = "\n The number of stack trace frames to capture for uncaught exceptions.\n Specify a positive value to enable the\n CefRenderProcessHandler::OnUncaughtException() callback. Specify 0\n (default value) and OnUncaughtException() will not be called. Also\n configurable using the \"uncaught-exception-stack-size\" command-line\n switch.\n"] @@ -692,10 +828,12 @@ pub struct _cef_settings_t { #[doc = "\n Comma delimited list of schemes supported by the associated\n CefCookieManager. If |cookieable_schemes_exclude_defaults| is false (0)\n the default schemes (\"http\", \"https\", \"ws\" and \"wss\") will also be\n supported. Not specifying a |cookieable_schemes_list| value and setting\n |cookieable_schemes_exclude_defaults| to true (1) will disable all loading\n and saving of cookies. These settings will only impact the global\n CefRequestContext. Individual CefRequestContext instances can be\n configured via the CefRequestContextSettings.cookieable_schemes_list and\n CefRequestContextSettings.cookieable_schemes_exclude_defaults values.\n"] pub cookieable_schemes_list: cef_string_t, pub cookieable_schemes_exclude_defaults: ::std::os::raw::c_int, - #[doc = "\n Specify an ID to enable Chrome policy management via Platform and OS-user\n policies. On Windows, this is a registry key like\n \"SOFTWARE\\\\Policies\\\\Google\\\\Chrome\". On MacOS, this is a bundle ID like\n \"com.google.Chrome\". On Linux, this is an absolute directory path like\n \"/etc/opt/chrome/policies\". Only supported with the Chrome runtime. See\n https://support.google.com/chrome/a/answer/9037717 for details.\n\n Chrome Browser Cloud Management integration, when enabled via the\n \"enable-chrome-browser-cloud-management\" command-line flag, will also use\n the specified ID. See https://support.google.com/chrome/a/answer/9116814\n for details.\n"] + #[doc = "\n Specify an ID to enable Chrome policy management via Platform and OS-user\n policies. On Windows, this is a registry key like\n \"SOFTWARE\\\\Policies\\\\Google\\\\Chrome\". On MacOS, this is a bundle ID like\n \"com.google.Chrome\". On Linux, this is an absolute directory path like\n \"/etc/opt/chrome/policies\". Only supported with Chrome style. See\n https://support.google.com/chrome/a/answer/9037717 for details.\n\n Chrome Browser Cloud Management integration, when enabled via the\n \"enable-chrome-browser-cloud-management\" command-line flag, will also use\n the specified ID. See https://support.google.com/chrome/a/answer/9116814\n for details.\n"] pub chrome_policy_id: cef_string_t, - #[doc = "\n Specify an ID for an ICON resource that can be loaded from the main\n executable and used when creating default Chrome windows such as DevTools\n and Task Manager. If unspecified the default Chromium ICON (IDR_MAINFRAME\n [101]) will be loaded from libcef.dll. Only supported with the Chrome\n runtime on Windows.\n"] + #[doc = "\n Specify an ID for an ICON resource that can be loaded from the main\n executable and used when creating default Chrome windows such as DevTools\n and Task Manager. If unspecified the default Chromium ICON (IDR_MAINFRAME\n [101]) will be loaded from libcef.dll. Only supported with Chrome style on\n Windows.\n"] pub chrome_app_icon_id: ::std::os::raw::c_int, + #[doc = "\n Specify whether signal handlers must be disabled on POSIX systems.\n"] + pub disable_signal_handlers: ::std::os::raw::c_int, } #[doc = "\n Request context initialization settings. Specify NULL or 0 to get the\n recommended default values.\n"] #[repr(C)] @@ -707,8 +845,6 @@ pub struct _cef_request_context_settings_t { pub cache_path: cef_string_t, #[doc = "\n To persist session cookies (cookies without an expiry date or validity\n interval) by default when using the global cookie manager set this value\n to true (1). Session cookies are generally intended to be transient and\n most Web browsers do not persist them. Can be set globally using the\n CefSettings.persist_session_cookies value. This value will be ignored if\n |cache_path| is empty or if it matches the CefSettings.cache_path value.\n"] pub persist_session_cookies: ::std::os::raw::c_int, - #[doc = "\n To persist user preferences as a JSON file in the cache path directory set\n this value to true (1). Can be set globally using the\n CefSettings.persist_user_preferences value. This value will be ignored if\n |cache_path| is empty or if it matches the CefSettings.cache_path value.\n"] - pub persist_user_preferences: ::std::os::raw::c_int, #[doc = "\n Comma delimited ordered list of language codes without any whitespace that\n will be used in the \"Accept-Language\" HTTP request header and\n \"navigator.language\" JS attribute. Can be set globally using the\n CefSettings.accept_language_list value. If all values are empty then\n \"en-US,en\" will be used. This value will be ignored if |cache_path|\n matches the CefSettings.cache_path value.\n"] pub accept_language_list: cef_string_t, #[doc = "\n Comma delimited list of schemes supported by the associated\n CefCookieManager. If |cookieable_schemes_exclude_defaults| is false (0)\n the default schemes (\"http\", \"https\", \"ws\" and \"wss\") will also be\n supported. Not specifying a |cookieable_schemes_list| value and setting\n |cookieable_schemes_exclude_defaults| to true (1) will disable all loading\n and saving of cookies. These values will be ignored if |cache_path|\n matches the CefSettings.cache_path value.\n"] @@ -721,7 +857,7 @@ pub struct _cef_request_context_settings_t { pub struct _cef_browser_settings_t { #[doc = "\n Size of this structure.\n"] pub size: usize, - #[doc = "\n The maximum rate in frames per second (fps) that CefRenderHandler::OnPaint\n will be called for a windowless browser. The actual fps may be lower if\n the browser cannot generate frames at the requested rate. The minimum\n value is 1 and the maximum value is 60 (default 30). This value can also\n be changed dynamically via CefBrowserHost::SetWindowlessFrameRate.\n"] + #[doc = "\n The maximum rate in frames per second (fps) that CefRenderHandler::OnPaint\n will be called for a windowless browser. The actual fps may be lower if\n the browser cannot generate frames at the requested rate. The minimum\n value is 1 and the default value is 30. This value can also be changed\n dynamically via CefBrowserHost::SetWindowlessFrameRate.\n"] pub windowless_frame_rate: ::std::os::raw::c_int, #[doc = "\n Font settings.\n"] pub standard_font_family: cef_string_t, @@ -756,15 +892,14 @@ pub struct _cef_browser_settings_t { pub tab_to_links: cef_state_t, #[doc = "\n Controls whether local storage can be used. Also configurable using the\n \"disable-local-storage\" command-line switch.\n"] pub local_storage: cef_state_t, - #[doc = "\n Controls whether databases can be used. Also configurable using the\n \"disable-databases\" command-line switch.\n"] - pub databases: cef_state_t, + pub databases_deprecated: cef_state_t, #[doc = "\n Controls whether WebGL can be used. Note that WebGL requires hardware\n support and may not work on all systems even when enabled. Also\n configurable using the \"disable-webgl\" command-line switch.\n"] pub webgl: cef_state_t, #[doc = "\n Background color used for the browser before a document is loaded and when\n no document color is specified. The alpha component must be either fully\n opaque (0xFF) or fully transparent (0x00). If the alpha component is fully\n opaque then the RGB components will be used as the background color. If\n the alpha component is fully transparent for a windowed browser then the\n CefSettings.background_color value will be used. If the alpha component is\n fully transparent for a windowless (off-screen) browser then transparent\n painting will be enabled.\n"] pub background_color: cef_color_t, - #[doc = "\n Controls whether the Chrome status bubble will be used. Only supported\n with the Chrome runtime. For details about the status bubble see\n https://www.chromium.org/user-experience/status-bubble/\n"] + #[doc = "\n Controls whether the Chrome status bubble will be used. Only supported\n with Chrome style. For details about the status bubble see\n https://www.chromium.org/user-experience/status-bubble/\n"] pub chrome_status_bubble: cef_state_t, - #[doc = "\n Controls whether the Chrome zoom bubble will be shown when zooming. Only\n supported with the Chrome runtime.\n"] + #[doc = "\n Controls whether the Chrome zoom bubble will be shown when zooming. Only\n supported with Chrome style.\n"] pub chrome_zoom_bubble: cef_state_t, } #[repr(i32)] @@ -794,11 +929,14 @@ pub enum cef_cookie_same_site_t { CEF_COOKIE_SAME_SITE_NO_RESTRICTION = 1, CEF_COOKIE_SAME_SITE_LAX_MODE = 2, CEF_COOKIE_SAME_SITE_STRICT_MODE = 3, + CEF_COOKIE_SAME_SITE_NUM_VALUES = 4, } #[doc = "\n Cookie information.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_cookie_t { + #[doc = "\n Size of this structure.\n"] + pub size: usize, #[doc = "\n The cookie name.\n"] pub name: cef_string_t, #[doc = "\n The cookie value.\n"] @@ -835,6 +973,12 @@ pub enum cef_termination_status_t { TS_PROCESS_CRASHED = 2, #[doc = "\n Out of memory. Some platforms may use TS_PROCESS_CRASHED instead.\n"] TS_PROCESS_OOM = 3, + #[doc = "\n Child process never launched.\n"] + TS_LAUNCH_FAILED = 4, + #[doc = "\n On Windows, the OS terminated the process due to code integrity failure.\n"] + TS_INTEGRITY_FAILURE = 5, + #[doc = "\n On Windows, the OS terminated the process due to code integrity failure.\n"] + TS_NUM_VALUES = 6, } #[repr(i32)] #[doc = "\n Supported error code values. For the complete list of error values see\n \"include/base/internal/cef_net_error_list.h\".\n"] @@ -842,242 +986,494 @@ pub enum cef_termination_status_t { pub enum cef_errorcode_t { #[doc = " No error."] ERR_NONE = 0, + #[doc = " An asynchronous IO operation is not yet complete. This usually does not\n indicate a fatal error. Typically this error will be generated as a\n notification to wait for some external notification that the IO operation\n finally completed."] ERR_IO_PENDING = -1, + #[doc = " A generic failure occurred."] ERR_FAILED = -2, + #[doc = " An operation was aborted (due to user action)."] ERR_ABORTED = -3, + #[doc = " An argument to the function is incorrect."] ERR_INVALID_ARGUMENT = -4, + #[doc = " The handle or file descriptor is invalid."] ERR_INVALID_HANDLE = -5, + #[doc = " The file or directory cannot be found."] ERR_FILE_NOT_FOUND = -6, + #[doc = " An operation timed out."] ERR_TIMED_OUT = -7, + #[doc = " The file is too large."] ERR_FILE_TOO_BIG = -8, + #[doc = " An unexpected error. This may be caused by a programming mistake or an\n invalid assumption."] ERR_UNEXPECTED = -9, + #[doc = " Permission to access a resource, other than the network, was denied."] ERR_ACCESS_DENIED = -10, + #[doc = " The operation failed because of unimplemented functionality."] ERR_NOT_IMPLEMENTED = -11, + #[doc = " There were not enough resources to complete the operation."] ERR_INSUFFICIENT_RESOURCES = -12, + #[doc = " Memory allocation failed."] ERR_OUT_OF_MEMORY = -13, + #[doc = " The file upload failed because the file's modification time was different\n from the expectation."] ERR_UPLOAD_FILE_CHANGED = -14, + #[doc = " The socket is not connected."] ERR_SOCKET_NOT_CONNECTED = -15, + #[doc = " The file already exists."] ERR_FILE_EXISTS = -16, + #[doc = " The path or file name is too long."] ERR_FILE_PATH_TOO_LONG = -17, + #[doc = " Not enough room left on the disk."] ERR_FILE_NO_SPACE = -18, + #[doc = " The file has a virus."] ERR_FILE_VIRUS_INFECTED = -19, + #[doc = " The client chose to block the request."] ERR_BLOCKED_BY_CLIENT = -20, + #[doc = " The network changed."] ERR_NETWORK_CHANGED = -21, + #[doc = " The request was blocked by the URL block list configured by the domain\n administrator."] ERR_BLOCKED_BY_ADMINISTRATOR = -22, + #[doc = " The socket is already connected."] ERR_SOCKET_IS_CONNECTED = -23, + #[doc = " The upload failed because the upload stream needed to be re-read, due to a\n retry or a redirect, but the upload stream doesn't support that operation."] ERR_UPLOAD_STREAM_REWIND_NOT_SUPPORTED = -25, + #[doc = " The request failed because the URLRequestContext is shutting down, or has\n been shut down."] ERR_CONTEXT_SHUT_DOWN = -26, + #[doc = " The request failed because the response was delivered along with requirements\n which are not met ('X-Frame-Options' and 'Content-Security-Policy' ancestor\n checks and 'Cross-Origin-Resource-Policy' for instance)."] ERR_BLOCKED_BY_RESPONSE = -27, + #[doc = " The request was blocked by system policy disallowing some or all cleartext\n requests. Used for NetworkSecurityPolicy on Android."] ERR_CLEARTEXT_NOT_PERMITTED = -29, + #[doc = " The request was blocked by a Content Security Policy"] ERR_BLOCKED_BY_CSP = -30, - ERR_H2_OR_QUIC_REQUIRED = -31, + #[doc = " The request was blocked by CORB or ORB."] ERR_BLOCKED_BY_ORB = -32, + #[doc = " The request was blocked because it originated from a frame that has disabled\n network access."] + ERR_NETWORK_ACCESS_REVOKED = -33, + #[doc = " The request was blocked by fingerprinting protections."] + ERR_BLOCKED_BY_FINGERPRINTING_PROTECTION = -34, + #[doc = " The request was blocked by the Incognito Mode URL block list configured by\n the domain administrator."] + ERR_BLOCKED_IN_INCOGNITO_BY_ADMINISTRATOR = -35, + #[doc = " A connection was closed (corresponding to a TCP FIN)."] ERR_CONNECTION_CLOSED = -100, + #[doc = " A connection was reset (corresponding to a TCP RST)."] ERR_CONNECTION_RESET = -101, + #[doc = " A connection attempt was refused."] ERR_CONNECTION_REFUSED = -102, + #[doc = " A connection timed out as a result of not receiving an ACK for data sent.\n This can include a FIN packet that did not get ACK'd."] ERR_CONNECTION_ABORTED = -103, + #[doc = " A connection attempt failed."] ERR_CONNECTION_FAILED = -104, + #[doc = " The host name could not be resolved."] ERR_NAME_NOT_RESOLVED = -105, + #[doc = " The Internet connection has been lost."] ERR_INTERNET_DISCONNECTED = -106, + #[doc = " An SSL protocol error occurred."] ERR_SSL_PROTOCOL_ERROR = -107, + #[doc = " The IP address or port number is invalid (e.g., cannot connect to the IP\n address 0 or the port 0)."] ERR_ADDRESS_INVALID = -108, + #[doc = " The IP address is unreachable. This usually means that there is no route to\n the specified host or network."] ERR_ADDRESS_UNREACHABLE = -109, + #[doc = " The server requested a client certificate for SSL client authentication."] ERR_SSL_CLIENT_AUTH_CERT_NEEDED = -110, + #[doc = " A tunnel connection through the proxy could not be established. For more info\n see the comment on PROXY_UNABLE_TO_CONNECT_TO_DESTINATION."] ERR_TUNNEL_CONNECTION_FAILED = -111, - ERR_NO_SSL_VERSIONS_ENABLED = -112, + #[doc = " The client and server don't support a common SSL protocol version or\n cipher suite."] ERR_SSL_VERSION_OR_CIPHER_MISMATCH = -113, + #[doc = " The server requested a renegotiation (rehandshake)."] ERR_SSL_RENEGOTIATION_REQUESTED = -114, + #[doc = " The proxy requested authentication (for tunnel establishment) with an\n unsupported method."] ERR_PROXY_AUTH_UNSUPPORTED = -115, + #[doc = " The SSL handshake failed because of a bad or missing client certificate."] ERR_BAD_SSL_CLIENT_AUTH_CERT = -117, + #[doc = " A connection attempt timed out."] ERR_CONNECTION_TIMED_OUT = -118, + #[doc = " There are too many pending DNS resolves, so a request in the queue was\n aborted."] ERR_HOST_RESOLVER_QUEUE_TOO_LARGE = -119, + #[doc = " Failed establishing a connection to the SOCKS proxy server for a target host."] ERR_SOCKS_CONNECTION_FAILED = -120, + #[doc = " The SOCKS proxy server failed establishing connection to the target host\n because that host is unreachable."] ERR_SOCKS_CONNECTION_HOST_UNREACHABLE = -121, + #[doc = " The request to negotiate an alternate protocol failed."] ERR_ALPN_NEGOTIATION_FAILED = -122, + #[doc = " The peer sent an SSL no_renegotiation alert message."] ERR_SSL_NO_RENEGOTIATION = -123, + #[doc = " Winsock sometimes reports more data written than passed. This is probably\n due to a broken LSP."] ERR_WINSOCK_UNEXPECTED_WRITTEN_BYTES = -124, + #[doc = " An SSL peer sent us a fatal decompression_failure alert. This typically\n occurs when a peer selects DEFLATE compression in the mistaken belief that\n it supports it."] ERR_SSL_DECOMPRESSION_FAILURE_ALERT = -125, + #[doc = " An SSL peer sent us a fatal bad_record_mac alert. This has been observed\n from servers with buggy DEFLATE support."] ERR_SSL_BAD_RECORD_MAC_ALERT = -126, + #[doc = " The proxy requested authentication (for tunnel establishment)."] ERR_PROXY_AUTH_REQUESTED = -127, + #[doc = " Could not create a connection to the proxy server. An error occurred\n either in resolving its name, or in connecting a socket to it.\n Note that this does NOT include failures during the actual \"CONNECT\" method\n of an HTTP proxy."] ERR_PROXY_CONNECTION_FAILED = -130, + #[doc = " A mandatory proxy configuration could not be used. Currently this means\n that a mandatory PAC script could not be fetched, parsed or executed."] ERR_MANDATORY_PROXY_CONFIGURATION_FAILED = -131, + #[doc = " We've hit the max socket limit for the socket pool while preconnecting. We\n don't bother trying to preconnect more sockets."] ERR_PRECONNECT_MAX_SOCKET_LIMIT = -133, + #[doc = " The permission to use the SSL client certificate's private key was denied."] ERR_SSL_CLIENT_AUTH_PRIVATE_KEY_ACCESS_DENIED = -134, + #[doc = " The SSL client certificate has no private key."] ERR_SSL_CLIENT_AUTH_CERT_NO_PRIVATE_KEY = -135, + #[doc = " The certificate presented by the HTTPS Proxy was invalid."] ERR_PROXY_CERTIFICATE_INVALID = -136, + #[doc = " An error occurred when trying to do a name resolution (DNS)."] ERR_NAME_RESOLUTION_FAILED = -137, + #[doc = " Permission to access the network was denied. This is used to distinguish\n errors that were most likely caused by a firewall from other access denied\n errors. See also ERR_ACCESS_DENIED."] ERR_NETWORK_ACCESS_DENIED = -138, + #[doc = " The request throttler module cancelled this request to avoid DDOS."] ERR_TEMPORARILY_THROTTLED = -139, - ERR_HTTPS_PROXY_TUNNEL_RESPONSE_REDIRECT = -140, + #[doc = " We were unable to sign the CertificateVerify data of an SSL client auth\n handshake with the client certificate's private key.\n\n Possible causes for this include the user implicitly or explicitly\n denying access to the private key, the private key may not be valid for\n signing, the key may be relying on a cached handle which is no longer\n valid, or the CSP won't allow arbitrary data to be signed."] ERR_SSL_CLIENT_AUTH_SIGNATURE_FAILED = -141, + #[doc = " The message was too large for the transport. (for example a UDP message\n which exceeds size threshold)."] ERR_MSG_TOO_BIG = -142, + #[doc = " Websocket protocol error. Indicates that we are terminating the connection\n due to a malformed frame or other protocol violation."] ERR_WS_PROTOCOL_ERROR = -145, + #[doc = " Returned when attempting to bind an address that is already in use."] ERR_ADDRESS_IN_USE = -147, - ERR_SSL_HANDSHAKE_NOT_COMPLETED = -148, - ERR_SSL_BAD_PEER_PUBLIC_KEY = -149, + #[doc = " The certificate didn't match the built-in public key pins for the host name.\n The pins are set in net/http/transport_security_state.cc and require that\n one of a set of public keys exist on the path from the leaf to the root."] ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN = -150, + #[doc = " Server request for client certificate did not contain any types we support."] ERR_CLIENT_AUTH_CERT_TYPE_UNSUPPORTED = -151, + #[doc = " An SSL peer sent us a fatal decrypt_error alert. This typically occurs when\n a peer could not correctly verify a signature (in CertificateVerify or\n ServerKeyExchange) or validate a Finished message."] ERR_SSL_DECRYPT_ERROR_ALERT = -153, + #[doc = " There are too many pending WebSocketJob instances, so the new job was not\n pushed to the queue."] ERR_WS_THROTTLE_QUEUE_TOO_LARGE = -154, + #[doc = " The SSL server certificate changed in a renegotiation."] ERR_SSL_SERVER_CERT_CHANGED = -156, + #[doc = " The SSL server sent us a fatal unrecognized_name alert."] ERR_SSL_UNRECOGNIZED_NAME_ALERT = -159, + #[doc = " Failed to set the socket's receive buffer size as requested."] ERR_SOCKET_SET_RECEIVE_BUFFER_SIZE_ERROR = -160, + #[doc = " Failed to set the socket's send buffer size as requested."] ERR_SOCKET_SET_SEND_BUFFER_SIZE_ERROR = -161, + #[doc = " Failed to set the socket's receive buffer size as requested, despite success\n return code from setsockopt."] ERR_SOCKET_RECEIVE_BUFFER_SIZE_UNCHANGEABLE = -162, + #[doc = " Failed to set the socket's send buffer size as requested, despite success\n return code from setsockopt."] ERR_SOCKET_SEND_BUFFER_SIZE_UNCHANGEABLE = -163, + #[doc = " Failed to import a client certificate from the platform store into the SSL\n library."] ERR_SSL_CLIENT_AUTH_CERT_BAD_FORMAT = -164, + #[doc = " Resolving a hostname to an IP address list included the IPv4 address\n \"127.0.53.53\". This is a special IP address which ICANN has recommended to\n indicate there was a name collision, and alert admins to a potential\n problem."] ERR_ICANN_NAME_COLLISION = -166, + #[doc = " The SSL server presented a certificate which could not be decoded. This is\n not a certificate error code as no X509Certificate object is available. This\n error is fatal."] ERR_SSL_SERVER_CERT_BAD_FORMAT = -167, + #[doc = " Certificate Transparency: Received a signed tree head that failed to parse."] ERR_CT_STH_PARSING_FAILED = -168, + #[doc = " Certificate Transparency: Received a signed tree head whose JSON parsing was\n OK but was missing some of the fields."] ERR_CT_STH_INCOMPLETE = -169, + #[doc = " The attempt to reuse a connection to send proxy auth credentials failed\n before the AuthController was used to generate credentials. The caller should\n reuse the controller with a new connection. This error is only used\n internally by the network stack."] ERR_UNABLE_TO_REUSE_CONNECTION_FOR_PROXY_AUTH = -170, + #[doc = " Certificate Transparency: Failed to parse the received consistency proof."] ERR_CT_CONSISTENCY_PROOF_PARSING_FAILED = -171, + #[doc = " The SSL server required an unsupported cipher suite that has since been\n removed. This error will temporarily be signaled on a fallback for one or two\n releases immediately following a cipher suite's removal, after which the\n fallback will be removed."] ERR_SSL_OBSOLETE_CIPHER = -172, + #[doc = " When a WebSocket handshake is done successfully and the connection has been\n upgraded, the URLRequest is cancelled with this error code."] ERR_WS_UPGRADE = -173, + #[doc = " Socket ReadIfReady support is not implemented. This error should not be user\n visible, because the normal Read() method is used as a fallback."] ERR_READ_IF_READY_NOT_IMPLEMENTED = -174, + #[doc = " No socket buffer space is available."] ERR_NO_BUFFER_SPACE = -176, + #[doc = " There were no common signature algorithms between our client certificate\n private key and the server's preferences."] ERR_SSL_CLIENT_AUTH_NO_COMMON_ALGORITHMS = -177, + #[doc = " TLS 1.3 early data was rejected by the server. This will be received before\n any data is returned from the socket. The request should be retried with\n early data disabled."] ERR_EARLY_DATA_REJECTED = -178, + #[doc = " TLS 1.3 early data was offered, but the server responded with TLS 1.2 or\n earlier. This is an internal error code to account for a\n backwards-compatibility issue with early data and TLS 1.2. It will be\n received before any data is returned from the socket. The request should be\n retried with early data disabled.\n\n See https://tools.ietf.org/html/rfc8446#appendix-D.3 for details."] ERR_WRONG_VERSION_ON_EARLY_DATA = -179, + #[doc = " TLS 1.3 was enabled, but a lower version was negotiated and the server\n returned a value indicating it supported TLS 1.3. This is part of a security\n check in TLS 1.3, but it may also indicate the user is behind a buggy\n TLS-terminating proxy which implemented TLS 1.2 incorrectly. (See\n https://crbug.com/boringssl/226.)"] ERR_TLS13_DOWNGRADE_DETECTED = -180, + #[doc = " The server's certificate has a keyUsage extension incompatible with the\n negotiated TLS key exchange method."] ERR_SSL_KEY_USAGE_INCOMPATIBLE = -181, + #[doc = " The ECHConfigList fetched over DNS cannot be parsed."] ERR_INVALID_ECH_CONFIG_LIST = -182, + #[doc = " ECH was enabled, but the server was unable to decrypt the encrypted\n ClientHello."] ERR_ECH_NOT_NEGOTIATED = -183, + #[doc = " ECH was enabled, the server was unable to decrypt the encrypted ClientHello,\n and additionally did not present a certificate valid for the public name."] ERR_ECH_FALLBACK_CERTIFICATE_INVALID = -184, + #[doc = " An attempt to proxy a request failed because the proxy wasn't able to\n successfully connect to the destination. This likely indicates an issue with\n the request itself (for instance, the hostname failed to resolve to an IP\n address or the destination server refused the connection). This error code\n is used to indicate that the error is outside the control of the proxy server\n and thus the proxy chain should not be marked as bad. This is in contrast to\n ERR_TUNNEL_CONNECTION_FAILED which is used for general purpose errors\n connecting to the proxy and by the proxy request response handling when a\n proxy delegate doesn't indicate via a different error code whether proxy\n fallback should occur. Note that for IP Protection proxies this error code\n causes the proxy to be marked as bad since the preference is to fail open for\n general purpose errors, but for other proxies this error does not cause the\n proxy to be marked as bad."] + ERR_PROXY_UNABLE_TO_CONNECT_TO_DESTINATION = -186, + #[doc = " Some implementations of ProxyDelegate query a separate entity to know whether\n it should cancel tunnel prior to:\n - The HTTP CONNECT requests being sent out\n - The HTTP CONNECT response being parsed by //net\n An example is CronetProxyDelegate: Cronet allows developers to decide whether\n the tunnel being established should be canceled."] + ERR_PROXY_DELEGATE_CANCELED_CONNECT_REQUEST = -187, + #[doc = " Some implementations of ProxyDelegate query a separate entity to know whether\n it should cancel tunnel prior to:\n - The HTTP CONNECT requests being sent out\n - The HTTP CONNECT response being parsed by //net\n An example is CronetProxyDelegate: Cronet allows developers to decide whether\n the tunnel being established should be canceled."] + ERR_PROXY_DELEGATE_CANCELED_CONNECT_RESPONSE = -188, + #[doc = " The server responded with a certificate whose common name did not match\n the host name. This could mean:\n\n 1. An attacker has redirected our traffic to their server and is\n presenting a certificate for which they know the private key.\n\n 2. The server is misconfigured and responding with the wrong cert.\n\n 3. The user is on a wireless network and is being redirected to the\n network's login page.\n\n 4. The OS has used a DNS search suffix and the server doesn't have\n a certificate for the abbreviated name in the address bar.\n"] ERR_CERT_COMMON_NAME_INVALID = -200, + #[doc = " The server responded with a certificate that, by our clock, appears to\n either not yet be valid or to have expired. This could mean:\n\n 1. An attacker is presenting an old certificate for which they have\n managed to obtain the private key.\n\n 2. The server is misconfigured and is not presenting a valid cert.\n\n 3. Our clock is wrong.\n"] ERR_CERT_DATE_INVALID = -201, + #[doc = " The server responded with a certificate that is signed by an authority\n we don't trust. The could mean:\n\n 1. An attacker has substituted the real certificate for a cert that\n contains their public key and is signed by their cousin.\n\n 2. The server operator has a legitimate certificate from a CA we don't\n know about, but should trust.\n\n 3. The server is presenting a self-signed certificate, providing no\n defense against active attackers (but foiling passive attackers).\n"] ERR_CERT_AUTHORITY_INVALID = -202, + #[doc = " The server responded with a certificate that contains errors.\n This error is not recoverable.\n\n MSDN describes this error as follows:\n \"The SSL certificate contains errors.\"\n NOTE: It's unclear how this differs from ERR_CERT_INVALID. For consistency,\n use that code instead of this one from now on.\n"] ERR_CERT_CONTAINS_ERRORS = -203, + #[doc = " The certificate has no mechanism for determining if it is revoked. In\n effect, this certificate cannot be revoked."] ERR_CERT_NO_REVOCATION_MECHANISM = -204, + #[doc = " Revocation information for the security certificate for this site is not\n available. This could mean:\n\n 1. An attacker has compromised the private key in the certificate and is\n blocking our attempt to find out that the cert was revoked.\n\n 2. The certificate is unrevoked, but the revocation server is busy or\n unavailable.\n"] ERR_CERT_UNABLE_TO_CHECK_REVOCATION = -205, + #[doc = " The server responded with a certificate has been revoked.\n We have the capability to ignore this error, but it is probably not the\n thing to do."] ERR_CERT_REVOKED = -206, + #[doc = " The server responded with a certificate that is invalid.\n This error is not recoverable.\n\n MSDN describes this error as follows:\n \"The SSL certificate is invalid.\"\n"] ERR_CERT_INVALID = -207, + #[doc = " The server responded with a certificate that is signed using a weak\n signature algorithm."] ERR_CERT_WEAK_SIGNATURE_ALGORITHM = -208, + #[doc = " The host name specified in the certificate is not unique."] ERR_CERT_NON_UNIQUE_NAME = -210, + #[doc = " The server responded with a certificate that contains a weak key (e.g.\n a too-small RSA key)."] ERR_CERT_WEAK_KEY = -211, + #[doc = " The certificate claimed DNS names that are in violation of name constraints."] ERR_CERT_NAME_CONSTRAINT_VIOLATION = -212, + #[doc = " The certificate's validity period is too long."] ERR_CERT_VALIDITY_TOO_LONG = -213, + #[doc = " Certificate Transparency was required for this connection, but the server\n did not provide CT information that complied with the policy."] ERR_CERTIFICATE_TRANSPARENCY_REQUIRED = -214, - ERR_CERT_SYMANTEC_LEGACY = -215, + #[doc = " The certificate is known to be used for interception by an entity other\n the device owner."] ERR_CERT_KNOWN_INTERCEPTION_BLOCKED = -217, - ERR_CERT_END = -219, + #[doc = " The certificate is self signed and it's being used for either an RFC1918 IP\n literal URL, or a url ending in .local."] + ERR_CERT_SELF_SIGNED_LOCAL_NETWORK = -219, + #[doc = " The value immediately past the last certificate error code."] + ERR_CERT_END = -220, + #[doc = " The URL is invalid."] ERR_INVALID_URL = -300, + #[doc = " The scheme of the URL is disallowed."] ERR_DISALLOWED_URL_SCHEME = -301, + #[doc = " The scheme of the URL is unknown."] ERR_UNKNOWN_URL_SCHEME = -302, + #[doc = " Attempting to load an URL resulted in a redirect to an invalid URL."] ERR_INVALID_REDIRECT = -303, + #[doc = " Attempting to load an URL resulted in too many redirects."] ERR_TOO_MANY_REDIRECTS = -310, + #[doc = " Attempting to load an URL resulted in an unsafe redirect (e.g., a redirect\n to file:// is considered unsafe)."] ERR_UNSAFE_REDIRECT = -311, + #[doc = " Attempting to load an URL with an unsafe port number. These are port\n numbers that correspond to services, which are not robust to spurious input\n that may be constructed as a result of an allowed web construct (e.g., HTTP\n looks a lot like SMTP, so form submission to port 25 is denied)."] ERR_UNSAFE_PORT = -312, + #[doc = " The server's response was invalid."] ERR_INVALID_RESPONSE = -320, + #[doc = " Error in chunked transfer encoding."] ERR_INVALID_CHUNKED_ENCODING = -321, + #[doc = " The server did not support the request method."] ERR_METHOD_NOT_SUPPORTED = -322, + #[doc = " The response was 407 (Proxy Authentication Required), yet we did not send\n the request to a proxy."] ERR_UNEXPECTED_PROXY_AUTH = -323, + #[doc = " The server closed the connection without sending any data."] ERR_EMPTY_RESPONSE = -324, + #[doc = " The headers section of the response is too large."] ERR_RESPONSE_HEADERS_TOO_BIG = -325, + #[doc = " The evaluation of the PAC script failed."] ERR_PAC_SCRIPT_FAILED = -327, + #[doc = " The response was 416 (Requested range not satisfiable) and the server cannot\n satisfy the range requested."] ERR_REQUEST_RANGE_NOT_SATISFIABLE = -328, + #[doc = " The identity used for authentication is invalid."] ERR_MALFORMED_IDENTITY = -329, + #[doc = " Content decoding of the response body failed."] ERR_CONTENT_DECODING_FAILED = -330, + #[doc = " An operation could not be completed because all network IO\n is suspended."] ERR_NETWORK_IO_SUSPENDED = -331, - ERR_SYN_REPLY_NOT_RECEIVED = -332, - ERR_ENCODING_CONVERSION_FAILED = -333, - ERR_UNRECOGNIZED_FTP_DIRECTORY_LISTING_FORMAT = -334, + #[doc = " There are no supported proxies in the provided list."] ERR_NO_SUPPORTED_PROXIES = -336, + #[doc = " There is an HTTP/2 protocol error."] ERR_HTTP2_PROTOCOL_ERROR = -337, + #[doc = " Credentials could not be established during HTTP Authentication."] ERR_INVALID_AUTH_CREDENTIALS = -338, + #[doc = " An HTTP Authentication scheme was tried which is not supported on this\n machine."] ERR_UNSUPPORTED_AUTH_SCHEME = -339, + #[doc = " Detecting the encoding of the response failed."] ERR_ENCODING_DETECTION_FAILED = -340, + #[doc = " (GSSAPI) No Kerberos credentials were available during HTTP Authentication."] ERR_MISSING_AUTH_CREDENTIALS = -341, + #[doc = " An unexpected, but documented, SSPI or GSSAPI status code was returned."] ERR_UNEXPECTED_SECURITY_LIBRARY_STATUS = -342, + #[doc = " The environment was not set up correctly for authentication (for\n example, no KDC could be found or the principal is unknown."] ERR_MISCONFIGURED_AUTH_ENVIRONMENT = -343, + #[doc = " An undocumented SSPI or GSSAPI status code was returned."] ERR_UNDOCUMENTED_SECURITY_LIBRARY_STATUS = -344, + #[doc = " The HTTP response was too big to drain."] ERR_RESPONSE_BODY_TOO_BIG_TO_DRAIN = -345, + #[doc = " The HTTP response contained multiple distinct Content-Length headers."] ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_LENGTH = -346, + #[doc = " HTTP/2 headers have been received, but not all of them - status or version\n headers are missing, so we're expecting additional frames to complete them."] ERR_INCOMPLETE_HTTP2_HEADERS = -347, + #[doc = " No PAC URL configuration could be retrieved from DHCP. This can indicate\n either a failure to retrieve the DHCP configuration, or that there was no\n PAC URL configured in DHCP."] ERR_PAC_NOT_IN_DHCP = -348, + #[doc = " The HTTP response contained multiple Content-Disposition headers."] ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION = -349, + #[doc = " The HTTP response contained multiple Location headers."] ERR_RESPONSE_HEADERS_MULTIPLE_LOCATION = -350, + #[doc = " HTTP/2 server refused the request without processing, and sent either a\n GOAWAY frame with error code NO_ERROR and Last-Stream-ID lower than the\n stream id corresponding to the request indicating that this request has not\n been processed yet, or a RST_STREAM frame with error code REFUSED_STREAM.\n Client MAY retry (on a different connection). See RFC7540 Section 8.1.4."] ERR_HTTP2_SERVER_REFUSED_STREAM = -351, + #[doc = " HTTP/2 server didn't respond to the PING message."] ERR_HTTP2_PING_FAILED = -352, + #[doc = " The HTTP response body transferred fewer bytes than were advertised by the\n Content-Length header when the connection is closed."] ERR_CONTENT_LENGTH_MISMATCH = -354, + #[doc = " The HTTP response body is transferred with Chunked-Encoding, but the\n terminating zero-length chunk was never sent when the connection is closed."] ERR_INCOMPLETE_CHUNKED_ENCODING = -355, + #[doc = " There is a QUIC protocol error."] ERR_QUIC_PROTOCOL_ERROR = -356, + #[doc = " The HTTP headers were truncated by an EOF."] ERR_RESPONSE_HEADERS_TRUNCATED = -357, + #[doc = " The QUIC crypto handshake failed. This means that the server was unable\n to read any requests sent, so they may be resent."] ERR_QUIC_HANDSHAKE_FAILED = -358, + #[doc = " Transport security is inadequate for the HTTP/2 version."] ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY = -360, + #[doc = " The peer violated HTTP/2 flow control."] ERR_HTTP2_FLOW_CONTROL_ERROR = -361, + #[doc = " The peer sent an improperly sized HTTP/2 frame."] ERR_HTTP2_FRAME_SIZE_ERROR = -362, + #[doc = " Decoding or encoding of compressed HTTP/2 headers failed."] ERR_HTTP2_COMPRESSION_ERROR = -363, + #[doc = " Proxy Auth Requested without a valid Client Socket Handle."] ERR_PROXY_AUTH_REQUESTED_WITH_NO_CONNECTION = -364, + #[doc = " HTTP_1_1_REQUIRED error code received on HTTP/2 session."] ERR_HTTP_1_1_REQUIRED = -365, + #[doc = " HTTP_1_1_REQUIRED error code received on HTTP/2 session to proxy."] ERR_PROXY_HTTP_1_1_REQUIRED = -366, + #[doc = " The PAC script terminated fatally and must be reloaded."] ERR_PAC_SCRIPT_TERMINATED = -367, + #[doc = " Signals that the request requires the IPP proxy."] + ERR_PROXY_REQUIRED = -368, + #[doc = " The server was expected to return an HTTP/1.x response, but did not. Rather\n than treat it as HTTP/0.9, this error is returned."] ERR_INVALID_HTTP_RESPONSE = -370, + #[doc = " Initializing content decoding failed."] ERR_CONTENT_DECODING_INIT_FAILED = -371, + #[doc = " Received HTTP/2 RST_STREAM frame with NO_ERROR error code. This error should\n be handled internally by HTTP/2 code, and should not make it above the\n SpdyStream layer."] ERR_HTTP2_RST_STREAM_NO_ERROR_RECEIVED = -372, + #[doc = " An HTTP transaction was retried too many times due for authentication or\n invalid certificates. This may be due to a bug in the net stack that would\n otherwise infinite loop, or if the server or proxy continually requests fresh\n credentials or presents a fresh invalid certificate."] ERR_TOO_MANY_RETRIES = -375, + #[doc = " Received an HTTP/2 frame on a closed stream."] ERR_HTTP2_STREAM_CLOSED = -376, + #[doc = " The server returned a non-2xx HTTP response code.\n\n Note that this error is only used by certain APIs that interpret the HTTP\n response itself. URLRequest for instance just passes most non-2xx\n response back as success."] ERR_HTTP_RESPONSE_CODE_FAILURE = -379, + #[doc = " The certificate presented on a QUIC connection does not chain to a known root\n and the origin connected to is not on a list of domains where unknown roots\n are allowed."] ERR_QUIC_CERT_ROOT_NOT_KNOWN = -380, + #[doc = " A GOAWAY frame has been received indicating that the request has not been\n processed and is therefore safe to retry on a different connection."] ERR_QUIC_GOAWAY_REQUEST_CAN_BE_RETRIED = -381, + #[doc = " The ACCEPT_CH restart has been triggered too many times"] ERR_TOO_MANY_ACCEPT_CH_RESTARTS = -382, + #[doc = " The IP address space of the remote endpoint differed from the previous\n observed value during the same request. Any cache entry for the affected\n request should be invalidated."] ERR_INCONSISTENT_IP_ADDRESS_SPACE = -383, - ERR_CACHED_IP_ADDRESS_SPACE_BLOCKED_BY_PRIVATE_NETWORK_ACCESS_POLICY = -384, - ERR_BLOCKED_BY_PRIVATE_NETWORK_ACCESS_CHECKS = -385, + #[doc = " The IP address space of the cached remote endpoint is blocked by private\n network access check."] + ERR_CACHED_IP_ADDRESS_SPACE_BLOCKED_BY_LOCAL_NETWORK_ACCESS_POLICY = -384, + #[doc = " The connection is blocked by private network access checks."] + ERR_BLOCKED_BY_LOCAL_NETWORK_ACCESS_CHECKS = -385, + #[doc = " Content decoding failed due to the zstd window size being too big (over 8MB)."] + ERR_ZSTD_WINDOW_SIZE_TOO_BIG = -386, + #[doc = " The compression dictionary cannot be loaded."] + ERR_DICTIONARY_LOAD_FAILED = -387, + #[doc = " The header of dictionary compressed stream does not match the expected value."] + ERR_UNEXPECTED_CONTENT_DICTIONARY_HEADER = -388, + #[doc = " The cache does not have the requested entry."] ERR_CACHE_MISS = -400, + #[doc = " Unable to read from the disk cache."] ERR_CACHE_READ_FAILURE = -401, + #[doc = " Unable to write to the disk cache."] ERR_CACHE_WRITE_FAILURE = -402, + #[doc = " The operation is not supported for this entry."] ERR_CACHE_OPERATION_NOT_SUPPORTED = -403, + #[doc = " The disk cache is unable to open this entry."] ERR_CACHE_OPEN_FAILURE = -404, + #[doc = " The disk cache is unable to create this entry."] ERR_CACHE_CREATE_FAILURE = -405, + #[doc = " Multiple transactions are racing to create disk cache entries. This is an\n internal error returned from the HttpCache to the HttpCacheTransaction that\n tells the transaction to restart the entry-creation logic because the state\n of the cache has changed."] ERR_CACHE_RACE = -406, + #[doc = " The cache was unable to read a checksum record on an entry. This can be\n returned from attempts to read from the cache. It is an internal error,\n returned by the SimpleCache backend, but not by any URLRequest methods\n or members."] ERR_CACHE_CHECKSUM_READ_FAILURE = -407, + #[doc = " The cache found an entry with an invalid checksum. This can be returned from\n attempts to read from the cache. It is an internal error, returned by the\n SimpleCache backend, but not by any URLRequest methods or members."] ERR_CACHE_CHECKSUM_MISMATCH = -408, + #[doc = " Internal error code for the HTTP cache. The cache lock timeout has fired."] ERR_CACHE_LOCK_TIMEOUT = -409, + #[doc = " Received a challenge after the transaction has read some data, and the\n credentials aren't available. There isn't a way to get them at that point."] ERR_CACHE_AUTH_FAILURE_AFTER_READ = -410, + #[doc = " Internal not-quite error code for the HTTP cache. In-memory hints suggest\n that the cache entry would not have been usable with the transaction's\n current configuration (e.g. load flags, mode, etc.)"] ERR_CACHE_ENTRY_NOT_SUITABLE = -411, + #[doc = " The disk cache is unable to doom this entry."] ERR_CACHE_DOOM_FAILURE = -412, + #[doc = " The disk cache is unable to open or create this entry."] ERR_CACHE_OPEN_OR_CREATE_FAILURE = -413, + #[doc = " The server's response was insecure (e.g. there was a cert error)."] ERR_INSECURE_RESPONSE = -501, + #[doc = " An attempt to import a client certificate failed, as the user's key\n database lacked a corresponding private key."] ERR_NO_PRIVATE_KEY_FOR_CERT = -502, + #[doc = " An error adding a certificate to the OS certificate database."] ERR_ADD_USER_CERT_FAILED = -503, + #[doc = " An error occurred while handling a signed exchange."] ERR_INVALID_SIGNED_EXCHANGE = -504, + #[doc = " An error occurred while handling a Web Bundle source."] ERR_INVALID_WEB_BUNDLE = -505, + #[doc = " A Trust Tokens protocol operation-executing request failed for one of a\n number of reasons (precondition failure, internal error, bad response)."] ERR_TRUST_TOKEN_OPERATION_FAILED = -506, + #[doc = " When handling a Trust Tokens protocol operation-executing request, the system\n was able to execute the request's Trust Tokens operation without sending the\n request to its destination: for instance, the results could have been present\n in a local cache (for redemption) or the operation could have been diverted\n to a local provider (for \"platform-provided\" issuance)."] ERR_TRUST_TOKEN_OPERATION_SUCCESS_WITHOUT_SENDING_REQUEST = -507, - ERR_FTP_FAILED = -601, - ERR_FTP_SERVICE_UNAVAILABLE = -602, - ERR_FTP_TRANSFER_ABORTED = -603, - ERR_FTP_FILE_BUSY = -604, - ERR_FTP_SYNTAX_ERROR = -605, - ERR_FTP_COMMAND_NOT_SUPPORTED = -606, - ERR_FTP_BAD_COMMAND_SEQUENCE = -607, + #[doc = " This is a placeholder value that should never be used within //net.\n\n When Cronet APIs are being backed by HttpEngine (i.e., HttpEngineProvider is\n being used), org.chromium.net.NetworkException#getCronetInternalErrorCode is\n not supported (android.net.http.NetworkException#getCronetInternalErrorCode\n does not exist). In this scenario, getCronetInternalErrorCode will always\n return this error. This is a first step towards the deprecation of\n getCronetInternalErrorCode.\n\n Temporarily terminate, then restart, ITTT to avoid unsupported nesting.\n LINT.ThenChange(\n //tools/metrics/histograms/enums.xml:HTTPResponseAndNetErrorCodes,\n //tools/metrics/histograms/enums.xml:NetErrorCodes,\n )\n LINT.IfChange(HTTPENGINE_PROVIDER_IN_USE)"] + ERR_HTTPENGINE_PROVIDER_IN_USE = -508, + #[doc = " PKCS #12 import failed due to incorrect password."] ERR_PKCS12_IMPORT_BAD_PASSWORD = -701, + #[doc = " PKCS #12 import failed due to other error."] ERR_PKCS12_IMPORT_FAILED = -702, + #[doc = " CA import failed - not a CA cert."] ERR_IMPORT_CA_CERT_NOT_CA = -703, + #[doc = " Import failed - certificate already exists in database.\n Note it's a little weird this is an error but reimporting a PKCS12 is ok\n (no-op). That's how Mozilla does it, though."] ERR_IMPORT_CERT_ALREADY_EXISTS = -704, + #[doc = " CA import failed due to some other error."] ERR_IMPORT_CA_CERT_FAILED = -705, + #[doc = " Server certificate import failed due to some internal error."] ERR_IMPORT_SERVER_CERT_FAILED = -706, + #[doc = " PKCS #12 import failed due to invalid MAC."] ERR_PKCS12_IMPORT_INVALID_MAC = -707, + #[doc = " PKCS #12 import failed due to invalid/corrupt file."] ERR_PKCS12_IMPORT_INVALID_FILE = -708, + #[doc = " PKCS #12 import failed due to unsupported features."] ERR_PKCS12_IMPORT_UNSUPPORTED = -709, + #[doc = " Key generation failed."] ERR_KEY_GENERATION_FAILED = -710, + #[doc = " Failure to export private key."] ERR_PRIVATE_KEY_EXPORT_FAILED = -712, + #[doc = " Self-signed certificate generation failed."] ERR_SELF_SIGNED_CERT_GENERATION_FAILED = -713, + #[doc = " The certificate database changed in some way."] ERR_CERT_DATABASE_CHANGED = -714, + #[doc = " The certificate verifier configuration changed in some way."] ERR_CERT_VERIFIER_CHANGED = -716, + #[doc = " DNS resolver received a malformed response."] ERR_DNS_MALFORMED_RESPONSE = -800, + #[doc = " DNS server requires TCP"] ERR_DNS_SERVER_REQUIRES_TCP = -801, - ERR_DNS_SERVER_FAILED = -802, + #[doc = " DNS transaction timed out."] ERR_DNS_TIMED_OUT = -803, + #[doc = " The entry was not found in cache or other local sources, for lookups where\n only local sources were queried.\n TODO(ericorth): Consider renaming to DNS_LOCAL_MISS or something like that as\n the cache is not necessarily queried either."] ERR_DNS_CACHE_MISS = -804, + #[doc = " Suffix search list rules prevent resolution of the given host name."] ERR_DNS_SEARCH_EMPTY = -805, + #[doc = " Failed to sort addresses according to RFC3484."] ERR_DNS_SORT_ERROR = -806, + #[doc = " Failed to resolve the hostname of a DNS-over-HTTPS server."] ERR_DNS_SECURE_RESOLVER_HOSTNAME_RESOLUTION_FAILED = -808, + #[doc = " DNS identified the request as disallowed for insecure connection (http/ws).\n Error should be handled as if an HTTP redirect was received to redirect to\n https or wss."] ERR_DNS_NAME_HTTPS_ONLY = -809, + #[doc = " All DNS requests associated with this job have been cancelled."] ERR_DNS_REQUEST_CANCELLED = -810, + #[doc = " The hostname resolution of HTTPS record was expected to be resolved with\n alpn values of supported protocols, but did not."] ERR_DNS_NO_MATCHING_SUPPORTED_ALPN = -811, - ERR_DICTIONARY_LOAD_FAILED = -812, + #[doc = " When checking whether secure DNS can be used, the response returned for the\n requested probe record either had no answer or was invalid."] + ERR_DNS_SECURE_PROBE_RECORD_INVALID = -814, + #[doc = " Returned when DNS cache invalidation is in progress. This is a\n transient error. Callers may want to retry later."] + ERR_DNS_CACHE_INVALIDATION_IN_PROGRESS = -815, + #[doc = " The DNS server responded with a format error response code."] + ERR_DNS_FORMAT_ERROR = -816, + #[doc = " The DNS server responded with a server failure response code."] + ERR_DNS_SERVER_FAILURE = -817, + #[doc = " The DNS server responded that the query type is not implemented."] + ERR_DNS_NOT_IMPLEMENTED = -818, + #[doc = " The DNS server responded that the request was refused."] + ERR_DNS_REFUSED = -819, + #[doc = " The DNS server responded with an rcode indicating that the request failed,\n but the rcode is not one that we have a specific error code for. In other\n words, the rcode was not one of the following:\n - NOERR\n - FORMERR\n - SERVFAIL\n - NXDOMAIN\n - NOTIMP\n - REFUSED"] + ERR_DNS_OTHER_FAILURE = -820, + #[doc = " The construction arguments are invalid. This is considered a bad IPC."] + ERR_BLOB_INVALID_CONSTRUCTION_ARGUMENTS = -900, + #[doc = " We don't have enough memory for the blob."] + ERR_BLOB_OUT_OF_MEMORY = -901, + #[doc = " We couldn't create or write to a file. File system error, like a full disk."] + ERR_BLOB_FILE_WRITE_FAILED = -902, + #[doc = " The renderer was destroyed while data was in transit."] + ERR_BLOB_SOURCE_DIED_IN_TRANSIT = -903, + #[doc = " The renderer destructed the blob before it was done transferring, and there\n were no outstanding references (no one is waiting to read) to keep the\n blob alive."] + ERR_BLOB_DEREFERENCED_WHILE_BUILDING = -904, + #[doc = " A blob that we referenced during construction is broken, or a browser-side\n builder tries to build a blob with a blob reference that isn't finished\n constructing."] + ERR_BLOB_REFERENCED_BLOB_BROKEN = -905, + #[doc = " A file that we referenced during construction is not accessible to the\n renderer trying to create the blob."] + ERR_BLOB_REFERENCED_FILE_UNAVAILABLE = -906, } #[repr(i32)] #[doc = "\n Supported certificate status code values. See net\\cert\\cert_status_flags.h\n for more information. CERT_STATUS_NONE is new in CEF because we use an\n enum while cert_status_flags.h uses a typedef and static const variables.\n"] @@ -1116,10 +1512,6 @@ pub enum cef_cert_status_t { #[doc = " Bit 18 was CERT_STATUS_IS_DNSSEC"] CERT_STATUS_CT_COMPLIANCE_FAILED = 1048576, } -impl cef_window_open_disposition_t { - pub const CEF_WOD_MAX_VALUE: cef_window_open_disposition_t = - cef_window_open_disposition_t::CEF_WOD_NEW_PICTURE_IN_PICTURE; -} #[repr(i32)] #[doc = "\n The manner in which a link click should be opened. These constants match\n their equivalents in Chromium's window_open_disposition.h and should not be\n renumbered.\n"] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -1147,6 +1539,8 @@ pub enum cef_window_open_disposition_t { CEF_WOD_SWITCH_TO_TAB = 10, #[doc = "\n Creates a new document picture-in-picture window showing a child WebView.\n"] CEF_WOD_NEW_PICTURE_IN_PICTURE = 11, + #[doc = "\n Creates a new document picture-in-picture window showing a child WebView.\n"] + CEF_WOD_NUM_VALUES = 12, } #[repr(i32)] #[doc = "\n \"Verb\" of a drag-and-drop operation as negotiated between the source and\n destination. These constants match their equivalents in WebCore's\n DragActions.h and should not be renumbered.\n"] @@ -1161,10 +1555,6 @@ pub enum cef_drag_operations_mask_t { DRAG_OPERATION_DELETE = 32, DRAG_OPERATION_EVERY = -1, } -impl cef_text_input_mode_t { - pub const CEF_TEXT_INPUT_MODE_MAX: cef_text_input_mode_t = - cef_text_input_mode_t::CEF_TEXT_INPUT_MODE_SEARCH; -} #[repr(i32)] #[doc = "\n Input mode of a virtual keyboard. These constants match their equivalents\n in Chromium's text_input_mode.h and should not be renumbered.\n See https://html.spec.whatwg.org/#input-modalities:-the-inputmode-attribute\n"] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -1178,15 +1568,7 @@ pub enum cef_text_input_mode_t { CEF_TEXT_INPUT_MODE_NUMERIC = 6, CEF_TEXT_INPUT_MODE_DECIMAL = 7, CEF_TEXT_INPUT_MODE_SEARCH = 8, -} -#[repr(i32)] -#[doc = "\n V8 access control values.\n"] -#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] -pub enum cef_v8_accesscontrol_t { - V8_ACCESS_CONTROL_DEFAULT = 0, - V8_ACCESS_CONTROL_ALL_CAN_READ = 1, - V8_ACCESS_CONTROL_ALL_CAN_WRITE = 2, - V8_ACCESS_CONTROL_PROHIBITS_OVERWRITING = 4, + CEF_TEXT_INPUT_MODE_NUM_VALUES = 9, } #[repr(i32)] #[doc = "\n V8 property attribute values.\n"] @@ -1208,6 +1590,7 @@ pub enum cef_postdataelement_type_t { PDE_TYPE_EMPTY = 0, PDE_TYPE_BYTES = 1, PDE_TYPE_FILE = 2, + PDE_TYPE_NUM_VALUES = 3, } #[repr(i32)] #[doc = "\n Resource type for a request. These constants match their equivalents in\n Chromium's ResourceType and should not be renumbered.\n"] @@ -1253,6 +1636,8 @@ pub enum cef_resource_type_t { RT_NAVIGATION_PRELOAD_MAIN_FRAME = 19, #[doc = "\n A sub-frame service worker navigation preload request.\n"] RT_NAVIGATION_PRELOAD_SUB_FRAME = 20, + #[doc = "\n A sub-frame service worker navigation preload request.\n"] + RT_NUM_VALUES = 21, } #[repr(i32)] #[doc = "\n Transition type for a request. Made up of one source value and 0 or more\n qualifiers.\n"] @@ -1262,24 +1647,26 @@ pub enum cef_transition_type_t { TT_LINK = 0, #[doc = "\n Source is some other \"explicit\" navigation. This is the default value for\n navigations where the actual type is unknown. See also\n TT_DIRECT_LOAD_FLAG.\n"] TT_EXPLICIT = 1, - #[doc = "\n User got to this page through a suggestion in the UI (for example, via the\n destinations page). Chrome runtime only.\n"] + #[doc = "\n User got to this page through a suggestion in the UI (for example, via the\n destinations page). Chrome style only.\n"] TT_AUTO_BOOKMARK = 2, #[doc = "\n Source is a subframe navigation. This is any content that is automatically\n loaded in a non-toplevel frame. For example, if a page consists of several\n frames containing ads, those ad URLs will have this transition type.\n The user may not even realize the content in these pages is a separate\n frame, so may not care about the URL.\n"] TT_AUTO_SUBFRAME = 3, #[doc = "\n Source is a subframe navigation explicitly requested by the user that will\n generate new navigation entries in the back/forward list. These are\n probably more important than frames that were automatically loaded in\n the background because the user probably cares about the fact that this\n link was loaded.\n"] TT_MANUAL_SUBFRAME = 4, - #[doc = "\n User got to this page by typing in the URL bar and selecting an entry\n that did not look like a URL. For example, a match might have the URL\n of a Google search result page, but appear like \"Search Google for ...\".\n These are not quite the same as EXPLICIT navigations because the user\n didn't type or see the destination URL. Chrome runtime only.\n See also TT_KEYWORD.\n"] + #[doc = "\n User got to this page by typing in the URL bar and selecting an entry\n that did not look like a URL. For example, a match might have the URL\n of a Google search result page, but appear like \"Search Google for ...\".\n These are not quite the same as EXPLICIT navigations because the user\n didn't type or see the destination URL. Chrome style only.\n See also TT_KEYWORD.\n"] TT_GENERATED = 5, - #[doc = "\n This is a toplevel navigation. This is any content that is automatically\n loaded in a toplevel frame. For example, opening a tab to show the ASH\n screen saver, opening the devtools window, opening the NTP after the safe\n browsing warning, opening web-based dialog boxes are examples of\n AUTO_TOPLEVEL navigations. Chrome runtime only.\n"] + #[doc = "\n This is a toplevel navigation. This is any content that is automatically\n loaded in a toplevel frame. For example, opening a tab to show the ASH\n screen saver, opening the devtools window, opening the NTP after the safe\n browsing warning, opening web-based dialog boxes are examples of\n AUTO_TOPLEVEL navigations. Chrome style only.\n"] TT_AUTO_TOPLEVEL = 6, #[doc = "\n Source is a form submission by the user. NOTE: In some situations\n submitting a form does not result in this transition type. This can happen\n if the form uses a script to submit the contents.\n"] TT_FORM_SUBMIT = 7, #[doc = "\n Source is a \"reload\" of the page via the Reload function or by re-visiting\n the same URL. NOTE: This is distinct from the concept of whether a\n particular load uses \"reload semantics\" (i.e. bypasses cached data).\n"] TT_RELOAD = 8, - #[doc = "\n The url was generated from a replaceable keyword other than the default\n search provider. If the user types a keyword (which also applies to\n tab-to-search) in the omnibox this qualifier is applied to the transition\n type of the generated url. TemplateURLModel then may generate an\n additional visit with a transition type of TT_KEYWORD_GENERATED against\n the url 'http://' + keyword. For example, if you do a tab-to-search\n against wikipedia the generated url has a transition qualifer of\n TT_KEYWORD, and TemplateURLModel generates a visit for 'wikipedia.org'\n with a transition type of TT_KEYWORD_GENERATED. Chrome runtime only.\n"] + #[doc = "\n The url was generated from a replaceable keyword other than the default\n search provider. If the user types a keyword (which also applies to\n tab-to-search) in the omnibox this qualifier is applied to the transition\n type of the generated url. TemplateURLModel then may generate an\n additional visit with a transition type of TT_KEYWORD_GENERATED against\n the url 'http://' + keyword. For example, if you do a tab-to-search\n against wikipedia the generated url has a transition qualifer of\n TT_KEYWORD, and TemplateURLModel generates a visit for 'wikipedia.org'\n with a transition type of TT_KEYWORD_GENERATED. Chrome style only.\n"] TT_KEYWORD = 9, - #[doc = "\n Corresponds to a visit generated for a keyword. See description of\n TT_KEYWORD for more details. Chrome runtime only.\n"] + #[doc = "\n Corresponds to a visit generated for a keyword. See description of\n TT_KEYWORD for more details. Chrome style only.\n"] TT_KEYWORD_GENERATED = 10, + #[doc = "\n Corresponds to a visit generated for a keyword. See description of\n TT_KEYWORD for more details. Chrome style only.\n"] + TT_NUM_VALUES = 11, #[doc = "\n General mask defining the bits used for the source values.\n"] TT_SOURCE_MASK = 255, #[doc = "\n Attempted to visit a URL but was blocked.\n"] @@ -1288,9 +1675,9 @@ pub enum cef_transition_type_t { TT_FORWARD_BACK_FLAG = 16777216, #[doc = "\n Loaded a URL directly via CreateBrowser, LoadURL or LoadRequest.\n"] TT_DIRECT_LOAD_FLAG = 33554432, - #[doc = "\n User is navigating to the home page. Chrome runtime only.\n"] + #[doc = "\n User is navigating to the home page. Chrome style only.\n"] TT_HOME_PAGE_FLAG = 67108864, - #[doc = "\n The transition originated from an external application; the exact\n definition of this is embedder dependent. Chrome runtime and\n extension system only.\n"] + #[doc = "\n The transition originated from an external application; the exact\n definition of this is embedder dependent. Chrome style only.\n"] TT_FROM_API_FLAG = 134217728, #[doc = "\n The beginning of a navigation chain.\n"] TT_CHAIN_START_FLAG = 268435456, @@ -1319,6 +1706,8 @@ pub enum cef_urlrequest_status_t { UR_CANCELED = 3, #[doc = "\n Request failed for some reason.\n"] UR_FAILED = 4, + #[doc = "\n Request failed for some reason.\n"] + UR_NUM_VALUES = 5, } #[doc = " Structure representing a draggable region.\n"] #[repr(C)] @@ -1358,6 +1747,8 @@ pub enum cef_thread_id_t { TID_IO = 5, #[doc = "\n The main thread in the renderer. Used for all WebKit and V8 interaction.\n Tasks may be posted to this thread after\n CefRenderProcessHandler::OnWebKitInitialized but are not guaranteed to\n run before sub-process termination (sub-processes may be killed at any\n time without warning).\n"] TID_RENDERER = 6, + #[doc = "\n The main thread in the renderer. Used for all WebKit and V8 interaction.\n Tasks may be posted to this thread after\n CefRenderProcessHandler::OnWebKitInitialized but are not guaranteed to\n run before sub-process termination (sub-processes may be killed at any\n time without warning).\n"] + TID_NUM_VALUES = 7, } #[repr(i32)] #[doc = "\n Supported value types.\n"] @@ -1372,6 +1763,7 @@ pub enum cef_value_type_t { VTYPE_BINARY = 6, VTYPE_DICTIONARY = 7, VTYPE_LIST = 8, + VTYPE_NUM_VALUES = 9, } #[repr(i32)] #[doc = "\n Supported JavaScript dialog types.\n"] @@ -1380,11 +1772,14 @@ pub enum cef_jsdialog_type_t { JSDIALOGTYPE_ALERT = 0, JSDIALOGTYPE_CONFIRM = 1, JSDIALOGTYPE_PROMPT = 2, + JSDIALOGTYPE_NUM_VALUES = 3, } #[doc = "\n Screen information used when window rendering is disabled. This structure is\n passed as a parameter to CefRenderHandler::GetScreenInfo and should be\n filled in by the client.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_screen_info_t { + #[doc = "\n Size of this structure.\n"] + pub size: usize, #[doc = "\n Device scale factor. Specifies the ratio between physical and logical\n pixels.\n"] pub device_scale_factor: f32, #[doc = "\n The screen depth in bits per pixel.\n"] @@ -1500,6 +1895,10 @@ pub enum cef_event_flags_t { EVENTFLAG_ALTGR_DOWN = 4096, #[doc = " Mac OS-X command key."] EVENTFLAG_IS_REPEAT = 8192, + #[doc = " Mac OS-X command key."] + EVENTFLAG_PRECISION_SCROLLING_DELTA = 16384, + #[doc = " Mac OS-X command key."] + EVENTFLAG_SCROLL_BY_PAGE = 32768, } #[repr(i32)] #[doc = "\n Supported menu item types.\n"] @@ -1549,6 +1948,8 @@ pub enum cef_context_menu_media_type_t { CM_MEDIATYPE_FILE = 5, #[doc = "\n A plugin node is selected.\n"] CM_MEDIATYPE_PLUGIN = 6, + #[doc = "\n A plugin node is selected.\n"] + CM_MEDIATYPE_NUM_VALUES = 7, } #[repr(i32)] #[doc = "\n Supported context menu media state bit flags. These constants match their\n equivalents in Chromium's ContextMenuData::MediaFlags and should not be\n renumbered.\n"] @@ -1611,6 +2012,8 @@ pub enum cef_key_event_type_t { #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_key_event_t { + #[doc = "\n Size of this structure.\n"] + pub size: usize, #[doc = "\n The type of keyboard event.\n"] pub type_: cef_key_event_type_t, #[doc = "\n Bit flags describing any pressed modifier keys. See\n cef_event_flags_t for values.\n"] @@ -1638,11 +2041,15 @@ pub enum cef_focus_source_t { FOCUS_SOURCE_NAVIGATION = 0, #[doc = "\n The source is a system-generated focus event.\n"] FOCUS_SOURCE_SYSTEM = 1, + #[doc = "\n The source is a system-generated focus event.\n"] + FOCUS_SOURCE_NUM_VALUES = 2, } #[doc = "\n Popup window features.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_popup_features_t { + #[doc = "\n Size of this structure.\n"] + pub size: usize, pub x: ::std::os::raw::c_int, pub xSet: ::std::os::raw::c_int, pub y: ::std::os::raw::c_int, @@ -1651,7 +2058,7 @@ pub struct _cef_popup_features_t { pub widthSet: ::std::os::raw::c_int, pub height: ::std::os::raw::c_int, pub heightSet: ::std::os::raw::c_int, - #[doc = " True (1) if browser interface elements should be hidden."] + #[doc = "\n True (1) if browser interface elements should be hidden.\n"] pub isPopup: ::std::os::raw::c_int, } #[doc = "\n Popup window features.\n"] @@ -1664,6 +2071,7 @@ pub enum cef_dom_document_type_t { DOM_DOCUMENT_TYPE_HTML = 1, DOM_DOCUMENT_TYPE_XHTML = 2, DOM_DOCUMENT_TYPE_PLUGIN = 3, + DOM_DOCUMENT_TYPE_NUM_VALUES = 4, } #[repr(i32)] #[doc = "\n DOM node types.\n"] @@ -1679,6 +2087,7 @@ pub enum cef_dom_node_type_t { DOM_NODE_TYPE_DOCUMENT = 7, DOM_NODE_TYPE_DOCUMENT_TYPE = 8, DOM_NODE_TYPE_DOCUMENT_FRAGMENT = 9, + DOM_NODE_TYPE_NUM_VALUES = 10, } #[repr(i32)] #[doc = "\n DOM form control types. Should be kept in sync with Chromium's\n blink::mojom::FormControlType type.\n"] @@ -1688,7 +2097,7 @@ pub enum cef_dom_form_control_type_t { DOM_FORM_CONTROL_TYPE_BUTTON_BUTTON = 1, DOM_FORM_CONTROL_TYPE_BUTTON_SUBMIT = 2, DOM_FORM_CONTROL_TYPE_BUTTON_RESET = 3, - DOM_FORM_CONTROL_TYPE_BUTTON_SELECT_LIST = 4, + DOM_FORM_CONTROL_TYPE_BUTTON_POPOVER = 4, DOM_FORM_CONTROL_TYPE_FIELDSET = 5, DOM_FORM_CONTROL_TYPE_INPUT_BUTTON = 6, DOM_FORM_CONTROL_TYPE_INPUT_CHECKBOX = 7, @@ -1715,8 +2124,8 @@ pub enum cef_dom_form_control_type_t { DOM_FORM_CONTROL_TYPE_OUTPUT = 28, DOM_FORM_CONTROL_TYPE_SELECT_ONE = 29, DOM_FORM_CONTROL_TYPE_SELECT_MULTIPLE = 30, - DOM_FORM_CONTROL_TYPE_SELECT_LIST = 31, - DOM_FORM_CONTROL_TYPE_TEXT_AREA = 32, + DOM_FORM_CONTROL_TYPE_TEXT_AREA = 31, + DOM_FORM_CONTROL_TYPE_NUM_VALUES = 32, } #[repr(i32)] #[doc = "\n Supported file dialog modes.\n"] @@ -1730,6 +2139,8 @@ pub enum cef_file_dialog_mode_t { FILE_DIALOG_OPEN_FOLDER = 2, #[doc = "\n Allows picking a nonexistent file, and prompts to overwrite if the file\n already exists.\n"] FILE_DIALOG_SAVE = 3, + #[doc = "\n Allows picking a nonexistent file, and prompts to overwrite if the file\n already exists.\n"] + FILE_DIALOG_NUM_VALUES = 4, } #[repr(i32)] #[doc = "\n Print job color mode values.\n"] @@ -1766,6 +2177,7 @@ pub enum cef_color_model_t { COLOR_MODEL_PROCESSCOLORMODEL_GREYSCALE = 19, #[doc = " Used in canon printer ppds"] COLOR_MODEL_PROCESSCOLORMODEL_RGB = 20, + COLOR_MODEL_NUM_VALUES = 21, } #[repr(i32)] #[doc = "\n Print job duplex mode values.\n"] @@ -1775,6 +2187,7 @@ pub enum cef_duplex_mode_t { DUPLEX_MODE_SIMPLEX = 0, DUPLEX_MODE_LONG_EDGE = 1, DUPLEX_MODE_SHORT_EDGE = 2, + DUPLEX_MODE_NUM_VALUES = 3, } #[repr(i32)] #[doc = "\n Cursor type values.\n"] @@ -1830,6 +2243,7 @@ pub enum cef_cursor_type_t { CT_DND_MOVE = 47, CT_DND_COPY = 48, CT_DND_LINK = 49, + CT_NUM_VALUES = 50, } #[doc = "\n Structure representing cursor information. |buffer| will be\n |size.width|*|size.height|*4 bytes in size and represents a BGRA image with\n an upper-left origin.\n"] #[repr(C)] @@ -1857,6 +2271,8 @@ pub enum cef_pdf_print_margin_type_t { #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_pdf_print_settings_t { + #[doc = "\n Size of this structure.\n"] + pub size: usize, #[doc = "\n Set to true (1) for landscape mode or false (0) for portrait mode.\n"] pub landscape: ::std::os::raw::c_int, #[doc = "\n Set to true (1) to print background graphics.\n"] @@ -1902,15 +2318,12 @@ pub enum cef_scale_factor_t { SCALE_FACTOR_200P = 7, SCALE_FACTOR_250P = 8, SCALE_FACTOR_300P = 9, + SCALE_FACTOR_NUM_VALUES = 10, } impl cef_referrer_policy_t { pub const REFERRER_POLICY_DEFAULT: cef_referrer_policy_t = cef_referrer_policy_t::REFERRER_POLICY_CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE; } -impl cef_referrer_policy_t { - pub const REFERRER_POLICY_LAST_VALUE: cef_referrer_policy_t = - cef_referrer_policy_t::REFERRER_POLICY_NO_REFERRER; -} #[repr(i32)] #[doc = "\n Policy for how the Referrer HTTP header value will be sent during\n navigation. If the `--no-referrers` command-line flag is specified then the\n policy value will be ignored and the Referrer value will never be sent. Must\n be kept synchronized with net::URLRequest::ReferrerPolicy from Chromium.\n"] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -1931,6 +2344,8 @@ pub enum cef_referrer_policy_t { REFERRER_POLICY_ORIGIN_CLEAR_ON_TRANSITION_FROM_SECURE_TO_INSECURE = 6, #[doc = "\n Always clear the referrer regardless of the request destination.\n"] REFERRER_POLICY_NO_REFERRER = 7, + #[doc = " Always the last value in this enumeration."] + REFERRER_POLICY_NUM_VALUES = 8, } #[repr(i32)] #[doc = "\n Return values for CefResponseFilter::Filter().\n"] @@ -1944,15 +2359,6 @@ pub enum cef_response_filter_status_t { RESPONSE_FILTER_ERROR = 2, } #[repr(i32)] -#[doc = "\n Describes how to interpret the components of a pixel.\n"] -#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] -pub enum cef_color_type_t { - #[doc = "\n RGBA with 8 bits per pixel (32bits total).\n"] - CEF_COLOR_TYPE_RGBA_8888 = 0, - #[doc = "\n BGRA with 8 bits per pixel (32bits total).\n"] - CEF_COLOR_TYPE_BGRA_8888 = 1, -} -#[repr(i32)] #[doc = "\n Describes how to interpret the alpha component of a pixel.\n"] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum cef_alpha_type_t { @@ -1984,7 +2390,7 @@ pub enum cef_menu_color_type_t { CEF_MENU_COLOR_TEXT_ACCELERATOR_HOVERED = 3, CEF_MENU_COLOR_BACKGROUND = 4, CEF_MENU_COLOR_BACKGROUND_HOVERED = 5, - CEF_MENU_COLOR_COUNT = 6, + CEF_MENU_COLOR_NUM_VALUES = 6, } #[repr(i32)] #[doc = " Supported SSL version values. See net/ssl/ssl_connection_status_flags.h\n for more information."] @@ -1992,13 +2398,22 @@ pub enum cef_menu_color_type_t { pub enum cef_ssl_version_t { #[doc = " Unknown SSL version."] SSL_CONNECTION_VERSION_UNKNOWN = 0, + #[doc = " Unknown SSL version."] SSL_CONNECTION_VERSION_SSL2 = 1, + #[doc = " Unknown SSL version."] SSL_CONNECTION_VERSION_SSL3 = 2, + #[doc = " Unknown SSL version."] SSL_CONNECTION_VERSION_TLS1 = 3, + #[doc = " Unknown SSL version."] SSL_CONNECTION_VERSION_TLS1_1 = 4, + #[doc = " Unknown SSL version."] SSL_CONNECTION_VERSION_TLS1_2 = 5, + #[doc = " Unknown SSL version."] SSL_CONNECTION_VERSION_TLS1_3 = 6, + #[doc = " Unknown SSL version."] SSL_CONNECTION_VERSION_QUIC = 7, + #[doc = " Unknown SSL version."] + SSL_CONNECTION_VERSION_NUM_VALUES = 8, } #[repr(i32)] #[doc = " Supported SSL content status flags. See content/public/common/ssl_status.h\n for more information."] @@ -2025,11 +2440,14 @@ pub enum cef_composition_underline_style_t { CEF_CUS_DOT = 1, CEF_CUS_DASH = 2, CEF_CUS_NONE = 3, + CEF_CUS_NUM_VALUES = 4, } #[doc = "\n Structure representing IME composition underline information. This is a thin\n wrapper around Blink's WebCompositionUnderline class and should be kept in\n sync with that.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_composition_underline_t { + #[doc = "\n Size of this structure.\n"] + pub size: usize, #[doc = "\n Underline character range.\n"] pub range: cef_range_t, #[doc = "\n Text color.\n"] @@ -2043,10 +2461,6 @@ pub struct _cef_composition_underline_t { } #[doc = "\n Structure representing IME composition underline information. This is a thin\n wrapper around Blink's WebCompositionUnderline class and should be kept in\n sync with that.\n"] pub type cef_composition_underline_t = _cef_composition_underline_t; -impl cef_channel_layout_t { - pub const CEF_CHANNEL_LAYOUT_MAX: cef_channel_layout_t = - cef_channel_layout_t::CEF_CHANNEL_LAYOUT_5_1_4_DOWNMIX; -} #[repr(i32)] #[doc = "\n Enumerates the various representations of the ordering of audio channels.\n Must be kept synchronized with media::ChannelLayout from Chromium.\n See media\\base\\channel_layout.h\n"] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -2075,53 +2489,61 @@ pub enum cef_channel_layout_t { CEF_CHANNEL_LAYOUT_5_0_BACK = 11, #[doc = " Front L, Front R, Front C, LFE, Back L, Back R"] CEF_CHANNEL_LAYOUT_5_1_BACK = 12, - #[doc = " Front L, Front R, Front C, Side L, Side R, Back L, Back R"] + #[doc = " Front L, Front R, Front C, Back L, Back R, Side L, Side R"] CEF_CHANNEL_LAYOUT_7_0 = 13, - #[doc = " Front L, Front R, Front C, LFE, Side L, Side R, Back L, Back R"] + #[doc = " Front L, Front R, Front C, LFE, Back L, Back R, Side L, Side R"] CEF_CHANNEL_LAYOUT_7_1 = 14, - #[doc = " Front L, Front R, Front C, LFE, Side L, Side R, Front LofC, Front RofC"] + #[doc = " Front L, Front R, Front C, LFE, Front LofC, Front RofC, Side L, Side R"] CEF_CHANNEL_LAYOUT_7_1_WIDE = 15, - #[doc = " Stereo L, Stereo R"] + #[doc = " Front L, Front R"] CEF_CHANNEL_LAYOUT_STEREO_DOWNMIX = 16, - #[doc = " Stereo L, Stereo R, LFE"] + #[doc = " Front L, Front R, LFE"] CEF_CHANNEL_LAYOUT_2POINT1 = 17, - #[doc = " Stereo L, Stereo R, Front C, LFE"] + #[doc = " Front L, Front R, Front C, LFE"] CEF_CHANNEL_LAYOUT_3_1 = 18, - #[doc = " Stereo L, Stereo R, Front C, Rear C, LFE"] + #[doc = " Front L, Front R, Front C, LFE, Back C"] CEF_CHANNEL_LAYOUT_4_1 = 19, - #[doc = " Stereo L, Stereo R, Front C, Side L, Side R, Back C"] + #[doc = " Front L, Front R, Front C, Back C, Side L, Side R"] CEF_CHANNEL_LAYOUT_6_0 = 20, - #[doc = " Stereo L, Stereo R, Side L, Side R, Front LofC, Front RofC"] + #[doc = " Front L, Front R, Front LofC, Front RofC, Side L, Side R"] CEF_CHANNEL_LAYOUT_6_0_FRONT = 21, - #[doc = " Stereo L, Stereo R, Front C, Rear L, Rear R, Rear C"] + #[doc = " Front L, Front R, Front C, Back L, Back R, Back C"] CEF_CHANNEL_LAYOUT_HEXAGONAL = 22, - #[doc = " Stereo L, Stereo R, Front C, LFE, Side L, Side R, Rear Center"] + #[doc = " Front L, Front R, Front C, LFE, Back C, Side L, Side R"] CEF_CHANNEL_LAYOUT_6_1 = 23, - #[doc = " Stereo L, Stereo R, Front C, LFE, Back L, Back R, Rear Center"] + #[doc = " Front L, Front R, Front C, LFE, Back L, Back R, Back C"] CEF_CHANNEL_LAYOUT_6_1_BACK = 24, - #[doc = " Stereo L, Stereo R, Side L, Side R, Front LofC, Front RofC, LFE"] + #[doc = " Front L, Front R, LFE, Front LofC, Front RofC, Side L, Side R"] CEF_CHANNEL_LAYOUT_6_1_FRONT = 25, - #[doc = " Front L, Front R, Front C, Side L, Side R, Front LofC, Front RofC"] + #[doc = " Front L, Front R, Front C, Front LofC, Front RofC, Side L, Side R"] CEF_CHANNEL_LAYOUT_7_0_FRONT = 26, #[doc = " Front L, Front R, Front C, LFE, Back L, Back R, Front LofC, Front RofC"] CEF_CHANNEL_LAYOUT_7_1_WIDE_BACK = 27, - #[doc = " Front L, Front R, Front C, Side L, Side R, Rear L, Back R, Back C."] + #[doc = " Front L, Front R, Front C, Back L, Back R, Back C, Side L, Side R"] CEF_CHANNEL_LAYOUT_OCTAGONAL = 28, #[doc = " Channels are not explicitly mapped to speakers."] CEF_CHANNEL_LAYOUT_DISCRETE = 29, - #[doc = " Front L, Front R, Front C. Front C contains the keyboard mic audio. This\n layout is only intended for input for WebRTC. The Front C channel\n is stripped away in the WebRTC audio input pipeline and never seen outside\n of that."] + #[doc = " Deprecated, but keeping the enum value for UMA consistency.\n Front L, Front R, Front C. Front C contains the keyboard mic audio. This\n layout is only intended for input for WebRTC. The Front C channel\n is stripped away in the WebRTC audio input pipeline and never seen outside\n of that."] CEF_CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC = 30, - #[doc = " Front L, Front R, Side L, Side R, LFE"] + #[doc = " Front L, Front R, LFE, Side L, Side R"] CEF_CHANNEL_LAYOUT_4_1_QUAD_SIDE = 31, #[doc = " Actual channel layout is specified in the bitstream and the actual channel\n count is unknown at Chromium media pipeline level (useful for audio\n pass-through mode)."] CEF_CHANNEL_LAYOUT_BITSTREAM = 32, #[doc = " Front L, Front R, Front C, LFE, Side L, Side R,\n Front Height L, Front Height R, Rear Height L, Rear Height R\n Will be represented as six channels (5.1) due to eight channel limit\n kMaxConcurrentChannels"] CEF_CHANNEL_LAYOUT_5_1_4_DOWNMIX = 33, + #[doc = " Front C, LFE"] + CEF_CHANNEL_LAYOUT_1_1 = 34, + #[doc = " Front L, Front R, LFE, Back C"] + CEF_CHANNEL_LAYOUT_3_1_BACK = 35, + #[doc = " Front L, Front R, LFE, Back C"] + CEF_CHANNEL_NUM_VALUES = 36, } #[doc = "\n Structure representing the audio parameters for setting up the audio\n handler.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_audio_parameters_t { + #[doc = "\n Size of this structure.\n"] + pub size: usize, #[doc = "\n Layout of the audio channels\n"] pub channel_layout: cef_channel_layout_t, #[doc = "\n Sample rate\n"] @@ -2141,20 +2563,27 @@ pub enum cef_media_route_create_result_t { CEF_MRCR_ROUTE_NOT_FOUND = 3, CEF_MRCR_SINK_NOT_FOUND = 4, CEF_MRCR_INVALID_ORIGIN = 5, + CEF_MRCR_OFF_THE_RECORD_MISMATCH_DEPRECATED = 6, CEF_MRCR_NO_SUPPORTED_PROVIDER = 7, CEF_MRCR_CANCELLED = 8, CEF_MRCR_ROUTE_ALREADY_EXISTS = 9, + CEF_MRCR_DESKTOP_PICKER_FAILED = 10, CEF_MRCR_ROUTE_ALREADY_TERMINATED = 11, + CEF_MRCR_REDUNDANT_REQUEST = 12, + CEF_MRCR_USER_NOT_ALLOWED = 13, + CEF_MRCR_NOTIFICATION_DISABLED = 14, + CEF_MRCR_NUM_VALUES = 15, } #[repr(i32)] -#[doc = "\n Connection state for a MediaRoute object.\n"] +#[doc = "\n Connection state for a MediaRoute object. Should be kept in sync with\n Chromium's blink::mojom::PresentationConnectionState type.\n"] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum cef_media_route_connection_state_t { - CEF_MRCS_UNKNOWN = 0, - CEF_MRCS_CONNECTING = 1, - CEF_MRCS_CONNECTED = 2, - CEF_MRCS_CLOSED = 3, - CEF_MRCS_TERMINATED = 4, + CEF_MRCS_UNKNOWN = -1, + CEF_MRCS_CONNECTING = 0, + CEF_MRCS_CONNECTED = 1, + CEF_MRCS_CLOSED = 2, + CEF_MRCS_TERMINATED = 3, + CEF_MRCS_NUM_VALUES = 4, } #[repr(i32)] #[doc = "\n Icon types for a MediaSink object. Should be kept in sync with Chromium's\n media_router::SinkIconType type.\n"] @@ -2168,21 +2597,18 @@ pub enum cef_media_sink_icon_type_t { CEF_MSIT_EDUCATION = 5, CEF_MSIT_WIRED_DISPLAY = 6, CEF_MSIT_GENERIC = 7, - #[doc = " The total number of values."] - CEF_MSIT_TOTAL_COUNT = 8, + CEF_MSIT_NUM_VALUES = 8, } #[doc = "\n Device information for a MediaSink object.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_media_sink_device_info_t { + #[doc = "\n Size of this structure.\n"] + pub size: usize, pub ip_address: cef_string_t, pub port: ::std::os::raw::c_int, pub model_name: cef_string_t, } -impl cef_chrome_page_action_icon_type_t { - pub const CEF_CPAIT_MAX_VALUE: cef_chrome_page_action_icon_type_t = - cef_chrome_page_action_icon_type_t::CEF_CPAIT_PRICE_READ_ANYTHING; -} #[repr(i32)] #[doc = "\n Chrome page action icon types. Should be kept in sync with Chromium's\n PageActionIconType type.\n"] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -2192,46 +2618,61 @@ pub enum cef_chrome_page_action_icon_type_t { CEF_CPAIT_COOKIE_CONTROLS = 2, CEF_CPAIT_FILE_SYSTEM_ACCESS = 3, CEF_CPAIT_FIND = 4, - CEF_CPAIT_HIGH_EFFICIENCY = 5, + CEF_CPAIT_MEMORY_SAVER = 5, CEF_CPAIT_INTENT_PICKER = 6, CEF_CPAIT_LOCAL_CARD_MIGRATION = 7, CEF_CPAIT_MANAGE_PASSWORDS = 8, CEF_CPAIT_PAYMENTS_OFFER_NOTIFICATION = 9, CEF_CPAIT_PRICE_TRACKING = 10, CEF_CPAIT_PWA_INSTALL = 11, - CEF_CPAIT_QR_CODE_GENERATOR = 12, - CEF_CPAIT_READER_MODE = 13, + CEF_CPAIT_QR_CODE_GENERATOR_DEPRECATED = 12, + CEF_CPAIT_READER_MODE_DEPRECATED = 13, CEF_CPAIT_SAVE_AUTOFILL_ADDRESS = 14, CEF_CPAIT_SAVE_CARD = 15, - CEF_CPAIT_SEND_TAB_TO_SELF = 16, + CEF_CPAIT_SEND_TAB_TO_SELF_DEPRECATED = 16, CEF_CPAIT_SHARING_HUB = 17, - CEF_CPAIT_SIDE_SEARCH = 18, + CEF_CPAIT_SIDE_SEARCH_DEPRECATED = 18, CEF_CPAIT_SMS_REMOTE_FETCHER = 19, CEF_CPAIT_TRANSLATE = 20, CEF_CPAIT_VIRTUAL_CARD_ENROLL = 21, - CEF_CPAIT_VIRTUAL_CARD_MANUAL_FALLBACK = 22, + CEF_CPAIT_VIRTUAL_CARD_INFORMATION = 22, CEF_CPAIT_ZOOM = 23, CEF_CPAIT_SAVE_IBAN = 24, CEF_CPAIT_MANDATORY_REAUTH = 25, CEF_CPAIT_PRICE_INSIGHTS = 26, - CEF_CPAIT_PRICE_READ_ANYTHING = 27, -} -impl cef_chrome_toolbar_button_type_t { - pub const CEF_CTBT_MAX_VALUE: cef_chrome_toolbar_button_type_t = - cef_chrome_toolbar_button_type_t::CEF_CTBT_SIDE_PANEL; + CEF_CPAIT_READ_ANYTHING_DEPRECATED = 27, + CEF_CPAIT_PRODUCT_SPECIFICATIONS = 28, + CEF_CPAIT_LENS_OVERLAY = 29, + CEF_CPAIT_DISCOUNTS = 30, + CEF_CPAIT_OPTIMIZATION_GUIDE = 31, + CEF_CPAIT_COLLABORATION_MESSAGING = 32, + CEF_CPAIT_CHANGE_PASSWORD = 33, + CEF_CPAIT_LENS_OVERLAY_HOMEWORK = 34, + CEF_CPAIT_AI_MODE = 35, + CEF_CPAIT_READING_MODE = 36, + CEF_CPAIT_CONTEXTUAL_SIDE_PANEL = 37, + CEF_CPAIT_JS_OPTIMIZATIONS = 38, + CEF_CPAIT_NUM_VALUES = 39, } #[repr(i32)] #[doc = "\n Chrome toolbar button types. Should be kept in sync with CEF's internal\n ToolbarButtonType type.\n"] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum cef_chrome_toolbar_button_type_t { - CEF_CTBT_CAST = 0, - CEF_CTBT_DOWNLOAD = 1, - CEF_CTBT_SEND_TAB_TO_SELF = 2, - CEF_CTBT_SIDE_PANEL = 3, + CEF_CTBT_CAST_DEPRECATED = 0, + CEF_CTBT_DOWNLOAD_DEPRECATED = 1, + CEF_CTBT_SEND_TAB_TO_SELF_DEPRECATED = 2, + CEF_CTBT_SIDE_PANEL_DEPRECATED = 3, + CEF_CTBT_MEDIA = 4, + CEF_CTBT_TAB_SEARCH = 5, + CEF_CTBT_BATTERY_SAVER = 6, + CEF_CTBT_AVATAR = 7, + CEF_CTBT_NUM_VALUES = 8, } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_touch_handle_state_t { + #[doc = "\n Size of this structure.\n"] + pub size: usize, #[doc = "\n Touch handle id. Increments for each new touch handle.\n"] pub touch_handle_id: ::std::os::raw::c_int, #[doc = "\n Combination of cef_touch_handle_state_flags_t values indicating what state\n is set.\n"] @@ -2260,6 +2701,8 @@ pub enum cef_permission_request_result_t { CEF_PERMISSION_RESULT_DISMISS = 2, #[doc = "\n Ignore the permission request. If the prompt remains unhandled (e.g.\n OnShowPermissionPrompt returns false and there is no default permissions\n UI) then any related promises may remain unresolved.\n"] CEF_PERMISSION_RESULT_IGNORE = 3, + #[doc = "\n Ignore the permission request. If the prompt remains unhandled (e.g.\n OnShowPermissionPrompt returns false and there is no default permissions\n UI) then any related promises may remain unresolved.\n"] + CEF_PERMISSION_RESULT_NUM_VALUES = 4, } #[repr(i32)] #[doc = "\n Preferences type passed to\n CefBrowserProcessHandler::OnRegisterCustomPreferences.\n"] @@ -2269,6 +2712,8 @@ pub enum cef_preferences_type_t { CEF_PREFERENCES_TYPE_GLOBAL = 0, #[doc = " Request context preferences registered each time a new CefRequestContext\n is created."] CEF_PREFERENCES_TYPE_REQUEST_CONTEXT = 1, + #[doc = " Request context preferences registered each time a new CefRequestContext\n is created."] + CEF_PREFERENCES_TYPE_NUM_VALUES = 2, } #[repr(i32)] #[doc = "\n Download interrupt reasons. Should be kept in sync with\n Chromium's download::DownloadInterruptReason type.\n"] @@ -2342,6 +2787,19 @@ pub enum cef_zoom_command_t { CEF_ZOOM_COMMAND_RESET = 1, CEF_ZOOM_COMMAND_IN = 2, } +#[repr(i32)] +#[doc = "\n Specifies the color variants supported by\n CefRequestContext::SetChromeThemeColor.\n"] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum cef_color_variant_t { + CEF_COLOR_VARIANT_SYSTEM = 0, + CEF_COLOR_VARIANT_LIGHT = 1, + CEF_COLOR_VARIANT_DARK = 2, + CEF_COLOR_VARIANT_TONAL_SPOT = 3, + CEF_COLOR_VARIANT_NEUTRAL = 4, + CEF_COLOR_VARIANT_VIBRANT = 5, + CEF_COLOR_VARIANT_EXPRESSIVE = 6, + CEF_COLOR_VARIANT_NUM_VALUES = 7, +} #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_string_map_t { @@ -2349,15 +2807,15 @@ pub struct _cef_string_map_t { } #[doc = "\n CEF string maps are a set of key/value string pairs.\n"] pub type cef_string_map_t = *mut _cef_string_map_t; -extern "C" { +unsafe extern "C" { #[doc = "\n Allocate a new string map.\n"] pub fn cef_string_map_alloc() -> cef_string_map_t; } -extern "C" { +unsafe extern "C" { #[doc = "\n Return the number of elements in the string map.\n"] pub fn cef_string_map_size(map: cef_string_map_t) -> usize; } -extern "C" { +unsafe extern "C" { #[doc = "\n Return the value assigned to the specified key.\n"] pub fn cef_string_map_find( map: cef_string_map_t, @@ -2365,7 +2823,7 @@ extern "C" { value: *mut cef_string_t, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { #[doc = "\n Return the key at the specified zero-based string map index.\n"] pub fn cef_string_map_key( map: cef_string_map_t, @@ -2373,7 +2831,7 @@ extern "C" { key: *mut cef_string_t, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { #[doc = "\n Return the value at the specified zero-based string map index.\n"] pub fn cef_string_map_value( map: cef_string_map_t, @@ -2381,7 +2839,7 @@ extern "C" { value: *mut cef_string_t, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { #[doc = "\n Append a new key/value pair at the end of the string map. If the key exists,\n overwrite the existing value with a new value w/o changing the pair order.\n"] pub fn cef_string_map_append( map: cef_string_map_t, @@ -2389,11 +2847,11 @@ extern "C" { value: *const cef_string_t, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { #[doc = "\n Clear the string map.\n"] pub fn cef_string_map_clear(map: cef_string_map_t); } -extern "C" { +unsafe extern "C" { #[doc = "\n Free the string map.\n"] pub fn cef_string_map_free(map: cef_string_map_t); } @@ -2404,22 +2862,22 @@ pub struct _cef_string_multimap_t { } #[doc = "\n CEF string multimaps are a set of key/value string pairs.\n More than one value can be assigned to a single key.\n"] pub type cef_string_multimap_t = *mut _cef_string_multimap_t; -extern "C" { +unsafe extern "C" { #[doc = "\n Allocate a new string multimap.\n"] pub fn cef_string_multimap_alloc() -> cef_string_multimap_t; } -extern "C" { +unsafe extern "C" { #[doc = "\n Return the number of elements in the string multimap.\n"] pub fn cef_string_multimap_size(map: cef_string_multimap_t) -> usize; } -extern "C" { +unsafe extern "C" { #[doc = "\n Return the number of values with the specified key.\n"] pub fn cef_string_multimap_find_count( map: cef_string_multimap_t, key: *const cef_string_t, ) -> usize; } -extern "C" { +unsafe extern "C" { #[doc = "\n Return the value_index-th value with the specified key.\n"] pub fn cef_string_multimap_enumerate( map: cef_string_multimap_t, @@ -2428,7 +2886,7 @@ extern "C" { value: *mut cef_string_t, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { #[doc = "\n Return the key at the specified zero-based string multimap index.\n"] pub fn cef_string_multimap_key( map: cef_string_multimap_t, @@ -2436,7 +2894,7 @@ extern "C" { key: *mut cef_string_t, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { #[doc = "\n Return the value at the specified zero-based string multimap index.\n"] pub fn cef_string_multimap_value( map: cef_string_multimap_t, @@ -2444,7 +2902,7 @@ extern "C" { value: *mut cef_string_t, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { #[doc = "\n Append a new key/value pair at the end of the string multimap.\n"] pub fn cef_string_multimap_append( map: cef_string_multimap_t, @@ -2452,11 +2910,11 @@ extern "C" { value: *const cef_string_t, ) -> ::std::os::raw::c_int; } -extern "C" { +unsafe extern "C" { #[doc = "\n Clear the string multimap.\n"] pub fn cef_string_multimap_clear(map: cef_string_multimap_t); } -extern "C" { +unsafe extern "C" { #[doc = "\n Free the string multimap.\n"] pub fn cef_string_multimap_free(map: cef_string_multimap_t); } @@ -2494,7 +2952,7 @@ pub struct _cef_base_scoped_t { } #[doc = "\n All scoped framework structures must include this structure first.\n"] pub type cef_base_scoped_t = _cef_base_scoped_t; -#[doc = "\n Structure that wraps other data value types. Complex types (binary,\n dictionary and list) will be referenced but not owned by this object. Can be\n used on any process and thread.\n"] +#[doc = "\n Structure that wraps other data value types. Complex types (binary,\n dictionary and list) will be referenced but not owned by this object. Can be\n used on any process and thread.\n\n NOTE: This struct is allocated DLL-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_value_t { @@ -2609,13 +3067,13 @@ pub struct _cef_value_t { ) -> ::std::os::raw::c_int, >, } -#[doc = "\n Structure that wraps other data value types. Complex types (binary,\n dictionary and list) will be referenced but not owned by this object. Can be\n used on any process and thread.\n"] +#[doc = "\n Structure that wraps other data value types. Complex types (binary,\n dictionary and list) will be referenced but not owned by this object. Can be\n used on any process and thread.\n\n NOTE: This struct is allocated DLL-side.\n"] pub type cef_value_t = _cef_value_t; -extern "C" { +unsafe extern "C" { #[doc = "\n Creates a new object.\n"] pub fn cef_value_create() -> *mut cef_value_t; } -#[doc = "\n Structure representing a binary value. Can be used on any process and\n thread.\n"] +#[doc = "\n Structure representing a binary value. Can be used on any process and\n thread.\n\n NOTE: This struct is allocated DLL-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_binary_value_t { @@ -2664,16 +3122,16 @@ pub struct _cef_binary_value_t { ) -> usize, >, } -#[doc = "\n Structure representing a binary value. Can be used on any process and\n thread.\n"] +#[doc = "\n Structure representing a binary value. Can be used on any process and\n thread.\n\n NOTE: This struct is allocated DLL-side.\n"] pub type cef_binary_value_t = _cef_binary_value_t; -extern "C" { +unsafe extern "C" { #[doc = "\n Creates a new object that is not owned by any other object. The specified\n |data| will be copied.\n"] pub fn cef_binary_value_create( data: *const ::std::os::raw::c_void, data_size: usize, ) -> *mut cef_binary_value_t; } -#[doc = "\n Structure representing a dictionary value. Can be used on any process and\n thread.\n"] +#[doc = "\n Structure representing a dictionary value. Can be used on any process and\n thread.\n\n NOTE: This struct is allocated DLL-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_dictionary_value_t { @@ -2872,13 +3330,13 @@ pub struct _cef_dictionary_value_t { ) -> ::std::os::raw::c_int, >, } -#[doc = "\n Structure representing a dictionary value. Can be used on any process and\n thread.\n"] +#[doc = "\n Structure representing a dictionary value. Can be used on any process and\n thread.\n\n NOTE: This struct is allocated DLL-side.\n"] pub type cef_dictionary_value_t = _cef_dictionary_value_t; -extern "C" { +unsafe extern "C" { #[doc = "\n Creates a new object that is not owned by any other object.\n"] pub fn cef_dictionary_value_create() -> *mut cef_dictionary_value_t; } -#[doc = "\n Structure representing a list value. Can be used on any process and thread.\n"] +#[doc = "\n Structure representing a list value. Can be used on any process and thread.\n\n NOTE: This struct is allocated DLL-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_list_value_t { @@ -3040,13 +3498,13 @@ pub struct _cef_list_value_t { ) -> ::std::os::raw::c_int, >, } -#[doc = "\n Structure representing a list value. Can be used on any process and thread.\n"] +#[doc = "\n Structure representing a list value. Can be used on any process and thread.\n\n NOTE: This struct is allocated DLL-side.\n"] pub type cef_list_value_t = _cef_list_value_t; -extern "C" { +unsafe extern "C" { #[doc = "\n Creates a new object that is not owned by any other object.\n"] pub fn cef_list_value_create() -> *mut cef_list_value_t; } -#[doc = "\n Callback structure for cef_browser_host_t::AddDevToolsMessageObserver. The\n functions of this structure will be called on the browser process UI thread.\n"] +#[doc = "\n Callback structure for cef_browser_host_t::AddDevToolsMessageObserver. The\n functions of this structure will be called on the browser process UI thread.\n\n NOTE: This struct is allocated client-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_dev_tools_message_observer_t { @@ -3097,7 +3555,7 @@ pub struct _cef_dev_tools_message_observer_t { ), >, } -#[doc = "\n Container for a single image represented at different scale factors. All\n image representations should be the same size in density independent pixel\n (DIP) units. For example, if the image at scale factor 1.0 is 100x100 pixels\n then the image at scale factor 2.0 should be 200x200 pixels -- both images\n will display with a DIP size of 100x100 units. The functions of this\n structure can be called on any browser process thread.\n"] +#[doc = "\n Container for a single image represented at different scale factors. All\n image representations should be the same size in density independent pixel\n (DIP) units. For example, if the image at scale factor 1.0 is 100x100 pixels\n then the image at scale factor 2.0 should be 200x200 pixels -- both images\n will display with a DIP size of 100x100 units. The functions of this\n structure can be called on any browser process thread.\n\n NOTE: This struct is allocated DLL-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_image_t { @@ -3199,13 +3657,13 @@ pub struct _cef_image_t { ) -> *mut _cef_binary_value_t, >, } -#[doc = "\n Container for a single image represented at different scale factors. All\n image representations should be the same size in density independent pixel\n (DIP) units. For example, if the image at scale factor 1.0 is 100x100 pixels\n then the image at scale factor 2.0 should be 200x200 pixels -- both images\n will display with a DIP size of 100x100 units. The functions of this\n structure can be called on any browser process thread.\n"] +#[doc = "\n Container for a single image represented at different scale factors. All\n image representations should be the same size in density independent pixel\n (DIP) units. For example, if the image at scale factor 1.0 is 100x100 pixels\n then the image at scale factor 2.0 should be 200x200 pixels -- both images\n will display with a DIP size of 100x100 units. The functions of this\n structure can be called on any browser process thread.\n\n NOTE: This struct is allocated DLL-side.\n"] pub type cef_image_t = _cef_image_t; -extern "C" { +unsafe extern "C" { #[doc = "\n Create a new cef_image_t. It will initially be NULL. Use the Add*()\n functions to add representations at different scale factors.\n"] pub fn cef_image_create() -> *mut cef_image_t; } -#[doc = "\n Structure the client can implement to provide a custom stream reader. The\n functions of this structure may be called on any thread.\n"] +#[doc = "\n Structure the client can implement to provide a custom stream reader. The\n functions of this structure may be called on any thread.\n\n NOTE: This struct is allocated client-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_read_handler_t { @@ -3239,9 +3697,9 @@ pub struct _cef_read_handler_t { unsafe extern "C" fn(self_: *mut _cef_read_handler_t) -> ::std::os::raw::c_int, >, } -#[doc = "\n Structure the client can implement to provide a custom stream reader. The\n functions of this structure may be called on any thread.\n"] +#[doc = "\n Structure the client can implement to provide a custom stream reader. The\n functions of this structure may be called on any thread.\n\n NOTE: This struct is allocated client-side.\n"] pub type cef_read_handler_t = _cef_read_handler_t; -#[doc = "\n Structure used to read data from a stream. The functions of this structure\n may be called on any thread.\n"] +#[doc = "\n Structure used to read data from a stream. The functions of this structure\n may be called on any thread.\n\n NOTE: This struct is allocated DLL-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_stream_reader_t { @@ -3275,28 +3733,28 @@ pub struct _cef_stream_reader_t { unsafe extern "C" fn(self_: *mut _cef_stream_reader_t) -> ::std::os::raw::c_int, >, } -#[doc = "\n Structure used to read data from a stream. The functions of this structure\n may be called on any thread.\n"] +#[doc = "\n Structure used to read data from a stream. The functions of this structure\n may be called on any thread.\n\n NOTE: This struct is allocated DLL-side.\n"] pub type cef_stream_reader_t = _cef_stream_reader_t; -extern "C" { +unsafe extern "C" { #[doc = "\n Create a new cef_stream_reader_t object from a file.\n"] pub fn cef_stream_reader_create_for_file( fileName: *const cef_string_t, ) -> *mut cef_stream_reader_t; } -extern "C" { +unsafe extern "C" { #[doc = "\n Create a new cef_stream_reader_t object from data.\n"] pub fn cef_stream_reader_create_for_data( data: *mut ::std::os::raw::c_void, size: usize, ) -> *mut cef_stream_reader_t; } -extern "C" { +unsafe extern "C" { #[doc = "\n Create a new cef_stream_reader_t object from a custom handler.\n"] pub fn cef_stream_reader_create_for_handler( handler: *mut cef_read_handler_t, ) -> *mut cef_stream_reader_t; } -#[doc = "\n Structure the client can implement to provide a custom stream writer. The\n functions of this structure may be called on any thread.\n"] +#[doc = "\n Structure the client can implement to provide a custom stream writer. The\n functions of this structure may be called on any thread.\n\n NOTE: This struct is allocated client-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_write_handler_t { @@ -3330,9 +3788,9 @@ pub struct _cef_write_handler_t { unsafe extern "C" fn(self_: *mut _cef_write_handler_t) -> ::std::os::raw::c_int, >, } -#[doc = "\n Structure the client can implement to provide a custom stream writer. The\n functions of this structure may be called on any thread.\n"] +#[doc = "\n Structure the client can implement to provide a custom stream writer. The\n functions of this structure may be called on any thread.\n\n NOTE: This struct is allocated client-side.\n"] pub type cef_write_handler_t = _cef_write_handler_t; -#[doc = "\n Structure used to write data to a stream. The functions of this structure\n may be called on any thread.\n"] +#[doc = "\n Structure used to write data to a stream. The functions of this structure\n may be called on any thread.\n\n NOTE: This struct is allocated DLL-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_stream_writer_t { @@ -3366,21 +3824,21 @@ pub struct _cef_stream_writer_t { unsafe extern "C" fn(self_: *mut _cef_stream_writer_t) -> ::std::os::raw::c_int, >, } -#[doc = "\n Structure used to write data to a stream. The functions of this structure\n may be called on any thread.\n"] +#[doc = "\n Structure used to write data to a stream. The functions of this structure\n may be called on any thread.\n\n NOTE: This struct is allocated DLL-side.\n"] pub type cef_stream_writer_t = _cef_stream_writer_t; -extern "C" { +unsafe extern "C" { #[doc = "\n Create a new cef_stream_writer_t object for a file.\n"] pub fn cef_stream_writer_create_for_file( fileName: *const cef_string_t, ) -> *mut cef_stream_writer_t; } -extern "C" { +unsafe extern "C" { #[doc = "\n Create a new cef_stream_writer_t object for a custom handler.\n"] pub fn cef_stream_writer_create_for_handler( handler: *mut cef_write_handler_t, ) -> *mut cef_stream_writer_t; } -#[doc = "\n Structure used to represent drag data. The functions of this structure may\n be called on any thread.\n"] +#[doc = "\n Structure used to represent drag data. The functions of this structure may\n be called on any thread.\n\n NOTE: This struct is allocated DLL-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_drag_data_t { @@ -3504,13 +3962,13 @@ pub struct _cef_drag_data_t { unsafe extern "C" fn(self_: *mut _cef_drag_data_t) -> ::std::os::raw::c_int, >, } -#[doc = "\n Structure used to represent drag data. The functions of this structure may\n be called on any thread.\n"] +#[doc = "\n Structure used to represent drag data. The functions of this structure may\n be called on any thread.\n\n NOTE: This struct is allocated DLL-side.\n"] pub type cef_drag_data_t = _cef_drag_data_t; -extern "C" { +unsafe extern "C" { #[doc = "\n Create a new cef_drag_data_t object.\n"] pub fn cef_drag_data_create() -> *mut cef_drag_data_t; } -#[doc = "\n Structure to implement for visiting the DOM. The functions of this structure\n will be called on the render process main thread.\n"] +#[doc = "\n Structure to implement for visiting the DOM. The functions of this structure\n will be called on the render process main thread.\n\n NOTE: This struct is allocated client-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_domvisitor_t { @@ -3521,7 +3979,7 @@ pub struct _cef_domvisitor_t { unsafe extern "C" fn(self_: *mut _cef_domvisitor_t, document: *mut _cef_domdocument_t), >, } -#[doc = "\n Structure used to represent a DOM document. The functions of this structure\n should only be called on the render process main thread thread.\n"] +#[doc = "\n Structure used to represent a DOM document. The functions of this structure\n should only be called on the render process main thread thread.\n\n NOTE: This struct is allocated DLL-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_domdocument_t { @@ -3590,7 +4048,7 @@ pub struct _cef_domdocument_t { ) -> cef_string_userfree_t, >, } -#[doc = "\n Structure used to represent a DOM node. The functions of this structure\n should only be called on the render process main thread.\n"] +#[doc = "\n Structure used to represent a DOM node. The functions of this structure\n should only be called on the render process main thread.\n\n NOTE: This struct is allocated DLL-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_domnode_t { @@ -3716,7 +4174,7 @@ pub struct _cef_domnode_t { pub get_element_bounds: ::std::option::Option cef_rect_t>, } -#[doc = "\n Structure that wraps platform-dependent share memory region mapping.\n"] +#[doc = "\n Structure that wraps platform-dependent share memory region mapping.\n\n NOTE: This struct is allocated DLL-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_shared_memory_region_t { @@ -3737,7 +4195,7 @@ pub struct _cef_shared_memory_region_t { ) -> *mut ::std::os::raw::c_void, >, } -#[doc = "\n Structure representing a message. Can be used on any process and thread.\n"] +#[doc = "\n Structure representing a message. Can be used on any process and thread.\n\n NOTE: This struct is allocated DLL-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_process_message_t { @@ -3770,13 +4228,13 @@ pub struct _cef_process_message_t { ) -> *mut _cef_shared_memory_region_t, >, } -#[doc = "\n Structure representing a message. Can be used on any process and thread.\n"] +#[doc = "\n Structure representing a message. Can be used on any process and thread.\n\n NOTE: This struct is allocated DLL-side.\n"] pub type cef_process_message_t = _cef_process_message_t; -extern "C" { +unsafe extern "C" { #[doc = "\n Create a new cef_process_message_t object with the specified name.\n"] pub fn cef_process_message_create(name: *const cef_string_t) -> *mut cef_process_message_t; } -#[doc = "\n Structure used to represent a web request. The functions of this structure\n may be called on any thread.\n"] +#[doc = "\n Structure used to represent a web request. The functions of this structure\n may be called on any thread.\n\n NOTE: This struct is allocated DLL-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_request_t { @@ -3888,13 +4346,13 @@ pub struct _cef_request_t { pub get_identifier: ::std::option::Option u64>, } -#[doc = "\n Structure used to represent a web request. The functions of this structure\n may be called on any thread.\n"] +#[doc = "\n Structure used to represent a web request. The functions of this structure\n may be called on any thread.\n\n NOTE: This struct is allocated DLL-side.\n"] pub type cef_request_t = _cef_request_t; -extern "C" { +unsafe extern "C" { #[doc = "\n Create a new cef_request_t object.\n"] pub fn cef_request_create() -> *mut cef_request_t; } -#[doc = "\n Structure used to represent post data for a web request. The functions of\n this structure may be called on any thread.\n"] +#[doc = "\n Structure used to represent post data for a web request. The functions of\n this structure may be called on any thread.\n\n NOTE: This struct is allocated DLL-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_post_data_t { @@ -3936,13 +4394,13 @@ pub struct _cef_post_data_t { #[doc = "\n Remove all existing post data elements.\n"] pub remove_elements: ::std::option::Option, } -#[doc = "\n Structure used to represent post data for a web request. The functions of\n this structure may be called on any thread.\n"] +#[doc = "\n Structure used to represent post data for a web request. The functions of\n this structure may be called on any thread.\n\n NOTE: This struct is allocated DLL-side.\n"] pub type cef_post_data_t = _cef_post_data_t; -extern "C" { +unsafe extern "C" { #[doc = "\n Create a new cef_post_data_t object.\n"] pub fn cef_post_data_create() -> *mut cef_post_data_t; } -#[doc = "\n Structure used to represent a single element in the request post data. The\n functions of this structure may be called on any thread.\n"] +#[doc = "\n Structure used to represent a single element in the request post data. The\n functions of this structure may be called on any thread.\n\n NOTE: This struct is allocated DLL-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_post_data_element_t { @@ -3987,13 +4445,13 @@ pub struct _cef_post_data_element_t { ) -> usize, >, } -#[doc = "\n Structure used to represent a single element in the request post data. The\n functions of this structure may be called on any thread.\n"] +#[doc = "\n Structure used to represent a single element in the request post data. The\n functions of this structure may be called on any thread.\n\n NOTE: This struct is allocated DLL-side.\n"] pub type cef_post_data_element_t = _cef_post_data_element_t; -extern "C" { +unsafe extern "C" { #[doc = "\n Create a new cef_post_data_element_t object.\n"] pub fn cef_post_data_element_create() -> *mut cef_post_data_element_t; } -#[doc = "\n Implement this structure to receive string values asynchronously.\n"] +#[doc = "\n Implement this structure to receive string values asynchronously.\n\n NOTE: This struct is allocated client-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone, JNICEFCallback)] pub struct _cef_string_visitor_t { @@ -4004,7 +4462,7 @@ pub struct _cef_string_visitor_t { unsafe extern "C" fn(self_: *mut _cef_string_visitor_t, string: *const cef_string_t), >, } -#[doc = "\n Structure used to represent a frame in the browser window. When used in the\n browser process the functions of this structure may be called on any thread\n unless otherwise indicated in the comments. When used in the render process\n the functions of this structure may only be called on the main thread.\n"] +#[doc = "\n Structure used to represent a frame in the browser window. When used in the\n browser process the functions of this structure may be called on any thread\n unless otherwise indicated in the comments. When used in the render process\n the functions of this structure may only be called on the main thread.\n\n NOTE: This struct is allocated DLL-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_frame_t { @@ -4024,6 +4482,9 @@ pub struct _cef_frame_t { pub copy: ::std::option::Option, #[doc = "\n Execute paste in this frame.\n"] pub paste: ::std::option::Option, + #[doc = "\n Execute paste and match style in this frame.\n"] + pub paste_and_match_style: + ::std::option::Option, #[doc = "\n Execute delete in this frame.\n"] pub del: ::std::option::Option, #[doc = "\n Execute select all in this frame.\n"] @@ -4083,8 +4544,8 @@ pub struct _cef_frame_t { unsafe extern "C" fn(self_: *mut _cef_frame_t) -> *mut _cef_browser_t, >, #[doc = "\n Get the V8 context associated with the frame. This function can only be\n called from the render process.\n"] - pub get_v8context: ::std::option::Option< - unsafe extern "C" fn(self_: *mut _cef_frame_t) -> *mut _cef_v8context_t, + pub get_v8_context: ::std::option::Option< + unsafe extern "C" fn(self_: *mut _cef_frame_t) -> *mut _cef_v8_context_t, >, #[doc = "\n Visit the DOM document. This function can only be called from the render\n process.\n"] pub visit_dom: ::std::option::Option< @@ -4107,82 +4568,86 @@ pub struct _cef_frame_t { ), >, } -#[doc = "\n Structure representing the issuer or subject field of an X.509 certificate.\n"] +#[doc = "\n Structure representing the issuer or subject field of an X.509 certificate.\n\n NOTE: This struct is allocated DLL-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct _cef_x509cert_principal_t { +pub struct _cef_x509_cert_principal_t { #[doc = "\n Base structure.\n"] pub base: cef_base_ref_counted_t, #[doc = "\n Returns a name that can be used to represent the issuer. It tries in this\n order: Common Name (CN), Organization Name (O) and Organizational Unit\n Name (OU) and returns the first non-NULL one found.\n\n The resulting string must be freed by calling cef_string_userfree_free()."] pub get_display_name: ::std::option::Option< - unsafe extern "C" fn(self_: *mut _cef_x509cert_principal_t) -> cef_string_userfree_t, + unsafe extern "C" fn(self_: *mut _cef_x509_cert_principal_t) -> cef_string_userfree_t, >, #[doc = "\n Returns the common name.\n\n The resulting string must be freed by calling cef_string_userfree_free()."] pub get_common_name: ::std::option::Option< - unsafe extern "C" fn(self_: *mut _cef_x509cert_principal_t) -> cef_string_userfree_t, + unsafe extern "C" fn(self_: *mut _cef_x509_cert_principal_t) -> cef_string_userfree_t, >, #[doc = "\n Returns the locality name.\n\n The resulting string must be freed by calling cef_string_userfree_free()."] pub get_locality_name: ::std::option::Option< - unsafe extern "C" fn(self_: *mut _cef_x509cert_principal_t) -> cef_string_userfree_t, + unsafe extern "C" fn(self_: *mut _cef_x509_cert_principal_t) -> cef_string_userfree_t, >, #[doc = "\n Returns the state or province name.\n\n The resulting string must be freed by calling cef_string_userfree_free()."] pub get_state_or_province_name: ::std::option::Option< - unsafe extern "C" fn(self_: *mut _cef_x509cert_principal_t) -> cef_string_userfree_t, + unsafe extern "C" fn(self_: *mut _cef_x509_cert_principal_t) -> cef_string_userfree_t, >, #[doc = "\n Returns the country name.\n\n The resulting string must be freed by calling cef_string_userfree_free()."] pub get_country_name: ::std::option::Option< - unsafe extern "C" fn(self_: *mut _cef_x509cert_principal_t) -> cef_string_userfree_t, + unsafe extern "C" fn(self_: *mut _cef_x509_cert_principal_t) -> cef_string_userfree_t, >, #[doc = "\n Retrieve the list of organization names.\n"] pub get_organization_names: ::std::option::Option< - unsafe extern "C" fn(self_: *mut _cef_x509cert_principal_t, names: cef_string_list_t), + unsafe extern "C" fn(self_: *mut _cef_x509_cert_principal_t, names: cef_string_list_t), >, #[doc = "\n Retrieve the list of organization unit names.\n"] pub get_organization_unit_names: ::std::option::Option< - unsafe extern "C" fn(self_: *mut _cef_x509cert_principal_t, names: cef_string_list_t), + unsafe extern "C" fn(self_: *mut _cef_x509_cert_principal_t, names: cef_string_list_t), >, } -#[doc = "\n Structure representing a X.509 certificate.\n"] +#[doc = "\n Structure representing a X.509 certificate.\n\n NOTE: This struct is allocated DLL-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct _cef_x509certificate_t { +pub struct _cef_x509_certificate_t { #[doc = "\n Base structure.\n"] pub base: cef_base_ref_counted_t, #[doc = "\n Returns the subject of the X.509 certificate. For HTTPS server\n certificates this represents the web server. The common name of the\n subject should match the host name of the web server.\n"] pub get_subject: ::std::option::Option< - unsafe extern "C" fn(self_: *mut _cef_x509certificate_t) -> *mut _cef_x509cert_principal_t, + unsafe extern "C" fn( + self_: *mut _cef_x509_certificate_t, + ) -> *mut _cef_x509_cert_principal_t, >, #[doc = "\n Returns the issuer of the X.509 certificate.\n"] pub get_issuer: ::std::option::Option< - unsafe extern "C" fn(self_: *mut _cef_x509certificate_t) -> *mut _cef_x509cert_principal_t, + unsafe extern "C" fn( + self_: *mut _cef_x509_certificate_t, + ) -> *mut _cef_x509_cert_principal_t, >, #[doc = "\n Returns the DER encoded serial number for the X.509 certificate. The value\n possibly includes a leading 00 byte.\n"] pub get_serial_number: ::std::option::Option< - unsafe extern "C" fn(self_: *mut _cef_x509certificate_t) -> *mut _cef_binary_value_t, + unsafe extern "C" fn(self_: *mut _cef_x509_certificate_t) -> *mut _cef_binary_value_t, >, #[doc = "\n Returns the date before which the X.509 certificate is invalid.\n CefBaseTime.GetTimeT() will return 0 if no date was specified.\n"] pub get_valid_start: ::std::option::Option< - unsafe extern "C" fn(self_: *mut _cef_x509certificate_t) -> cef_basetime_t, + unsafe extern "C" fn(self_: *mut _cef_x509_certificate_t) -> cef_basetime_t, >, #[doc = "\n Returns the date after which the X.509 certificate is invalid.\n CefBaseTime.GetTimeT() will return 0 if no date was specified.\n"] pub get_valid_expiry: ::std::option::Option< - unsafe extern "C" fn(self_: *mut _cef_x509certificate_t) -> cef_basetime_t, + unsafe extern "C" fn(self_: *mut _cef_x509_certificate_t) -> cef_basetime_t, >, #[doc = "\n Returns the DER encoded data for the X.509 certificate.\n"] pub get_derencoded: ::std::option::Option< - unsafe extern "C" fn(self_: *mut _cef_x509certificate_t) -> *mut _cef_binary_value_t, + unsafe extern "C" fn(self_: *mut _cef_x509_certificate_t) -> *mut _cef_binary_value_t, >, #[doc = "\n Returns the PEM encoded data for the X.509 certificate.\n"] pub get_pemencoded: ::std::option::Option< - unsafe extern "C" fn(self_: *mut _cef_x509certificate_t) -> *mut _cef_binary_value_t, + unsafe extern "C" fn(self_: *mut _cef_x509_certificate_t) -> *mut _cef_binary_value_t, >, #[doc = "\n Returns the number of certificates in the issuer chain. If 0, the\n certificate is self-signed.\n"] pub get_issuer_chain_size: - ::std::option::Option usize>, + ::std::option::Option usize>, #[doc = "\n Returns the DER encoded data for the certificate issuer chain. If we\n failed to encode a certificate in the chain it is still present in the\n array but is an NULL string.\n"] pub get_derencoded_issuer_chain: ::std::option::Option< unsafe extern "C" fn( - self_: *mut _cef_x509certificate_t, + self_: *mut _cef_x509_certificate_t, chainCount: *mut usize, chain: *mut *mut _cef_binary_value_t, ), @@ -4190,13 +4655,13 @@ pub struct _cef_x509certificate_t { #[doc = "\n Returns the PEM encoded data for the certificate issuer chain. If we\n failed to encode a certificate in the chain it is still present in the\n array but is an NULL string.\n"] pub get_pemencoded_issuer_chain: ::std::option::Option< unsafe extern "C" fn( - self_: *mut _cef_x509certificate_t, + self_: *mut _cef_x509_certificate_t, chainCount: *mut usize, chain: *mut *mut _cef_binary_value_t, ), >, } -#[doc = "\n Structure representing the SSL information for a navigation entry.\n"] +#[doc = "\n Structure representing the SSL information for a navigation entry.\n\n NOTE: This struct is allocated DLL-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_sslstatus_t { @@ -4219,11 +4684,11 @@ pub struct _cef_sslstatus_t { unsafe extern "C" fn(self_: *mut _cef_sslstatus_t) -> cef_ssl_content_status_t, >, #[doc = "\n Returns the X.509 certificate.\n"] - pub get_x509certificate: ::std::option::Option< - unsafe extern "C" fn(self_: *mut _cef_sslstatus_t) -> *mut _cef_x509certificate_t, + pub get_x509_certificate: ::std::option::Option< + unsafe extern "C" fn(self_: *mut _cef_sslstatus_t) -> *mut _cef_x509_certificate_t, >, } -#[doc = "\n Structure used to represent an entry in navigation history.\n"] +#[doc = "\n Structure used to represent an entry in navigation history.\n\n NOTE: This struct is allocated DLL-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_navigation_entry_t { @@ -4270,14 +4735,14 @@ pub struct _cef_navigation_entry_t { unsafe extern "C" fn(self_: *mut _cef_navigation_entry_t) -> *mut _cef_sslstatus_t, >, } -#[doc = "\n Generic callback structure used for managing the lifespan of a registration.\n"] +#[doc = "\n Generic callback structure used for managing the lifespan of a registration.\n\n NOTE: This struct is allocated DLL-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_registration_t { #[doc = "\n Base structure.\n"] pub base: cef_base_ref_counted_t, } -#[doc = "\n Generic callback structure used for asynchronous continuation.\n"] +#[doc = "\n Generic callback structure used for asynchronous continuation.\n\n NOTE: This struct is allocated DLL-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_callback_t { @@ -4288,7 +4753,7 @@ pub struct _cef_callback_t { #[doc = "\n Cancel processing.\n"] pub cancel: ::std::option::Option, } -#[doc = "\n Generic callback structure used for asynchronous completion.\n"] +#[doc = "\n Generic callback structure used for asynchronous completion.\n\n NOTE: This struct is allocated client-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_completion_callback_t { @@ -4298,7 +4763,7 @@ pub struct _cef_completion_callback_t { pub on_complete: ::std::option::Option, } -#[doc = "\n Structure used for managing cookies. The functions of this structure may be\n called on any thread unless otherwise indicated.\n"] +#[doc = "\n Structure used for managing cookies. The functions of this structure may be\n called on any thread unless otherwise indicated.\n\n NOTE: This struct is allocated DLL-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_cookie_manager_t { @@ -4346,15 +4811,15 @@ pub struct _cef_cookie_manager_t { ) -> ::std::os::raw::c_int, >, } -#[doc = "\n Structure used for managing cookies. The functions of this structure may be\n called on any thread unless otherwise indicated.\n"] +#[doc = "\n Structure used for managing cookies. The functions of this structure may be\n called on any thread unless otherwise indicated.\n\n NOTE: This struct is allocated DLL-side.\n"] pub type cef_cookie_manager_t = _cef_cookie_manager_t; -extern "C" { +unsafe extern "C" { #[doc = "\n Returns the global cookie manager. By default data will be stored at\n cef_settings_t.cache_path if specified or in memory otherwise. If |callback|\n is non-NULL it will be executed asnychronously on the UI thread after the\n manager's storage has been initialized. Using this function is equivalent to\n calling cef_request_context_t::cef_request_context_get_global_context()-\n >GetDefaultCookieManager().\n"] pub fn cef_cookie_manager_get_global_manager( callback: *mut _cef_completion_callback_t, ) -> *mut cef_cookie_manager_t; } -#[doc = "\n Structure to implement for visiting cookie values. The functions of this\n structure will always be called on the UI thread.\n"] +#[doc = "\n Structure to implement for visiting cookie values. The functions of this\n structure will always be called on the UI thread.\n\n NOTE: This struct is allocated client-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone, JNICEFCallback)] pub struct _cef_cookie_visitor_t { @@ -4371,7 +4836,7 @@ pub struct _cef_cookie_visitor_t { ) -> ::std::os::raw::c_int, >, } -#[doc = "\n Structure to implement to be notified of asynchronous completion via\n cef_cookie_manager_t::set_cookie().\n"] +#[doc = "\n Structure to implement to be notified of asynchronous completion via\n cef_cookie_manager_t::set_cookie().\n\n NOTE: This struct is allocated client-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_set_cookie_callback_t { @@ -4385,7 +4850,7 @@ pub struct _cef_set_cookie_callback_t { ), >, } -#[doc = "\n Structure to implement to be notified of asynchronous completion via\n cef_cookie_manager_t::delete_cookies().\n"] +#[doc = "\n Structure to implement to be notified of asynchronous completion via\n cef_cookie_manager_t::delete_cookies().\n\n NOTE: This struct is allocated client-side.\n"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _cef_delete_cookies_callback_t { @@ -4399,144 +4864,7 @@ pub struct _cef_delete_cookies_callback_t { ), >, } -#[doc = "\n Object representing an extension. Methods may be called on any thread unless\n otherwise indicated.\n"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _cef_extension_t { - #[doc = "\n Base structure.\n"] - pub base: cef_base_ref_counted_t, - #[doc = "\n Returns the unique extension identifier. This is calculated based on the\n extension public key, if available, or on the extension path. See\n https://developer.chrome.com/extensions/manifest/key for details.\n\n The resulting string must be freed by calling cef_string_userfree_free()."] - pub get_identifier: ::std::option::Option< - unsafe extern "C" fn(self_: *mut _cef_extension_t) -> cef_string_userfree_t, - >, - #[doc = "\n Returns the absolute path to the extension directory on disk. This value\n will be prefixed with PK_DIR_RESOURCES if a relative path was passed to\n cef_request_context_t::LoadExtension.\n\n The resulting string must be freed by calling cef_string_userfree_free()."] - pub get_path: ::std::option::Option< - unsafe extern "C" fn(self_: *mut _cef_extension_t) -> cef_string_userfree_t, - >, - #[doc = "\n Returns the extension manifest contents as a cef_dictionary_value_t\n object. See https://developer.chrome.com/extensions/manifest for details.\n"] - pub get_manifest: ::std::option::Option< - unsafe extern "C" fn(self_: *mut _cef_extension_t) -> *mut _cef_dictionary_value_t, - >, - #[doc = "\n Returns true (1) if this object is the same extension as |that| object.\n Extensions are considered the same if identifier, path and loader context\n match.\n"] - pub is_same: ::std::option::Option< - unsafe extern "C" fn( - self_: *mut _cef_extension_t, - that: *mut _cef_extension_t, - ) -> ::std::os::raw::c_int, - >, - #[doc = "\n Returns the handler for this extension. Will return NULL for internal\n extensions or if no handler was passed to\n cef_request_context_t::LoadExtension.\n"] - pub get_handler: ::std::option::Option< - unsafe extern "C" fn(self_: *mut _cef_extension_t) -> *mut _cef_extension_handler_t, - >, - #[doc = "\n Returns the request context that loaded this extension. Will return NULL\n for internal extensions or if the extension has been unloaded. See the\n cef_request_context_t::LoadExtension documentation for more information\n about loader contexts. Must be called on the browser process UI thread.\n"] - pub get_loader_context: ::std::option::Option< - unsafe extern "C" fn(self_: *mut _cef_extension_t) -> *mut _cef_request_context_t, - >, - #[doc = "\n Returns true (1) if this extension is currently loaded. Must be called on\n the browser process UI thread.\n"] - pub is_loaded: ::std::option::Option< - unsafe extern "C" fn(self_: *mut _cef_extension_t) -> ::std::os::raw::c_int, - >, - #[doc = "\n Unload this extension if it is not an internal extension and is currently\n loaded. Will result in a call to\n cef_extension_handler_t::OnExtensionUnloaded on success.\n"] - pub unload: ::std::option::Option, -} -#[doc = "\n Callback structure used for asynchronous continuation of\n cef_extension_handler_t::GetExtensionResource.\n"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _cef_get_extension_resource_callback_t { - #[doc = "\n Base structure.\n"] - pub base: cef_base_ref_counted_t, - #[doc = "\n Continue the request. Read the resource contents from |stream|.\n"] - pub cont: ::std::option::Option< - unsafe extern "C" fn( - self_: *mut _cef_get_extension_resource_callback_t, - stream: *mut _cef_stream_reader_t, - ), - >, - #[doc = "\n Cancel the request.\n"] - pub cancel: ::std::option::Option< - unsafe extern "C" fn(self_: *mut _cef_get_extension_resource_callback_t), - >, -} -#[doc = "\n Implement this structure to handle events related to browser extensions. The\n functions of this structure will be called on the UI thread. See\n cef_request_context_t::LoadExtension for information about extension\n loading.\n"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _cef_extension_handler_t { - #[doc = "\n Base structure.\n"] - pub base: cef_base_ref_counted_t, - #[doc = "\n Called if the cef_request_context_t::LoadExtension request fails. |result|\n will be the error code.\n"] - pub on_extension_load_failed: ::std::option::Option< - unsafe extern "C" fn(self_: *mut _cef_extension_handler_t, result: cef_errorcode_t), - >, - #[doc = "\n Called if the cef_request_context_t::LoadExtension request succeeds.\n |extension| is the loaded extension.\n"] - pub on_extension_loaded: ::std::option::Option< - unsafe extern "C" fn( - self_: *mut _cef_extension_handler_t, - extension: *mut _cef_extension_t, - ), - >, - #[doc = "\n Called after the cef_extension_t::Unload request has completed.\n"] - pub on_extension_unloaded: ::std::option::Option< - unsafe extern "C" fn( - self_: *mut _cef_extension_handler_t, - extension: *mut _cef_extension_t, - ), - >, - #[doc = "\n Called when an extension needs a browser to host a background script\n specified via the \"background\" manifest key. The browser will have no\n visible window and cannot be displayed. |extension| is the extension that\n is loading the background script. |url| is an internally generated\n reference to an HTML page that will be used to load the background script\n via a \"