/* automatically generated by rust-bindgen 0.68.1 */
pub type __uint16_t = ::std::os::raw::c_ushort;
pub type __uint_least16_t = __uint16_t;
pub type __time_t = ::std::os::raw::c_long;
pub type wchar_t = ::std::os::raw::c_int;
pub type char16_t = __uint_least16_t;
#[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)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_string_wide_t {
pub str_: *mut wchar_t,
pub length: usize,
pub dtor: ::std::option::Option<unsafe extern "C" fn(str_: *mut wchar_t)>,
}
#[test]
fn bindgen_test_layout__cef_string_wide_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_string_wide_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_string_wide_t>(),
24usize,
concat!("Size of: ", stringify!(_cef_string_wide_t))
);
assert_eq!(
::std::mem::align_of::<_cef_string_wide_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_string_wide_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_string_wide_t),
"::",
stringify!(str_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_cef_string_wide_t),
"::",
stringify!(length)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).dtor) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_cef_string_wide_t),
"::",
stringify!(dtor)
)
);
}
#[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"]
pub type cef_string_wide_t = _cef_string_wide_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_string_utf8_t {
pub str_: *mut ::std::os::raw::c_char,
pub length: usize,
pub dtor: ::std::option::Option<unsafe extern "C" fn(str_: *mut ::std::os::raw::c_char)>,
}
#[test]
fn bindgen_test_layout__cef_string_utf8_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_string_utf8_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_string_utf8_t>(),
24usize,
concat!("Size of: ", stringify!(_cef_string_utf8_t))
);
assert_eq!(
::std::mem::align_of::<_cef_string_utf8_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_string_utf8_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_string_utf8_t),
"::",
stringify!(str_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_cef_string_utf8_t),
"::",
stringify!(length)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).dtor) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_cef_string_utf8_t),
"::",
stringify!(dtor)
)
);
}
pub type cef_string_utf8_t = _cef_string_utf8_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_string_utf16_t {
pub str_: *mut char16_t,
pub length: usize,
pub dtor: ::std::option::Option<unsafe extern "C" fn(str_: *mut char16_t)>,
}
#[test]
fn bindgen_test_layout__cef_string_utf16_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_string_utf16_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_string_utf16_t>(),
24usize,
concat!("Size of: ", stringify!(_cef_string_utf16_t))
);
assert_eq!(
::std::mem::align_of::<_cef_string_utf16_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_string_utf16_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_string_utf16_t),
"::",
stringify!(str_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_cef_string_utf16_t),
"::",
stringify!(length)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).dtor) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_cef_string_utf16_t),
"::",
stringify!(dtor)
)
);
}
pub type cef_string_utf16_t = _cef_string_utf16_t;
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,
src_len: usize,
output: *mut cef_string_wide_t,
copy: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn cef_string_utf8_set(
src: *const ::std::os::raw::c_char,
src_len: usize,
output: *mut cef_string_utf8_t,
copy: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn cef_string_utf16_set(
src: *const char16_t,
src_len: usize,
output: *mut cef_string_utf16_t,
copy: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
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" {
pub fn cef_string_utf8_clear(str_: *mut cef_string_utf8_t);
}
extern "C" {
pub fn cef_string_utf16_clear(str_: *mut cef_string_utf16_t);
}
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" {
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" {
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" {
#[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,
src_len: usize,
output: *mut cef_string_utf8_t,
) -> ::std::os::raw::c_int;
}
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" {
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" {
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" {
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" {
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" {
#[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,
src_len: usize,
output: *mut cef_string_wide_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn cef_string_ascii_to_utf16(
src: *const ::std::os::raw::c_char,
src_len: usize,
output: *mut cef_string_utf16_t,
) -> ::std::os::raw::c_int;
}
#[doc = "\n It is sometimes necessary for the system to allocate string structures with\n the expectation that the user will free them. The userfree types act as a\n hint that the user is responsible for freeing the structure.\n"]
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" {
#[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" {
pub fn cef_string_userfree_utf8_alloc() -> cef_string_userfree_utf8_t;
}
extern "C" {
pub fn cef_string_userfree_utf16_alloc() -> cef_string_userfree_utf16_t;
}
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" {
pub fn cef_string_userfree_utf8_free(str_: cef_string_userfree_utf8_t);
}
extern "C" {
pub fn cef_string_userfree_utf16_free(str_: cef_string_userfree_utf16_t);
}
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,
src_len: usize,
output: *mut cef_string_utf16_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn cef_string_utf16_to_upper(
src: *const char16_t,
src_len: usize,
output: *mut cef_string_utf16_t,
) -> ::std::os::raw::c_int;
}
pub type cef_char_t = char16_t;
pub type cef_string_userfree_t = cef_string_userfree_utf16_t;
pub type cef_string_t = cef_string_utf16_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_string_list_t {
_unused: [u8; 0],
}
#[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" {
#[doc = "\n Allocate a new string map.\n"]
pub fn cef_string_list_alloc() -> cef_string_list_t;
}
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" {
#[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,
index: usize,
value: *mut cef_string_t,
) -> ::std::os::raw::c_int;
}
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" {
#[doc = "\n Clear the string list.\n"]
pub fn cef_string_list_clear(list: cef_string_list_t);
}
extern "C" {
#[doc = "\n Free the string list.\n"]
pub fn cef_string_list_free(list: cef_string_list_t);
}
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;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_string_map_t {
_unused: [u8; 0],
}
#[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" {
#[doc = "\n Allocate a new string map.\n"]
pub fn cef_string_map_alloc() -> cef_string_map_t;
}
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" {
#[doc = "\n Return the value assigned to the specified key.\n"]
pub fn cef_string_map_find(
map: cef_string_map_t,
key: *const cef_string_t,
value: *mut cef_string_t,
) -> ::std::os::raw::c_int;
}
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,
index: usize,
key: *mut cef_string_t,
) -> ::std::os::raw::c_int;
}
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,
index: usize,
value: *mut cef_string_t,
) -> ::std::os::raw::c_int;
}
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,
key: *const cef_string_t,
value: *const cef_string_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = "\n Clear the string map.\n"]
pub fn cef_string_map_clear(map: cef_string_map_t);
}
extern "C" {
#[doc = "\n Free the string map.\n"]
pub fn cef_string_map_free(map: cef_string_map_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_string_multimap_t {
_unused: [u8; 0],
}
#[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" {
#[doc = "\n Allocate a new string multimap.\n"]
pub fn cef_string_multimap_alloc() -> cef_string_multimap_t;
}
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" {
#[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" {
#[doc = "\n Return the value_index-th value with the specified key.\n"]
pub fn cef_string_multimap_enumerate(
map: cef_string_multimap_t,
key: *const cef_string_t,
value_index: usize,
value: *mut cef_string_t,
) -> ::std::os::raw::c_int;
}
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,
index: usize,
key: *mut cef_string_t,
) -> ::std::os::raw::c_int;
}
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,
index: usize,
value: *mut cef_string_t,
) -> ::std::os::raw::c_int;
}
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,
key: *const cef_string_t,
value: *const cef_string_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = "\n Clear the string multimap.\n"]
pub fn cef_string_multimap_clear(map: cef_string_multimap_t);
}
extern "C" {
#[doc = "\n Free the string multimap.\n"]
pub fn cef_string_multimap_free(map: cef_string_multimap_t);
}
pub type time_t = __time_t;
#[doc = "\n Represents a wall clock time in UTC. Values are not guaranteed to be\n monotonically non-decreasing and are subject to large amounts of skew.\n Time is stored internally as microseconds since the Windows epoch (1601).\n\n This is equivalent of Chromium `base::Time` (see base/time/time.h).\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_basetime_t {
pub val: i64,
}
#[test]
fn bindgen_test_layout__cef_basetime_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_basetime_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_basetime_t>(),
8usize,
concat!("Size of: ", stringify!(_cef_basetime_t))
);
assert_eq!(
::std::mem::align_of::<_cef_basetime_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_basetime_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).val) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_basetime_t),
"::",
stringify!(val)
)
);
}
#[doc = "\n Represents a wall clock time in UTC. Values are not guaranteed to be\n monotonically non-decreasing and are subject to large amounts of skew.\n Time is stored internally as microseconds since the Windows epoch (1601).\n\n This is equivalent of Chromium `base::Time` (see base/time/time.h).\n"]
pub type cef_basetime_t = _cef_basetime_t;
#[doc = "\n Time information. Values should always be in UTC.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_time_t {
#[doc = "\n Four or five digit year \"2007\" (1601 to 30827 on Windows, 1970 to 2038 on\n 32-bit POSIX)\n"]
pub year: ::std::os::raw::c_int,
#[doc = "\n 1-based month (values 1 = January, etc.)\n"]
pub month: ::std::os::raw::c_int,
#[doc = "\n 0-based day of week (0 = Sunday, etc.)\n"]
pub day_of_week: ::std::os::raw::c_int,
#[doc = "\n 1-based day of month (1-31)\n"]
pub day_of_month: ::std::os::raw::c_int,
#[doc = "\n Hour within the current day (0-23)\n"]
pub hour: ::std::os::raw::c_int,
#[doc = "\n Minute within the current hour (0-59)\n"]
pub minute: ::std::os::raw::c_int,
#[doc = "\n Second within the current minute (0-59 plus leap seconds which may take\n it up to 60).\n"]
pub second: ::std::os::raw::c_int,
#[doc = "\n Milliseconds within the current second (0-999)\n"]
pub millisecond: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__cef_time_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_time_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_time_t>(),
32usize,
concat!("Size of: ", stringify!(_cef_time_t))
);
assert_eq!(
::std::mem::align_of::<_cef_time_t>(),
4usize,
concat!("Alignment of ", stringify!(_cef_time_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).year) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_time_t),
"::",
stringify!(year)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).month) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(_cef_time_t),
"::",
stringify!(month)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).day_of_week) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_cef_time_t),
"::",
stringify!(day_of_week)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).day_of_month) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(_cef_time_t),
"::",
stringify!(day_of_month)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).hour) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_cef_time_t),
"::",
stringify!(hour)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).minute) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(_cef_time_t),
"::",
stringify!(minute)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).second) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_cef_time_t),
"::",
stringify!(second)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).millisecond) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(_cef_time_t),
"::",
stringify!(millisecond)
)
);
}
#[doc = "\n Time information. Values should always be in UTC.\n"]
pub type cef_time_t = _cef_time_t;
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" {
pub fn cef_time_from_timet(time: time_t, cef_time: *mut cef_time_t) -> ::std::os::raw::c_int;
}
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" {
pub fn cef_time_from_doublet(time: f64, cef_time: *mut cef_time_t) -> ::std::os::raw::c_int;
}
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" {
#[doc = "\n Retrieve the current system time.\n"]
pub fn cef_basetime_now() -> cef_basetime_t;
}
extern "C" {
#[doc = "\n Retrieve the delta in milliseconds between two time values. Returns true (1)\n on success and false (0) on failure."]
pub fn cef_time_delta(
cef_time1: *const cef_time_t,
cef_time2: *const cef_time_t,
delta: *mut ::std::os::raw::c_longlong,
) -> ::std::os::raw::c_int;
}
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" {
#[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,
to: *mut cef_time_t,
) -> ::std::os::raw::c_int;
}
#[repr(u32)]
#[non_exhaustive]
#[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"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_content_setting_types_t {
CEF_CONTENT_SETTING_TYPE_COOKIES = 0,
CEF_CONTENT_SETTING_TYPE_IMAGES = 1,
CEF_CONTENT_SETTING_TYPE_JAVASCRIPT = 2,
#[doc = " This setting governs both popups and unwanted redirects like tab-unders\n and framebusting."]
CEF_CONTENT_SETTING_TYPE_POPUPS = 3,
#[doc = " This setting governs both popups and unwanted redirects like tab-unders\n and framebusting."]
CEF_CONTENT_SETTING_TYPE_GEOLOCATION = 4,
#[doc = " This setting governs both popups and unwanted redirects like tab-unders\n and framebusting."]
CEF_CONTENT_SETTING_TYPE_NOTIFICATIONS = 5,
#[doc = " This setting governs both popups and unwanted redirects like tab-unders\n and framebusting."]
CEF_CONTENT_SETTING_TYPE_AUTO_SELECT_CERTIFICATE = 6,
#[doc = " This setting governs both popups and unwanted redirects like tab-unders\n and framebusting."]
CEF_CONTENT_SETTING_TYPE_MIXEDSCRIPT = 7,
#[doc = " This setting governs both popups and unwanted redirects like tab-unders\n and framebusting."]
CEF_CONTENT_SETTING_TYPE_MEDIASTREAM_MIC = 8,
#[doc = " This setting governs both popups and unwanted redirects like tab-unders\n and framebusting."]
CEF_CONTENT_SETTING_TYPE_MEDIASTREAM_CAMERA = 9,
#[doc = " This setting governs both popups and unwanted redirects like tab-unders\n and framebusting."]
CEF_CONTENT_SETTING_TYPE_PROTOCOL_HANDLERS = 10,
#[doc = " This setting governs both popups and unwanted redirects like tab-unders\n and framebusting."]
CEF_CONTENT_SETTING_TYPE_DEPRECATED_PPAPI_BROKER = 11,
#[doc = " This setting governs both popups and unwanted redirects like tab-unders\n and framebusting."]
CEF_CONTENT_SETTING_TYPE_AUTOMATIC_DOWNLOADS = 12,
#[doc = " This setting governs both popups and unwanted redirects like tab-unders\n and framebusting."]
CEF_CONTENT_SETTING_TYPE_MIDI_SYSEX = 13,
#[doc = " This setting governs both popups and unwanted redirects like tab-unders\n and framebusting."]
CEF_CONTENT_SETTING_TYPE_SSL_CERT_DECISIONS = 14,
#[doc = " This setting governs both popups and unwanted redirects like tab-unders\n and framebusting."]
CEF_CONTENT_SETTING_TYPE_PROTECTED_MEDIA_IDENTIFIER = 15,
#[doc = " This setting governs both popups and unwanted redirects like tab-unders\n and framebusting."]
CEF_CONTENT_SETTING_TYPE_APP_BANNER = 16,
#[doc = " This setting governs both popups and unwanted redirects like tab-unders\n and framebusting."]
CEF_CONTENT_SETTING_TYPE_SITE_ENGAGEMENT = 17,
#[doc = " This setting governs both popups and unwanted redirects like tab-unders\n and framebusting."]
CEF_CONTENT_SETTING_TYPE_DURABLE_STORAGE = 18,
#[doc = " This setting governs both popups and unwanted redirects like tab-unders\n and framebusting."]
CEF_CONTENT_SETTING_TYPE_USB_CHOOSER_DATA = 19,
#[doc = " This setting governs both popups and unwanted redirects like tab-unders\n and framebusting."]
CEF_CONTENT_SETTING_TYPE_BLUETOOTH_GUARD = 20,
#[doc = " This setting governs both popups and unwanted redirects like tab-unders\n and framebusting."]
CEF_CONTENT_SETTING_TYPE_BACKGROUND_SYNC = 21,
#[doc = " This setting governs both popups and unwanted redirects like tab-unders\n and framebusting."]
CEF_CONTENT_SETTING_TYPE_AUTOPLAY = 22,
#[doc = " This setting governs both popups and unwanted redirects like tab-unders\n and framebusting."]
CEF_CONTENT_SETTING_TYPE_IMPORTANT_SITE_INFO = 23,
#[doc = " This setting governs both popups and unwanted redirects like tab-unders\n and framebusting."]
CEF_CONTENT_SETTING_TYPE_PERMISSION_AUTOBLOCKER_DATA = 24,
#[doc = " This setting governs both popups and unwanted redirects like tab-unders\n and framebusting."]
CEF_CONTENT_SETTING_TYPE_ADS = 25,
#[doc = " Website setting which stores metadata for the subresource filter to aid in\n decisions for whether or not to show the UI."]
CEF_CONTENT_SETTING_TYPE_ADS_DATA = 26,
#[doc = " This is special-cased in the permissions layer to always allow, and as\n such doesn't have associated prefs data."]
CEF_CONTENT_SETTING_TYPE_MIDI = 27,
#[doc = " This content setting type is for caching password protection service's\n verdicts of each origin."]
CEF_CONTENT_SETTING_TYPE_PASSWORD_PROTECTION = 28,
#[doc = " Website setting which stores engagement data for media related to a\n specific origin."]
CEF_CONTENT_SETTING_TYPE_MEDIA_ENGAGEMENT = 29,
#[doc = " Content setting which stores whether or not the site can play audible\n sound. This will not block playback but instead the user will not hear it."]
CEF_CONTENT_SETTING_TYPE_SOUND = 30,
#[doc = " Website setting which stores the list of client hints that the origin\n requested the browser to remember. The browser is expected to send all\n client hints in the HTTP request headers for every resource requested\n from that origin."]
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 = " 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."]
CEF_CONTENT_SETTING_TYPE_USB_GUARD = 35,
#[doc = " Nothing is stored in this setting at present. Please refer to\n BackgroundFetchPermissionContext for details on how this permission\n is ascertained."]
CEF_CONTENT_SETTING_TYPE_BACKGROUND_FETCH = 36,
#[doc = " Website setting which stores the amount of times the user has dismissed\n intent picker UI without explicitly choosing an option."]
CEF_CONTENT_SETTING_TYPE_INTENT_PICKER_DISPLAY = 37,
#[doc = " Used to store whether to allow a website to detect user active/idle state."]
CEF_CONTENT_SETTING_TYPE_IDLE_DETECTION = 38,
#[doc = " Setting for enabling auto-select of all screens for getDisplayMediaSet."]
CEF_CONTENT_SETTING_TYPE_GET_DISPLAY_MEDIA_SET_SELECT_ALL_SCREENS = 39,
#[doc = " Content settings for access to serial ports. The \"guard\" content setting\n stores whether to allow sites to ask for permission to access a port. The\n permissions granted to access particular ports are stored in the \"chooser\n data\" website setting."]
CEF_CONTENT_SETTING_TYPE_SERIAL_GUARD = 40,
#[doc = " Content settings for access to serial ports. The \"guard\" content setting\n stores whether to allow sites to ask for permission to access a port. The\n permissions granted to access particular ports are stored in the \"chooser\n data\" website setting."]
CEF_CONTENT_SETTING_TYPE_SERIAL_CHOOSER_DATA = 41,
#[doc = " Nothing is stored in this setting at present. Please refer to\n PeriodicBackgroundSyncPermissionContext for details on how this permission\n is ascertained.\n This content setting is not registered because it does not require access\n to any existing providers."]
CEF_CONTENT_SETTING_TYPE_PERIODIC_BACKGROUND_SYNC = 42,
#[doc = " Content setting which stores whether to allow sites to ask for permission\n to do Bluetooth scanning."]
CEF_CONTENT_SETTING_TYPE_BLUETOOTH_SCANNING = 43,
#[doc = " Content settings for access to HID devices. The \"guard\" content setting\n stores whether to allow sites to ask for permission to access a device.\n The permissions granted to access particular devices are stored in the\n \"chooser data\" website setting."]
CEF_CONTENT_SETTING_TYPE_HID_GUARD = 44,
#[doc = " Content settings for access to HID devices. The \"guard\" content setting\n stores whether to allow sites to ask for permission to access a device.\n The permissions granted to access particular devices are stored in the\n \"chooser data\" website setting."]
CEF_CONTENT_SETTING_TYPE_HID_CHOOSER_DATA = 45,
#[doc = " Wake Lock API, which has two lock types: screen and system locks.\n Currently, screen locks do not need any additional permission, and system\n locks are always denied while the right UI is worked out."]
CEF_CONTENT_SETTING_TYPE_WAKE_LOCK_SCREEN = 46,
#[doc = " Wake Lock API, which has two lock types: screen and system locks.\n Currently, screen locks do not need any additional permission, and system\n locks are always denied while the right UI is worked out."]
CEF_CONTENT_SETTING_TYPE_WAKE_LOCK_SYSTEM = 47,
#[doc = " Legacy SameSite cookie behavior. This disables SameSite=Lax-by-default,\n SameSite=None requires Secure, and Schemeful Same-Site, forcing the\n legacy behavior wherein 1) cookies that don't specify SameSite are treated\n as SameSite=None, 2) SameSite=None cookies are not required to be Secure,\n and 3) schemeful same-site is not active.\n\n This will also be used to revert to legacy behavior when future changes\n in cookie handling are introduced."]
CEF_CONTENT_SETTING_TYPE_LEGACY_COOKIE_ACCESS = 48,
#[doc = " Content settings which stores whether to allow sites to ask for permission\n to save changes to an original file selected by the user through the\n File System Access API."]
CEF_CONTENT_SETTING_TYPE_FILE_SYSTEM_WRITE_GUARD = 49,
#[doc = " Used to store whether to allow a website to exchange data with NFC\n devices."]
CEF_CONTENT_SETTING_TYPE_NFC = 50,
#[doc = " Website setting to store permissions granted to access particular\n Bluetooth devices."]
CEF_CONTENT_SETTING_TYPE_BLUETOOTH_CHOOSER_DATA = 51,
#[doc = " Full access to the system clipboard (sanitized read without user gesture,\n and unsanitized read and write with user gesture)."]
CEF_CONTENT_SETTING_TYPE_CLIPBOARD_READ_WRITE = 52,
#[doc = " This is special-cased in the permissions layer to always allow, and as\n such doesn't have associated prefs data."]
CEF_CONTENT_SETTING_TYPE_CLIPBOARD_SANITIZED_WRITE = 53,
#[doc = " This content setting type is for caching safe browsing real time url\n check's verdicts of each origin."]
CEF_CONTENT_SETTING_TYPE_SAFE_BROWSING_URL_CHECK_DATA = 54,
#[doc = " Used to store whether a site is allowed to request AR or VR sessions with\n the WebXr Device API."]
CEF_CONTENT_SETTING_TYPE_VR = 55,
#[doc = " Used to store whether a site is allowed to request AR or VR sessions with\n the WebXr Device API."]
CEF_CONTENT_SETTING_TYPE_AR = 56,
#[doc = " Content setting which stores whether to allow site to open and read files\n and directories selected through the File System Access API."]
CEF_CONTENT_SETTING_TYPE_FILE_SYSTEM_READ_GUARD = 57,
#[doc = " Access to first party storage in a third-party context. Exceptions are\n scoped to the combination of requesting/top-level origin, and are managed\n through the Storage Access API. For the time being, this content setting\n exists in parallel to third-party cookie rules stored in COOKIES."]
CEF_CONTENT_SETTING_TYPE_STORAGE_ACCESS = 58,
#[doc = " Content setting which stores whether to allow a site to control camera\n movements. It does not give access to camera."]
CEF_CONTENT_SETTING_TYPE_CAMERA_PAN_TILT_ZOOM = 59,
#[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 = 60,
#[doc = " Stores whether to allow insecure websites to make local network requests.\n See also: https://wicg.github.io/local-network-access\n Set through enterprise policies only."]
CEF_CONTENT_SETTING_TYPE_INSECURE_LOCAL_NETWORK = 61,
#[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 = 62,
#[doc = " Stores per-origin state for permission auto-revocation (for all permission\n types)."]
CEF_CONTENT_SETTING_TYPE_PERMISSION_AUTOREVOCATION_DATA = 63,
#[doc = " Stores per-origin state of the most recently selected directory for the\n use by the File System Access API."]
CEF_CONTENT_SETTING_TYPE_FILE_SYSTEM_LAST_PICKED_DIRECTORY = 64,
#[doc = " Controls access to the getDisplayMedia API when {preferCurrentTab: true}\n is specified."]
CEF_CONTENT_SETTING_TYPE_DISPLAY_CAPTURE = 65,
#[doc = " Website setting to store permissions metadata granted to paths on the\n local file system via the File System Access API.\n |FILE_SYSTEM_WRITE_GUARD| is the corresponding \"guard\" setting."]
CEF_CONTENT_SETTING_TYPE_FILE_SYSTEM_ACCESS_CHOOSER_DATA = 66,
#[doc = " Stores a grant that allows a relying party to send a request for identity\n information to specified identity providers, potentially through any\n anti-tracking measures that would otherwise prevent it. This setting is\n associated with the relying party's origin."]
CEF_CONTENT_SETTING_TYPE_FEDERATED_IDENTITY_SHARING = 67,
#[doc = " Whether to use the v8 optimized JIT for running JavaScript on the page."]
CEF_CONTENT_SETTING_TYPE_JAVASCRIPT_JIT = 68,
#[doc = " Content setting which stores user decisions to allow loading a site over\n HTTP. Entries are added by hostname when a user bypasses the HTTPS-First\n Mode interstitial warning when a site does not support HTTPS. Allowed\n hosts are exact hostname matches -- subdomains of a host on the allowlist\n must be separately allowlisted."]
CEF_CONTENT_SETTING_TYPE_HTTP_ALLOWED = 69,
#[doc = " Stores metadata related to form fill, such as e.g. whether user data was\n autofilled on a specific website."]
CEF_CONTENT_SETTING_TYPE_FORMFILL_METADATA = 70,
#[doc = " Setting to indicate that there is an active federated sign-in session\n between a specified relying party and a specified identity provider for\n a specified account. When this is present it allows access to session\n management capabilities between the sites. This setting is associated\n with the relying party's origin."]
CEF_CONTENT_SETTING_TYPE_FEDERATED_IDENTITY_ACTIVE_SESSION = 71,
#[doc = " Setting to indicate whether Chrome should automatically apply darkening to\n web content."]
CEF_CONTENT_SETTING_TYPE_AUTO_DARK_WEB_CONTENT = 72,
#[doc = " Setting to indicate whether Chrome should request the desktop view of a\n site instead of the mobile one."]
CEF_CONTENT_SETTING_TYPE_REQUEST_DESKTOP_SITE = 73,
#[doc = " Setting to indicate whether browser should allow signing into a website\n via the browser FedCM API."]
CEF_CONTENT_SETTING_TYPE_FEDERATED_IDENTITY_API = 74,
#[doc = " Stores notification interactions per origin for the past 90 days.\n Interactions per origin are pre-aggregated over seven-day windows: A\n notification interaction or display is assigned to the last Monday\n midnight in local time."]
CEF_CONTENT_SETTING_TYPE_NOTIFICATION_INTERACTIONS = 75,
#[doc = " Website setting which stores the last reduced accept language negotiated\n for a given origin, to be used on future visits to the origin."]
CEF_CONTENT_SETTING_TYPE_REDUCED_ACCEPT_LANGUAGE = 76,
#[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 = 77,
#[doc = " Website setting to store permissions granted to access particular devices\n in private network."]
CEF_CONTENT_SETTING_TYPE_PRIVATE_NETWORK_GUARD = 78,
#[doc = " Website setting to store permissions granted to access particular devices\n in private network."]
CEF_CONTENT_SETTING_TYPE_PRIVATE_NETWORK_CHOOSER_DATA = 79,
#[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 = 80,
#[doc = " Website setting which is used for UnusedSitePermissionsService to\n store revoked permissions of unused sites from unused site permissions\n feature."]
CEF_CONTENT_SETTING_TYPE_REVOKED_UNUSED_SITE_PERMISSIONS = 81,
#[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 = 82,
#[doc = " Setting to indicate whether user has opted in to allowing auto re-authn\n via the FedCM API."]
CEF_CONTENT_SETTING_TYPE_FEDERATED_IDENTITY_AUTO_REAUTHN_PERMISSION = 83,
#[doc = " Website setting which stores whether the user has explicitly registered\n a website as an identity-provider."]
CEF_CONTENT_SETTING_TYPE_FEDERATED_IDENTITY_IDENTITY_PROVIDER_REGISTRATION = 84,
#[doc = " Content setting which is used to indicate whether anti-abuse functionality\n should be enabled."]
CEF_CONTENT_SETTING_TYPE_ANTI_ABUSE = 85,
#[doc = " Content setting used to indicate whether third-party storage partitioning\n should be enabled."]
CEF_CONTENT_SETTING_TYPE_THIRD_PARTY_STORAGE_PARTITIONING = 86,
#[doc = " Used to indicate whether HTTPS-First Mode is enabled on the hostname."]
CEF_CONTENT_SETTING_TYPE_HTTPS_ENFORCED = 87,
#[doc = " Stores per origin metadata for cookie controls."]
CEF_CONTENT_SETTING_TYPE_COOKIE_CONTROLS_METADATA = 88,
#[doc = " Setting for supporting 3PCD."]
CEF_CONTENT_SETTING_TYPE_TPCD_SUPPORT = 89,
#[doc = " Setting for supporting 3PCD."]
CEF_CONTENT_SETTING_TYPE_NUM_TYPES = 90,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Supported content setting values. Should be kept in sync with Chromium's\n ContentSetting type.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_content_setting_values_t {
CEF_CONTENT_SETTING_VALUE_DEFAULT = 0,
CEF_CONTENT_SETTING_VALUE_ALLOW = 1,
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_NUM_VALUES = 6,
}
#[doc = "\n Structure representing a point.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_point_t {
pub x: ::std::os::raw::c_int,
pub y: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__cef_point_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_point_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_point_t>(),
8usize,
concat!("Size of: ", stringify!(_cef_point_t))
);
assert_eq!(
::std::mem::align_of::<_cef_point_t>(),
4usize,
concat!("Alignment of ", stringify!(_cef_point_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_point_t),
"::",
stringify!(x)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(_cef_point_t),
"::",
stringify!(y)
)
);
}
#[doc = "\n Structure representing a point.\n"]
pub type cef_point_t = _cef_point_t;
#[doc = "\n Structure representing a rectangle.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_rect_t {
pub x: ::std::os::raw::c_int,
pub y: ::std::os::raw::c_int,
pub width: ::std::os::raw::c_int,
pub height: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__cef_rect_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_rect_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_rect_t>(),
16usize,
concat!("Size of: ", stringify!(_cef_rect_t))
);
assert_eq!(
::std::mem::align_of::<_cef_rect_t>(),
4usize,
concat!("Alignment of ", stringify!(_cef_rect_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_rect_t),
"::",
stringify!(x)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(_cef_rect_t),
"::",
stringify!(y)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_cef_rect_t),
"::",
stringify!(width)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(_cef_rect_t),
"::",
stringify!(height)
)
);
}
#[doc = "\n Structure representing a rectangle.\n"]
pub type cef_rect_t = _cef_rect_t;
#[doc = "\n Structure representing a size.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_size_t {
pub width: ::std::os::raw::c_int,
pub height: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__cef_size_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_size_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_size_t>(),
8usize,
concat!("Size of: ", stringify!(_cef_size_t))
);
assert_eq!(
::std::mem::align_of::<_cef_size_t>(),
4usize,
concat!("Alignment of ", stringify!(_cef_size_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_size_t),
"::",
stringify!(width)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(_cef_size_t),
"::",
stringify!(height)
)
);
}
#[doc = "\n Structure representing a size.\n"]
pub type cef_size_t = _cef_size_t;
#[doc = "\n Structure representing insets.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_insets_t {
pub top: ::std::os::raw::c_int,
pub left: ::std::os::raw::c_int,
pub bottom: ::std::os::raw::c_int,
pub right: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__cef_insets_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_insets_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_insets_t>(),
16usize,
concat!("Size of: ", stringify!(_cef_insets_t))
);
assert_eq!(
::std::mem::align_of::<_cef_insets_t>(),
4usize,
concat!("Alignment of ", stringify!(_cef_insets_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).top) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_insets_t),
"::",
stringify!(top)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).left) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(_cef_insets_t),
"::",
stringify!(left)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bottom) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_cef_insets_t),
"::",
stringify!(bottom)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).right) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(_cef_insets_t),
"::",
stringify!(right)
)
);
}
#[doc = "\n Structure representing insets.\n"]
pub type cef_insets_t = _cef_insets_t;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _XEvent {
_unused: [u8; 0],
}
pub type XEvent = _XEvent;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _XDisplay {
_unused: [u8; 0],
}
pub type XDisplay = _XDisplay;
extern "C" {
pub fn cef_get_xdisplay() -> *mut XDisplay;
}
#[doc = "\n Structure representing CefExecuteProcess arguments.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_main_args_t {
pub argc: ::std::os::raw::c_int,
pub argv: *mut *mut ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout__cef_main_args_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_main_args_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_main_args_t>(),
16usize,
concat!("Size of: ", stringify!(_cef_main_args_t))
);
assert_eq!(
::std::mem::align_of::<_cef_main_args_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_main_args_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).argc) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_main_args_t),
"::",
stringify!(argc)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).argv) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_cef_main_args_t),
"::",
stringify!(argv)
)
);
}
#[doc = "\n Structure representing CefExecuteProcess arguments.\n"]
pub type cef_main_args_t = _cef_main_args_t;
#[doc = "\n Class representing window information.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_window_info_t {
#[doc = "\n The initial title of the window, to be set when the window is created.\n Some layout managers (e.g., Compiz) can look at the window title\n in order to decide where to place the window when it is\n created. When this attribute is not empty, the window title will\n be set before the window is mapped to the dispay. Otherwise the\n title will be initially empty.\n"]
pub window_name: cef_string_t,
#[doc = "\n Initial window bounds.\n"]
pub bounds: cef_rect_t,
#[doc = "\n Pointer for the parent window.\n"]
pub parent_window: ::std::os::raw::c_ulong,
#[doc = "\n Set to true (1) to create the browser using windowless (off-screen)\n rendering. No window will be created for the browser and all rendering\n will occur via the CefRenderHandler interface. The |parent_window| value\n will be used to identify monitor info and to act as the parent window for\n dialogs, context menus, etc. If |parent_window| is not provided then the\n main screen monitor will be used and some functionality that requires a\n parent window may not function correctly. In order to create windowless\n browsers the CefSettings.windowless_rendering_enabled value must be set to\n true. Transparent painting is enabled by default but can be disabled by\n setting CefBrowserSettings.background_color to an opaque value.\n"]
pub windowless_rendering_enabled: ::std::os::raw::c_int,
#[doc = "\n Set to true (1) to enable shared textures for windowless rendering. Only\n valid if windowless_rendering_enabled above is also set to true. Currently\n only supported on Windows (D3D11).\n"]
pub shared_texture_enabled: ::std::os::raw::c_int,
#[doc = "\n Set to true (1) to enable the ability to issue BeginFrame requests from\n the client application by calling CefBrowserHost::SendExternalBeginFrame.\n"]
pub external_begin_frame_enabled: ::std::os::raw::c_int,
#[doc = "\n Pointer for the new browser window. Only used with windowed rendering.\n"]
pub window: ::std::os::raw::c_ulong,
}
#[test]
fn bindgen_test_layout__cef_window_info_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_window_info_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_window_info_t>(),
72usize,
concat!("Size of: ", stringify!(_cef_window_info_t))
);
assert_eq!(
::std::mem::align_of::<_cef_window_info_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_window_info_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).window_name) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_info_t),
"::",
stringify!(window_name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bounds) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_info_t),
"::",
stringify!(bounds)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).parent_window) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_info_t),
"::",
stringify!(parent_window)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).windowless_rendering_enabled) as usize - ptr as usize
},
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_info_t),
"::",
stringify!(windowless_rendering_enabled)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).shared_texture_enabled) as usize - ptr as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_info_t),
"::",
stringify!(shared_texture_enabled)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).external_begin_frame_enabled) as usize - ptr as usize
},
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_info_t),
"::",
stringify!(external_begin_frame_enabled)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).window) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_info_t),
"::",
stringify!(window)
)
);
}
#[doc = "\n Class representing window information.\n"]
pub type cef_window_info_t = _cef_window_info_t;
pub type cef_color_t = u32;
impl cef_log_severity_t {
pub const LOGSEVERITY_DEBUG: cef_log_severity_t = cef_log_severity_t::LOGSEVERITY_VERBOSE;
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Log severity levels.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_log_severity_t {
#[doc = "\n Default logging (currently INFO logging).\n"]
LOGSEVERITY_DEFAULT = 0,
#[doc = "\n Verbose logging.\n"]
LOGSEVERITY_VERBOSE = 1,
#[doc = "\n INFO logging.\n"]
LOGSEVERITY_INFO = 2,
#[doc = "\n WARNING logging.\n"]
LOGSEVERITY_WARNING = 3,
#[doc = "\n ERROR logging.\n"]
LOGSEVERITY_ERROR = 4,
#[doc = "\n FATAL logging.\n"]
LOGSEVERITY_FATAL = 5,
#[doc = "\n Disable logging to file for all messages, and to stderr for messages with\n severity less than FATAL.\n"]
LOGSEVERITY_DISABLE = 99,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Log items prepended to each log line.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_log_items_t {
#[doc = "\n Prepend the default list of items.\n"]
LOG_ITEMS_DEFAULT = 0,
#[doc = "\n Prepend no items.\n"]
LOG_ITEMS_NONE = 1,
#[doc = "\n Prepend the process ID.\n"]
LOG_ITEMS_FLAG_PROCESS_ID = 2,
#[doc = "\n Prepend the thread ID.\n"]
LOG_ITEMS_FLAG_THREAD_ID = 4,
#[doc = "\n Prepend the timestamp.\n"]
LOG_ITEMS_FLAG_TIME_STAMP = 8,
#[doc = "\n Prepend the tickcount.\n"]
LOG_ITEMS_FLAG_TICK_COUNT = 16,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Represents the state of a setting.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_state_t {
#[doc = "\n Use the default state for the setting.\n"]
STATE_DEFAULT = 0,
#[doc = "\n Enable or allow the setting.\n"]
STATE_ENABLED = 1,
#[doc = "\n Disable or disallow the setting.\n"]
STATE_DISABLED = 2,
}
#[doc = "\n Initialization settings. Specify NULL or 0 to get the recommended default\n values. Many of these and other settings can also configured using command-\n line switches.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_settings_t {
#[doc = "\n Size of this structure.\n"]
pub size: usize,
#[doc = "\n Set to true (1) to disable the sandbox for sub-processes. See\n cef_sandbox_win.h for requirements to enable the sandbox on Windows. Also\n configurable using the \"no-sandbox\" command-line switch.\n"]
pub no_sandbox: ::std::os::raw::c_int,
#[doc = "\n The path to a separate executable that will be launched for sub-processes.\n If this value is empty on Windows or Linux then the main process\n executable will be used. If this value is empty on macOS then a helper\n executable must exist at \"Contents/Frameworks/<app>\n Helper.app/Contents/MacOS/<app> Helper\" in the top-level app bundle. See\n the comments on CefExecuteProcess() for details. If this value is\n non-empty then it must be an absolute path. Also configurable using the\n \"browser-subprocess-path\" command-line switch.\n"]
pub browser_subprocess_path: cef_string_t,
#[doc = "\n The path to the CEF framework directory on macOS. If this value is empty\n then the framework must exist at \"Contents/Frameworks/Chromium Embedded\n Framework.framework\" in the top-level app bundle. If this value is\n non-empty then it must be an absolute path. Also configurable using the\n \"framework-dir-path\" command-line switch.\n"]
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"]
pub external_message_pump: ::std::os::raw::c_int,
#[doc = "\n Set to true (1) to enable windowless (off-screen) rendering support. Do\n not enable this value if the application does not use windowless rendering\n as it may reduce rendering performance on some systems.\n"]
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 location 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 data is persisted to\n disk. HTML5 databases such as localStorage will only persist across\n sessions if a cache path is specified. Can be overridden for individual\n CefRequestContext instances via the CefRequestContextSettings.cache_path\n value. When using the Chrome runtime the \"default\" profile will be used if\n |cache_path| and |root_cache_path| have the same value.\n"]
pub cache_path: cef_string_t,
#[doc = "\n The root directory that all CefSettings.cache_path and\n CefRequestContextSettings.cache_path values must have in common. If this\n value is empty and CefSettings.cache_path is non-empty then it will\n default to the CefSettings.cache_path value. If both values are empty\n then 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). If this value is\n non-empty then it must be an absolute path. Failure to set this value\n correctly may result in the sandbox blocking read/write access to certain\n 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"]
pub user_agent_product: cef_string_t,
#[doc = "\n The locale string that will be passed to WebKit. If empty the default\n locale of \"en-US\" will be used. This value is ignored on Linux where\n locale is determined using environment variable parsing with the\n precedence order: LANGUAGE, LC_ALL, LC_MESSAGES and LANG. Also\n configurable using the \"lang\" command-line switch.\n"]
pub locale: cef_string_t,
#[doc = "\n The directory and file name to use for the debug log. If empty a default\n log file name and location will be used. On Windows and Linux a\n \"debug.log\" file will be written in the main executable directory. On\n MacOS a \"~/Library/Logs/[app name]_debug.log\" file will be written where\n [app name] is the name of the main app executable. Also configurable using\n the \"log-file\" command-line switch.\n"]
pub log_file: cef_string_t,
#[doc = "\n The log severity. Only messages of this severity level or higher will be\n logged. When set to DISABLE no messages will be written to the log file,\n but FATAL messages will still be output to stderr. Also configurable using\n the \"log-severity\" command-line switch with a value of \"verbose\", \"info\",\n \"warning\", \"error\", \"fatal\" or \"disable\".\n"]
pub log_severity: cef_log_severity_t,
#[doc = "\n The log items prepended to each log line. If not set the default log items\n will be used. Also configurable using the \"log-items\" command-line switch\n with a value of \"none\" for no log items, or a comma-delimited list of\n values \"pid\", \"tid\", \"timestamp\" or \"tickcount\" for custom log items.\n"]
pub log_items: cef_log_items_t,
#[doc = "\n Custom flags that will be used when initializing the V8 JavaScript engine.\n The consequences of using custom flags may not be well tested. Also\n configurable using the \"js-flags\" command-line switch.\n"]
pub javascript_flags: cef_string_t,
#[doc = "\n The fully qualified path for the resources directory. If this value is\n empty the *.pak files must be located in the module directory on\n Windows/Linux or the app bundle Resources directory on MacOS. If this\n value is non-empty then it must be an absolute path. Also configurable\n using the \"resources-dir-path\" command-line switch.\n"]
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. Remote debugging can be accessed by loading the\n chrome://inspect page in Google Chrome. Port numbers 9222 and 9229 are\n discoverable by default. Other port numbers may need to be configured via\n \"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"]
pub uncaught_exception_stack_size: ::std::os::raw::c_int,
#[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 default value of opaque white be used. If the alpha component is fully\n transparent for a windowless (off-screen) browser then transparent\n painting will be enabled.\n"]
pub background_color: cef_color_t,
#[doc = "\n Comma delimited ordered list of language codes without any whitespace that\n will be used in the \"Accept-Language\" HTTP header. May be overridden on a\n per-browser basis using the CefBrowserSettings.accept_language_list value.\n If both values are empty then \"en-US,en\" will be used. Can be overridden\n for individual CefRequestContext instances via the\n CefRequestContextSettings.accept_language_list 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 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,
}
#[test]
fn bindgen_test_layout__cef_settings_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_settings_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_settings_t>(),
416usize,
concat!("Size of: ", stringify!(_cef_settings_t))
);
assert_eq!(
::std::mem::align_of::<_cef_settings_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_settings_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).no_sandbox) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(no_sandbox)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).browser_subprocess_path) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(browser_subprocess_path)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).framework_dir_path) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(framework_dir_path)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).main_bundle_path) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(main_bundle_path)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).chrome_runtime) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(chrome_runtime)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).multi_threaded_message_loop) as usize - ptr as usize },
92usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(multi_threaded_message_loop)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).external_message_pump) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(external_message_pump)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).windowless_rendering_enabled) as usize - ptr as usize
},
100usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(windowless_rendering_enabled)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).command_line_args_disabled) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(command_line_args_disabled)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cache_path) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(cache_path)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).root_cache_path) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(root_cache_path)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).persist_session_cookies) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(persist_session_cookies)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).persist_user_preferences) as usize - ptr as usize },
164usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(persist_user_preferences)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).user_agent) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(user_agent)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).user_agent_product) as usize - ptr as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(user_agent_product)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).locale) as usize - ptr as usize },
216usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(locale)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).log_file) as usize - ptr as usize },
240usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(log_file)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).log_severity) as usize - ptr as usize },
264usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(log_severity)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).log_items) as usize - ptr as usize },
268usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(log_items)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).javascript_flags) as usize - ptr as usize },
272usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(javascript_flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).resources_dir_path) as usize - ptr as usize },
296usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(resources_dir_path)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).locales_dir_path) as usize - ptr as usize },
320usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(locales_dir_path)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pack_loading_disabled) as usize - ptr as usize },
344usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(pack_loading_disabled)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).remote_debugging_port) as usize - ptr as usize },
348usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(remote_debugging_port)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).uncaught_exception_stack_size) as usize - ptr as usize
},
352usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(uncaught_exception_stack_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).background_color) as usize - ptr as usize },
356usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(background_color)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).accept_language_list) as usize - ptr as usize },
360usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(accept_language_list)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cookieable_schemes_list) as usize - ptr as usize },
384usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(cookieable_schemes_list)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).cookieable_schemes_exclude_defaults) as usize - ptr as usize
},
408usize,
concat!(
"Offset of field: ",
stringify!(_cef_settings_t),
"::",
stringify!(cookieable_schemes_exclude_defaults)
)
);
}
#[doc = "\n Initialization settings. Specify NULL or 0 to get the recommended default\n values. Many of these and other settings can also configured using command-\n line switches.\n"]
pub type cef_settings_t = _cef_settings_t;
#[doc = "\n Request context initialization settings. Specify NULL or 0 to get the\n recommended default values.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_request_context_settings_t {
#[doc = "\n Size of this structure.\n"]
pub size: usize,
#[doc = "\n The location where cache data for this request context 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 data is persisted to\n disk. HTML5 databases such as localStorage will only persist across\n sessions if a cache path is specified. To share the global browser cache\n and related configuration set this value to match the\n CefSettings.cache_path value.\n"]
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 header. Can be set globally\n using the CefSettings.accept_language_list value or overridden on a per-\n browser basis using the CefBrowserSettings.accept_language_list value. If\n all values are empty then \"en-US,en\" will be used. This value will be\n ignored if |cache_path| 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"]
pub cookieable_schemes_list: cef_string_t,
pub cookieable_schemes_exclude_defaults: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__cef_request_context_settings_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_request_context_settings_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_request_context_settings_t>(),
96usize,
concat!("Size of: ", stringify!(_cef_request_context_settings_t))
);
assert_eq!(
::std::mem::align_of::<_cef_request_context_settings_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_request_context_settings_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_settings_t),
"::",
stringify!(size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cache_path) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_settings_t),
"::",
stringify!(cache_path)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).persist_session_cookies) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_settings_t),
"::",
stringify!(persist_session_cookies)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).persist_user_preferences) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_settings_t),
"::",
stringify!(persist_user_preferences)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).accept_language_list) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_settings_t),
"::",
stringify!(accept_language_list)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cookieable_schemes_list) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_settings_t),
"::",
stringify!(cookieable_schemes_list)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).cookieable_schemes_exclude_defaults) as usize - ptr as usize
},
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_settings_t),
"::",
stringify!(cookieable_schemes_exclude_defaults)
)
);
}
#[doc = "\n Request context initialization settings. Specify NULL or 0 to get the\n recommended default values.\n"]
pub type cef_request_context_settings_t = _cef_request_context_settings_t;
#[doc = "\n Browser initialization settings. Specify NULL or 0 to get the recommended\n default values. The consequences of using custom values may not be well\n tested. Many of these and other settings can also configured using command-\n line switches.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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"]
pub windowless_frame_rate: ::std::os::raw::c_int,
#[doc = "\n Font settings.\n"]
pub standard_font_family: cef_string_t,
pub fixed_font_family: cef_string_t,
pub serif_font_family: cef_string_t,
pub sans_serif_font_family: cef_string_t,
pub cursive_font_family: cef_string_t,
pub fantasy_font_family: cef_string_t,
pub default_font_size: ::std::os::raw::c_int,
pub default_fixed_font_size: ::std::os::raw::c_int,
pub minimum_font_size: ::std::os::raw::c_int,
pub minimum_logical_font_size: ::std::os::raw::c_int,
#[doc = "\n Default encoding for Web content. If empty \"ISO-8859-1\" will be used. Also\n configurable using the \"default-encoding\" command-line switch.\n"]
pub default_encoding: cef_string_t,
#[doc = "\n Controls the loading of fonts from remote sources. Also configurable using\n the \"disable-remote-fonts\" command-line switch.\n"]
pub remote_fonts: cef_state_t,
#[doc = "\n Controls whether JavaScript can be executed. Also configurable using the\n \"disable-javascript\" command-line switch.\n"]
pub javascript: cef_state_t,
#[doc = "\n Controls whether JavaScript can be used to close windows that were not\n opened via JavaScript. JavaScript can still be used to close windows that\n were opened via JavaScript or that have no back/forward history. Also\n configurable using the \"disable-javascript-close-windows\" command-line\n switch.\n"]
pub javascript_close_windows: cef_state_t,
#[doc = "\n Controls whether JavaScript can access the clipboard. Also configurable\n using the \"disable-javascript-access-clipboard\" command-line switch.\n"]
pub javascript_access_clipboard: cef_state_t,
#[doc = "\n Controls whether DOM pasting is supported in the editor via\n execCommand(\"paste\"). The |javascript_access_clipboard| setting must also\n be enabled. Also configurable using the \"disable-javascript-dom-paste\"\n command-line switch.\n"]
pub javascript_dom_paste: cef_state_t,
#[doc = "\n Controls whether image URLs will be loaded from the network. A cached\n image will still be rendered if requested. Also configurable using the\n \"disable-image-loading\" command-line switch.\n"]
pub image_loading: cef_state_t,
#[doc = "\n Controls whether standalone images will be shrunk to fit the page. Also\n configurable using the \"image-shrink-standalone-to-fit\" command-line\n switch.\n"]
pub image_shrink_standalone_to_fit: cef_state_t,
#[doc = "\n Controls whether text areas can be resized. Also configurable using the\n \"disable-text-area-resize\" command-line switch.\n"]
pub text_area_resize: cef_state_t,
#[doc = "\n Controls whether the tab key can advance focus to links. Also configurable\n using the \"disable-tab-to-links\" command-line switch.\n"]
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,
#[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 Comma delimited ordered list of language codes without any whitespace that\n will be used in the \"Accept-Language\" HTTP header. May be set globally\n using the CefSettings.accept_language_list value. If both values are\n empty then \"en-US,en\" will be used.\n"]
pub accept_language_list: cef_string_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"]
pub chrome_status_bubble: cef_state_t,
}
#[test]
fn bindgen_test_layout__cef_browser_settings_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_browser_settings_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_browser_settings_t>(),
288usize,
concat!("Size of: ", stringify!(_cef_browser_settings_t))
);
assert_eq!(
::std::mem::align_of::<_cef_browser_settings_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_browser_settings_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).windowless_frame_rate) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(windowless_frame_rate)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).standard_font_family) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(standard_font_family)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).fixed_font_family) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(fixed_font_family)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).serif_font_family) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(serif_font_family)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).sans_serif_font_family) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(sans_serif_font_family)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cursive_font_family) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(cursive_font_family)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).fantasy_font_family) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(fantasy_font_family)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).default_font_size) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(default_font_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).default_fixed_font_size) as usize - ptr as usize },
164usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(default_fixed_font_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).minimum_font_size) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(minimum_font_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).minimum_logical_font_size) as usize - ptr as usize },
172usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(minimum_logical_font_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).default_encoding) as usize - ptr as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(default_encoding)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).remote_fonts) as usize - ptr as usize },
200usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(remote_fonts)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).javascript) as usize - ptr as usize },
204usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(javascript)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).javascript_close_windows) as usize - ptr as usize },
208usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(javascript_close_windows)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).javascript_access_clipboard) as usize - ptr as usize },
212usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(javascript_access_clipboard)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).javascript_dom_paste) as usize - ptr as usize },
216usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(javascript_dom_paste)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).image_loading) as usize - ptr as usize },
220usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(image_loading)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).image_shrink_standalone_to_fit) as usize - ptr as usize
},
224usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(image_shrink_standalone_to_fit)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).text_area_resize) as usize - ptr as usize },
228usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(text_area_resize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tab_to_links) as usize - ptr as usize },
232usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(tab_to_links)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).local_storage) as usize - ptr as usize },
236usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(local_storage)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).databases) as usize - ptr as usize },
240usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(databases)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).webgl) as usize - ptr as usize },
244usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(webgl)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).background_color) as usize - ptr as usize },
248usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(background_color)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).accept_language_list) as usize - ptr as usize },
256usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(accept_language_list)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).chrome_status_bubble) as usize - ptr as usize },
280usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_settings_t),
"::",
stringify!(chrome_status_bubble)
)
);
}
#[doc = "\n Browser initialization settings. Specify NULL or 0 to get the recommended\n default values. The consequences of using custom values may not be well\n tested. Many of these and other settings can also configured using command-\n line switches.\n"]
pub type cef_browser_settings_t = _cef_browser_settings_t;
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Return value types.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_return_value_t {
#[doc = "\n Cancel immediately.\n"]
RV_CANCEL = 0,
#[doc = "\n Continue immediately.\n"]
RV_CONTINUE = 1,
#[doc = "\n Continue asynchronously (usually via a callback).\n"]
RV_CONTINUE_ASYNC = 2,
}
#[doc = "\n URL component parts.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_urlparts_t {
#[doc = "\n The complete URL specification.\n"]
pub spec: cef_string_t,
#[doc = "\n Scheme component not including the colon (e.g., \"http\").\n"]
pub scheme: cef_string_t,
#[doc = "\n User name component.\n"]
pub username: cef_string_t,
#[doc = "\n Password component.\n"]
pub password: cef_string_t,
#[doc = "\n Host component. This may be a hostname, an IPv4 address or an IPv6 literal\n surrounded by square brackets (e.g., \"[2001:db8::1]\").\n"]
pub host: cef_string_t,
#[doc = "\n Port number component.\n"]
pub port: cef_string_t,
#[doc = "\n Origin contains just the scheme, host, and port from a URL. Equivalent to\n clearing any username and password, replacing the path with a slash, and\n clearing everything after that. This value will be empty for non-standard\n URLs.\n"]
pub origin: cef_string_t,
#[doc = "\n Path component including the first slash following the host.\n"]
pub path: cef_string_t,
#[doc = "\n Query string component (i.e., everything following the '?').\n"]
pub query: cef_string_t,
#[doc = "\n Fragment (hash) identifier component (i.e., the string following the '#').\n"]
pub fragment: cef_string_t,
}
#[test]
fn bindgen_test_layout__cef_urlparts_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_urlparts_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_urlparts_t>(),
240usize,
concat!("Size of: ", stringify!(_cef_urlparts_t))
);
assert_eq!(
::std::mem::align_of::<_cef_urlparts_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_urlparts_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).spec) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_urlparts_t),
"::",
stringify!(spec)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).scheme) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_cef_urlparts_t),
"::",
stringify!(scheme)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).username) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_urlparts_t),
"::",
stringify!(username)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).password) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_urlparts_t),
"::",
stringify!(password)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).host) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_urlparts_t),
"::",
stringify!(host)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).port) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_urlparts_t),
"::",
stringify!(port)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).origin) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(_cef_urlparts_t),
"::",
stringify!(origin)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).path) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_cef_urlparts_t),
"::",
stringify!(path)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).query) as usize - ptr as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(_cef_urlparts_t),
"::",
stringify!(query)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).fragment) as usize - ptr as usize },
216usize,
concat!(
"Offset of field: ",
stringify!(_cef_urlparts_t),
"::",
stringify!(fragment)
)
);
}
#[doc = "\n URL component parts.\n"]
pub type cef_urlparts_t = _cef_urlparts_t;
#[repr(i32)]
#[non_exhaustive]
#[doc = "\n Cookie priority values.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_cookie_priority_t {
CEF_COOKIE_PRIORITY_LOW = -1,
CEF_COOKIE_PRIORITY_MEDIUM = 0,
CEF_COOKIE_PRIORITY_HIGH = 1,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Cookie same site values.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_cookie_same_site_t {
CEF_COOKIE_SAME_SITE_UNSPECIFIED = 0,
CEF_COOKIE_SAME_SITE_NO_RESTRICTION = 1,
CEF_COOKIE_SAME_SITE_LAX_MODE = 2,
CEF_COOKIE_SAME_SITE_STRICT_MODE = 3,
}
#[doc = "\n Cookie information.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_cookie_t {
#[doc = "\n The cookie name.\n"]
pub name: cef_string_t,
#[doc = "\n The cookie value.\n"]
pub value: cef_string_t,
#[doc = "\n If |domain| is empty a host cookie will be created instead of a domain\n cookie. Domain cookies are stored with a leading \".\" and are visible to\n sub-domains whereas host cookies are not.\n"]
pub domain: cef_string_t,
#[doc = "\n If |path| is non-empty only URLs at or below the path will get the cookie\n value.\n"]
pub path: cef_string_t,
#[doc = "\n If |secure| is true the cookie will only be sent for HTTPS requests.\n"]
pub secure: ::std::os::raw::c_int,
#[doc = "\n If |httponly| is true the cookie will only be sent for HTTP requests.\n"]
pub httponly: ::std::os::raw::c_int,
#[doc = "\n The cookie creation date. This is automatically populated by the system on\n cookie creation.\n"]
pub creation: cef_basetime_t,
#[doc = "\n The cookie last access date. This is automatically populated by the system\n on access.\n"]
pub last_access: cef_basetime_t,
#[doc = "\n The cookie expiration date is only valid if |has_expires| is true.\n"]
pub has_expires: ::std::os::raw::c_int,
pub expires: cef_basetime_t,
#[doc = "\n Same site.\n"]
pub same_site: cef_cookie_same_site_t,
#[doc = "\n Priority.\n"]
pub priority: cef_cookie_priority_t,
}
#[test]
fn bindgen_test_layout__cef_cookie_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_cookie_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_cookie_t>(),
144usize,
concat!("Size of: ", stringify!(_cef_cookie_t))
);
assert_eq!(
::std::mem::align_of::<_cef_cookie_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_cookie_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_cookie_t),
"::",
stringify!(name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_cef_cookie_t),
"::",
stringify!(value)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).domain) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_cookie_t),
"::",
stringify!(domain)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).path) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_cookie_t),
"::",
stringify!(path)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).secure) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_cookie_t),
"::",
stringify!(secure)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).httponly) as usize - ptr as usize },
100usize,
concat!(
"Offset of field: ",
stringify!(_cef_cookie_t),
"::",
stringify!(httponly)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).creation) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_cookie_t),
"::",
stringify!(creation)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).last_access) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_cookie_t),
"::",
stringify!(last_access)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).has_expires) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_cookie_t),
"::",
stringify!(has_expires)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).expires) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_cookie_t),
"::",
stringify!(expires)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).same_site) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_cookie_t),
"::",
stringify!(same_site)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).priority) as usize - ptr as usize },
140usize,
concat!(
"Offset of field: ",
stringify!(_cef_cookie_t),
"::",
stringify!(priority)
)
);
}
#[doc = "\n Cookie information.\n"]
pub type cef_cookie_t = _cef_cookie_t;
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Process termination status values.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_termination_status_t {
#[doc = "\n Non-zero exit status.\n"]
TS_ABNORMAL_TERMINATION = 0,
#[doc = "\n SIGKILL or task manager kill.\n"]
TS_PROCESS_WAS_KILLED = 1,
#[doc = "\n Segmentation fault.\n"]
TS_PROCESS_CRASHED = 2,
#[doc = "\n Out of memory. Some platforms may use TS_PROCESS_CRASHED instead.\n"]
TS_PROCESS_OOM = 3,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Path key values.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_path_key_t {
#[doc = "\n Current directory.\n"]
PK_DIR_CURRENT = 0,
#[doc = "\n Directory containing PK_FILE_EXE.\n"]
PK_DIR_EXE = 1,
#[doc = "\n Directory containing PK_FILE_MODULE.\n"]
PK_DIR_MODULE = 2,
#[doc = "\n Temporary directory.\n"]
PK_DIR_TEMP = 3,
#[doc = "\n Path and filename of the current executable.\n"]
PK_FILE_EXE = 4,
#[doc = "\n Path and filename of the module containing the CEF code (usually the\n libcef module).\n"]
PK_FILE_MODULE = 5,
#[doc = "\n \"Local Settings\\Application Data\" directory under the user profile\n directory on Windows.\n"]
PK_LOCAL_APP_DATA = 6,
#[doc = "\n \"Application Data\" directory under the user profile directory on Windows\n and \"~/Library/Application Support\" directory on MacOS.\n"]
PK_USER_DATA = 7,
#[doc = "\n Directory containing application resources. Can be configured via\n CefSettings.resources_dir_path.\n"]
PK_DIR_RESOURCES = 8,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Storage types.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_storage_type_t {
ST_LOCALSTORAGE = 0,
ST_SESSIONSTORAGE = 1,
}
#[repr(i32)]
#[non_exhaustive]
#[doc = "\n Supported error code values. For the complete list of error values see\n \"include/base/internal/cef_net_error_list.h\".\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_errorcode_t {
ERR_NONE = 0,
ERR_IO_PENDING = -1,
ERR_FAILED = -2,
ERR_ABORTED = -3,
ERR_INVALID_ARGUMENT = -4,
ERR_INVALID_HANDLE = -5,
ERR_FILE_NOT_FOUND = -6,
ERR_TIMED_OUT = -7,
ERR_FILE_TOO_BIG = -8,
ERR_UNEXPECTED = -9,
ERR_ACCESS_DENIED = -10,
ERR_NOT_IMPLEMENTED = -11,
ERR_INSUFFICIENT_RESOURCES = -12,
ERR_OUT_OF_MEMORY = -13,
ERR_UPLOAD_FILE_CHANGED = -14,
ERR_SOCKET_NOT_CONNECTED = -15,
ERR_FILE_EXISTS = -16,
ERR_FILE_PATH_TOO_LONG = -17,
ERR_FILE_NO_SPACE = -18,
ERR_FILE_VIRUS_INFECTED = -19,
ERR_BLOCKED_BY_CLIENT = -20,
ERR_NETWORK_CHANGED = -21,
ERR_BLOCKED_BY_ADMINISTRATOR = -22,
ERR_SOCKET_IS_CONNECTED = -23,
ERR_UPLOAD_STREAM_REWIND_NOT_SUPPORTED = -25,
ERR_CONTEXT_SHUT_DOWN = -26,
ERR_BLOCKED_BY_RESPONSE = -27,
ERR_CLEARTEXT_NOT_PERMITTED = -29,
ERR_BLOCKED_BY_CSP = -30,
ERR_H2_OR_QUIC_REQUIRED = -31,
ERR_BLOCKED_BY_ORB = -32,
ERR_CONNECTION_CLOSED = -100,
ERR_CONNECTION_RESET = -101,
ERR_CONNECTION_REFUSED = -102,
ERR_CONNECTION_ABORTED = -103,
ERR_CONNECTION_FAILED = -104,
ERR_NAME_NOT_RESOLVED = -105,
ERR_INTERNET_DISCONNECTED = -106,
ERR_SSL_PROTOCOL_ERROR = -107,
ERR_ADDRESS_INVALID = -108,
ERR_ADDRESS_UNREACHABLE = -109,
ERR_SSL_CLIENT_AUTH_CERT_NEEDED = -110,
ERR_TUNNEL_CONNECTION_FAILED = -111,
ERR_NO_SSL_VERSIONS_ENABLED = -112,
ERR_SSL_VERSION_OR_CIPHER_MISMATCH = -113,
ERR_SSL_RENEGOTIATION_REQUESTED = -114,
ERR_PROXY_AUTH_UNSUPPORTED = -115,
ERR_BAD_SSL_CLIENT_AUTH_CERT = -117,
ERR_CONNECTION_TIMED_OUT = -118,
ERR_HOST_RESOLVER_QUEUE_TOO_LARGE = -119,
ERR_SOCKS_CONNECTION_FAILED = -120,
ERR_SOCKS_CONNECTION_HOST_UNREACHABLE = -121,
ERR_ALPN_NEGOTIATION_FAILED = -122,
ERR_SSL_NO_RENEGOTIATION = -123,
ERR_WINSOCK_UNEXPECTED_WRITTEN_BYTES = -124,
ERR_SSL_DECOMPRESSION_FAILURE_ALERT = -125,
ERR_SSL_BAD_RECORD_MAC_ALERT = -126,
ERR_PROXY_AUTH_REQUESTED = -127,
ERR_PROXY_CONNECTION_FAILED = -130,
ERR_MANDATORY_PROXY_CONFIGURATION_FAILED = -131,
ERR_PRECONNECT_MAX_SOCKET_LIMIT = -133,
ERR_SSL_CLIENT_AUTH_PRIVATE_KEY_ACCESS_DENIED = -134,
ERR_SSL_CLIENT_AUTH_CERT_NO_PRIVATE_KEY = -135,
ERR_PROXY_CERTIFICATE_INVALID = -136,
ERR_NAME_RESOLUTION_FAILED = -137,
ERR_NETWORK_ACCESS_DENIED = -138,
ERR_TEMPORARILY_THROTTLED = -139,
ERR_HTTPS_PROXY_TUNNEL_RESPONSE_REDIRECT = -140,
ERR_SSL_CLIENT_AUTH_SIGNATURE_FAILED = -141,
ERR_MSG_TOO_BIG = -142,
ERR_WS_PROTOCOL_ERROR = -145,
ERR_ADDRESS_IN_USE = -147,
ERR_SSL_HANDSHAKE_NOT_COMPLETED = -148,
ERR_SSL_BAD_PEER_PUBLIC_KEY = -149,
ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN = -150,
ERR_CLIENT_AUTH_CERT_TYPE_UNSUPPORTED = -151,
ERR_SSL_DECRYPT_ERROR_ALERT = -153,
ERR_WS_THROTTLE_QUEUE_TOO_LARGE = -154,
ERR_SSL_SERVER_CERT_CHANGED = -156,
ERR_SSL_UNRECOGNIZED_NAME_ALERT = -159,
ERR_SOCKET_SET_RECEIVE_BUFFER_SIZE_ERROR = -160,
ERR_SOCKET_SET_SEND_BUFFER_SIZE_ERROR = -161,
ERR_SOCKET_RECEIVE_BUFFER_SIZE_UNCHANGEABLE = -162,
ERR_SOCKET_SEND_BUFFER_SIZE_UNCHANGEABLE = -163,
ERR_SSL_CLIENT_AUTH_CERT_BAD_FORMAT = -164,
ERR_ICANN_NAME_COLLISION = -166,
ERR_SSL_SERVER_CERT_BAD_FORMAT = -167,
ERR_CT_STH_PARSING_FAILED = -168,
ERR_CT_STH_INCOMPLETE = -169,
ERR_UNABLE_TO_REUSE_CONNECTION_FOR_PROXY_AUTH = -170,
ERR_CT_CONSISTENCY_PROOF_PARSING_FAILED = -171,
ERR_SSL_OBSOLETE_CIPHER = -172,
ERR_WS_UPGRADE = -173,
ERR_READ_IF_READY_NOT_IMPLEMENTED = -174,
ERR_NO_BUFFER_SPACE = -176,
ERR_SSL_CLIENT_AUTH_NO_COMMON_ALGORITHMS = -177,
ERR_EARLY_DATA_REJECTED = -178,
ERR_WRONG_VERSION_ON_EARLY_DATA = -179,
ERR_TLS13_DOWNGRADE_DETECTED = -180,
ERR_SSL_KEY_USAGE_INCOMPATIBLE = -181,
ERR_INVALID_ECH_CONFIG_LIST = -182,
ERR_ECH_NOT_NEGOTIATED = -183,
ERR_ECH_FALLBACK_CERTIFICATE_INVALID = -184,
ERR_CERT_COMMON_NAME_INVALID = -200,
ERR_CERT_DATE_INVALID = -201,
ERR_CERT_AUTHORITY_INVALID = -202,
ERR_CERT_CONTAINS_ERRORS = -203,
ERR_CERT_NO_REVOCATION_MECHANISM = -204,
ERR_CERT_UNABLE_TO_CHECK_REVOCATION = -205,
ERR_CERT_REVOKED = -206,
ERR_CERT_INVALID = -207,
ERR_CERT_WEAK_SIGNATURE_ALGORITHM = -208,
ERR_CERT_NON_UNIQUE_NAME = -210,
ERR_CERT_WEAK_KEY = -211,
ERR_CERT_NAME_CONSTRAINT_VIOLATION = -212,
ERR_CERT_VALIDITY_TOO_LONG = -213,
ERR_CERTIFICATE_TRANSPARENCY_REQUIRED = -214,
ERR_CERT_SYMANTEC_LEGACY = -215,
ERR_CERT_KNOWN_INTERCEPTION_BLOCKED = -217,
ERR_CERT_END = -219,
ERR_INVALID_URL = -300,
ERR_DISALLOWED_URL_SCHEME = -301,
ERR_UNKNOWN_URL_SCHEME = -302,
ERR_INVALID_REDIRECT = -303,
ERR_TOO_MANY_REDIRECTS = -310,
ERR_UNSAFE_REDIRECT = -311,
ERR_UNSAFE_PORT = -312,
ERR_INVALID_RESPONSE = -320,
ERR_INVALID_CHUNKED_ENCODING = -321,
ERR_METHOD_NOT_SUPPORTED = -322,
ERR_UNEXPECTED_PROXY_AUTH = -323,
ERR_EMPTY_RESPONSE = -324,
ERR_RESPONSE_HEADERS_TOO_BIG = -325,
ERR_PAC_SCRIPT_FAILED = -327,
ERR_REQUEST_RANGE_NOT_SATISFIABLE = -328,
ERR_MALFORMED_IDENTITY = -329,
ERR_CONTENT_DECODING_FAILED = -330,
ERR_NETWORK_IO_SUSPENDED = -331,
ERR_SYN_REPLY_NOT_RECEIVED = -332,
ERR_ENCODING_CONVERSION_FAILED = -333,
ERR_UNRECOGNIZED_FTP_DIRECTORY_LISTING_FORMAT = -334,
ERR_NO_SUPPORTED_PROXIES = -336,
ERR_HTTP2_PROTOCOL_ERROR = -337,
ERR_INVALID_AUTH_CREDENTIALS = -338,
ERR_UNSUPPORTED_AUTH_SCHEME = -339,
ERR_ENCODING_DETECTION_FAILED = -340,
ERR_MISSING_AUTH_CREDENTIALS = -341,
ERR_UNEXPECTED_SECURITY_LIBRARY_STATUS = -342,
ERR_MISCONFIGURED_AUTH_ENVIRONMENT = -343,
ERR_UNDOCUMENTED_SECURITY_LIBRARY_STATUS = -344,
ERR_RESPONSE_BODY_TOO_BIG_TO_DRAIN = -345,
ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_LENGTH = -346,
ERR_INCOMPLETE_HTTP2_HEADERS = -347,
ERR_PAC_NOT_IN_DHCP = -348,
ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION = -349,
ERR_RESPONSE_HEADERS_MULTIPLE_LOCATION = -350,
ERR_HTTP2_SERVER_REFUSED_STREAM = -351,
ERR_HTTP2_PING_FAILED = -352,
ERR_CONTENT_LENGTH_MISMATCH = -354,
ERR_INCOMPLETE_CHUNKED_ENCODING = -355,
ERR_QUIC_PROTOCOL_ERROR = -356,
ERR_RESPONSE_HEADERS_TRUNCATED = -357,
ERR_QUIC_HANDSHAKE_FAILED = -358,
ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY = -360,
ERR_HTTP2_FLOW_CONTROL_ERROR = -361,
ERR_HTTP2_FRAME_SIZE_ERROR = -362,
ERR_HTTP2_COMPRESSION_ERROR = -363,
ERR_PROXY_AUTH_REQUESTED_WITH_NO_CONNECTION = -364,
ERR_HTTP_1_1_REQUIRED = -365,
ERR_PROXY_HTTP_1_1_REQUIRED = -366,
ERR_PAC_SCRIPT_TERMINATED = -367,
ERR_INVALID_HTTP_RESPONSE = -370,
ERR_CONTENT_DECODING_INIT_FAILED = -371,
ERR_HTTP2_RST_STREAM_NO_ERROR_RECEIVED = -372,
ERR_TOO_MANY_RETRIES = -375,
ERR_HTTP2_STREAM_CLOSED = -376,
ERR_HTTP_RESPONSE_CODE_FAILURE = -379,
ERR_QUIC_CERT_ROOT_NOT_KNOWN = -380,
ERR_QUIC_GOAWAY_REQUEST_CAN_BE_RETRIED = -381,
ERR_TOO_MANY_ACCEPT_CH_RESTARTS = -382,
ERR_INCONSISTENT_IP_ADDRESS_SPACE = -383,
ERR_CACHED_IP_ADDRESS_SPACE_BLOCKED_BY_PRIVATE_NETWORK_ACCESS_POLICY = -384,
ERR_CACHE_MISS = -400,
ERR_CACHE_READ_FAILURE = -401,
ERR_CACHE_WRITE_FAILURE = -402,
ERR_CACHE_OPERATION_NOT_SUPPORTED = -403,
ERR_CACHE_OPEN_FAILURE = -404,
ERR_CACHE_CREATE_FAILURE = -405,
ERR_CACHE_RACE = -406,
ERR_CACHE_CHECKSUM_READ_FAILURE = -407,
ERR_CACHE_CHECKSUM_MISMATCH = -408,
ERR_CACHE_LOCK_TIMEOUT = -409,
ERR_CACHE_AUTH_FAILURE_AFTER_READ = -410,
ERR_CACHE_ENTRY_NOT_SUITABLE = -411,
ERR_CACHE_DOOM_FAILURE = -412,
ERR_CACHE_OPEN_OR_CREATE_FAILURE = -413,
ERR_INSECURE_RESPONSE = -501,
ERR_NO_PRIVATE_KEY_FOR_CERT = -502,
ERR_ADD_USER_CERT_FAILED = -503,
ERR_INVALID_SIGNED_EXCHANGE = -504,
ERR_INVALID_WEB_BUNDLE = -505,
ERR_TRUST_TOKEN_OPERATION_FAILED = -506,
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,
ERR_PKCS12_IMPORT_BAD_PASSWORD = -701,
ERR_PKCS12_IMPORT_FAILED = -702,
ERR_IMPORT_CA_CERT_NOT_CA = -703,
ERR_IMPORT_CERT_ALREADY_EXISTS = -704,
ERR_IMPORT_CA_CERT_FAILED = -705,
ERR_IMPORT_SERVER_CERT_FAILED = -706,
ERR_PKCS12_IMPORT_INVALID_MAC = -707,
ERR_PKCS12_IMPORT_INVALID_FILE = -708,
ERR_PKCS12_IMPORT_UNSUPPORTED = -709,
ERR_KEY_GENERATION_FAILED = -710,
ERR_PRIVATE_KEY_EXPORT_FAILED = -712,
ERR_SELF_SIGNED_CERT_GENERATION_FAILED = -713,
ERR_CERT_DATABASE_CHANGED = -714,
ERR_CERT_VERIFIER_CHANGED = -716,
ERR_DNS_MALFORMED_RESPONSE = -800,
ERR_DNS_SERVER_REQUIRES_TCP = -801,
ERR_DNS_SERVER_FAILED = -802,
ERR_DNS_TIMED_OUT = -803,
ERR_DNS_CACHE_MISS = -804,
ERR_DNS_SEARCH_EMPTY = -805,
ERR_DNS_SORT_ERROR = -806,
ERR_DNS_SECURE_RESOLVER_HOSTNAME_RESOLUTION_FAILED = -808,
ERR_DNS_NAME_HTTPS_ONLY = -809,
ERR_DNS_REQUEST_CANCELLED = -810,
ERR_DNS_NO_MATCHING_SUPPORTED_ALPN = -811,
ERR_DICTIONARY_LOAD_FAILED = -812,
}
#[repr(u32)]
#[non_exhaustive]
#[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"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_cert_status_t {
CERT_STATUS_NONE = 0,
CERT_STATUS_COMMON_NAME_INVALID = 1,
CERT_STATUS_DATE_INVALID = 2,
CERT_STATUS_AUTHORITY_INVALID = 4,
CERT_STATUS_NO_REVOCATION_MECHANISM = 16,
CERT_STATUS_UNABLE_TO_CHECK_REVOCATION = 32,
CERT_STATUS_REVOKED = 64,
CERT_STATUS_INVALID = 128,
CERT_STATUS_WEAK_SIGNATURE_ALGORITHM = 256,
CERT_STATUS_NON_UNIQUE_NAME = 1024,
CERT_STATUS_WEAK_KEY = 2048,
CERT_STATUS_PINNED_KEY_MISSING = 8192,
CERT_STATUS_NAME_CONSTRAINT_VIOLATION = 16384,
CERT_STATUS_VALIDITY_TOO_LONG = 32768,
CERT_STATUS_IS_EV = 65536,
CERT_STATUS_REV_CHECKING_ENABLED = 131072,
CERT_STATUS_SHA1_SIGNATURE_PRESENT = 524288,
CERT_STATUS_CT_COMPLIANCE_FAILED = 1048576,
}
#[repr(u32)]
#[non_exhaustive]
#[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)]
pub enum cef_window_open_disposition_t {
WOD_UNKNOWN = 0,
#[doc = "\n Current tab. This is the default in most cases.\n"]
WOD_CURRENT_TAB = 1,
#[doc = "\n Indicates that only one tab with the url should exist in the same window.\n"]
WOD_SINGLETON_TAB = 2,
#[doc = "\n Shift key + Middle mouse button or meta/ctrl key while clicking.\n"]
WOD_NEW_FOREGROUND_TAB = 3,
#[doc = "\n Middle mouse button or meta/ctrl key while clicking.\n"]
WOD_NEW_BACKGROUND_TAB = 4,
#[doc = "\n New popup window.\n"]
WOD_NEW_POPUP = 5,
#[doc = "\n Shift key while clicking.\n"]
WOD_NEW_WINDOW = 6,
#[doc = "\n Alt key while clicking.\n"]
WOD_SAVE_TO_DISK = 7,
#[doc = "\n New off-the-record (incognito) window.\n"]
WOD_OFF_THE_RECORD = 8,
#[doc = "\n Special case error condition from the renderer.\n"]
WOD_IGNORE_ACTION = 9,
#[doc = "\n Activates an existing tab containing the url, rather than navigating.\n This is similar to SINGLETON_TAB, but searches across all windows from\n the current profile and anonymity (instead of just the current one);\n closes the current tab on switching if the current tab was the NTP with\n no session history; and behaves like CURRENT_TAB instead of\n NEW_FOREGROUND_TAB when no existing tab is found.\n"]
WOD_SWITCH_TO_TAB = 10,
#[doc = "\n Creates a new document picture-in-picture window showing a child WebView.\n"]
WOD_NEW_PICTURE_IN_PICTURE = 11,
}
impl cef_drag_operations_mask_t {
pub const DRAG_OPERATION_NONE: cef_drag_operations_mask_t = cef_drag_operations_mask_t(0);
}
impl cef_drag_operations_mask_t {
pub const DRAG_OPERATION_COPY: cef_drag_operations_mask_t = cef_drag_operations_mask_t(1);
}
impl cef_drag_operations_mask_t {
pub const DRAG_OPERATION_LINK: cef_drag_operations_mask_t = cef_drag_operations_mask_t(2);
}
impl cef_drag_operations_mask_t {
pub const DRAG_OPERATION_GENERIC: cef_drag_operations_mask_t = cef_drag_operations_mask_t(4);
}
impl cef_drag_operations_mask_t {
pub const DRAG_OPERATION_PRIVATE: cef_drag_operations_mask_t = cef_drag_operations_mask_t(8);
}
impl cef_drag_operations_mask_t {
pub const DRAG_OPERATION_MOVE: cef_drag_operations_mask_t = cef_drag_operations_mask_t(16);
}
impl cef_drag_operations_mask_t {
pub const DRAG_OPERATION_DELETE: cef_drag_operations_mask_t = cef_drag_operations_mask_t(32);
}
impl cef_drag_operations_mask_t {
pub const DRAG_OPERATION_EVERY: cef_drag_operations_mask_t =
cef_drag_operations_mask_t(4294967295);
}
impl ::std::ops::BitOr<cef_drag_operations_mask_t> for cef_drag_operations_mask_t {
type Output = Self;
#[inline]
fn bitor(self, other: Self) -> Self {
cef_drag_operations_mask_t(self.0 | other.0)
}
}
impl ::std::ops::BitOrAssign for cef_drag_operations_mask_t {
#[inline]
fn bitor_assign(&mut self, rhs: cef_drag_operations_mask_t) {
self.0 |= rhs.0;
}
}
impl ::std::ops::BitAnd<cef_drag_operations_mask_t> for cef_drag_operations_mask_t {
type Output = Self;
#[inline]
fn bitand(self, other: Self) -> Self {
cef_drag_operations_mask_t(self.0 & other.0)
}
}
impl ::std::ops::BitAndAssign for cef_drag_operations_mask_t {
#[inline]
fn bitand_assign(&mut self, rhs: cef_drag_operations_mask_t) {
self.0 &= rhs.0;
}
}
#[repr(transparent)]
#[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"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct cef_drag_operations_mask_t(pub ::std::os::raw::c_uint);
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(u32)]
#[non_exhaustive]
#[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)]
pub enum cef_text_input_mode_t {
CEF_TEXT_INPUT_MODE_DEFAULT = 0,
CEF_TEXT_INPUT_MODE_NONE = 1,
CEF_TEXT_INPUT_MODE_TEXT = 2,
CEF_TEXT_INPUT_MODE_TEL = 3,
CEF_TEXT_INPUT_MODE_URL = 4,
CEF_TEXT_INPUT_MODE_EMAIL = 5,
CEF_TEXT_INPUT_MODE_NUMERIC = 6,
CEF_TEXT_INPUT_MODE_DECIMAL = 7,
CEF_TEXT_INPUT_MODE_SEARCH = 8,
}
#[repr(u32)]
#[non_exhaustive]
#[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,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n V8 property attribute values.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_v8_propertyattribute_t {
#[doc = "\n Writeable, Enumerable, Configurable\n"]
V8_PROPERTY_ATTRIBUTE_NONE = 0,
#[doc = "\n Not writeable\n"]
V8_PROPERTY_ATTRIBUTE_READONLY = 1,
#[doc = "\n Not enumerable\n"]
V8_PROPERTY_ATTRIBUTE_DONTENUM = 2,
#[doc = "\n Not configurable\n"]
V8_PROPERTY_ATTRIBUTE_DONTDELETE = 4,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Post data elements may represent either bytes or files.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_postdataelement_type_t {
PDE_TYPE_EMPTY = 0,
PDE_TYPE_BYTES = 1,
PDE_TYPE_FILE = 2,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Resource type for a request. These constants match their equivalents in\n Chromium's ResourceType and should not be renumbered.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_resource_type_t {
#[doc = "\n Top level page.\n"]
RT_MAIN_FRAME = 0,
#[doc = "\n Frame or iframe.\n"]
RT_SUB_FRAME = 1,
#[doc = "\n CSS stylesheet.\n"]
RT_STYLESHEET = 2,
#[doc = "\n External script.\n"]
RT_SCRIPT = 3,
#[doc = "\n Image (jpg/gif/png/etc).\n"]
RT_IMAGE = 4,
#[doc = "\n Font.\n"]
RT_FONT_RESOURCE = 5,
#[doc = "\n Some other subresource. This is the default type if the actual type is\n unknown.\n"]
RT_SUB_RESOURCE = 6,
#[doc = "\n Object (or embed) tag for a plugin, or a resource that a plugin requested.\n"]
RT_OBJECT = 7,
#[doc = "\n Media resource.\n"]
RT_MEDIA = 8,
#[doc = "\n Main resource of a dedicated worker.\n"]
RT_WORKER = 9,
#[doc = "\n Main resource of a shared worker.\n"]
RT_SHARED_WORKER = 10,
#[doc = "\n Explicitly requested prefetch.\n"]
RT_PREFETCH = 11,
#[doc = "\n Favicon.\n"]
RT_FAVICON = 12,
#[doc = "\n XMLHttpRequest.\n"]
RT_XHR = 13,
#[doc = "\n A request for a \"<ping>\".\n"]
RT_PING = 14,
#[doc = "\n Main resource of a service worker.\n"]
RT_SERVICE_WORKER = 15,
#[doc = "\n A report of Content Security Policy violations.\n"]
RT_CSP_REPORT = 16,
#[doc = "\n A resource that a plugin requested.\n"]
RT_PLUGIN_RESOURCE = 17,
#[doc = "\n A main-frame service worker navigation preload request.\n"]
RT_NAVIGATION_PRELOAD_MAIN_FRAME = 19,
#[doc = "\n A sub-frame service worker navigation preload request.\n"]
RT_NAVIGATION_PRELOAD_SUB_FRAME = 20,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Transition type for a request. Made up of one source value and 0 or more\n qualifiers.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_transition_type_t {
#[doc = "\n Source is a link click or the JavaScript window.open function. This is\n also the default value for requests like sub-resource loads that are not\n navigations.\n"]
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"]
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"]
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"]
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"]
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"]
TT_KEYWORD_GENERATED = 10,
#[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"]
TT_BLOCKED_FLAG = 8388608,
#[doc = "\n Used the Forward or Back function to navigate among browsing history.\n Will be ORed to the transition type for the original load.\n"]
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"]
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"]
TT_FROM_API_FLAG = 134217728,
#[doc = "\n The beginning of a navigation chain.\n"]
TT_CHAIN_START_FLAG = 268435456,
#[doc = "\n The last transition in a redirect chain.\n"]
TT_CHAIN_END_FLAG = 536870912,
#[doc = "\n Redirects caused by JavaScript or a meta refresh tag on the page.\n"]
TT_CLIENT_REDIRECT_FLAG = 1073741824,
#[doc = "\n Redirects sent from the server by HTTP headers.\n"]
TT_SERVER_REDIRECT_FLAG = 2147483648,
#[doc = "\n Used to test whether a transition involves a redirect.\n"]
TT_IS_REDIRECT_MASK = 3221225472,
#[doc = "\n General mask defining the bits used for the qualifiers.\n"]
TT_QUALIFIER_MASK = 4294967040,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Flags used to customize the behavior of CefURLRequest.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_urlrequest_flags_t {
#[doc = "\n Default behavior.\n"]
UR_FLAG_NONE = 0,
#[doc = "\n If set the cache will be skipped when handling the request. Setting this\n value is equivalent to specifying the \"Cache-Control: no-cache\" request\n header. Setting this value in combination with UR_FLAG_ONLY_FROM_CACHE\n will cause the request to fail.\n"]
UR_FLAG_SKIP_CACHE = 1,
#[doc = "\n If set the request will fail if it cannot be served from the cache (or\n some equivalent local store). Setting this value is equivalent to\n specifying the \"Cache-Control: only-if-cached\" request header. Setting\n this value in combination with UR_FLAG_SKIP_CACHE or UR_FLAG_DISABLE_CACHE\n will cause the request to fail.\n"]
UR_FLAG_ONLY_FROM_CACHE = 2,
#[doc = "\n If set the cache will not be used at all. Setting this value is equivalent\n to specifying the \"Cache-Control: no-store\" request header. Setting this\n value in combination with UR_FLAG_ONLY_FROM_CACHE will cause the request\n to fail.\n"]
UR_FLAG_DISABLE_CACHE = 4,
#[doc = "\n If set user name, password, and cookies may be sent with the request, and\n cookies may be saved from the response.\n"]
UR_FLAG_ALLOW_STORED_CREDENTIALS = 8,
#[doc = "\n If set upload progress events will be generated when a request has a body.\n"]
UR_FLAG_REPORT_UPLOAD_PROGRESS = 16,
#[doc = "\n If set the CefURLRequestClient::OnDownloadData method will not be called.\n"]
UR_FLAG_NO_DOWNLOAD_DATA = 32,
#[doc = "\n If set 5XX redirect errors will be propagated to the observer instead of\n automatically re-tried. This currently only applies for requests\n originated in the browser process.\n"]
UR_FLAG_NO_RETRY_ON_5XX = 64,
#[doc = "\n If set 3XX responses will cause the fetch to halt immediately rather than\n continue through the redirect.\n"]
UR_FLAG_STOP_ON_REDIRECT = 128,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Flags that represent CefURLRequest status.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_urlrequest_status_t {
#[doc = "\n Unknown status.\n"]
UR_UNKNOWN = 0,
#[doc = "\n Request succeeded.\n"]
UR_SUCCESS = 1,
#[doc = "\n An IO request is pending, and the caller will be informed when it is\n completed.\n"]
UR_IO_PENDING = 2,
#[doc = "\n Request was canceled programatically.\n"]
UR_CANCELED = 3,
#[doc = "\n Request failed for some reason.\n"]
UR_FAILED = 4,
}
#[doc = " Structure representing a draggable region.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_draggable_region_t {
#[doc = "\n Bounds of the region.\n"]
pub bounds: cef_rect_t,
#[doc = "\n True (1) this this region is draggable and false (0) otherwise.\n"]
pub draggable: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__cef_draggable_region_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_draggable_region_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_draggable_region_t>(),
20usize,
concat!("Size of: ", stringify!(_cef_draggable_region_t))
);
assert_eq!(
::std::mem::align_of::<_cef_draggable_region_t>(),
4usize,
concat!("Alignment of ", stringify!(_cef_draggable_region_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bounds) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_draggable_region_t),
"::",
stringify!(bounds)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).draggable) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_cef_draggable_region_t),
"::",
stringify!(draggable)
)
);
}
#[doc = " Structure representing a draggable region.\n"]
pub type cef_draggable_region_t = _cef_draggable_region_t;
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Existing process IDs.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_process_id_t {
#[doc = "\n Browser process.\n"]
PID_BROWSER = 0,
#[doc = "\n Renderer process.\n"]
PID_RENDERER = 1,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Existing thread IDs.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_thread_id_t {
#[doc = "\n The main thread in the browser. This will be the same as the main\n application thread if CefInitialize() is called with a\n CefSettings.multi_threaded_message_loop value of false. Do not perform\n blocking tasks on this thread. All tasks posted after\n CefBrowserProcessHandler::OnContextInitialized() and before CefShutdown()\n are guaranteed to run. This thread will outlive all other CEF threads.\n"]
TID_UI = 0,
#[doc = "\n Used for blocking tasks like file system access where the user won't\n notice if the task takes an arbitrarily long time to complete. All tasks\n posted after CefBrowserProcessHandler::OnContextInitialized() and before\n CefShutdown() are guaranteed to run.\n"]
TID_FILE_BACKGROUND = 1,
#[doc = "\n Used for blocking tasks like file system access that affect UI or\n responsiveness of future user interactions. Do not use if an immediate\n response to a user interaction is expected. All tasks posted after\n CefBrowserProcessHandler::OnContextInitialized() and before CefShutdown()\n are guaranteed to run.\n Examples:\n - Updating the UI to reflect progress on a long task.\n - Loading data that might be shown in the UI after a future user\n interaction.\n"]
TID_FILE_USER_VISIBLE = 2,
#[doc = "\n Used for blocking tasks like file system access that affect UI\n immediately after a user interaction. All tasks posted after\n CefBrowserProcessHandler::OnContextInitialized() and before CefShutdown()\n are guaranteed to run.\n Example: Generating data shown in the UI immediately after a click.\n"]
TID_FILE_USER_BLOCKING = 3,
#[doc = "\n Used to launch and terminate browser processes.\n"]
TID_PROCESS_LAUNCHER = 4,
#[doc = "\n Used to process IPC and network messages. Do not perform blocking tasks on\n this thread. All tasks posted after\n CefBrowserProcessHandler::OnContextInitialized() and before CefShutdown()\n are guaranteed to run.\n"]
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,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Thread priority values listed in increasing order of importance.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_thread_priority_t {
#[doc = "\n Suitable for threads that shouldn't disrupt high priority work.\n"]
TP_BACKGROUND = 0,
#[doc = "\n Default priority level.\n"]
TP_NORMAL = 1,
#[doc = "\n Suitable for threads which generate data for the display (at ~60Hz).\n"]
TP_DISPLAY = 2,
#[doc = "\n Suitable for low-latency, glitch-resistant audio.\n"]
TP_REALTIME_AUDIO = 3,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Message loop types. Indicates the set of asynchronous events that a message\n loop can process.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_message_loop_type_t {
#[doc = "\n Supports tasks and timers.\n"]
ML_TYPE_DEFAULT = 0,
#[doc = "\n Supports tasks, timers and native UI events (e.g. Windows messages).\n"]
ML_TYPE_UI = 1,
#[doc = "\n Supports tasks, timers and asynchronous IO events.\n"]
ML_TYPE_IO = 2,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Windows COM initialization mode. Specifies how COM will be initialized for a\n new thread.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_com_init_mode_t {
#[doc = "\n No COM initialization.\n"]
COM_INIT_MODE_NONE = 0,
#[doc = "\n Initialize COM using single-threaded apartments.\n"]
COM_INIT_MODE_STA = 1,
#[doc = "\n Initialize COM using multi-threaded apartments.\n"]
COM_INIT_MODE_MTA = 2,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Supported value types.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_value_type_t {
VTYPE_INVALID = 0,
VTYPE_NULL = 1,
VTYPE_BOOL = 2,
VTYPE_INT = 3,
VTYPE_DOUBLE = 4,
VTYPE_STRING = 5,
VTYPE_BINARY = 6,
VTYPE_DICTIONARY = 7,
VTYPE_LIST = 8,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Supported JavaScript dialog types.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_jsdialog_type_t {
JSDIALOGTYPE_ALERT = 0,
JSDIALOGTYPE_CONFIRM = 1,
JSDIALOGTYPE_PROMPT = 2,
}
#[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 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"]
pub depth: ::std::os::raw::c_int,
#[doc = "\n The bits per color component. This assumes that the colors are balanced\n equally.\n"]
pub depth_per_component: ::std::os::raw::c_int,
#[doc = "\n This can be true for black and white printers.\n"]
pub is_monochrome: ::std::os::raw::c_int,
#[doc = " The |rect| and |available_rect| properties are used to determine the\n available surface for rendering popup views.\n"]
pub rect: cef_rect_t,
#[doc = " The |rect| and |available_rect| properties are used to determine the\n available surface for rendering popup views.\n"]
pub available_rect: cef_rect_t,
}
#[test]
fn bindgen_test_layout__cef_screen_info_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_screen_info_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_screen_info_t>(),
48usize,
concat!("Size of: ", stringify!(_cef_screen_info_t))
);
assert_eq!(
::std::mem::align_of::<_cef_screen_info_t>(),
4usize,
concat!("Alignment of ", stringify!(_cef_screen_info_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).device_scale_factor) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_screen_info_t),
"::",
stringify!(device_scale_factor)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).depth) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(_cef_screen_info_t),
"::",
stringify!(depth)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).depth_per_component) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_cef_screen_info_t),
"::",
stringify!(depth_per_component)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_monochrome) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(_cef_screen_info_t),
"::",
stringify!(is_monochrome)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rect) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_cef_screen_info_t),
"::",
stringify!(rect)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).available_rect) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_cef_screen_info_t),
"::",
stringify!(available_rect)
)
);
}
#[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"]
pub type cef_screen_info_t = _cef_screen_info_t;
impl cef_menu_id_t {
pub const MENU_ID_SPELLCHECK_SUGGESTION_LAST: cef_menu_id_t =
cef_menu_id_t::MENU_ID_SPELLCHECK_SUGGESTION_4;
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Supported menu IDs. Non-English translations can be provided for the\n IDS_MENU_* strings in CefResourceBundleHandler::GetLocalizedString().\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_menu_id_t {
MENU_ID_BACK = 100,
MENU_ID_FORWARD = 101,
MENU_ID_RELOAD = 102,
MENU_ID_RELOAD_NOCACHE = 103,
MENU_ID_STOPLOAD = 104,
MENU_ID_UNDO = 110,
MENU_ID_REDO = 111,
MENU_ID_CUT = 112,
MENU_ID_COPY = 113,
MENU_ID_PASTE = 114,
MENU_ID_DELETE = 115,
MENU_ID_SELECT_ALL = 116,
MENU_ID_FIND = 130,
MENU_ID_PRINT = 131,
MENU_ID_VIEW_SOURCE = 132,
MENU_ID_SPELLCHECK_SUGGESTION_0 = 200,
MENU_ID_SPELLCHECK_SUGGESTION_1 = 201,
MENU_ID_SPELLCHECK_SUGGESTION_2 = 202,
MENU_ID_SPELLCHECK_SUGGESTION_3 = 203,
MENU_ID_SPELLCHECK_SUGGESTION_4 = 204,
MENU_ID_NO_SPELLING_SUGGESTIONS = 205,
MENU_ID_ADD_TO_DICTIONARY = 206,
MENU_ID_CUSTOM_FIRST = 220,
MENU_ID_CUSTOM_LAST = 250,
MENU_ID_USER_FIRST = 26500,
MENU_ID_USER_LAST = 28500,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Mouse button types.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_mouse_button_type_t {
MBT_LEFT = 0,
MBT_MIDDLE = 1,
MBT_RIGHT = 2,
}
#[doc = "\n Structure representing mouse event information.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_mouse_event_t {
#[doc = "\n X coordinate relative to the left side of the view.\n"]
pub x: ::std::os::raw::c_int,
#[doc = "\n Y coordinate relative to the top side of the view.\n"]
pub y: ::std::os::raw::c_int,
#[doc = "\n Bit flags describing any pressed modifier keys. See\n cef_event_flags_t for values.\n"]
pub modifiers: u32,
}
#[test]
fn bindgen_test_layout__cef_mouse_event_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_mouse_event_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_mouse_event_t>(),
12usize,
concat!("Size of: ", stringify!(_cef_mouse_event_t))
);
assert_eq!(
::std::mem::align_of::<_cef_mouse_event_t>(),
4usize,
concat!("Alignment of ", stringify!(_cef_mouse_event_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_mouse_event_t),
"::",
stringify!(x)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(_cef_mouse_event_t),
"::",
stringify!(y)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).modifiers) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_cef_mouse_event_t),
"::",
stringify!(modifiers)
)
);
}
#[doc = "\n Structure representing mouse event information.\n"]
pub type cef_mouse_event_t = _cef_mouse_event_t;
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Touch points states types.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_touch_event_type_t {
CEF_TET_RELEASED = 0,
CEF_TET_PRESSED = 1,
CEF_TET_MOVED = 2,
CEF_TET_CANCELLED = 3,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n The device type that caused the event.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_pointer_type_t {
CEF_POINTER_TYPE_TOUCH = 0,
CEF_POINTER_TYPE_MOUSE = 1,
CEF_POINTER_TYPE_PEN = 2,
CEF_POINTER_TYPE_ERASER = 3,
CEF_POINTER_TYPE_UNKNOWN = 4,
}
#[doc = "\n Structure representing touch event information.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_touch_event_t {
#[doc = "\n Id of a touch point. Must be unique per touch, can be any number except\n -1. Note that a maximum of 16 concurrent touches will be tracked; touches\n beyond that will be ignored.\n"]
pub id: ::std::os::raw::c_int,
#[doc = "\n X coordinate relative to the left side of the view.\n"]
pub x: f32,
#[doc = "\n Y coordinate relative to the top side of the view.\n"]
pub y: f32,
#[doc = "\n X radius in pixels. Set to 0 if not applicable.\n"]
pub radius_x: f32,
#[doc = "\n Y radius in pixels. Set to 0 if not applicable.\n"]
pub radius_y: f32,
#[doc = "\n Rotation angle in radians. Set to 0 if not applicable.\n"]
pub rotation_angle: f32,
#[doc = "\n The normalized pressure of the pointer input in the range of [0,1].\n Set to 0 if not applicable.\n"]
pub pressure: f32,
#[doc = "\n The state of the touch point. Touches begin with one CEF_TET_PRESSED event\n followed by zero or more CEF_TET_MOVED events and finally one\n CEF_TET_RELEASED or CEF_TET_CANCELLED event. Events not respecting this\n order will be ignored.\n"]
pub type_: cef_touch_event_type_t,
#[doc = "\n Bit flags describing any pressed modifier keys. See\n cef_event_flags_t for values.\n"]
pub modifiers: u32,
#[doc = "\n The device type that caused the event.\n"]
pub pointer_type: cef_pointer_type_t,
}
#[test]
fn bindgen_test_layout__cef_touch_event_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_touch_event_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_touch_event_t>(),
40usize,
concat!("Size of: ", stringify!(_cef_touch_event_t))
);
assert_eq!(
::std::mem::align_of::<_cef_touch_event_t>(),
4usize,
concat!("Alignment of ", stringify!(_cef_touch_event_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_touch_event_t),
"::",
stringify!(id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(_cef_touch_event_t),
"::",
stringify!(x)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_cef_touch_event_t),
"::",
stringify!(y)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).radius_x) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(_cef_touch_event_t),
"::",
stringify!(radius_x)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).radius_y) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_cef_touch_event_t),
"::",
stringify!(radius_y)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rotation_angle) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(_cef_touch_event_t),
"::",
stringify!(rotation_angle)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pressure) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_cef_touch_event_t),
"::",
stringify!(pressure)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(_cef_touch_event_t),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).modifiers) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_cef_touch_event_t),
"::",
stringify!(modifiers)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pointer_type) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(_cef_touch_event_t),
"::",
stringify!(pointer_type)
)
);
}
#[doc = "\n Structure representing touch event information.\n"]
pub type cef_touch_event_t = _cef_touch_event_t;
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Paint element types.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_paint_element_type_t {
PET_VIEW = 0,
PET_POPUP = 1,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Supported event bit flags.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_event_flags_t {
EVENTFLAG_NONE = 0,
EVENTFLAG_CAPS_LOCK_ON = 1,
EVENTFLAG_SHIFT_DOWN = 2,
EVENTFLAG_CONTROL_DOWN = 4,
EVENTFLAG_ALT_DOWN = 8,
EVENTFLAG_LEFT_MOUSE_BUTTON = 16,
EVENTFLAG_MIDDLE_MOUSE_BUTTON = 32,
EVENTFLAG_RIGHT_MOUSE_BUTTON = 64,
#[doc = " Mac OS-X command key."]
EVENTFLAG_COMMAND_DOWN = 128,
#[doc = " Mac OS-X command key."]
EVENTFLAG_NUM_LOCK_ON = 256,
#[doc = " Mac OS-X command key."]
EVENTFLAG_IS_KEY_PAD = 512,
#[doc = " Mac OS-X command key."]
EVENTFLAG_IS_LEFT = 1024,
#[doc = " Mac OS-X command key."]
EVENTFLAG_IS_RIGHT = 2048,
#[doc = " Mac OS-X command key."]
EVENTFLAG_ALTGR_DOWN = 4096,
#[doc = " Mac OS-X command key."]
EVENTFLAG_IS_REPEAT = 8192,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Supported menu item types.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_menu_item_type_t {
MENUITEMTYPE_NONE = 0,
MENUITEMTYPE_COMMAND = 1,
MENUITEMTYPE_CHECK = 2,
MENUITEMTYPE_RADIO = 3,
MENUITEMTYPE_SEPARATOR = 4,
MENUITEMTYPE_SUBMENU = 5,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Supported context menu type flags.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_context_menu_type_flags_t {
#[doc = "\n No node is selected.\n"]
CM_TYPEFLAG_NONE = 0,
#[doc = "\n The top page is selected.\n"]
CM_TYPEFLAG_PAGE = 1,
#[doc = "\n A subframe page is selected.\n"]
CM_TYPEFLAG_FRAME = 2,
#[doc = "\n A link is selected.\n"]
CM_TYPEFLAG_LINK = 4,
#[doc = "\n A media node is selected.\n"]
CM_TYPEFLAG_MEDIA = 8,
#[doc = "\n There is a textual or mixed selection that is selected.\n"]
CM_TYPEFLAG_SELECTION = 16,
#[doc = "\n An editable element is selected.\n"]
CM_TYPEFLAG_EDITABLE = 32,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Supported context menu media types. These constants match their equivalents\n in Chromium's ContextMenuDataMediaType and should not be renumbered.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_context_menu_media_type_t {
#[doc = "\n No special node is in context.\n"]
CM_MEDIATYPE_NONE = 0,
#[doc = "\n An image node is selected.\n"]
CM_MEDIATYPE_IMAGE = 1,
#[doc = "\n A video node is selected.\n"]
CM_MEDIATYPE_VIDEO = 2,
#[doc = "\n An audio node is selected.\n"]
CM_MEDIATYPE_AUDIO = 3,
#[doc = "\n An canvas node is selected.\n"]
CM_MEDIATYPE_CANVAS = 4,
#[doc = "\n A file node is selected.\n"]
CM_MEDIATYPE_FILE = 5,
#[doc = "\n A plugin node is selected.\n"]
CM_MEDIATYPE_PLUGIN = 6,
}
#[repr(u32)]
#[non_exhaustive]
#[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"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_context_menu_media_state_flags_t {
CM_MEDIAFLAG_NONE = 0,
CM_MEDIAFLAG_IN_ERROR = 1,
CM_MEDIAFLAG_PAUSED = 2,
CM_MEDIAFLAG_MUTED = 4,
CM_MEDIAFLAG_LOOP = 8,
CM_MEDIAFLAG_CAN_SAVE = 16,
CM_MEDIAFLAG_HAS_AUDIO = 32,
CM_MEDIAFLAG_CAN_TOGGLE_CONTROLS = 64,
CM_MEDIAFLAG_CONTROLS = 128,
CM_MEDIAFLAG_CAN_PRINT = 256,
CM_MEDIAFLAG_CAN_ROTATE = 512,
CM_MEDIAFLAG_CAN_PICTURE_IN_PICTURE = 1024,
CM_MEDIAFLAG_PICTURE_IN_PICTURE = 2048,
CM_MEDIAFLAG_CAN_LOOP = 4096,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Supported context menu edit state bit flags. These constants match their\n equivalents in Chromium's ContextMenuDataEditFlags and should not be\n renumbered.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_context_menu_edit_state_flags_t {
CM_EDITFLAG_NONE = 0,
CM_EDITFLAG_CAN_UNDO = 1,
CM_EDITFLAG_CAN_REDO = 2,
CM_EDITFLAG_CAN_CUT = 4,
CM_EDITFLAG_CAN_COPY = 8,
CM_EDITFLAG_CAN_PASTE = 16,
CM_EDITFLAG_CAN_DELETE = 32,
CM_EDITFLAG_CAN_SELECT_ALL = 64,
CM_EDITFLAG_CAN_TRANSLATE = 128,
CM_EDITFLAG_CAN_EDIT_RICHLY = 256,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Supported quick menu state bit flags.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_quick_menu_edit_state_flags_t {
QM_EDITFLAG_NONE = 0,
QM_EDITFLAG_CAN_ELLIPSIS = 1,
QM_EDITFLAG_CAN_CUT = 2,
QM_EDITFLAG_CAN_COPY = 4,
QM_EDITFLAG_CAN_PASTE = 8,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Key event types.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_key_event_type_t {
#[doc = "\n Notification that a key transitioned from \"up\" to \"down\".\n"]
KEYEVENT_RAWKEYDOWN = 0,
#[doc = "\n Notification that a key was pressed. This does not necessarily correspond\n to a character depending on the key and language. Use KEYEVENT_CHAR for\n character input.\n"]
KEYEVENT_KEYDOWN = 1,
#[doc = "\n Notification that a key was released.\n"]
KEYEVENT_KEYUP = 2,
#[doc = "\n Notification that a character was typed. Use this for text input. Key\n down events may generate 0, 1, or more than one character event depending\n on the key, locale, and operating system.\n"]
KEYEVENT_CHAR = 3,
}
#[doc = "\n Structure representing keyboard event information.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_key_event_t {
#[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"]
pub modifiers: u32,
#[doc = "\n The Windows key code for the key event. This value is used by the DOM\n specification. Sometimes it comes directly from the event (i.e. on\n Windows) and sometimes it's determined using a mapping function. See\n WebCore/platform/chromium/KeyboardCodes.h for the list of values.\n"]
pub windows_key_code: ::std::os::raw::c_int,
#[doc = "\n The actual key code genenerated by the platform.\n"]
pub native_key_code: ::std::os::raw::c_int,
#[doc = "\n Indicates whether the event is considered a \"system key\" event (see\n http://msdn.microsoft.com/en-us/library/ms646286(VS.85).aspx for details).\n This value will always be false on non-Windows platforms.\n"]
pub is_system_key: ::std::os::raw::c_int,
#[doc = "\n The character generated by the keystroke.\n"]
pub character: char16_t,
#[doc = "\n Same as |character| but unmodified by any concurrently-held modifiers\n (except shift). This is useful for working out shortcut keys.\n"]
pub unmodified_character: char16_t,
#[doc = "\n True if the focus is currently on an editable field on the page. This is\n useful for determining if standard key events should be intercepted.\n"]
pub focus_on_editable_field: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__cef_key_event_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_key_event_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_key_event_t>(),
28usize,
concat!("Size of: ", stringify!(_cef_key_event_t))
);
assert_eq!(
::std::mem::align_of::<_cef_key_event_t>(),
4usize,
concat!("Alignment of ", stringify!(_cef_key_event_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_key_event_t),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).modifiers) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(_cef_key_event_t),
"::",
stringify!(modifiers)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).windows_key_code) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_cef_key_event_t),
"::",
stringify!(windows_key_code)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).native_key_code) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(_cef_key_event_t),
"::",
stringify!(native_key_code)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_system_key) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_cef_key_event_t),
"::",
stringify!(is_system_key)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).character) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(_cef_key_event_t),
"::",
stringify!(character)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unmodified_character) as usize - ptr as usize },
22usize,
concat!(
"Offset of field: ",
stringify!(_cef_key_event_t),
"::",
stringify!(unmodified_character)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).focus_on_editable_field) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_cef_key_event_t),
"::",
stringify!(focus_on_editable_field)
)
);
}
#[doc = "\n Structure representing keyboard event information.\n"]
pub type cef_key_event_t = _cef_key_event_t;
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Focus sources.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_focus_source_t {
#[doc = "\n The source is explicit navigation via the API (LoadURL(), etc).\n"]
FOCUS_SOURCE_NAVIGATION = 0,
#[doc = "\n The source is a system-generated focus event.\n"]
FOCUS_SOURCE_SYSTEM = 1,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Navigation types.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_navigation_type_t {
NAVIGATION_LINK_CLICKED = 0,
NAVIGATION_FORM_SUBMITTED = 1,
NAVIGATION_BACK_FORWARD = 2,
NAVIGATION_RELOAD = 3,
NAVIGATION_FORM_RESUBMITTED = 4,
NAVIGATION_OTHER = 5,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Supported XML encoding types. The parser supports ASCII, ISO-8859-1, and\n UTF16 (LE and BE) by default. All other types must be translated to UTF8\n before being passed to the parser. If a BOM is detected and the correct\n decoder is available then that decoder will be used automatically.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_xml_encoding_type_t {
XML_ENCODING_NONE = 0,
XML_ENCODING_UTF8 = 1,
XML_ENCODING_UTF16LE = 2,
XML_ENCODING_UTF16BE = 3,
XML_ENCODING_ASCII = 4,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n XML node types.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_xml_node_type_t {
XML_NODE_UNSUPPORTED = 0,
XML_NODE_PROCESSING_INSTRUCTION = 1,
XML_NODE_DOCUMENT_TYPE = 2,
XML_NODE_ELEMENT_START = 3,
XML_NODE_ELEMENT_END = 4,
XML_NODE_ATTRIBUTE = 5,
XML_NODE_TEXT = 6,
XML_NODE_CDATA = 7,
XML_NODE_ENTITY_REFERENCE = 8,
XML_NODE_WHITESPACE = 9,
XML_NODE_COMMENT = 10,
}
#[doc = "\n Popup window features.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_popup_features_t {
pub x: ::std::os::raw::c_int,
pub xSet: ::std::os::raw::c_int,
pub y: ::std::os::raw::c_int,
pub ySet: ::std::os::raw::c_int,
pub width: ::std::os::raw::c_int,
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."]
pub isPopup: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__cef_popup_features_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_popup_features_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_popup_features_t>(),
36usize,
concat!("Size of: ", stringify!(_cef_popup_features_t))
);
assert_eq!(
::std::mem::align_of::<_cef_popup_features_t>(),
4usize,
concat!("Alignment of ", stringify!(_cef_popup_features_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_popup_features_t),
"::",
stringify!(x)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).xSet) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(_cef_popup_features_t),
"::",
stringify!(xSet)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_cef_popup_features_t),
"::",
stringify!(y)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ySet) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(_cef_popup_features_t),
"::",
stringify!(ySet)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_cef_popup_features_t),
"::",
stringify!(width)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).widthSet) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(_cef_popup_features_t),
"::",
stringify!(widthSet)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_cef_popup_features_t),
"::",
stringify!(height)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).heightSet) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(_cef_popup_features_t),
"::",
stringify!(heightSet)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).isPopup) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_cef_popup_features_t),
"::",
stringify!(isPopup)
)
);
}
#[doc = "\n Popup window features.\n"]
pub type cef_popup_features_t = _cef_popup_features_t;
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n DOM document types.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_dom_document_type_t {
DOM_DOCUMENT_TYPE_UNKNOWN = 0,
DOM_DOCUMENT_TYPE_HTML = 1,
DOM_DOCUMENT_TYPE_XHTML = 2,
DOM_DOCUMENT_TYPE_PLUGIN = 3,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n DOM event category flags.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_dom_event_category_t {
DOM_EVENT_CATEGORY_UNKNOWN = 0,
DOM_EVENT_CATEGORY_UI = 1,
DOM_EVENT_CATEGORY_MOUSE = 2,
DOM_EVENT_CATEGORY_MUTATION = 4,
DOM_EVENT_CATEGORY_KEYBOARD = 8,
DOM_EVENT_CATEGORY_TEXT = 16,
DOM_EVENT_CATEGORY_COMPOSITION = 32,
DOM_EVENT_CATEGORY_DRAG = 64,
DOM_EVENT_CATEGORY_CLIPBOARD = 128,
DOM_EVENT_CATEGORY_MESSAGE = 256,
DOM_EVENT_CATEGORY_WHEEL = 512,
DOM_EVENT_CATEGORY_BEFORE_TEXT_INSERTED = 1024,
DOM_EVENT_CATEGORY_OVERFLOW = 2048,
DOM_EVENT_CATEGORY_PAGE_TRANSITION = 4096,
DOM_EVENT_CATEGORY_POPSTATE = 8192,
DOM_EVENT_CATEGORY_PROGRESS = 16384,
DOM_EVENT_CATEGORY_XMLHTTPREQUEST_PROGRESS = 32768,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n DOM event processing phases.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_dom_event_phase_t {
DOM_EVENT_PHASE_UNKNOWN = 0,
DOM_EVENT_PHASE_CAPTURING = 1,
DOM_EVENT_PHASE_AT_TARGET = 2,
DOM_EVENT_PHASE_BUBBLING = 3,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n DOM node types.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_dom_node_type_t {
DOM_NODE_TYPE_UNSUPPORTED = 0,
DOM_NODE_TYPE_ELEMENT = 1,
DOM_NODE_TYPE_ATTRIBUTE = 2,
DOM_NODE_TYPE_TEXT = 3,
DOM_NODE_TYPE_CDATA_SECTION = 4,
DOM_NODE_TYPE_PROCESSING_INSTRUCTIONS = 5,
DOM_NODE_TYPE_COMMENT = 6,
DOM_NODE_TYPE_DOCUMENT = 7,
DOM_NODE_TYPE_DOCUMENT_TYPE = 8,
DOM_NODE_TYPE_DOCUMENT_FRAGMENT = 9,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Supported file dialog modes.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_file_dialog_mode_t {
#[doc = "\n Requires that the file exists before allowing the user to pick it.\n"]
FILE_DIALOG_OPEN = 0,
#[doc = "\n Like Open, but allows picking multiple files to open.\n"]
FILE_DIALOG_OPEN_MULTIPLE = 1,
#[doc = "\n Like Open, but selects a folder to open.\n"]
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,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Print job color mode values.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_color_model_t {
COLOR_MODEL_UNKNOWN = 0,
COLOR_MODEL_GRAY = 1,
COLOR_MODEL_COLOR = 2,
COLOR_MODEL_CMYK = 3,
COLOR_MODEL_CMY = 4,
COLOR_MODEL_KCMY = 5,
COLOR_MODEL_CMY_K = 6,
COLOR_MODEL_BLACK = 7,
COLOR_MODEL_GRAYSCALE = 8,
COLOR_MODEL_RGB = 9,
COLOR_MODEL_RGB16 = 10,
COLOR_MODEL_RGBA = 11,
COLOR_MODEL_COLORMODE_COLOR = 12,
COLOR_MODEL_COLORMODE_MONOCHROME = 13,
COLOR_MODEL_HP_COLOR_COLOR = 14,
COLOR_MODEL_HP_COLOR_BLACK = 15,
COLOR_MODEL_PRINTOUTMODE_NORMAL = 16,
COLOR_MODEL_PRINTOUTMODE_NORMAL_GRAY = 17,
COLOR_MODEL_PROCESSCOLORMODEL_CMYK = 18,
COLOR_MODEL_PROCESSCOLORMODEL_GREYSCALE = 19,
COLOR_MODEL_PROCESSCOLORMODEL_RGB = 20,
}
#[repr(i32)]
#[non_exhaustive]
#[doc = "\n Print job duplex mode values.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_duplex_mode_t {
DUPLEX_MODE_UNKNOWN = -1,
DUPLEX_MODE_SIMPLEX = 0,
DUPLEX_MODE_LONG_EDGE = 1,
DUPLEX_MODE_SHORT_EDGE = 2,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Cursor type values.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_cursor_type_t {
CT_POINTER = 0,
CT_CROSS = 1,
CT_HAND = 2,
CT_IBEAM = 3,
CT_WAIT = 4,
CT_HELP = 5,
CT_EASTRESIZE = 6,
CT_NORTHRESIZE = 7,
CT_NORTHEASTRESIZE = 8,
CT_NORTHWESTRESIZE = 9,
CT_SOUTHRESIZE = 10,
CT_SOUTHEASTRESIZE = 11,
CT_SOUTHWESTRESIZE = 12,
CT_WESTRESIZE = 13,
CT_NORTHSOUTHRESIZE = 14,
CT_EASTWESTRESIZE = 15,
CT_NORTHEASTSOUTHWESTRESIZE = 16,
CT_NORTHWESTSOUTHEASTRESIZE = 17,
CT_COLUMNRESIZE = 18,
CT_ROWRESIZE = 19,
CT_MIDDLEPANNING = 20,
CT_EASTPANNING = 21,
CT_NORTHPANNING = 22,
CT_NORTHEASTPANNING = 23,
CT_NORTHWESTPANNING = 24,
CT_SOUTHPANNING = 25,
CT_SOUTHEASTPANNING = 26,
CT_SOUTHWESTPANNING = 27,
CT_WESTPANNING = 28,
CT_MOVE = 29,
CT_VERTICALTEXT = 30,
CT_CELL = 31,
CT_CONTEXTMENU = 32,
CT_ALIAS = 33,
CT_PROGRESS = 34,
CT_NODROP = 35,
CT_COPY = 36,
CT_NONE = 37,
CT_NOTALLOWED = 38,
CT_ZOOMIN = 39,
CT_ZOOMOUT = 40,
CT_GRAB = 41,
CT_GRABBING = 42,
CT_MIDDLE_PANNING_VERTICAL = 43,
CT_MIDDLE_PANNING_HORIZONTAL = 44,
CT_CUSTOM = 45,
CT_DND_NONE = 46,
CT_DND_MOVE = 47,
CT_DND_COPY = 48,
CT_DND_LINK = 49,
}
#[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)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_cursor_info_t {
pub hotspot: cef_point_t,
pub image_scale_factor: f32,
pub buffer: *mut ::std::os::raw::c_void,
pub size: cef_size_t,
}
#[test]
fn bindgen_test_layout__cef_cursor_info_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_cursor_info_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_cursor_info_t>(),
32usize,
concat!("Size of: ", stringify!(_cef_cursor_info_t))
);
assert_eq!(
::std::mem::align_of::<_cef_cursor_info_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_cursor_info_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).hotspot) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_cursor_info_t),
"::",
stringify!(hotspot)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).image_scale_factor) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_cef_cursor_info_t),
"::",
stringify!(image_scale_factor)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_cef_cursor_info_t),
"::",
stringify!(buffer)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_cef_cursor_info_t),
"::",
stringify!(size)
)
);
}
#[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"]
pub type cef_cursor_info_t = _cef_cursor_info_t;
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n URI unescape rules passed to CefURIDecode().\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_uri_unescape_rule_t {
#[doc = "\n Don't unescape anything at all.\n"]
UU_NONE = 0,
#[doc = "\n Don't unescape anything special, but all normal unescaping will happen.\n This is a placeholder and can't be combined with other flags (since it's\n just the absence of them). All other unescape rules imply \"normal\" in\n addition to their special meaning. Things like escaped letters, digits,\n and most symbols will get unescaped with this mode.\n"]
UU_NORMAL = 1,
#[doc = "\n Convert %20 to spaces. In some places where we're showing URLs, we may\n want this. In places where the URL may be copied and pasted out, then\n you wouldn't want this since it might not be interpreted in one piece\n by other applications.\n"]
UU_SPACES = 2,
#[doc = "\n Unescapes '/' and '\\\\'. If these characters were unescaped, the resulting\n URL won't be the same as the source one. Moreover, they are dangerous to\n unescape in strings that will be used as file paths or names. This value\n should only be used when slashes don't have special meaning, like data\n URLs.\n"]
UU_PATH_SEPARATORS = 4,
#[doc = "\n Unescapes various characters that will change the meaning of URLs,\n including '%', '+', '&', '#'. Does not unescape path separators.\n If these characters were unescaped, the resulting URL won't be the same\n as the source one. This flag is used when generating final output like\n filenames for URLs where we won't be interpreting as a URL and want to do\n as much unescaping as possible.\n"]
UU_URL_SPECIAL_CHARS_EXCEPT_PATH_SEPARATORS = 8,
#[doc = "\n URL queries use \"+\" for space. This flag controls that replacement.\n"]
UU_REPLACE_PLUS_WITH_SPACE = 16,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Options that can be passed to CefParseJSON.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_json_parser_options_t {
#[doc = "\n Parses the input strictly according to RFC 4627. See comments in\n Chromium's base/json/json_reader.h file for known limitations/\n deviations from the RFC.\n"]
JSON_PARSER_RFC = 0,
#[doc = "\n Allows commas to exist after the last element in structures.\n"]
JSON_PARSER_ALLOW_TRAILING_COMMAS = 1,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Options that can be passed to CefWriteJSON.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_json_writer_options_t {
#[doc = "\n Default behavior.\n"]
JSON_WRITER_DEFAULT = 0,
#[doc = "\n This option instructs the writer that if a Binary value is encountered,\n the value (and key if within a dictionary) will be omitted from the\n output, and success will be returned. Otherwise, if a binary value is\n encountered, failure will be returned.\n"]
JSON_WRITER_OMIT_BINARY_VALUES = 1,
#[doc = "\n This option instructs the writer to write doubles that have no fractional\n part as a normal integer (i.e., without using exponential notation\n or appending a '.0') as long as the value is within the range of a\n 64-bit int.\n"]
JSON_WRITER_OMIT_DOUBLE_TYPE_PRESERVATION = 2,
#[doc = "\n Return a slightly nicer formatted json string (pads with whitespace to\n help with readability).\n"]
JSON_WRITER_PRETTY_PRINT = 4,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Margin type for PDF printing.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_pdf_print_margin_type_t {
#[doc = "\n Default margins of 1cm (~0.4 inches).\n"]
PDF_PRINT_MARGIN_DEFAULT = 0,
#[doc = "\n No margins.\n"]
PDF_PRINT_MARGIN_NONE = 1,
#[doc = "\n Custom margins using the |margin_*| values from cef_pdf_print_settings_t.\n"]
PDF_PRINT_MARGIN_CUSTOM = 2,
}
#[doc = "\n Structure representing PDF print settings. These values match the parameters\n supported by the DevTools Page.printToPDF function. See\n https://chromedevtools.github.io/devtools-protocol/tot/Page/#method-printToPDF\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_pdf_print_settings_t {
#[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"]
pub print_background: ::std::os::raw::c_int,
#[doc = "\n The percentage to scale the PDF by before printing (e.g. .5 is 50%).\n If this value is less than or equal to zero the default value of 1.0\n will be used.\n"]
pub scale: f64,
#[doc = "\n Output paper size in inches. If either of these values is less than or\n equal to zero then the default paper size (letter, 8.5 x 11 inches) will\n be used.\n"]
pub paper_width: f64,
pub paper_height: f64,
#[doc = "\n Set to true (1) to prefer page size as defined by css. Defaults to false\n (0), in which case the content will be scaled to fit the paper size.\n"]
pub prefer_css_page_size: ::std::os::raw::c_int,
#[doc = "\n Margin type.\n"]
pub margin_type: cef_pdf_print_margin_type_t,
#[doc = "\n Margins in inches. Only used if |margin_type| is set to\n PDF_PRINT_MARGIN_CUSTOM.\n"]
pub margin_top: f64,
pub margin_right: f64,
pub margin_bottom: f64,
pub margin_left: f64,
#[doc = "\n Paper ranges to print, one based, e.g., '1-5, 8, 11-13'. Pages are printed\n in the document order, not in the order specified, and no more than once.\n Defaults to empty string, which implies the entire document is printed.\n The page numbers are quietly capped to actual page count of the document,\n and ranges beyond the end of the document are ignored. If this results in\n no pages to print, an error is reported. It is an error to specify a range\n with start greater than end.\n"]
pub page_ranges: cef_string_t,
#[doc = "\n Set to true (1) to display the header and/or footer. Modify\n |header_template| and/or |footer_template| to customize the display.\n"]
pub display_header_footer: ::std::os::raw::c_int,
#[doc = "\n HTML template for the print header. Only displayed if\n |display_header_footer| is true (1). Should be valid HTML markup with\n the following classes used to inject printing values into them:\n\n - date: formatted print date\n - title: document title\n - url: document location\n - pageNumber: current page number\n - totalPages: total pages in the document\n\n For example, \"<span class=title></span>\" would generate a span containing\n the title.\n"]
pub header_template: cef_string_t,
#[doc = "\n HTML template for the print footer. Only displayed if\n |display_header_footer| is true (1). Uses the same format as\n |header_template|.\n"]
pub footer_template: cef_string_t,
#[doc = "\n Set to true (1) to generate tagged (accessible) PDF.\n"]
pub generate_tagged_pdf: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__cef_pdf_print_settings_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_pdf_print_settings_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_pdf_print_settings_t>(),
160usize,
concat!("Size of: ", stringify!(_cef_pdf_print_settings_t))
);
assert_eq!(
::std::mem::align_of::<_cef_pdf_print_settings_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_pdf_print_settings_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).landscape) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_pdf_print_settings_t),
"::",
stringify!(landscape)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).print_background) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(_cef_pdf_print_settings_t),
"::",
stringify!(print_background)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).scale) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_cef_pdf_print_settings_t),
"::",
stringify!(scale)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).paper_width) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_cef_pdf_print_settings_t),
"::",
stringify!(paper_width)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).paper_height) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_cef_pdf_print_settings_t),
"::",
stringify!(paper_height)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).prefer_css_page_size) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_cef_pdf_print_settings_t),
"::",
stringify!(prefer_css_page_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).margin_type) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(_cef_pdf_print_settings_t),
"::",
stringify!(margin_type)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).margin_top) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_pdf_print_settings_t),
"::",
stringify!(margin_top)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).margin_right) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_pdf_print_settings_t),
"::",
stringify!(margin_right)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).margin_bottom) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_pdf_print_settings_t),
"::",
stringify!(margin_bottom)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).margin_left) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_pdf_print_settings_t),
"::",
stringify!(margin_left)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).page_ranges) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_pdf_print_settings_t),
"::",
stringify!(page_ranges)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).display_header_footer) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_pdf_print_settings_t),
"::",
stringify!(display_header_footer)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).header_template) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_pdf_print_settings_t),
"::",
stringify!(header_template)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).footer_template) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_pdf_print_settings_t),
"::",
stringify!(footer_template)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).generate_tagged_pdf) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_cef_pdf_print_settings_t),
"::",
stringify!(generate_tagged_pdf)
)
);
}
#[doc = "\n Structure representing PDF print settings. These values match the parameters\n supported by the DevTools Page.printToPDF function. See\n https://chromedevtools.github.io/devtools-protocol/tot/Page/#method-printToPDF\n"]
pub type cef_pdf_print_settings_t = _cef_pdf_print_settings_t;
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Supported UI scale factors for the platform. SCALE_FACTOR_NONE is used for\n density independent resources such as string, html/js files or an image that\n can be used for any scale factors (such as wallpapers).\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_scale_factor_t {
SCALE_FACTOR_NONE = 0,
SCALE_FACTOR_100P = 1,
SCALE_FACTOR_125P = 2,
SCALE_FACTOR_133P = 3,
SCALE_FACTOR_140P = 4,
SCALE_FACTOR_150P = 5,
SCALE_FACTOR_180P = 6,
SCALE_FACTOR_200P = 7,
SCALE_FACTOR_250P = 8,
SCALE_FACTOR_300P = 9,
}
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(u32)]
#[non_exhaustive]
#[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)]
pub enum cef_referrer_policy_t {
#[doc = "\n Clear the referrer header if the header value is HTTPS but the request\n destination is HTTP. This is the default behavior.\n"]
REFERRER_POLICY_CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE = 0,
#[doc = "\n A slight variant on CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE:\n If the request destination is HTTP, an HTTPS referrer will be cleared. If\n the request's destination is cross-origin with the referrer (but does not\n downgrade), the referrer's granularity will be stripped down to an origin\n rather than a full URL. Same-origin requests will send the full referrer.\n"]
REFERRER_POLICY_REDUCE_REFERRER_GRANULARITY_ON_TRANSITION_CROSS_ORIGIN = 1,
#[doc = "\n Strip the referrer down to an origin when the origin of the referrer is\n different from the destination's origin.\n"]
REFERRER_POLICY_ORIGIN_ONLY_ON_TRANSITION_CROSS_ORIGIN = 2,
#[doc = "\n Never change the referrer.\n"]
REFERRER_POLICY_NEVER_CLEAR_REFERRER = 3,
#[doc = "\n Strip the referrer down to the origin regardless of the redirect location.\n"]
REFERRER_POLICY_ORIGIN = 4,
#[doc = "\n Clear the referrer when the request's referrer is cross-origin with the\n request's destination.\n"]
REFERRER_POLICY_CLEAR_REFERRER_ON_TRANSITION_CROSS_ORIGIN = 5,
#[doc = "\n Strip the referrer down to the origin, but clear it entirely if the\n referrer value is HTTPS and the destination is HTTP.\n"]
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,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Return values for CefResponseFilter::Filter().\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_response_filter_status_t {
#[doc = "\n Some or all of the pre-filter data was read successfully but more data is\n needed in order to continue filtering (filtered output is pending).\n"]
RESPONSE_FILTER_NEED_MORE_DATA = 0,
#[doc = "\n Some or all of the pre-filter data was read successfully and all available\n filtered output has been written.\n"]
RESPONSE_FILTER_DONE = 1,
#[doc = "\n An error occurred during filtering.\n"]
RESPONSE_FILTER_ERROR = 2,
}
#[repr(u32)]
#[non_exhaustive]
#[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(u32)]
#[non_exhaustive]
#[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 {
#[doc = "\n No transparency. The alpha component is ignored.\n"]
CEF_ALPHA_TYPE_OPAQUE = 0,
#[doc = "\n Transparency with pre-multiplied alpha component.\n"]
CEF_ALPHA_TYPE_PREMULTIPLIED = 1,
#[doc = "\n Transparency with post-multiplied alpha component.\n"]
CEF_ALPHA_TYPE_POSTMULTIPLIED = 2,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Text style types. Should be kepy in sync with gfx::TextStyle.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_text_style_t {
CEF_TEXT_STYLE_BOLD = 0,
CEF_TEXT_STYLE_ITALIC = 1,
CEF_TEXT_STYLE_STRIKE = 2,
CEF_TEXT_STYLE_DIAGONAL_STRIKE = 3,
CEF_TEXT_STYLE_UNDERLINE = 4,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Specifies where along the main axis the CefBoxLayout child views should be\n laid out.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_main_axis_alignment_t {
#[doc = "\n Child views will be left-aligned.\n"]
CEF_MAIN_AXIS_ALIGNMENT_START = 0,
#[doc = "\n Child views will be center-aligned.\n"]
CEF_MAIN_AXIS_ALIGNMENT_CENTER = 1,
#[doc = "\n Child views will be right-aligned.\n"]
CEF_MAIN_AXIS_ALIGNMENT_END = 2,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Specifies where along the cross axis the CefBoxLayout child views should be\n laid out.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_cross_axis_alignment_t {
#[doc = "\n Child views will be stretched to fit.\n"]
CEF_CROSS_AXIS_ALIGNMENT_STRETCH = 0,
#[doc = "\n Child views will be left-aligned.\n"]
CEF_CROSS_AXIS_ALIGNMENT_START = 1,
#[doc = "\n Child views will be center-aligned.\n"]
CEF_CROSS_AXIS_ALIGNMENT_CENTER = 2,
#[doc = "\n Child views will be right-aligned.\n"]
CEF_CROSS_AXIS_ALIGNMENT_END = 3,
}
#[doc = "\n Settings used when initializing a CefBoxLayout.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_box_layout_settings_t {
#[doc = "\n If true (1) the layout will be horizontal, otherwise the layout will be\n vertical.\n"]
pub horizontal: ::std::os::raw::c_int,
#[doc = "\n Adds additional horizontal space between the child view area and the host\n view border.\n"]
pub inside_border_horizontal_spacing: ::std::os::raw::c_int,
#[doc = "\n Adds additional vertical space between the child view area and the host\n view border.\n"]
pub inside_border_vertical_spacing: ::std::os::raw::c_int,
#[doc = "\n Adds additional space around the child view area.\n"]
pub inside_border_insets: cef_insets_t,
#[doc = "\n Adds additional space between child views.\n"]
pub between_child_spacing: ::std::os::raw::c_int,
#[doc = "\n Specifies where along the main axis the child views should be laid out.\n"]
pub main_axis_alignment: cef_main_axis_alignment_t,
#[doc = "\n Specifies where along the cross axis the child views should be laid out.\n"]
pub cross_axis_alignment: cef_cross_axis_alignment_t,
#[doc = "\n Minimum cross axis size.\n"]
pub minimum_cross_axis_size: ::std::os::raw::c_int,
#[doc = "\n Default flex for views when none is specified via CefBoxLayout methods.\n Using the preferred size as the basis, free space along the main axis is\n distributed to views in the ratio of their flex weights. Similarly, if the\n views will overflow the parent, space is subtracted in these ratios. A\n flex of 0 means this view is not resized. Flex values must not be\n negative.\n"]
pub default_flex: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__cef_box_layout_settings_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_box_layout_settings_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_box_layout_settings_t>(),
48usize,
concat!("Size of: ", stringify!(_cef_box_layout_settings_t))
);
assert_eq!(
::std::mem::align_of::<_cef_box_layout_settings_t>(),
4usize,
concat!("Alignment of ", stringify!(_cef_box_layout_settings_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).horizontal) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_box_layout_settings_t),
"::",
stringify!(horizontal)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).inside_border_horizontal_spacing) as usize - ptr as usize
},
4usize,
concat!(
"Offset of field: ",
stringify!(_cef_box_layout_settings_t),
"::",
stringify!(inside_border_horizontal_spacing)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).inside_border_vertical_spacing) as usize - ptr as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(_cef_box_layout_settings_t),
"::",
stringify!(inside_border_vertical_spacing)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).inside_border_insets) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(_cef_box_layout_settings_t),
"::",
stringify!(inside_border_insets)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).between_child_spacing) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(_cef_box_layout_settings_t),
"::",
stringify!(between_child_spacing)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).main_axis_alignment) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_cef_box_layout_settings_t),
"::",
stringify!(main_axis_alignment)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cross_axis_alignment) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(_cef_box_layout_settings_t),
"::",
stringify!(cross_axis_alignment)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).minimum_cross_axis_size) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_box_layout_settings_t),
"::",
stringify!(minimum_cross_axis_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).default_flex) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(_cef_box_layout_settings_t),
"::",
stringify!(default_flex)
)
);
}
#[doc = "\n Settings used when initializing a CefBoxLayout.\n"]
pub type cef_box_layout_settings_t = _cef_box_layout_settings_t;
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Specifies the button display state.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_button_state_t {
CEF_BUTTON_STATE_NORMAL = 0,
CEF_BUTTON_STATE_HOVERED = 1,
CEF_BUTTON_STATE_PRESSED = 2,
CEF_BUTTON_STATE_DISABLED = 3,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Specifies the horizontal text alignment mode.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_horizontal_alignment_t {
#[doc = "\n Align the text's left edge with that of its display area.\n"]
CEF_HORIZONTAL_ALIGNMENT_LEFT = 0,
#[doc = "\n Align the text's center with that of its display area.\n"]
CEF_HORIZONTAL_ALIGNMENT_CENTER = 1,
#[doc = "\n Align the text's right edge with that of its display area.\n"]
CEF_HORIZONTAL_ALIGNMENT_RIGHT = 2,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Specifies how a menu will be anchored for non-RTL languages. The opposite\n position will be used for RTL languages.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_menu_anchor_position_t {
CEF_MENU_ANCHOR_TOPLEFT = 0,
CEF_MENU_ANCHOR_TOPRIGHT = 1,
CEF_MENU_ANCHOR_BOTTOMCENTER = 2,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Supported color types for menu items.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_menu_color_type_t {
CEF_MENU_COLOR_TEXT = 0,
CEF_MENU_COLOR_TEXT_HOVERED = 1,
CEF_MENU_COLOR_TEXT_ACCELERATOR = 2,
CEF_MENU_COLOR_TEXT_ACCELERATOR_HOVERED = 3,
CEF_MENU_COLOR_BACKGROUND = 4,
CEF_MENU_COLOR_BACKGROUND_HOVERED = 5,
CEF_MENU_COLOR_COUNT = 6,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = " Supported SSL version values. See net/ssl/ssl_connection_status_flags.h\n for more information."]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_ssl_version_t {
SSL_CONNECTION_VERSION_UNKNOWN = 0,
SSL_CONNECTION_VERSION_SSL2 = 1,
SSL_CONNECTION_VERSION_SSL3 = 2,
SSL_CONNECTION_VERSION_TLS1 = 3,
SSL_CONNECTION_VERSION_TLS1_1 = 4,
SSL_CONNECTION_VERSION_TLS1_2 = 5,
SSL_CONNECTION_VERSION_TLS1_3 = 6,
SSL_CONNECTION_VERSION_QUIC = 7,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = " Supported SSL content status flags. See content/public/common/ssl_status.h\n for more information."]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_ssl_content_status_t {
SSL_CONTENT_NORMAL_CONTENT = 0,
SSL_CONTENT_DISPLAYED_INSECURE_CONTENT = 1,
SSL_CONTENT_RAN_INSECURE_CONTENT = 2,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = " Configuration options for registering a custom scheme.\n These values are used when calling AddCustomScheme."]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_scheme_options_t {
CEF_SCHEME_OPTION_NONE = 0,
#[doc = " For non-standard scheme URLs only the \"scheme:\" component is parsed and\n canonicalized. The remainder of the URL will be passed to the handler as-\n is. For example, \"scheme:///some%20text\" will remain the same.\n Non-standard scheme URLs cannot be used as a target for form submission.\n"]
CEF_SCHEME_OPTION_STANDARD = 1,
#[doc = "\n If CEF_SCHEME_OPTION_LOCAL is set the scheme will be treated with the same\n security rules as those applied to \"file\" URLs. Normal pages cannot link\n to or access local URLs. Also, by default, local URLs can only perform\n XMLHttpRequest calls to the same URL (origin + path) that originated the\n request. To allow XMLHttpRequest calls from a local URL to other URLs with\n the same origin set the CefSettings.file_access_from_file_urls_allowed\n value to true (1). To allow XMLHttpRequest calls from a local URL to all\n origins set the CefSettings.universal_access_from_file_urls_allowed value\n to true (1).\n"]
CEF_SCHEME_OPTION_LOCAL = 2,
#[doc = "\n If CEF_SCHEME_OPTION_DISPLAY_ISOLATED is set the scheme can only be\n displayed from other content hosted with the same scheme. For example,\n pages in other origins cannot create iframes or hyperlinks to URLs with\n the scheme. For schemes that must be accessible from other schemes don't\n set this, set CEF_SCHEME_OPTION_CORS_ENABLED, and use CORS\n \"Access-Control-Allow-Origin\" headers to further restrict access.\n"]
CEF_SCHEME_OPTION_DISPLAY_ISOLATED = 4,
#[doc = "\n If CEF_SCHEME_OPTION_SECURE is set the scheme will be treated with the\n same security rules as those applied to \"https\" URLs. For example, loading\n this scheme from other secure schemes will not trigger mixed content\n warnings.\n"]
CEF_SCHEME_OPTION_SECURE = 8,
#[doc = "\n If CEF_SCHEME_OPTION_CORS_ENABLED is set the scheme can be sent CORS\n requests. This value should be set in most cases where\n CEF_SCHEME_OPTION_STANDARD is set.\n"]
CEF_SCHEME_OPTION_CORS_ENABLED = 16,
#[doc = "\n If CEF_SCHEME_OPTION_CSP_BYPASSING is set the scheme can bypass Content-\n Security-Policy (CSP) checks. This value should not be set in most cases\n where CEF_SCHEME_OPTION_STANDARD is set.\n"]
CEF_SCHEME_OPTION_CSP_BYPASSING = 32,
#[doc = "\n If CEF_SCHEME_OPTION_FETCH_ENABLED is set the scheme can perform Fetch API\n requests.\n"]
CEF_SCHEME_OPTION_FETCH_ENABLED = 64,
}
#[doc = "\n Structure representing a range.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_range_t {
pub from: u32,
pub to: u32,
}
#[test]
fn bindgen_test_layout__cef_range_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_range_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_range_t>(),
8usize,
concat!("Size of: ", stringify!(_cef_range_t))
);
assert_eq!(
::std::mem::align_of::<_cef_range_t>(),
4usize,
concat!("Alignment of ", stringify!(_cef_range_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).from) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_range_t),
"::",
stringify!(from)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).to) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(_cef_range_t),
"::",
stringify!(to)
)
);
}
#[doc = "\n Structure representing a range.\n"]
pub type cef_range_t = _cef_range_t;
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Composition underline style.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_composition_underline_style_t {
CEF_CUS_SOLID = 0,
CEF_CUS_DOT = 1,
CEF_CUS_DASH = 2,
CEF_CUS_NONE = 3,
}
#[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 Underline character range.\n"]
pub range: cef_range_t,
#[doc = "\n Text color.\n"]
pub color: cef_color_t,
#[doc = "\n Background color.\n"]
pub background_color: cef_color_t,
#[doc = "\n Set to true (1) for thick underline.\n"]
pub thick: ::std::os::raw::c_int,
#[doc = "\n Style.\n"]
pub style: cef_composition_underline_style_t,
}
#[test]
fn bindgen_test_layout__cef_composition_underline_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_composition_underline_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_composition_underline_t>(),
24usize,
concat!("Size of: ", stringify!(_cef_composition_underline_t))
);
assert_eq!(
::std::mem::align_of::<_cef_composition_underline_t>(),
4usize,
concat!("Alignment of ", stringify!(_cef_composition_underline_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).range) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_composition_underline_t),
"::",
stringify!(range)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).color) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_cef_composition_underline_t),
"::",
stringify!(color)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).background_color) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(_cef_composition_underline_t),
"::",
stringify!(background_color)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).thick) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_cef_composition_underline_t),
"::",
stringify!(thick)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).style) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(_cef_composition_underline_t),
"::",
stringify!(style)
)
);
}
#[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(u32)]
#[non_exhaustive]
#[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)]
pub enum cef_channel_layout_t {
CEF_CHANNEL_LAYOUT_NONE = 0,
CEF_CHANNEL_LAYOUT_UNSUPPORTED = 1,
#[doc = " Front C"]
CEF_CHANNEL_LAYOUT_MONO = 2,
#[doc = " Front L, Front R"]
CEF_CHANNEL_LAYOUT_STEREO = 3,
#[doc = " Front L, Front R, Back C"]
CEF_CHANNEL_LAYOUT_2_1 = 4,
#[doc = " Front L, Front R, Front C"]
CEF_CHANNEL_LAYOUT_SURROUND = 5,
#[doc = " Front L, Front R, Front C, Back C"]
CEF_CHANNEL_LAYOUT_4_0 = 6,
#[doc = " Front L, Front R, Side L, Side R"]
CEF_CHANNEL_LAYOUT_2_2 = 7,
#[doc = " Front L, Front R, Back L, Back R"]
CEF_CHANNEL_LAYOUT_QUAD = 8,
#[doc = " Front L, Front R, Front C, Side L, Side R"]
CEF_CHANNEL_LAYOUT_5_0 = 9,
#[doc = " Front L, Front R, Front C, LFE, Side L, Side R"]
CEF_CHANNEL_LAYOUT_5_1 = 10,
#[doc = " Front L, Front R, Front C, Back L, Back R"]
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"]
CEF_CHANNEL_LAYOUT_7_0 = 13,
#[doc = " Front L, Front R, Front C, LFE, Side L, Side R, Back L, Back R"]
CEF_CHANNEL_LAYOUT_7_1 = 14,
#[doc = " Front L, Front R, Front C, LFE, Side L, Side R, Front LofC, Front RofC"]
CEF_CHANNEL_LAYOUT_7_1_WIDE = 15,
#[doc = " Stereo L, Stereo R"]
CEF_CHANNEL_LAYOUT_STEREO_DOWNMIX = 16,
#[doc = " Stereo L, Stereo R, LFE"]
CEF_CHANNEL_LAYOUT_2POINT1 = 17,
#[doc = " Stereo L, Stereo R, Front C, LFE"]
CEF_CHANNEL_LAYOUT_3_1 = 18,
#[doc = " Stereo L, Stereo R, Front C, Rear C, LFE"]
CEF_CHANNEL_LAYOUT_4_1 = 19,
#[doc = " Stereo L, Stereo R, Front C, Side L, Side R, Back C"]
CEF_CHANNEL_LAYOUT_6_0 = 20,
#[doc = " Stereo L, Stereo R, Side L, Side R, Front LofC, Front RofC"]
CEF_CHANNEL_LAYOUT_6_0_FRONT = 21,
#[doc = " Stereo L, Stereo R, Front C, Rear L, Rear R, Rear C"]
CEF_CHANNEL_LAYOUT_HEXAGONAL = 22,
#[doc = " Stereo L, Stereo R, Front C, LFE, Side L, Side R, Rear Center"]
CEF_CHANNEL_LAYOUT_6_1 = 23,
#[doc = " Stereo L, Stereo R, Front C, LFE, Back L, Back R, Rear Center"]
CEF_CHANNEL_LAYOUT_6_1_BACK = 24,
#[doc = " Stereo L, Stereo R, Side L, Side R, Front LofC, Front RofC, LFE"]
CEF_CHANNEL_LAYOUT_6_1_FRONT = 25,
#[doc = " Front L, Front R, Front C, Side L, Side R, Front LofC, Front RofC"]
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."]
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."]
CEF_CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC = 30,
#[doc = " Front L, Front R, Side L, Side R, LFE"]
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 = "\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 Layout of the audio channels\n"]
pub channel_layout: cef_channel_layout_t,
#[doc = "\n Sample rate"]
pub sample_rate: ::std::os::raw::c_int,
#[doc = "\n Number of frames per buffer\n"]
pub frames_per_buffer: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__cef_audio_parameters_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_audio_parameters_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_audio_parameters_t>(),
12usize,
concat!("Size of: ", stringify!(_cef_audio_parameters_t))
);
assert_eq!(
::std::mem::align_of::<_cef_audio_parameters_t>(),
4usize,
concat!("Alignment of ", stringify!(_cef_audio_parameters_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).channel_layout) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_audio_parameters_t),
"::",
stringify!(channel_layout)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).sample_rate) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(_cef_audio_parameters_t),
"::",
stringify!(sample_rate)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).frames_per_buffer) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_cef_audio_parameters_t),
"::",
stringify!(frames_per_buffer)
)
);
}
#[doc = "\n Structure representing the audio parameters for setting up the audio\n handler.\n"]
pub type cef_audio_parameters_t = _cef_audio_parameters_t;
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Result codes for CefMediaRouter::CreateRoute. Should be kept in sync with\n Chromium's media_router::mojom::RouteRequestResultCode type.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_media_route_create_result_t {
CEF_MRCR_UNKNOWN_ERROR = 0,
CEF_MRCR_OK = 1,
CEF_MRCR_TIMED_OUT = 2,
CEF_MRCR_ROUTE_NOT_FOUND = 3,
CEF_MRCR_SINK_NOT_FOUND = 4,
CEF_MRCR_INVALID_ORIGIN = 5,
CEF_MRCR_NO_SUPPORTED_PROVIDER = 7,
CEF_MRCR_CANCELLED = 8,
CEF_MRCR_ROUTE_ALREADY_EXISTS = 9,
CEF_MRCR_ROUTE_ALREADY_TERMINATED = 11,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Connection state for a MediaRoute object.\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,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Icon types for a MediaSink object. Should be kept in sync with Chromium's\n media_router::SinkIconType type.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_media_sink_icon_type_t {
CEF_MSIT_CAST = 0,
CEF_MSIT_CAST_AUDIO_GROUP = 1,
CEF_MSIT_CAST_AUDIO = 2,
CEF_MSIT_MEETING = 3,
CEF_MSIT_HANGOUT = 4,
CEF_MSIT_EDUCATION = 5,
CEF_MSIT_WIRED_DISPLAY = 6,
CEF_MSIT_GENERIC = 7,
CEF_MSIT_TOTAL_COUNT = 8,
}
#[doc = "\n Device information for a MediaSink object.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_media_sink_device_info_t {
pub ip_address: cef_string_t,
pub port: ::std::os::raw::c_int,
pub model_name: cef_string_t,
}
#[test]
fn bindgen_test_layout__cef_media_sink_device_info_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_media_sink_device_info_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_media_sink_device_info_t>(),
56usize,
concat!("Size of: ", stringify!(_cef_media_sink_device_info_t))
);
assert_eq!(
::std::mem::align_of::<_cef_media_sink_device_info_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_media_sink_device_info_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ip_address) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_sink_device_info_t),
"::",
stringify!(ip_address)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).port) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_sink_device_info_t),
"::",
stringify!(port)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).model_name) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_sink_device_info_t),
"::",
stringify!(model_name)
)
);
}
#[doc = "\n Device information for a MediaSink object.\n"]
pub type cef_media_sink_device_info_t = _cef_media_sink_device_info_t;
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Represents commands available to TextField.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_text_field_commands_t {
CEF_TFC_CUT = 1,
CEF_TFC_COPY = 2,
CEF_TFC_PASTE = 3,
CEF_TFC_UNDO = 4,
CEF_TFC_DELETE = 5,
CEF_TFC_SELECT_ALL = 6,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Chrome toolbar types.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_chrome_toolbar_type_t {
CEF_CTT_NONE = 1,
CEF_CTT_NORMAL = 2,
CEF_CTT_LOCATION = 3,
}
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_INSIGHTS;
}
#[repr(u32)]
#[non_exhaustive]
#[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)]
pub enum cef_chrome_page_action_icon_type_t {
CEF_CPAIT_BOOKMARK_STAR = 0,
CEF_CPAIT_CLICK_TO_CALL = 1,
CEF_CPAIT_COOKIE_CONTROLS = 2,
CEF_CPAIT_FILE_SYSTEM_ACCESS = 3,
CEF_CPAIT_FIND = 4,
CEF_CPAIT_HIGH_EFFICIENCY = 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_SAVE_AUTOFILL_ADDRESS = 14,
CEF_CPAIT_SAVE_CARD = 15,
CEF_CPAIT_SEND_TAB_TO_SELF = 16,
CEF_CPAIT_SHARING_HUB = 17,
CEF_CPAIT_SIDE_SEARCH = 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_ZOOM = 23,
CEF_CPAIT_SAVE_IBAN = 24,
CEF_CPAIT_MANDATORY_REAUTH = 25,
CEF_CPAIT_PRICE_INSIGHTS = 26,
}
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;
}
#[repr(u32)]
#[non_exhaustive]
#[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,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Docking modes supported by CefWindow::AddOverlay.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_docking_mode_t {
CEF_DOCKING_MODE_TOP_LEFT = 1,
CEF_DOCKING_MODE_TOP_RIGHT = 2,
CEF_DOCKING_MODE_BOTTOM_LEFT = 3,
CEF_DOCKING_MODE_BOTTOM_RIGHT = 4,
CEF_DOCKING_MODE_CUSTOM = 5,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Show states supported by CefWindowDelegate::GetInitialShowState.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_show_state_t {
CEF_SHOW_STATE_NORMAL = 1,
CEF_SHOW_STATE_MINIMIZED = 2,
CEF_SHOW_STATE_MAXIMIZED = 3,
CEF_SHOW_STATE_FULLSCREEN = 4,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Values indicating what state of the touch handle is set.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_touch_handle_state_flags_t {
CEF_THS_FLAG_NONE = 0,
CEF_THS_FLAG_ENABLED = 1,
CEF_THS_FLAG_ORIENTATION = 2,
CEF_THS_FLAG_ORIGIN = 4,
CEF_THS_FLAG_ALPHA = 8,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_touch_handle_state_t {
#[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"]
pub flags: u32,
#[doc = "\n Enabled state. Only set if |flags| contains CEF_THS_FLAG_ENABLED.\n"]
pub enabled: ::std::os::raw::c_int,
#[doc = "\n Orientation state. Only set if |flags| contains CEF_THS_FLAG_ORIENTATION.\n"]
pub orientation: cef_horizontal_alignment_t,
pub mirror_vertical: ::std::os::raw::c_int,
pub mirror_horizontal: ::std::os::raw::c_int,
#[doc = "\n Origin state. Only set if |flags| contains CEF_THS_FLAG_ORIGIN.\n"]
pub origin: cef_point_t,
#[doc = "\n Alpha state. Only set if |flags| contains CEF_THS_FLAG_ALPHA.\n"]
pub alpha: f32,
}
#[test]
fn bindgen_test_layout__cef_touch_handle_state_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_touch_handle_state_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_touch_handle_state_t>(),
36usize,
concat!("Size of: ", stringify!(_cef_touch_handle_state_t))
);
assert_eq!(
::std::mem::align_of::<_cef_touch_handle_state_t>(),
4usize,
concat!("Alignment of ", stringify!(_cef_touch_handle_state_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).touch_handle_id) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_touch_handle_state_t),
"::",
stringify!(touch_handle_id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(_cef_touch_handle_state_t),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).enabled) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_cef_touch_handle_state_t),
"::",
stringify!(enabled)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).orientation) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(_cef_touch_handle_state_t),
"::",
stringify!(orientation)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).mirror_vertical) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_cef_touch_handle_state_t),
"::",
stringify!(mirror_vertical)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).mirror_horizontal) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(_cef_touch_handle_state_t),
"::",
stringify!(mirror_horizontal)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).origin) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_cef_touch_handle_state_t),
"::",
stringify!(origin)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).alpha) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_cef_touch_handle_state_t),
"::",
stringify!(alpha)
)
);
}
pub type cef_touch_handle_state_t = _cef_touch_handle_state_t;
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Media access permissions used by OnRequestMediaAccessPermission.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_media_access_permission_types_t {
#[doc = "\n No permission.\n"]
CEF_MEDIA_PERMISSION_NONE = 0,
#[doc = "\n Device audio capture permission.\n"]
CEF_MEDIA_PERMISSION_DEVICE_AUDIO_CAPTURE = 1,
#[doc = "\n Device video capture permission.\n"]
CEF_MEDIA_PERMISSION_DEVICE_VIDEO_CAPTURE = 2,
#[doc = "\n Desktop audio capture permission.\n"]
CEF_MEDIA_PERMISSION_DESKTOP_AUDIO_CAPTURE = 4,
#[doc = "\n Desktop video capture permission.\n"]
CEF_MEDIA_PERMISSION_DESKTOP_VIDEO_CAPTURE = 8,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Permission types used with OnShowPermissionPrompt. Some types are\n platform-specific or only supported with the Chrome runtime. Should be kept\n in sync with Chromium's permissions::RequestType type.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_permission_request_types_t {
CEF_PERMISSION_TYPE_NONE = 0,
CEF_PERMISSION_TYPE_ACCESSIBILITY_EVENTS = 1,
CEF_PERMISSION_TYPE_AR_SESSION = 2,
CEF_PERMISSION_TYPE_CAMERA_PAN_TILT_ZOOM = 4,
CEF_PERMISSION_TYPE_CAMERA_STREAM = 8,
CEF_PERMISSION_TYPE_CLIPBOARD = 16,
CEF_PERMISSION_TYPE_TOP_LEVEL_STORAGE_ACCESS = 32,
CEF_PERMISSION_TYPE_DISK_QUOTA = 64,
CEF_PERMISSION_TYPE_LOCAL_FONTS = 128,
CEF_PERMISSION_TYPE_GEOLOCATION = 256,
CEF_PERMISSION_TYPE_IDLE_DETECTION = 512,
CEF_PERMISSION_TYPE_MIC_STREAM = 1024,
CEF_PERMISSION_TYPE_MIDI = 2048,
CEF_PERMISSION_TYPE_MIDI_SYSEX = 4096,
CEF_PERMISSION_TYPE_MULTIPLE_DOWNLOADS = 8192,
CEF_PERMISSION_TYPE_NOTIFICATIONS = 16384,
CEF_PERMISSION_TYPE_PROTECTED_MEDIA_IDENTIFIER = 32768,
CEF_PERMISSION_TYPE_REGISTER_PROTOCOL_HANDLER = 65536,
CEF_PERMISSION_TYPE_STORAGE_ACCESS = 131072,
CEF_PERMISSION_TYPE_VR_SESSION = 262144,
CEF_PERMISSION_TYPE_WINDOW_MANAGEMENT = 524288,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Permission request results.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_permission_request_result_t {
#[doc = "\n Accept the permission request as an explicit user action.\n"]
CEF_PERMISSION_RESULT_ACCEPT = 0,
#[doc = "\n Deny the permission request as an explicit user action.\n"]
CEF_PERMISSION_RESULT_DENY = 1,
#[doc = "\n Dismiss the permission request as an explicit user action.\n"]
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,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Certificate types supported by CefTestServer::CreateAndStart. The matching\n certificate file must exist in the \"net/data/ssl/certificates\" directory.\n See CefSetDataDirectoryForTests() for related configuration.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_test_cert_type_t {
#[doc = " Valid certificate using the IP (127.0.0.1). Loads the \"ok_cert.pem\" file."]
CEF_TEST_CERT_OK_IP = 0,
#[doc = " Valid certificate using the domain (\"localhost\"). Loads the\n \"localhost_cert.pem\" file."]
CEF_TEST_CERT_OK_DOMAIN = 1,
#[doc = " Expired certificate. Loads the \"expired_cert.pem\" file."]
CEF_TEST_CERT_EXPIRED = 2,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Preferences type passed to\n CefBrowserProcessHandler::OnRegisterCustomPreferences.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_preferences_type_t {
#[doc = " Global preferences registered a single time at application startup."]
CEF_PREFERENCES_TYPE_GLOBAL = 0,
#[doc = " Request context preferences registered each time a new CefRequestContext\n is created."]
CEF_PREFERENCES_TYPE_REQUEST_CONTEXT = 1,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Download interrupt reasons. Should be kept in sync with\n Chromium's download::DownloadInterruptReason type.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_download_interrupt_reason_t {
CEF_DOWNLOAD_INTERRUPT_REASON_NONE = 0,
#[doc = " Generic file operation failure."]
CEF_DOWNLOAD_INTERRUPT_REASON_FILE_FAILED = 1,
#[doc = " The file cannot be accessed due to security restrictions."]
CEF_DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED = 2,
#[doc = " There is not enough room on the drive."]
CEF_DOWNLOAD_INTERRUPT_REASON_FILE_NO_SPACE = 3,
#[doc = " The directory or file name is too long."]
CEF_DOWNLOAD_INTERRUPT_REASON_FILE_NAME_TOO_LONG = 5,
#[doc = " The file is too large for the file system to handle."]
CEF_DOWNLOAD_INTERRUPT_REASON_FILE_TOO_LARGE = 6,
#[doc = " The file contains a virus."]
CEF_DOWNLOAD_INTERRUPT_REASON_FILE_VIRUS_INFECTED = 7,
#[doc = " The file was in use. Too many files are opened at once. We have run out of\n memory."]
CEF_DOWNLOAD_INTERRUPT_REASON_FILE_TRANSIENT_ERROR = 10,
#[doc = " The file was blocked due to local policy."]
CEF_DOWNLOAD_INTERRUPT_REASON_FILE_BLOCKED = 11,
#[doc = " An attempt to check the safety of the download failed due to unexpected\n reasons. See http://crbug.com/153212."]
CEF_DOWNLOAD_INTERRUPT_REASON_FILE_SECURITY_CHECK_FAILED = 12,
#[doc = " An attempt was made to seek past the end of a file in opening\n a file (as part of resuming a previously interrupted download)."]
CEF_DOWNLOAD_INTERRUPT_REASON_FILE_TOO_SHORT = 13,
#[doc = " The partial file didn't match the expected hash."]
CEF_DOWNLOAD_INTERRUPT_REASON_FILE_HASH_MISMATCH = 14,
#[doc = " The source and the target of the download were the same."]
CEF_DOWNLOAD_INTERRUPT_REASON_FILE_SAME_AS_SOURCE = 15,
#[doc = " Generic network failure."]
CEF_DOWNLOAD_INTERRUPT_REASON_NETWORK_FAILED = 20,
#[doc = " The network operation timed out."]
CEF_DOWNLOAD_INTERRUPT_REASON_NETWORK_TIMEOUT = 21,
#[doc = " The network connection has been lost."]
CEF_DOWNLOAD_INTERRUPT_REASON_NETWORK_DISCONNECTED = 22,
#[doc = " The server has gone down."]
CEF_DOWNLOAD_INTERRUPT_REASON_NETWORK_SERVER_DOWN = 23,
#[doc = " The network request was invalid. This may be due to the original URL or a\n redirected URL:\n - Having an unsupported scheme.\n - Being an invalid URL.\n - Being disallowed by policy."]
CEF_DOWNLOAD_INTERRUPT_REASON_NETWORK_INVALID_REQUEST = 24,
#[doc = " The server indicates that the operation has failed (generic)."]
CEF_DOWNLOAD_INTERRUPT_REASON_SERVER_FAILED = 30,
#[doc = " The server does not support range requests.\n Internal use only: must restart from the beginning."]
CEF_DOWNLOAD_INTERRUPT_REASON_SERVER_NO_RANGE = 31,
#[doc = " The server does not have the requested data."]
CEF_DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT = 33,
#[doc = " Server didn't authorize access to resource."]
CEF_DOWNLOAD_INTERRUPT_REASON_SERVER_UNAUTHORIZED = 34,
#[doc = " Server certificate problem."]
CEF_DOWNLOAD_INTERRUPT_REASON_SERVER_CERT_PROBLEM = 35,
#[doc = " Server access forbidden."]
CEF_DOWNLOAD_INTERRUPT_REASON_SERVER_FORBIDDEN = 36,
#[doc = " Unexpected server response. This might indicate that the responding server\n may not be the intended server."]
CEF_DOWNLOAD_INTERRUPT_REASON_SERVER_UNREACHABLE = 37,
#[doc = " The server sent fewer bytes than the content-length header. It may\n indicate that the connection was closed prematurely, or the Content-Length\n header was invalid. The download is only interrupted if strong validators\n are present. Otherwise, it is treated as finished."]
CEF_DOWNLOAD_INTERRUPT_REASON_SERVER_CONTENT_LENGTH_MISMATCH = 38,
#[doc = " An unexpected cross-origin redirect happened."]
CEF_DOWNLOAD_INTERRUPT_REASON_SERVER_CROSS_ORIGIN_REDIRECT = 39,
#[doc = " The user canceled the download."]
CEF_DOWNLOAD_INTERRUPT_REASON_USER_CANCELED = 40,
#[doc = " The user shut down the browser.\n Internal use only: resume pending downloads if possible."]
CEF_DOWNLOAD_INTERRUPT_REASON_USER_SHUTDOWN = 41,
#[doc = " The browser crashed.\n Internal use only: resume pending downloads if possible."]
CEF_DOWNLOAD_INTERRUPT_REASON_CRASH = 50,
}
#[repr(u32)]
#[non_exhaustive]
#[doc = "\n Specifies the gesture commands.\n"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum cef_gesture_command_t {
CEF_GESTURE_COMMAND_BACK = 0,
CEF_GESTURE_COMMAND_FORWARD = 1,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_base_ref_counted_t {
pub size: usize,
pub add_ref: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_base_ref_counted_t)>,
pub release: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_base_ref_counted_t) -> ::std::os::raw::c_int,
>,
pub has_one_ref: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_base_ref_counted_t) -> ::std::os::raw::c_int,
>,
pub has_at_least_one_ref: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_base_ref_counted_t) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_base_ref_counted_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_base_ref_counted_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_base_ref_counted_t>(),
40usize,
concat!("Size of: ", stringify!(_cef_base_ref_counted_t))
);
assert_eq!(
::std::mem::align_of::<_cef_base_ref_counted_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_base_ref_counted_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_base_ref_counted_t),
"::",
stringify!(size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).add_ref) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_cef_base_ref_counted_t),
"::",
stringify!(add_ref)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).release) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_cef_base_ref_counted_t),
"::",
stringify!(release)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).has_one_ref) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_cef_base_ref_counted_t),
"::",
stringify!(has_one_ref)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).has_at_least_one_ref) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_cef_base_ref_counted_t),
"::",
stringify!(has_at_least_one_ref)
)
);
}
pub type cef_base_ref_counted_t = _cef_base_ref_counted_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_base_scoped_t {
pub size: usize,
pub del: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_base_scoped_t)>,
}
#[test]
fn bindgen_test_layout__cef_base_scoped_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_base_scoped_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_base_scoped_t>(),
16usize,
concat!("Size of: ", stringify!(_cef_base_scoped_t))
);
assert_eq!(
::std::mem::align_of::<_cef_base_scoped_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_base_scoped_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_base_scoped_t),
"::",
stringify!(size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).del) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_cef_base_scoped_t),
"::",
stringify!(del)
)
);
}
pub type cef_base_scoped_t = _cef_base_scoped_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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_dev_tools_message_observer_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Method that will be called on receipt of a DevTools protocol message.\n |browser| is the originating browser instance. |message| is a UTF8-encoded\n JSON dictionary representing either a function result or an event.\n |message| is only valid for the scope of this callback and should be\n copied if necessary. Return true (1) if the message was handled or false\n (0) if the message should be further processed and passed to the\n OnDevToolsMethodResult or OnDevToolsEvent functions as appropriate.\n\n Method result dictionaries include an \"id\" (int) value that identifies the\n orginating function call sent from\n cef_browser_host_t::SendDevToolsMessage, and optionally either a \"result\"\n (dictionary) or \"error\" (dictionary) value. The \"error\" dictionary will\n contain \"code\" (int) and \"message\" (string) values. Event dictionaries\n include a \"function\" (string) value and optionally a \"params\" (dictionary)\n value. See the DevTools protocol documentation at\n https://chromedevtools.github.io/devtools-protocol/ for details of\n supported function calls and the expected \"result\" or \"params\" dictionary\n contents. JSON dictionaries can be parsed using the CefParseJSON function\n if desired, however be aware of performance considerations when parsing\n large messages (some of which may exceed 1MB in size).\n"]
pub on_dev_tools_message: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dev_tools_message_observer_t,
browser: *mut _cef_browser_t,
message: *const ::std::os::raw::c_void,
message_size: usize,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Method that will be called after attempted execution of a DevTools\n protocol function. |browser| is the originating browser instance.\n |message_id| is the \"id\" value that identifies the originating function\n call message. If the function succeeded |success| will be true (1) and\n |result| will be the UTF8-encoded JSON \"result\" dictionary value (which\n may be NULL). If the function failed |success| will be false (0) and\n |result| will be the UTF8-encoded JSON \"error\" dictionary value. |result|\n is only valid for the scope of this callback and should be copied if\n necessary. See the OnDevToolsMessage documentation for additional details\n on |result| contents.\n"]
pub on_dev_tools_method_result: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dev_tools_message_observer_t,
browser: *mut _cef_browser_t,
message_id: ::std::os::raw::c_int,
success: ::std::os::raw::c_int,
result: *const ::std::os::raw::c_void,
result_size: usize,
),
>,
#[doc = "\n Method that will be called on receipt of a DevTools protocol event.\n |browser| is the originating browser instance. |function| is the\n \"function\" value. |params| is the UTF8-encoded JSON \"params\" dictionary\n value (which may be NULL). |params| is only valid for the scope of this\n callback and should be copied if necessary. See the OnDevToolsMessage\n documentation for additional details on |params| contents.\n"]
pub on_dev_tools_event: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dev_tools_message_observer_t,
browser: *mut _cef_browser_t,
method: *const cef_string_t,
params: *const ::std::os::raw::c_void,
params_size: usize,
),
>,
#[doc = "\n Method that will be called when the DevTools agent has attached. |browser|\n is the originating browser instance. This will generally occur in response\n to the first message sent while the agent is detached.\n"]
pub on_dev_tools_agent_attached: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dev_tools_message_observer_t,
browser: *mut _cef_browser_t,
),
>,
#[doc = "\n Method that will be called when the DevTools agent has detached. |browser|\n is the originating browser instance. Any function results that were\n pending before the agent became detached will not be delivered, and any\n active event subscriptions will be canceled.\n"]
pub on_dev_tools_agent_detached: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dev_tools_message_observer_t,
browser: *mut _cef_browser_t,
),
>,
}
#[test]
fn bindgen_test_layout__cef_dev_tools_message_observer_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_dev_tools_message_observer_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_dev_tools_message_observer_t>(),
80usize,
concat!("Size of: ", stringify!(_cef_dev_tools_message_observer_t))
);
assert_eq!(
::std::mem::align_of::<_cef_dev_tools_message_observer_t>(),
8usize,
concat!(
"Alignment of ",
stringify!(_cef_dev_tools_message_observer_t)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_dev_tools_message_observer_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_dev_tools_message) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_dev_tools_message_observer_t),
"::",
stringify!(on_dev_tools_message)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_dev_tools_method_result) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_dev_tools_message_observer_t),
"::",
stringify!(on_dev_tools_method_result)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_dev_tools_event) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_dev_tools_message_observer_t),
"::",
stringify!(on_dev_tools_event)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_dev_tools_agent_attached) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_dev_tools_message_observer_t),
"::",
stringify!(on_dev_tools_agent_attached)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_dev_tools_agent_detached) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_dev_tools_message_observer_t),
"::",
stringify!(on_dev_tools_agent_detached)
)
);
}
#[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"]
pub type cef_dev_tools_message_observer_t = _cef_dev_tools_message_observer_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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_value_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns true (1) if the underlying data is valid. This will always be true\n (1) for simple types. For complex types (binary, dictionary and list) the\n underlying data may become invalid if owned by another object (e.g. list\n or dictionary) and that other object is then modified or destroyed. This\n value object can be re-used by calling Set*() even if the underlying data\n is invalid.\n"]
pub is_valid: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the underlying data is owned by another object.\n"]
pub is_owned: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the underlying data is read-only. Some APIs may expose\n read-only objects.\n"]
pub is_read_only: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this object and |that| object have the same underlying\n data. If true (1) modifications to this object will also affect |that|\n object and vice-versa.\n"]
pub is_same: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_value_t,
that: *mut _cef_value_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this object and |that| object have an equivalent\n underlying value but are not necessarily the same object.\n"]
pub is_equal: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_value_t,
that: *mut _cef_value_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns a copy of this object. The underlying data will also be copied.\n"]
pub copy:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_value_t) -> *mut _cef_value_t>,
#[doc = "\n Returns the underlying value type.\n"]
pub get_type:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_value_t) -> cef_value_type_t>,
#[doc = "\n Returns the underlying value as type bool.\n"]
pub get_bool: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the underlying value as type int.\n"]
pub get_int: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the underlying value as type double.\n"]
pub get_double: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_value_t) -> f64>,
#[doc = "\n Returns the underlying value as type string.\n"]
pub get_string: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_value_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the underlying value as type binary. The returned reference may\n become invalid if the value is owned by another object or if ownership is\n transferred to another object in the future. To maintain a reference to\n the value after assigning ownership to a dictionary or list pass this\n object to the set_value() function instead of passing the returned\n reference to set_binary().\n"]
pub get_binary: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_value_t) -> *mut _cef_binary_value_t,
>,
#[doc = "\n Returns the underlying value as type dictionary. The returned reference\n may become invalid if the value is owned by another object or if ownership\n is transferred to another object in the future. To maintain a reference to\n the value after assigning ownership to a dictionary or list pass this\n object to the set_value() function instead of passing the returned\n reference to set_dictionary().\n"]
pub get_dictionary: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_value_t) -> *mut _cef_dictionary_value_t,
>,
#[doc = "\n Returns the underlying value as type list. The returned reference may\n become invalid if the value is owned by another object or if ownership is\n transferred to another object in the future. To maintain a reference to\n the value after assigning ownership to a dictionary or list pass this\n object to the set_value() function instead of passing the returned\n reference to set_list().\n"]
pub get_list: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_value_t) -> *mut _cef_list_value_t,
>,
#[doc = "\n Sets the underlying value as type null. Returns true (1) if the value was\n set successfully.\n"]
pub set_null: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the underlying value as type bool. Returns true (1) if the value was\n set successfully.\n"]
pub set_bool: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_value_t,
value: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the underlying value as type int. Returns true (1) if the value was\n set successfully.\n"]
pub set_int: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_value_t,
value: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the underlying value as type double. Returns true (1) if the value\n was set successfully.\n"]
pub set_double: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_value_t, value: f64) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the underlying value as type string. Returns true (1) if the value\n was set successfully.\n"]
pub set_string: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_value_t,
value: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the underlying value as type binary. Returns true (1) if the value\n was set successfully. This object keeps a reference to |value| and\n ownership of the underlying data remains unchanged.\n"]
pub set_binary: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_value_t,
value: *mut _cef_binary_value_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the underlying value as type dict. Returns true (1) if the value was\n set successfully. This object keeps a reference to |value| and ownership\n of the underlying data remains unchanged.\n"]
pub set_dictionary: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_value_t,
value: *mut _cef_dictionary_value_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the underlying value as type list. Returns true (1) if the value was\n set successfully. This object keeps a reference to |value| and ownership\n of the underlying data remains unchanged.\n"]
pub set_list: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_value_t,
value: *mut _cef_list_value_t,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_value_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_value_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_value_t>(),
216usize,
concat!("Size of: ", stringify!(_cef_value_t))
);
assert_eq!(
::std::mem::align_of::<_cef_value_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_value_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_value_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_valid) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_value_t),
"::",
stringify!(is_valid)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_owned) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_value_t),
"::",
stringify!(is_owned)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_read_only) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_value_t),
"::",
stringify!(is_read_only)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_same) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_value_t),
"::",
stringify!(is_same)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_equal) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_value_t),
"::",
stringify!(is_equal)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).copy) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_value_t),
"::",
stringify!(copy)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_type) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_value_t),
"::",
stringify!(get_type)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_bool) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_value_t),
"::",
stringify!(get_bool)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_int) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_value_t),
"::",
stringify!(get_int)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_double) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_value_t),
"::",
stringify!(get_double)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_string) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_value_t),
"::",
stringify!(get_string)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_binary) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_value_t),
"::",
stringify!(get_binary)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_dictionary) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_value_t),
"::",
stringify!(get_dictionary)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_list) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(_cef_value_t),
"::",
stringify!(get_list)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_null) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_cef_value_t),
"::",
stringify!(set_null)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_bool) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_cef_value_t),
"::",
stringify!(set_bool)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_int) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_cef_value_t),
"::",
stringify!(set_int)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_double) as usize - ptr as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(_cef_value_t),
"::",
stringify!(set_double)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_string) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(_cef_value_t),
"::",
stringify!(set_string)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_binary) as usize - ptr as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(_cef_value_t),
"::",
stringify!(set_binary)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_dictionary) as usize - ptr as usize },
200usize,
concat!(
"Offset of field: ",
stringify!(_cef_value_t),
"::",
stringify!(set_dictionary)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_list) as usize - ptr as usize },
208usize,
concat!(
"Offset of field: ",
stringify!(_cef_value_t),
"::",
stringify!(set_list)
)
);
}
#[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"]
pub type cef_value_t = _cef_value_t;
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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_binary_value_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns true (1) if this object is valid. This object may become invalid\n if the underlying data is owned by another object (e.g. list or\n dictionary) and that other object is then modified or destroyed. Do not\n call any other functions if this function returns false (0).\n"]
pub is_valid: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_binary_value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this object is currently owned by another object.\n"]
pub is_owned: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_binary_value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this object and |that| object have the same underlying\n data.\n"]
pub is_same: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_binary_value_t,
that: *mut _cef_binary_value_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this object and |that| object have an equivalent\n underlying value but are not necessarily the same object.\n"]
pub is_equal: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_binary_value_t,
that: *mut _cef_binary_value_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns a copy of this object. The data in this object will also be\n copied.\n"]
pub copy: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_binary_value_t) -> *mut _cef_binary_value_t,
>,
#[doc = "\n Returns the data size.\n"]
pub get_size:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_binary_value_t) -> usize>,
#[doc = "\n Read up to |buffer_size| number of bytes into |buffer|. Reading begins at\n the specified byte |data_offset|. Returns the number of bytes read.\n"]
pub get_data: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_binary_value_t,
buffer: *mut ::std::os::raw::c_void,
buffer_size: usize,
data_offset: usize,
) -> usize,
>,
}
#[test]
fn bindgen_test_layout__cef_binary_value_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_binary_value_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_binary_value_t>(),
96usize,
concat!("Size of: ", stringify!(_cef_binary_value_t))
);
assert_eq!(
::std::mem::align_of::<_cef_binary_value_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_binary_value_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_binary_value_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_valid) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_binary_value_t),
"::",
stringify!(is_valid)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_owned) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_binary_value_t),
"::",
stringify!(is_owned)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_same) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_binary_value_t),
"::",
stringify!(is_same)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_equal) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_binary_value_t),
"::",
stringify!(is_equal)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).copy) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_binary_value_t),
"::",
stringify!(copy)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_size) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_binary_value_t),
"::",
stringify!(get_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_data) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_binary_value_t),
"::",
stringify!(get_data)
)
);
}
#[doc = "\n Structure representing a binary value. Can be used on any process and\n thread.\n"]
pub type cef_binary_value_t = _cef_binary_value_t;
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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_dictionary_value_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns true (1) if this object is valid. This object may become invalid\n if the underlying data is owned by another object (e.g. list or\n dictionary) and that other object is then modified or destroyed. Do not\n call any other functions if this function returns false (0).\n"]
pub is_valid: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_dictionary_value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this object is currently owned by another object.\n"]
pub is_owned: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_dictionary_value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the values of this object are read-only. Some APIs may\n expose read-only objects.\n"]
pub is_read_only: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_dictionary_value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this object and |that| object have the same underlying\n data. If true (1) modifications to this object will also affect |that|\n object and vice-versa.\n"]
pub is_same: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dictionary_value_t,
that: *mut _cef_dictionary_value_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this object and |that| object have an equivalent\n underlying value but are not necessarily the same object.\n"]
pub is_equal: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dictionary_value_t,
that: *mut _cef_dictionary_value_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns a writable copy of this object. If |exclude_NULL_children| is true\n (1) any NULL dictionaries or lists will be excluded from the copy.\n"]
pub copy: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dictionary_value_t,
exclude_empty_children: ::std::os::raw::c_int,
) -> *mut _cef_dictionary_value_t,
>,
#[doc = "\n Returns the number of values.\n"]
pub get_size:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_dictionary_value_t) -> usize>,
#[doc = "\n Removes all values. Returns true (1) on success.\n"]
pub clear: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_dictionary_value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the current dictionary has a value for the given key.\n"]
pub has_key: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dictionary_value_t,
key: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Reads all keys for this dictionary into the specified vector.\n"]
pub get_keys: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dictionary_value_t,
keys: cef_string_list_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Removes the value at the specified key. Returns true (1) is the value was\n removed successfully.\n"]
pub remove: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dictionary_value_t,
key: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the value type for the specified key.\n"]
pub get_type: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dictionary_value_t,
key: *const cef_string_t,
) -> cef_value_type_t,
>,
#[doc = "\n Returns the value at the specified key. For simple types the returned\n value will copy existing data and modifications to the value will not\n modify this object. For complex types (binary, dictionary and list) the\n returned value will reference existing data and modifications to the value\n will modify this object.\n"]
pub get_value: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dictionary_value_t,
key: *const cef_string_t,
) -> *mut _cef_value_t,
>,
#[doc = "\n Returns the value at the specified key as type bool.\n"]
pub get_bool: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dictionary_value_t,
key: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the value at the specified key as type int.\n"]
pub get_int: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dictionary_value_t,
key: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the value at the specified key as type double.\n"]
pub get_double: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_dictionary_value_t, key: *const cef_string_t) -> f64,
>,
#[doc = "\n Returns the value at the specified key as type string.\n"]
pub get_string: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dictionary_value_t,
key: *const cef_string_t,
) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the value at the specified key as type binary. The returned value\n will reference existing data.\n"]
pub get_binary: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dictionary_value_t,
key: *const cef_string_t,
) -> *mut _cef_binary_value_t,
>,
#[doc = "\n Returns the value at the specified key as type dictionary. The returned\n value will reference existing data and modifications to the value will\n modify this object.\n"]
pub get_dictionary: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dictionary_value_t,
key: *const cef_string_t,
) -> *mut _cef_dictionary_value_t,
>,
#[doc = "\n Returns the value at the specified key as type list. The returned value\n will reference existing data and modifications to the value will modify\n this object.\n"]
pub get_list: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dictionary_value_t,
key: *const cef_string_t,
) -> *mut _cef_list_value_t,
>,
#[doc = "\n Sets the value at the specified key. Returns true (1) if the value was set\n successfully. If |value| represents simple data then the underlying data\n will be copied and modifications to |value| will not modify this object.\n If |value| represents complex data (binary, dictionary or list) then the\n underlying data will be referenced and modifications to |value| will\n modify this object.\n"]
pub set_value: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dictionary_value_t,
key: *const cef_string_t,
value: *mut _cef_value_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the value at the specified key as type null. Returns true (1) if the\n value was set successfully.\n"]
pub set_null: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dictionary_value_t,
key: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the value at the specified key as type bool. Returns true (1) if the\n value was set successfully.\n"]
pub set_bool: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dictionary_value_t,
key: *const cef_string_t,
value: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the value at the specified key as type int. Returns true (1) if the\n value was set successfully.\n"]
pub set_int: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dictionary_value_t,
key: *const cef_string_t,
value: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the value at the specified key as type double. Returns true (1) if\n the value was set successfully.\n"]
pub set_double: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dictionary_value_t,
key: *const cef_string_t,
value: f64,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the value at the specified key as type string. Returns true (1) if\n the value was set successfully.\n"]
pub set_string: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dictionary_value_t,
key: *const cef_string_t,
value: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the value at the specified key as type binary. Returns true (1) if\n the value was set successfully. If |value| is currently owned by another\n object then the value will be copied and the |value| reference will not\n change. Otherwise, ownership will be transferred to this object and the\n |value| reference will be invalidated.\n"]
pub set_binary: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dictionary_value_t,
key: *const cef_string_t,
value: *mut _cef_binary_value_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the value at the specified key as type dict. Returns true (1) if the\n value was set successfully. If |value| is currently owned by another\n object then the value will be copied and the |value| reference will not\n change. Otherwise, ownership will be transferred to this object and the\n |value| reference will be invalidated.\n"]
pub set_dictionary: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dictionary_value_t,
key: *const cef_string_t,
value: *mut _cef_dictionary_value_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the value at the specified key as type list. Returns true (1) if the\n value was set successfully. If |value| is currently owned by another\n object then the value will be copied and the |value| reference will not\n change. Otherwise, ownership will be transferred to this object and the\n |value| reference will be invalidated.\n"]
pub set_list: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dictionary_value_t,
key: *const cef_string_t,
value: *mut _cef_list_value_t,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_dictionary_value_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_dictionary_value_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_dictionary_value_t>(),
272usize,
concat!("Size of: ", stringify!(_cef_dictionary_value_t))
);
assert_eq!(
::std::mem::align_of::<_cef_dictionary_value_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_dictionary_value_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_valid) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(is_valid)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_owned) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(is_owned)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_read_only) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(is_read_only)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_same) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(is_same)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_equal) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(is_equal)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).copy) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(copy)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_size) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(get_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).clear) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(clear)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).has_key) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(has_key)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_keys) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(get_keys)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).remove) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(remove)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_type) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(get_type)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_value) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(get_value)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_bool) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(get_bool)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_int) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(get_int)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_double) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(get_double)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_string) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(get_string)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_binary) as usize - ptr as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(get_binary)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_dictionary) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(get_dictionary)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_list) as usize - ptr as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(get_list)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_value) as usize - ptr as usize },
200usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(set_value)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_null) as usize - ptr as usize },
208usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(set_null)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_bool) as usize - ptr as usize },
216usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(set_bool)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_int) as usize - ptr as usize },
224usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(set_int)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_double) as usize - ptr as usize },
232usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(set_double)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_string) as usize - ptr as usize },
240usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(set_string)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_binary) as usize - ptr as usize },
248usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(set_binary)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_dictionary) as usize - ptr as usize },
256usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(set_dictionary)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_list) as usize - ptr as usize },
264usize,
concat!(
"Offset of field: ",
stringify!(_cef_dictionary_value_t),
"::",
stringify!(set_list)
)
);
}
#[doc = "\n Structure representing a dictionary value. Can be used on any process and\n thread.\n"]
pub type cef_dictionary_value_t = _cef_dictionary_value_t;
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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_list_value_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns true (1) if this object is valid. This object may become invalid\n if the underlying data is owned by another object (e.g. list or\n dictionary) and that other object is then modified or destroyed. Do not\n call any other functions if this function returns false (0).\n"]
pub is_valid: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_list_value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this object is currently owned by another object.\n"]
pub is_owned: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_list_value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the values of this object are read-only. Some APIs may\n expose read-only objects.\n"]
pub is_read_only: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_list_value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this object and |that| object have the same underlying\n data. If true (1) modifications to this object will also affect |that|\n object and vice-versa.\n"]
pub is_same: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_list_value_t,
that: *mut _cef_list_value_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this object and |that| object have an equivalent\n underlying value but are not necessarily the same object.\n"]
pub is_equal: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_list_value_t,
that: *mut _cef_list_value_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns a writable copy of this object.\n"]
pub copy: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_list_value_t) -> *mut _cef_list_value_t,
>,
#[doc = "\n Sets the number of values. If the number of values is expanded all new\n value slots will default to type null. Returns true (1) on success.\n"]
pub set_size: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_list_value_t, size: usize) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the number of values.\n"]
pub get_size:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_list_value_t) -> usize>,
#[doc = "\n Removes all values. Returns true (1) on success.\n"]
pub clear: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_list_value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Removes the value at the specified index.\n"]
pub remove: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_list_value_t, index: usize) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the value type at the specified index.\n"]
pub get_type: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_list_value_t, index: usize) -> cef_value_type_t,
>,
#[doc = "\n Returns the value at the specified index. For simple types the returned\n value will copy existing data and modifications to the value will not\n modify this object. For complex types (binary, dictionary and list) the\n returned value will reference existing data and modifications to the value\n will modify this object.\n"]
pub get_value: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_list_value_t, index: usize) -> *mut _cef_value_t,
>,
#[doc = "\n Returns the value at the specified index as type bool.\n"]
pub get_bool: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_list_value_t, index: usize) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the value at the specified index as type int.\n"]
pub get_int: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_list_value_t, index: usize) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the value at the specified index as type double.\n"]
pub get_double: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_list_value_t, index: usize) -> f64,
>,
#[doc = "\n Returns the value at the specified index as type string.\n"]
pub get_string: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_list_value_t, index: usize) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the value at the specified index as type binary. The returned\n value will reference existing data.\n"]
pub get_binary: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_list_value_t,
index: usize,
) -> *mut _cef_binary_value_t,
>,
#[doc = "\n Returns the value at the specified index as type dictionary. The returned\n value will reference existing data and modifications to the value will\n modify this object.\n"]
pub get_dictionary: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_list_value_t,
index: usize,
) -> *mut _cef_dictionary_value_t,
>,
#[doc = "\n Returns the value at the specified index as type list. The returned value\n will reference existing data and modifications to the value will modify\n this object.\n"]
pub get_list: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_list_value_t, index: usize) -> *mut _cef_list_value_t,
>,
#[doc = "\n Sets the value at the specified index. Returns true (1) if the value was\n set successfully. If |value| represents simple data then the underlying\n data will be copied and modifications to |value| will not modify this\n object. If |value| represents complex data (binary, dictionary or list)\n then the underlying data will be referenced and modifications to |value|\n will modify this object.\n"]
pub set_value: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_list_value_t,
index: usize,
value: *mut _cef_value_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the value at the specified index as type null. Returns true (1) if\n the value was set successfully.\n"]
pub set_null: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_list_value_t, index: usize) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the value at the specified index as type bool. Returns true (1) if\n the value was set successfully.\n"]
pub set_bool: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_list_value_t,
index: usize,
value: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the value at the specified index as type int. Returns true (1) if the\n value was set successfully.\n"]
pub set_int: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_list_value_t,
index: usize,
value: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the value at the specified index as type double. Returns true (1) if\n the value was set successfully.\n"]
pub set_double: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_list_value_t,
index: usize,
value: f64,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the value at the specified index as type string. Returns true (1) if\n the value was set successfully.\n"]
pub set_string: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_list_value_t,
index: usize,
value: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the value at the specified index as type binary. Returns true (1) if\n the value was set successfully. If |value| is currently owned by another\n object then the value will be copied and the |value| reference will not\n change. Otherwise, ownership will be transferred to this object and the\n |value| reference will be invalidated.\n"]
pub set_binary: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_list_value_t,
index: usize,
value: *mut _cef_binary_value_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the value at the specified index as type dict. Returns true (1) if\n the value was set successfully. If |value| is currently owned by another\n object then the value will be copied and the |value| reference will not\n change. Otherwise, ownership will be transferred to this object and the\n |value| reference will be invalidated.\n"]
pub set_dictionary: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_list_value_t,
index: usize,
value: *mut _cef_dictionary_value_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the value at the specified index as type list. Returns true (1) if\n the value was set successfully. If |value| is currently owned by another\n object then the value will be copied and the |value| reference will not\n change. Otherwise, ownership will be transferred to this object and the\n |value| reference will be invalidated.\n"]
pub set_list: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_list_value_t,
index: usize,
value: *mut _cef_list_value_t,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_list_value_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_list_value_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_list_value_t>(),
264usize,
concat!("Size of: ", stringify!(_cef_list_value_t))
);
assert_eq!(
::std::mem::align_of::<_cef_list_value_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_list_value_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_valid) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(is_valid)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_owned) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(is_owned)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_read_only) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(is_read_only)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_same) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(is_same)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_equal) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(is_equal)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).copy) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(copy)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_size) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(set_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_size) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(get_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).clear) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(clear)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).remove) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(remove)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_type) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(get_type)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_value) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(get_value)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_bool) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(get_bool)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_int) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(get_int)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_double) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(get_double)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_string) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(get_string)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_binary) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(get_binary)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_dictionary) as usize - ptr as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(get_dictionary)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_list) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(get_list)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_value) as usize - ptr as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(set_value)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_null) as usize - ptr as usize },
200usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(set_null)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_bool) as usize - ptr as usize },
208usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(set_bool)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_int) as usize - ptr as usize },
216usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(set_int)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_double) as usize - ptr as usize },
224usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(set_double)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_string) as usize - ptr as usize },
232usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(set_string)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_binary) as usize - ptr as usize },
240usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(set_binary)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_dictionary) as usize - ptr as usize },
248usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(set_dictionary)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_list) as usize - ptr as usize },
256usize,
concat!(
"Offset of field: ",
stringify!(_cef_list_value_t),
"::",
stringify!(set_list)
)
);
}
#[doc = "\n Structure representing a list value. Can be used on any process and thread.\n"]
pub type cef_list_value_t = _cef_list_value_t;
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 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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_image_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns true (1) if this Image is NULL.\n"]
pub is_empty: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_image_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this Image and |that| Image share the same underlying\n storage. Will also return true (1) if both images are NULL.\n"]
pub is_same: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_image_t,
that: *mut _cef_image_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Add a bitmap image representation for |scale_factor|. Only 32-bit\n RGBA/BGRA formats are supported. |pixel_width| and |pixel_height| are the\n bitmap representation size in pixel coordinates. |pixel_data| is the array\n of pixel data and should be |pixel_width| x |pixel_height| x 4 bytes in\n size. |color_type| and |alpha_type| values specify the pixel format.\n"]
pub add_bitmap: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_image_t,
scale_factor: f32,
pixel_width: ::std::os::raw::c_int,
pixel_height: ::std::os::raw::c_int,
color_type: cef_color_type_t,
alpha_type: cef_alpha_type_t,
pixel_data: *const ::std::os::raw::c_void,
pixel_data_size: usize,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Add a PNG image representation for |scale_factor|. |png_data| is the image\n data of size |png_data_size|. Any alpha transparency in the PNG data will\n be maintained.\n"]
pub add_png: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_image_t,
scale_factor: f32,
png_data: *const ::std::os::raw::c_void,
png_data_size: usize,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Create a JPEG image representation for |scale_factor|. |jpeg_data| is the\n image data of size |jpeg_data_size|. The JPEG format does not support\n transparency so the alpha byte will be set to 0xFF for all pixels.\n"]
pub add_jpeg: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_image_t,
scale_factor: f32,
jpeg_data: *const ::std::os::raw::c_void,
jpeg_data_size: usize,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the image width in density independent pixel (DIP) units.\n"]
pub get_width: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_image_t) -> usize>,
#[doc = "\n Returns the image height in density independent pixel (DIP) units.\n"]
pub get_height: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_image_t) -> usize>,
#[doc = "\n Returns true (1) if this image contains a representation for\n |scale_factor|.\n"]
pub has_representation: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_image_t, scale_factor: f32) -> ::std::os::raw::c_int,
>,
#[doc = "\n Removes the representation for |scale_factor|. Returns true (1) on\n success.\n"]
pub remove_representation: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_image_t, scale_factor: f32) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns information for the representation that most closely matches\n |scale_factor|. |actual_scale_factor| is the actual scale factor for the\n representation. |pixel_width| and |pixel_height| are the representation\n size in pixel coordinates. Returns true (1) on success.\n"]
pub get_representation_info: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_image_t,
scale_factor: f32,
actual_scale_factor: *mut f32,
pixel_width: *mut ::std::os::raw::c_int,
pixel_height: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the bitmap representation that most closely matches\n |scale_factor|. Only 32-bit RGBA/BGRA formats are supported. |color_type|\n and |alpha_type| values specify the desired output pixel format.\n |pixel_width| and |pixel_height| are the output representation size in\n pixel coordinates. Returns a cef_binary_value_t containing the pixel data\n on success or NULL on failure.\n"]
pub get_as_bitmap: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_image_t,
scale_factor: f32,
color_type: cef_color_type_t,
alpha_type: cef_alpha_type_t,
pixel_width: *mut ::std::os::raw::c_int,
pixel_height: *mut ::std::os::raw::c_int,
) -> *mut _cef_binary_value_t,
>,
#[doc = "\n Returns the PNG representation that most closely matches |scale_factor|.\n If |with_transparency| is true (1) any alpha transparency in the image\n will be represented in the resulting PNG data. |pixel_width| and\n |pixel_height| are the output representation size in pixel coordinates.\n Returns a cef_binary_value_t containing the PNG image data on success or\n NULL on failure.\n"]
pub get_as_png: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_image_t,
scale_factor: f32,
with_transparency: ::std::os::raw::c_int,
pixel_width: *mut ::std::os::raw::c_int,
pixel_height: *mut ::std::os::raw::c_int,
) -> *mut _cef_binary_value_t,
>,
#[doc = "\n Returns the JPEG representation that most closely matches |scale_factor|.\n |quality| determines the compression level with 0 == lowest and 100 ==\n highest. The JPEG format does not support alpha transparency and the alpha\n channel, if any, will be discarded. |pixel_width| and |pixel_height| are\n the output representation size in pixel coordinates. Returns a\n cef_binary_value_t containing the JPEG image data on success or NULL on\n failure.\n"]
pub get_as_jpeg: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_image_t,
scale_factor: f32,
quality: ::std::os::raw::c_int,
pixel_width: *mut ::std::os::raw::c_int,
pixel_height: *mut ::std::os::raw::c_int,
) -> *mut _cef_binary_value_t,
>,
}
#[test]
fn bindgen_test_layout__cef_image_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_image_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_image_t>(),
144usize,
concat!("Size of: ", stringify!(_cef_image_t))
);
assert_eq!(
::std::mem::align_of::<_cef_image_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_image_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_image_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_empty) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_image_t),
"::",
stringify!(is_empty)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_same) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_image_t),
"::",
stringify!(is_same)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).add_bitmap) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_image_t),
"::",
stringify!(add_bitmap)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).add_png) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_image_t),
"::",
stringify!(add_png)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).add_jpeg) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_image_t),
"::",
stringify!(add_jpeg)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_width) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_image_t),
"::",
stringify!(get_width)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_height) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_image_t),
"::",
stringify!(get_height)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).has_representation) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_image_t),
"::",
stringify!(has_representation)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).remove_representation) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_image_t),
"::",
stringify!(remove_representation)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_representation_info) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_image_t),
"::",
stringify!(get_representation_info)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_as_bitmap) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_image_t),
"::",
stringify!(get_as_bitmap)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_as_png) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_image_t),
"::",
stringify!(get_as_png)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_as_jpeg) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_image_t),
"::",
stringify!(get_as_jpeg)
)
);
}
#[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"]
pub type cef_image_t = _cef_image_t;
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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_read_handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Read raw binary data.\n"]
pub read: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_read_handler_t,
ptr: *mut ::std::os::raw::c_void,
size: usize,
n: usize,
) -> usize,
>,
#[doc = "\n Seek to the specified offset position. |whence| may be any one of\n SEEK_CUR, SEEK_END or SEEK_SET. Return zero on success and non-zero on\n failure.\n"]
pub seek: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_read_handler_t,
offset: i64,
whence: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Return the current offset position.\n"]
pub tell: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_read_handler_t) -> i64>,
#[doc = "\n Return non-zero if at end of file.\n"]
pub eof: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_read_handler_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Return true (1) if this handler performs work like accessing the file\n system which may block. Used as a hint for determining the thread to\n access the handler from.\n"]
pub may_block: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_read_handler_t) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_read_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_read_handler_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_read_handler_t>(),
80usize,
concat!("Size of: ", stringify!(_cef_read_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_read_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_read_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_read_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).read) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_read_handler_t),
"::",
stringify!(read)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).seek) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_read_handler_t),
"::",
stringify!(seek)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tell) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_read_handler_t),
"::",
stringify!(tell)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).eof) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_read_handler_t),
"::",
stringify!(eof)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).may_block) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_read_handler_t),
"::",
stringify!(may_block)
)
);
}
#[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"]
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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_stream_reader_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Read raw binary data.\n"]
pub read: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_stream_reader_t,
ptr: *mut ::std::os::raw::c_void,
size: usize,
n: usize,
) -> usize,
>,
#[doc = "\n Seek to the specified offset position. |whence| may be any one of\n SEEK_CUR, SEEK_END or SEEK_SET. Returns zero on success and non-zero on\n failure.\n"]
pub seek: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_stream_reader_t,
offset: i64,
whence: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Return the current offset position.\n"]
pub tell: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_stream_reader_t) -> i64>,
#[doc = "\n Return non-zero if at end of file.\n"]
pub eof: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_stream_reader_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this reader performs work like accessing the file\n system which may block. Used as a hint for determining the thread to\n access the reader from.\n"]
pub may_block: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_stream_reader_t) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_stream_reader_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_stream_reader_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_stream_reader_t>(),
80usize,
concat!("Size of: ", stringify!(_cef_stream_reader_t))
);
assert_eq!(
::std::mem::align_of::<_cef_stream_reader_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_stream_reader_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_stream_reader_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).read) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_stream_reader_t),
"::",
stringify!(read)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).seek) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_stream_reader_t),
"::",
stringify!(seek)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tell) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_stream_reader_t),
"::",
stringify!(tell)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).eof) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_stream_reader_t),
"::",
stringify!(eof)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).may_block) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_stream_reader_t),
"::",
stringify!(may_block)
)
);
}
#[doc = "\n Structure used to read data from a stream. The functions of this structure\n may be called on any thread.\n"]
pub type cef_stream_reader_t = _cef_stream_reader_t;
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" {
#[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" {
#[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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_write_handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Write raw binary data.\n"]
pub write: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_write_handler_t,
ptr: *const ::std::os::raw::c_void,
size: usize,
n: usize,
) -> usize,
>,
#[doc = "\n Seek to the specified offset position. |whence| may be any one of\n SEEK_CUR, SEEK_END or SEEK_SET. Return zero on success and non-zero on\n failure.\n"]
pub seek: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_write_handler_t,
offset: i64,
whence: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Return the current offset position.\n"]
pub tell: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_write_handler_t) -> i64>,
#[doc = "\n Flush the stream.\n"]
pub flush: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_write_handler_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Return true (1) if this handler performs work like accessing the file\n system which may block. Used as a hint for determining the thread to\n access the handler from.\n"]
pub may_block: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_write_handler_t) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_write_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_write_handler_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_write_handler_t>(),
80usize,
concat!("Size of: ", stringify!(_cef_write_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_write_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_write_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_write_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).write) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_write_handler_t),
"::",
stringify!(write)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).seek) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_write_handler_t),
"::",
stringify!(seek)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tell) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_write_handler_t),
"::",
stringify!(tell)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flush) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_write_handler_t),
"::",
stringify!(flush)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).may_block) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_write_handler_t),
"::",
stringify!(may_block)
)
);
}
#[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"]
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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_stream_writer_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Write raw binary data.\n"]
pub write: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_stream_writer_t,
ptr: *const ::std::os::raw::c_void,
size: usize,
n: usize,
) -> usize,
>,
#[doc = "\n Seek to the specified offset position. |whence| may be any one of\n SEEK_CUR, SEEK_END or SEEK_SET. Returns zero on success and non-zero on\n failure.\n"]
pub seek: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_stream_writer_t,
offset: i64,
whence: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Return the current offset position.\n"]
pub tell: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_stream_writer_t) -> i64>,
#[doc = "\n Flush the stream.\n"]
pub flush: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_stream_writer_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this writer performs work like accessing the file\n system which may block. Used as a hint for determining the thread to\n access the writer from.\n"]
pub may_block: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_stream_writer_t) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_stream_writer_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_stream_writer_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_stream_writer_t>(),
80usize,
concat!("Size of: ", stringify!(_cef_stream_writer_t))
);
assert_eq!(
::std::mem::align_of::<_cef_stream_writer_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_stream_writer_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_stream_writer_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).write) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_stream_writer_t),
"::",
stringify!(write)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).seek) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_stream_writer_t),
"::",
stringify!(seek)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tell) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_stream_writer_t),
"::",
stringify!(tell)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flush) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_stream_writer_t),
"::",
stringify!(flush)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).may_block) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_stream_writer_t),
"::",
stringify!(may_block)
)
);
}
#[doc = "\n Structure used to write data to a stream. The functions of this structure\n may be called on any thread.\n"]
pub type cef_stream_writer_t = _cef_stream_writer_t;
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" {
#[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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_drag_data_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns a copy of the current object.\n"]
pub clone: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_drag_data_t) -> *mut _cef_drag_data_t,
>,
#[doc = "\n Returns true (1) if this object is read-only.\n"]
pub is_read_only: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_drag_data_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the drag data is a link.\n"]
pub is_link: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_drag_data_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the drag data is a text or html fragment.\n"]
pub is_fragment: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_drag_data_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the drag data is a file.\n"]
pub is_file: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_drag_data_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Return the link URL that is being dragged.\n"]
pub get_link_url: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_drag_data_t) -> cef_string_userfree_t,
>,
#[doc = "\n Return the title associated with the link being dragged.\n"]
pub get_link_title: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_drag_data_t) -> cef_string_userfree_t,
>,
#[doc = "\n Return the metadata, if any, associated with the link being dragged.\n"]
pub get_link_metadata: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_drag_data_t) -> cef_string_userfree_t,
>,
#[doc = "\n Return the plain text fragment that is being dragged.\n"]
pub get_fragment_text: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_drag_data_t) -> cef_string_userfree_t,
>,
#[doc = "\n Return the text/html fragment that is being dragged.\n"]
pub get_fragment_html: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_drag_data_t) -> cef_string_userfree_t,
>,
#[doc = "\n Return the base URL that the fragment came from. This value is used for\n resolving relative URLs and may be NULL.\n"]
pub get_fragment_base_url: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_drag_data_t) -> cef_string_userfree_t,
>,
#[doc = "\n Return the name of the file being dragged out of the browser window.\n"]
pub get_file_name: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_drag_data_t) -> cef_string_userfree_t,
>,
#[doc = "\n Write the contents of the file being dragged out of the web view into\n |writer|. Returns the number of bytes sent to |writer|. If |writer| is\n NULL this function will return the size of the file contents in bytes.\n Call get_file_name() to get a suggested name for the file.\n"]
pub get_file_contents: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_drag_data_t,
writer: *mut _cef_stream_writer_t,
) -> usize,
>,
#[doc = "\n Retrieve the list of file names that are being dragged into the browser\n window.\n"]
pub get_file_names: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_drag_data_t,
names: cef_string_list_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Set the link URL that is being dragged.\n"]
pub set_link_url: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_drag_data_t, url: *const cef_string_t),
>,
#[doc = "\n Set the title associated with the link being dragged.\n"]
pub set_link_title: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_drag_data_t, title: *const cef_string_t),
>,
#[doc = "\n Set the metadata associated with the link being dragged.\n"]
pub set_link_metadata: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_drag_data_t, data: *const cef_string_t),
>,
#[doc = "\n Set the plain text fragment that is being dragged.\n"]
pub set_fragment_text: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_drag_data_t, text: *const cef_string_t),
>,
#[doc = "\n Set the text/html fragment that is being dragged.\n"]
pub set_fragment_html: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_drag_data_t, html: *const cef_string_t),
>,
#[doc = "\n Set the base URL that the fragment came from.\n"]
pub set_fragment_base_url: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_drag_data_t, base_url: *const cef_string_t),
>,
#[doc = "\n Reset the file contents. You should do this before calling\n cef_browser_host_t::DragTargetDragEnter as the web view does not allow us\n to drag in this kind of data.\n"]
pub reset_file_contents:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_drag_data_t)>,
#[doc = "\n Add a file that is being dragged into the webview.\n"]
pub add_file: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_drag_data_t,
path: *const cef_string_t,
display_name: *const cef_string_t,
),
>,
#[doc = "\n Clear list of filenames.\n"]
pub clear_filenames: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_drag_data_t)>,
#[doc = "\n Get the image representation of drag data. May return NULL if no image\n representation is available.\n"]
pub get_image: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_drag_data_t) -> *mut _cef_image_t,
>,
#[doc = "\n Get the image hotspot (drag start location relative to image dimensions).\n"]
pub get_image_hotspot:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_drag_data_t) -> cef_point_t>,
#[doc = "\n Returns true (1) if an image representation of drag data is available.\n"]
pub has_image: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_drag_data_t) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_drag_data_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_drag_data_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_drag_data_t>(),
248usize,
concat!("Size of: ", stringify!(_cef_drag_data_t))
);
assert_eq!(
::std::mem::align_of::<_cef_drag_data_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_drag_data_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).clone) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(clone)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_read_only) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(is_read_only)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_link) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(is_link)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_fragment) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(is_fragment)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_file) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(is_file)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_link_url) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(get_link_url)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_link_title) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(get_link_title)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_link_metadata) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(get_link_metadata)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_fragment_text) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(get_fragment_text)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_fragment_html) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(get_fragment_html)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_fragment_base_url) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(get_fragment_base_url)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_file_name) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(get_file_name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_file_contents) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(get_file_contents)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_file_names) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(get_file_names)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_link_url) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(set_link_url)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_link_title) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(set_link_title)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_link_metadata) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(set_link_metadata)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_fragment_text) as usize - ptr as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(set_fragment_text)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_fragment_html) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(set_fragment_html)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_fragment_base_url) as usize - ptr as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(set_fragment_base_url)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reset_file_contents) as usize - ptr as usize },
200usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(reset_file_contents)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).add_file) as usize - ptr as usize },
208usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(add_file)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).clear_filenames) as usize - ptr as usize },
216usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(clear_filenames)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_image) as usize - ptr as usize },
224usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(get_image)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_image_hotspot) as usize - ptr as usize },
232usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(get_image_hotspot)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).has_image) as usize - ptr as usize },
240usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_data_t),
"::",
stringify!(has_image)
)
);
}
#[doc = "\n Structure used to represent drag data. The functions of this structure may\n be called on any thread.\n"]
pub type cef_drag_data_t = _cef_drag_data_t;
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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_domvisitor_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Method executed for visiting the DOM. The document object passed to this\n function represents a snapshot of the DOM at the time this function is\n executed. DOM objects are only valid for the scope of this function. Do\n not keep references to or attempt to access any DOM objects outside the\n scope of this function.\n"]
pub visit: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domvisitor_t, document: *mut _cef_domdocument_t),
>,
}
#[test]
fn bindgen_test_layout__cef_domvisitor_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_domvisitor_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_domvisitor_t>(),
48usize,
concat!("Size of: ", stringify!(_cef_domvisitor_t))
);
assert_eq!(
::std::mem::align_of::<_cef_domvisitor_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_domvisitor_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_domvisitor_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).visit) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_domvisitor_t),
"::",
stringify!(visit)
)
);
}
#[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"]
pub type cef_domvisitor_t = _cef_domvisitor_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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_domdocument_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns the document type.\n"]
pub get_type: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domdocument_t) -> cef_dom_document_type_t,
>,
#[doc = "\n Returns the root document node.\n"]
pub get_document: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domdocument_t) -> *mut _cef_domnode_t,
>,
#[doc = "\n Returns the BODY node of an HTML document.\n"]
pub get_body: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domdocument_t) -> *mut _cef_domnode_t,
>,
#[doc = "\n Returns the HEAD node of an HTML document.\n"]
pub get_head: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domdocument_t) -> *mut _cef_domnode_t,
>,
#[doc = "\n Returns the title of an HTML document.\n"]
pub get_title: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domdocument_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the document element with the specified ID value.\n"]
pub get_element_by_id: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_domdocument_t,
id: *const cef_string_t,
) -> *mut _cef_domnode_t,
>,
#[doc = "\n Returns the node that currently has keyboard focus.\n"]
pub get_focused_node: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domdocument_t) -> *mut _cef_domnode_t,
>,
#[doc = "\n Returns true (1) if a portion of the document is selected.\n"]
pub has_selection: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domdocument_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the selection offset within the start node.\n"]
pub get_selection_start_offset: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domdocument_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the selection offset within the end node.\n"]
pub get_selection_end_offset: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domdocument_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the contents of this selection as markup.\n"]
pub get_selection_as_markup: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domdocument_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the contents of this selection as text.\n"]
pub get_selection_as_text: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domdocument_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the base URL for the document.\n"]
pub get_base_url: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domdocument_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns a complete URL based on the document base URL and the specified\n partial URL.\n"]
pub get_complete_url: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_domdocument_t,
partialURL: *const cef_string_t,
) -> cef_string_userfree_t,
>,
}
#[test]
fn bindgen_test_layout__cef_domdocument_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_domdocument_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_domdocument_t>(),
152usize,
concat!("Size of: ", stringify!(_cef_domdocument_t))
);
assert_eq!(
::std::mem::align_of::<_cef_domdocument_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_domdocument_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_domdocument_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_type) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_domdocument_t),
"::",
stringify!(get_type)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_document) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_domdocument_t),
"::",
stringify!(get_document)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_body) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_domdocument_t),
"::",
stringify!(get_body)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_head) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_domdocument_t),
"::",
stringify!(get_head)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_title) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_domdocument_t),
"::",
stringify!(get_title)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_element_by_id) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_domdocument_t),
"::",
stringify!(get_element_by_id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_focused_node) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_domdocument_t),
"::",
stringify!(get_focused_node)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).has_selection) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_domdocument_t),
"::",
stringify!(has_selection)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_selection_start_offset) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_domdocument_t),
"::",
stringify!(get_selection_start_offset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_selection_end_offset) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_domdocument_t),
"::",
stringify!(get_selection_end_offset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_selection_as_markup) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_domdocument_t),
"::",
stringify!(get_selection_as_markup)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_selection_as_text) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_domdocument_t),
"::",
stringify!(get_selection_as_text)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_base_url) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_domdocument_t),
"::",
stringify!(get_base_url)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_complete_url) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(_cef_domdocument_t),
"::",
stringify!(get_complete_url)
)
);
}
#[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"]
pub type cef_domdocument_t = _cef_domdocument_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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_domnode_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns the type for this node.\n"]
pub get_type: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domnode_t) -> cef_dom_node_type_t,
>,
#[doc = "\n Returns true (1) if this is a text node.\n"]
pub is_text: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domnode_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this is an element node.\n"]
pub is_element: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domnode_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this is an editable node.\n"]
pub is_editable: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domnode_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this is a form control element node.\n"]
pub is_form_control_element: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domnode_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the type of this form control element node.\n"]
pub get_form_control_element_type: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domnode_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns true (1) if this object is pointing to the same handle as |that|\n object.\n"]
pub is_same: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_domnode_t,
that: *mut _cef_domnode_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the name of this node.\n"]
pub get_name: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domnode_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the value of this node.\n"]
pub get_value: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domnode_t) -> cef_string_userfree_t,
>,
#[doc = "\n Set the value of this node. Returns true (1) on success.\n"]
pub set_value: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_domnode_t,
value: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the contents of this node as markup.\n"]
pub get_as_markup: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domnode_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the document associated with this node.\n"]
pub get_document: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domnode_t) -> *mut _cef_domdocument_t,
>,
#[doc = "\n Returns the parent node.\n"]
pub get_parent: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domnode_t) -> *mut _cef_domnode_t,
>,
#[doc = "\n Returns the previous sibling node.\n"]
pub get_previous_sibling: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domnode_t) -> *mut _cef_domnode_t,
>,
#[doc = "\n Returns the next sibling node.\n"]
pub get_next_sibling: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domnode_t) -> *mut _cef_domnode_t,
>,
#[doc = "\n Returns true (1) if this node has child nodes.\n"]
pub has_children: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domnode_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Return the first child node.\n"]
pub get_first_child: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domnode_t) -> *mut _cef_domnode_t,
>,
#[doc = "\n Returns the last child node.\n"]
pub get_last_child: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domnode_t) -> *mut _cef_domnode_t,
>,
#[doc = "\n Returns the tag name of this element.\n"]
pub get_element_tag_name: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domnode_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns true (1) if this element has attributes.\n"]
pub has_element_attributes: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domnode_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this element has an attribute named |attrName|.\n"]
pub has_element_attribute: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_domnode_t,
attrName: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the element attribute named |attrName|.\n"]
pub get_element_attribute: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_domnode_t,
attrName: *const cef_string_t,
) -> cef_string_userfree_t,
>,
#[doc = "\n Returns a map of all element attributes.\n"]
pub get_element_attributes: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domnode_t, attrMap: cef_string_map_t),
>,
#[doc = "\n Set the value for the element attribute named |attrName|. Returns true (1)\n on success.\n"]
pub set_element_attribute: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_domnode_t,
attrName: *const cef_string_t,
value: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the inner text of the element.\n"]
pub get_element_inner_text: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_domnode_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the bounds of the element in device pixels. Use\n \"window.devicePixelRatio\" to convert to/from CSS pixels.\n"]
pub get_element_bounds:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_domnode_t) -> cef_rect_t>,
}
#[test]
fn bindgen_test_layout__cef_domnode_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_domnode_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_domnode_t>(),
248usize,
concat!("Size of: ", stringify!(_cef_domnode_t))
);
assert_eq!(
::std::mem::align_of::<_cef_domnode_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_domnode_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_type) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(get_type)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_text) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(is_text)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_element) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(is_element)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_editable) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(is_editable)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_form_control_element) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(is_form_control_element)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).get_form_control_element_type) as usize - ptr as usize
},
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(get_form_control_element_type)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_same) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(is_same)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_name) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(get_name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_value) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(get_value)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_value) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(set_value)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_as_markup) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(get_as_markup)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_document) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(get_document)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_parent) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(get_parent)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_previous_sibling) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(get_previous_sibling)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_next_sibling) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(get_next_sibling)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).has_children) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(has_children)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_first_child) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(get_first_child)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_last_child) as usize - ptr as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(get_last_child)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_element_tag_name) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(get_element_tag_name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).has_element_attributes) as usize - ptr as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(has_element_attributes)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).has_element_attribute) as usize - ptr as usize },
200usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(has_element_attribute)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_element_attribute) as usize - ptr as usize },
208usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(get_element_attribute)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_element_attributes) as usize - ptr as usize },
216usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(get_element_attributes)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_element_attribute) as usize - ptr as usize },
224usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(set_element_attribute)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_element_inner_text) as usize - ptr as usize },
232usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(get_element_inner_text)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_element_bounds) as usize - ptr as usize },
240usize,
concat!(
"Offset of field: ",
stringify!(_cef_domnode_t),
"::",
stringify!(get_element_bounds)
)
);
}
#[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"]
pub type cef_domnode_t = _cef_domnode_t;
#[doc = "\n Structure that wraps platform-dependent share memory region mapping.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_shared_memory_region_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns true (1) if the mapping is valid.\n"]
pub is_valid: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_shared_memory_region_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the size of the mapping in bytes. Returns 0 for invalid instances.\n"]
pub size: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_shared_memory_region_t) -> usize,
>,
#[doc = "\n Returns the pointer to the memory. Returns nullptr for invalid instances.\n The returned pointer is only valid for the life span of this object.\n"]
pub memory: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_shared_memory_region_t,
) -> *const ::std::os::raw::c_void,
>,
}
#[test]
fn bindgen_test_layout__cef_shared_memory_region_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_shared_memory_region_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_shared_memory_region_t>(),
64usize,
concat!("Size of: ", stringify!(_cef_shared_memory_region_t))
);
assert_eq!(
::std::mem::align_of::<_cef_shared_memory_region_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_shared_memory_region_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_shared_memory_region_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_valid) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_shared_memory_region_t),
"::",
stringify!(is_valid)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_shared_memory_region_t),
"::",
stringify!(size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).memory) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_shared_memory_region_t),
"::",
stringify!(memory)
)
);
}
#[doc = "\n Structure that wraps platform-dependent share memory region mapping.\n"]
pub type cef_shared_memory_region_t = _cef_shared_memory_region_t;
#[doc = "\n Structure representing a message. Can be used on any process and thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_process_message_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns true (1) if this object is valid. Do not call any other functions\n if this function returns false (0).\n"]
pub is_valid: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_process_message_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the values of this object are read-only. Some APIs may\n expose read-only objects.\n"]
pub is_read_only: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_process_message_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns a writable copy of this object. Returns nullptr when message\n contains a shared memory region.\n"]
pub copy: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_process_message_t) -> *mut _cef_process_message_t,
>,
#[doc = "\n Returns the message name.\n"]
pub get_name: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_process_message_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the list of arguments. Returns nullptr when message contains a\n shared memory region.\n"]
pub get_argument_list: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_process_message_t) -> *mut _cef_list_value_t,
>,
#[doc = "\n Returns the shared memory region. Returns nullptr when message contains an\n argument list.\n"]
pub get_shared_memory_region: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_process_message_t,
) -> *mut _cef_shared_memory_region_t,
>,
}
#[test]
fn bindgen_test_layout__cef_process_message_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_process_message_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_process_message_t>(),
88usize,
concat!("Size of: ", stringify!(_cef_process_message_t))
);
assert_eq!(
::std::mem::align_of::<_cef_process_message_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_process_message_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_process_message_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_valid) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_process_message_t),
"::",
stringify!(is_valid)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_read_only) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_process_message_t),
"::",
stringify!(is_read_only)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).copy) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_process_message_t),
"::",
stringify!(copy)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_name) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_process_message_t),
"::",
stringify!(get_name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_argument_list) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_process_message_t),
"::",
stringify!(get_argument_list)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_shared_memory_region) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_process_message_t),
"::",
stringify!(get_shared_memory_region)
)
);
}
#[doc = "\n Structure representing a message. Can be used on any process and thread.\n"]
pub type cef_process_message_t = _cef_process_message_t;
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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_request_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns true (1) if this object is read-only.\n"]
pub is_read_only: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_request_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Get the fully qualified URL.\n"]
pub get_url: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_request_t) -> cef_string_userfree_t,
>,
#[doc = "\n Set the fully qualified URL.\n"]
pub set_url: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_request_t, url: *const cef_string_t),
>,
#[doc = "\n Get the request function type. The value will default to POST if post data\n is provided and GET otherwise.\n"]
pub get_method: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_request_t) -> cef_string_userfree_t,
>,
#[doc = "\n Set the request function type.\n"]
pub set_method: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_request_t, method: *const cef_string_t),
>,
#[doc = "\n Set the referrer URL and policy. If non-NULL the referrer URL must be\n fully qualified with an HTTP or HTTPS scheme component. Any username,\n password or ref component will be removed.\n"]
pub set_referrer: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_t,
referrer_url: *const cef_string_t,
policy: cef_referrer_policy_t,
),
>,
#[doc = "\n Get the referrer URL.\n"]
pub get_referrer_url: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_request_t) -> cef_string_userfree_t,
>,
#[doc = "\n Get the referrer policy.\n"]
pub get_referrer_policy: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_request_t) -> cef_referrer_policy_t,
>,
#[doc = "\n Get the post data.\n"]
pub get_post_data: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_request_t) -> *mut _cef_post_data_t,
>,
#[doc = "\n Set the post data.\n"]
pub set_post_data: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_request_t, postData: *mut _cef_post_data_t),
>,
#[doc = "\n Get the header values. Will not include the Referer value if any.\n"]
pub get_header_map: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_request_t, headerMap: cef_string_multimap_t),
>,
#[doc = "\n Set the header values. If a Referer value exists in the header map it will\n be removed and ignored.\n"]
pub set_header_map: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_request_t, headerMap: cef_string_multimap_t),
>,
#[doc = "\n Returns the first header value for |name| or an NULL string if not found.\n Will not return the Referer value if any. Use GetHeaderMap instead if\n |name| might have multiple values.\n"]
pub get_header_by_name: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_t,
name: *const cef_string_t,
) -> cef_string_userfree_t,
>,
#[doc = "\n Set the header |name| to |value|. If |overwrite| is true (1) any existing\n values will be replaced with the new value. If |overwrite| is false (0)\n any existing values will not be overwritten. The Referer value cannot be\n set using this function.\n"]
pub set_header_by_name: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_t,
name: *const cef_string_t,
value: *const cef_string_t,
overwrite: ::std::os::raw::c_int,
),
>,
#[doc = "\n Set all values at one time.\n"]
pub set: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_t,
url: *const cef_string_t,
method: *const cef_string_t,
postData: *mut _cef_post_data_t,
headerMap: cef_string_multimap_t,
),
>,
#[doc = "\n Get the flags used in combination with cef_urlrequest_t. See\n cef_urlrequest_flags_t for supported values.\n"]
pub get_flags: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_request_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Set the flags used in combination with cef_urlrequest_t. See\n cef_urlrequest_flags_t for supported values.\n"]
pub set_flags: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_request_t, flags: ::std::os::raw::c_int),
>,
#[doc = "\n Get the URL to the first party for cookies used in combination with\n cef_urlrequest_t.\n"]
pub get_first_party_for_cookies: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_request_t) -> cef_string_userfree_t,
>,
#[doc = "\n Set the URL to the first party for cookies used in combination with\n cef_urlrequest_t.\n"]
pub set_first_party_for_cookies: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_request_t, url: *const cef_string_t),
>,
#[doc = "\n Get the resource type for this request. Only available in the browser\n process.\n"]
pub get_resource_type: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_request_t) -> cef_resource_type_t,
>,
#[doc = "\n Get the transition type for this request. Only available in the browser\n process and only applies to requests that represent a main frame or sub-\n frame navigation.\n"]
pub get_transition_type: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_request_t) -> cef_transition_type_t,
>,
#[doc = "\n Returns the globally unique identifier for this request or 0 if not\n specified. Can be used by cef_resource_request_handler_t implementations\n in the browser process to track a single request across multiple\n callbacks.\n"]
pub get_identifier:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_request_t) -> u64>,
}
#[test]
fn bindgen_test_layout__cef_request_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_request_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_request_t>(),
216usize,
concat!("Size of: ", stringify!(_cef_request_t))
);
assert_eq!(
::std::mem::align_of::<_cef_request_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_request_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_read_only) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_t),
"::",
stringify!(is_read_only)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_url) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_t),
"::",
stringify!(get_url)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_url) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_t),
"::",
stringify!(set_url)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_method) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_t),
"::",
stringify!(get_method)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_method) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_t),
"::",
stringify!(set_method)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_referrer) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_t),
"::",
stringify!(set_referrer)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_referrer_url) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_t),
"::",
stringify!(get_referrer_url)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_referrer_policy) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_t),
"::",
stringify!(get_referrer_policy)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_post_data) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_t),
"::",
stringify!(get_post_data)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_post_data) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_t),
"::",
stringify!(set_post_data)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_header_map) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_t),
"::",
stringify!(get_header_map)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_header_map) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_t),
"::",
stringify!(set_header_map)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_header_by_name) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_t),
"::",
stringify!(get_header_by_name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_header_by_name) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_t),
"::",
stringify!(set_header_by_name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_t),
"::",
stringify!(set)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_flags) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_t),
"::",
stringify!(get_flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_flags) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_t),
"::",
stringify!(set_flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_first_party_for_cookies) as usize - ptr as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_t),
"::",
stringify!(get_first_party_for_cookies)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_first_party_for_cookies) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_t),
"::",
stringify!(set_first_party_for_cookies)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_resource_type) as usize - ptr as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_t),
"::",
stringify!(get_resource_type)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_transition_type) as usize - ptr as usize },
200usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_t),
"::",
stringify!(get_transition_type)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_identifier) as usize - ptr as usize },
208usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_t),
"::",
stringify!(get_identifier)
)
);
}
#[doc = "\n Structure used to represent a web request. The functions of this structure\n may be called on any thread.\n"]
pub type cef_request_t = _cef_request_t;
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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_post_data_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns true (1) if this object is read-only.\n"]
pub is_read_only: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_post_data_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the underlying POST data includes elements that are\n not represented by this cef_post_data_t object (for example, multi-part\n file upload data). Modifying cef_post_data_t objects with excluded\n elements may result in the request failing.\n"]
pub has_excluded_elements: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_post_data_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the number of existing post data elements.\n"]
pub get_element_count:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_post_data_t) -> usize>,
#[doc = "\n Retrieve the post data elements.\n"]
pub get_elements: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_post_data_t,
elementsCount: *mut usize,
elements: *mut *mut _cef_post_data_element_t,
),
>,
#[doc = "\n Remove the specified post data element. Returns true (1) if the removal\n succeeds.\n"]
pub remove_element: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_post_data_t,
element: *mut _cef_post_data_element_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Add the specified post data element. Returns true (1) if the add\n succeeds.\n"]
pub add_element: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_post_data_t,
element: *mut _cef_post_data_element_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Remove all existing post data elements.\n"]
pub remove_elements: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_post_data_t)>,
}
#[test]
fn bindgen_test_layout__cef_post_data_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_post_data_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_post_data_t>(),
96usize,
concat!("Size of: ", stringify!(_cef_post_data_t))
);
assert_eq!(
::std::mem::align_of::<_cef_post_data_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_post_data_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_post_data_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_read_only) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_post_data_t),
"::",
stringify!(is_read_only)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).has_excluded_elements) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_post_data_t),
"::",
stringify!(has_excluded_elements)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_element_count) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_post_data_t),
"::",
stringify!(get_element_count)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_elements) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_post_data_t),
"::",
stringify!(get_elements)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).remove_element) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_post_data_t),
"::",
stringify!(remove_element)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).add_element) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_post_data_t),
"::",
stringify!(add_element)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).remove_elements) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_post_data_t),
"::",
stringify!(remove_elements)
)
);
}
#[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"]
pub type cef_post_data_t = _cef_post_data_t;
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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_post_data_element_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns true (1) if this object is read-only.\n"]
pub is_read_only: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_post_data_element_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Remove all contents from the post data element.\n"]
pub set_to_empty:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_post_data_element_t)>,
#[doc = "\n The post data element will represent a file.\n"]
pub set_to_file: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_post_data_element_t, fileName: *const cef_string_t),
>,
#[doc = "\n The post data element will represent bytes. The bytes passed in will be\n copied.\n"]
pub set_to_bytes: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_post_data_element_t,
size: usize,
bytes: *const ::std::os::raw::c_void,
),
>,
#[doc = "\n Return the type of this post data element.\n"]
pub get_type: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_post_data_element_t) -> cef_postdataelement_type_t,
>,
#[doc = "\n Return the file name.\n"]
pub get_file: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_post_data_element_t) -> cef_string_userfree_t,
>,
#[doc = "\n Return the number of bytes.\n"]
pub get_bytes_count:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_post_data_element_t) -> usize>,
#[doc = "\n Read up to |size| bytes into |bytes| and return the number of bytes\n actually read.\n"]
pub get_bytes: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_post_data_element_t,
size: usize,
bytes: *mut ::std::os::raw::c_void,
) -> usize,
>,
}
#[test]
fn bindgen_test_layout__cef_post_data_element_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_post_data_element_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_post_data_element_t>(),
104usize,
concat!("Size of: ", stringify!(_cef_post_data_element_t))
);
assert_eq!(
::std::mem::align_of::<_cef_post_data_element_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_post_data_element_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_post_data_element_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_read_only) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_post_data_element_t),
"::",
stringify!(is_read_only)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_to_empty) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_post_data_element_t),
"::",
stringify!(set_to_empty)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_to_file) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_post_data_element_t),
"::",
stringify!(set_to_file)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_to_bytes) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_post_data_element_t),
"::",
stringify!(set_to_bytes)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_type) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_post_data_element_t),
"::",
stringify!(get_type)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_file) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_post_data_element_t),
"::",
stringify!(get_file)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_bytes_count) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_post_data_element_t),
"::",
stringify!(get_bytes_count)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_bytes) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_post_data_element_t),
"::",
stringify!(get_bytes)
)
);
}
#[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"]
pub type cef_post_data_element_t = _cef_post_data_element_t;
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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_string_visitor_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Method that will be executed.\n"]
pub visit: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_string_visitor_t, string: *const cef_string_t),
>,
}
#[test]
fn bindgen_test_layout__cef_string_visitor_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_string_visitor_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_string_visitor_t>(),
48usize,
concat!("Size of: ", stringify!(_cef_string_visitor_t))
);
assert_eq!(
::std::mem::align_of::<_cef_string_visitor_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_string_visitor_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_string_visitor_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).visit) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_string_visitor_t),
"::",
stringify!(visit)
)
);
}
#[doc = "\n Implement this structure to receive string values asynchronously.\n"]
pub type cef_string_visitor_t = _cef_string_visitor_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_urlrequest_client_t {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_urlrequest_t {
_unused: [u8; 0],
}
#[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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_frame_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n True if this object is currently attached to a valid frame.\n"]
pub is_valid: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_frame_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Execute undo in this frame.\n"]
pub undo: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_frame_t)>,
#[doc = "\n Execute redo in this frame.\n"]
pub redo: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_frame_t)>,
#[doc = "\n Execute cut in this frame.\n"]
pub cut: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_frame_t)>,
#[doc = "\n Execute copy in this frame.\n"]
pub copy: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_frame_t)>,
#[doc = "\n Execute paste in this frame.\n"]
pub paste: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_frame_t)>,
#[doc = "\n Execute delete in this frame.\n"]
pub del: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_frame_t)>,
#[doc = "\n Execute select all in this frame.\n"]
pub select_all: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_frame_t)>,
#[doc = "\n Save this frame's HTML source to a temporary file and open it in the\n default text viewing application. This function can only be called from\n the browser process.\n"]
pub view_source: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_frame_t)>,
#[doc = "\n Retrieve this frame's HTML source as a string sent to the specified\n visitor.\n"]
pub get_source: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_frame_t, visitor: *mut _cef_string_visitor_t),
>,
#[doc = "\n Retrieve this frame's display text as a string sent to the specified\n visitor.\n"]
pub get_text: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_frame_t, visitor: *mut _cef_string_visitor_t),
>,
#[doc = "\n Load the request represented by the |request| object.\n\n WARNING: This function will fail with \"bad IPC message\" reason\n INVALID_INITIATOR_ORIGIN (213) unless you first navigate to the request\n origin using some other mechanism (LoadURL, link click, etc).\n"]
pub load_request: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_frame_t, request: *mut _cef_request_t),
>,
#[doc = "\n Load the specified |url|.\n"]
pub load_url: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_frame_t, url: *const cef_string_t),
>,
#[doc = "\n Execute a string of JavaScript code in this frame. The |script_url|\n parameter is the URL where the script in question can be found, if any.\n The renderer may request this URL to show the developer the source of the\n error. The |start_line| parameter is the base line number to use for\n error reporting.\n"]
pub execute_java_script: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_frame_t,
code: *const cef_string_t,
script_url: *const cef_string_t,
start_line: ::std::os::raw::c_int,
),
>,
#[doc = "\n Returns true (1) if this is the main (top-level) frame.\n"]
pub is_main: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_frame_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this is the focused frame.\n"]
pub is_focused: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_frame_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the name for this frame. If the frame has an assigned name (for\n example, set via the iframe \"name\" attribute) then that value will be\n returned. Otherwise a unique name will be constructed based on the frame\n parent hierarchy. The main (top-level) frame will always have an NULL name\n value.\n"]
pub get_name: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_frame_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the globally unique identifier for this frame or < 0 if the\n underlying frame does not yet exist.\n"]
pub get_identifier:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_frame_t) -> i64>,
#[doc = "\n Returns the parent of this frame or NULL if this is the main (top-level)\n frame.\n"]
pub get_parent:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_frame_t) -> *mut _cef_frame_t>,
#[doc = "\n Returns the URL currently loaded in this frame.\n"]
pub get_url: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_frame_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the browser that this frame belongs to.\n"]
pub get_browser: ::std::option::Option<
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,
>,
#[doc = "\n Visit the DOM document. This function can only be called from the render\n process.\n"]
pub visit_dom: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_frame_t, visitor: *mut _cef_domvisitor_t),
>,
#[doc = "\n Create a new URL request that will be treated as originating from this\n frame and the associated browser. Use cef_urlrequest_t::Create instead if\n you do not want the request to have this association, in which case it may\n be handled differently (see documentation on that function). A request\n created with this function may only originate from the browser process,\n and will behave as follows:\n - It may be intercepted by the client via CefResourceRequestHandler or\n CefSchemeHandlerFactory.\n - POST data may only contain a single element of type PDE_TYPE_FILE or\n PDE_TYPE_BYTES.\n\n The |request| object will be marked as read-only after calling this\n function.\n"]
pub create_urlrequest: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_frame_t,
request: *mut _cef_request_t,
client: *mut _cef_urlrequest_client_t,
) -> *mut _cef_urlrequest_t,
>,
#[doc = "\n Send a message to the specified |target_process|. Ownership of the message\n contents will be transferred and the |message| reference will be\n invalidated. Message delivery is not guaranteed in all cases (for example,\n if the browser is closing, navigating, or if the target process crashes).\n Send an ACK message back from the target process if confirmation is\n required.\n"]
pub send_process_message: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_frame_t,
target_process: cef_process_id_t,
message: *mut _cef_process_message_t,
),
>,
}
#[test]
fn bindgen_test_layout__cef_frame_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_frame_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_frame_t>(),
240usize,
concat!("Size of: ", stringify!(_cef_frame_t))
);
assert_eq!(
::std::mem::align_of::<_cef_frame_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_frame_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_valid) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_t),
"::",
stringify!(is_valid)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).undo) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_t),
"::",
stringify!(undo)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).redo) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_t),
"::",
stringify!(redo)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cut) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_t),
"::",
stringify!(cut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).copy) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_t),
"::",
stringify!(copy)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).paste) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_t),
"::",
stringify!(paste)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).del) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_t),
"::",
stringify!(del)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).select_all) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_t),
"::",
stringify!(select_all)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).view_source) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_t),
"::",
stringify!(view_source)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_source) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_t),
"::",
stringify!(get_source)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_t),
"::",
stringify!(get_text)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).load_request) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_t),
"::",
stringify!(load_request)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).load_url) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_t),
"::",
stringify!(load_url)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).execute_java_script) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_t),
"::",
stringify!(execute_java_script)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_main) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_t),
"::",
stringify!(is_main)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_focused) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_t),
"::",
stringify!(is_focused)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_name) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_t),
"::",
stringify!(get_name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_identifier) as usize - ptr as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_t),
"::",
stringify!(get_identifier)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_parent) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_t),
"::",
stringify!(get_parent)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_url) as usize - ptr as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_t),
"::",
stringify!(get_url)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_browser) as usize - ptr as usize },
200usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_t),
"::",
stringify!(get_browser)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_v8context) as usize - ptr as usize },
208usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_t),
"::",
stringify!(get_v8context)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).visit_dom) as usize - ptr as usize },
216usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_t),
"::",
stringify!(visit_dom)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).create_urlrequest) as usize - ptr as usize },
224usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_t),
"::",
stringify!(create_urlrequest)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).send_process_message) as usize - ptr as usize },
232usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_t),
"::",
stringify!(send_process_message)
)
);
}
#[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"]
pub type cef_frame_t = _cef_frame_t;
#[doc = "\n Structure representing the issuer or subject field of an X.509 certificate.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_x509cert_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"]
pub get_display_name: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_x509cert_principal_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the common name.\n"]
pub get_common_name: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_x509cert_principal_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the locality name.\n"]
pub get_locality_name: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_x509cert_principal_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the state or province name.\n"]
pub get_state_or_province_name: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_x509cert_principal_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the country name.\n"]
pub get_country_name: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_x509cert_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),
>,
#[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),
>,
}
#[test]
fn bindgen_test_layout__cef_x509cert_principal_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_x509cert_principal_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_x509cert_principal_t>(),
96usize,
concat!("Size of: ", stringify!(_cef_x509cert_principal_t))
);
assert_eq!(
::std::mem::align_of::<_cef_x509cert_principal_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_x509cert_principal_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_x509cert_principal_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_display_name) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_x509cert_principal_t),
"::",
stringify!(get_display_name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_common_name) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_x509cert_principal_t),
"::",
stringify!(get_common_name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_locality_name) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_x509cert_principal_t),
"::",
stringify!(get_locality_name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_state_or_province_name) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_x509cert_principal_t),
"::",
stringify!(get_state_or_province_name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_country_name) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_x509cert_principal_t),
"::",
stringify!(get_country_name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_organization_names) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_x509cert_principal_t),
"::",
stringify!(get_organization_names)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_organization_unit_names) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_x509cert_principal_t),
"::",
stringify!(get_organization_unit_names)
)
);
}
#[doc = "\n Structure representing the issuer or subject field of an X.509 certificate.\n"]
pub type cef_x509cert_principal_t = _cef_x509cert_principal_t;
#[doc = "\n Structure representing a X.509 certificate.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_x509certificate_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,
>,
#[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,
>,
#[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,
>,
#[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,
>,
#[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,
>,
#[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,
>,
#[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,
>,
#[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<unsafe extern "C" fn(self_: *mut _cef_x509certificate_t) -> 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,
chainCount: *mut usize,
chain: *mut *mut _cef_binary_value_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,
chainCount: *mut usize,
chain: *mut *mut _cef_binary_value_t,
),
>,
}
#[test]
fn bindgen_test_layout__cef_x509certificate_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_x509certificate_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_x509certificate_t>(),
120usize,
concat!("Size of: ", stringify!(_cef_x509certificate_t))
);
assert_eq!(
::std::mem::align_of::<_cef_x509certificate_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_x509certificate_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_x509certificate_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_subject) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_x509certificate_t),
"::",
stringify!(get_subject)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_issuer) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_x509certificate_t),
"::",
stringify!(get_issuer)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_serial_number) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_x509certificate_t),
"::",
stringify!(get_serial_number)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_valid_start) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_x509certificate_t),
"::",
stringify!(get_valid_start)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_valid_expiry) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_x509certificate_t),
"::",
stringify!(get_valid_expiry)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_derencoded) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_x509certificate_t),
"::",
stringify!(get_derencoded)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_pemencoded) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_x509certificate_t),
"::",
stringify!(get_pemencoded)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_issuer_chain_size) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_x509certificate_t),
"::",
stringify!(get_issuer_chain_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_derencoded_issuer_chain) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_x509certificate_t),
"::",
stringify!(get_derencoded_issuer_chain)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_pemencoded_issuer_chain) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_x509certificate_t),
"::",
stringify!(get_pemencoded_issuer_chain)
)
);
}
#[doc = "\n Structure representing a X.509 certificate.\n"]
pub type cef_x509certificate_t = _cef_x509certificate_t;
#[doc = "\n Structure representing the SSL information for a navigation entry.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_sslstatus_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns true (1) if the status is related to a secure SSL/TLS connection.\n"]
pub is_secure_connection: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_sslstatus_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns a bitmask containing any and all problems verifying the server\n certificate.\n"]
pub get_cert_status: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_sslstatus_t) -> cef_cert_status_t,
>,
#[doc = "\n Returns the SSL version used for the SSL connection.\n"]
pub get_sslversion: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_sslstatus_t) -> cef_ssl_version_t,
>,
#[doc = "\n Returns a bitmask containing the page security content status.\n"]
pub get_content_status: ::std::option::Option<
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,
>,
}
#[test]
fn bindgen_test_layout__cef_sslstatus_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_sslstatus_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_sslstatus_t>(),
80usize,
concat!("Size of: ", stringify!(_cef_sslstatus_t))
);
assert_eq!(
::std::mem::align_of::<_cef_sslstatus_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_sslstatus_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_sslstatus_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_secure_connection) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_sslstatus_t),
"::",
stringify!(is_secure_connection)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_cert_status) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_sslstatus_t),
"::",
stringify!(get_cert_status)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_sslversion) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_sslstatus_t),
"::",
stringify!(get_sslversion)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_content_status) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_sslstatus_t),
"::",
stringify!(get_content_status)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_x509certificate) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_sslstatus_t),
"::",
stringify!(get_x509certificate)
)
);
}
#[doc = "\n Structure representing the SSL information for a navigation entry.\n"]
pub type cef_sslstatus_t = _cef_sslstatus_t;
#[doc = "\n Structure used to represent an entry in navigation history.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_navigation_entry_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns true (1) if this object is valid. Do not call any other functions\n if this function returns false (0).\n"]
pub is_valid: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_navigation_entry_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the actual URL of the page. For some pages this may be data: URL\n or similar. Use get_display_url() to return a display-friendly version.\n"]
pub get_url: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_navigation_entry_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns a display-friendly version of the URL.\n"]
pub get_display_url: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_navigation_entry_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the original URL that was entered by the user before any\n redirects.\n"]
pub get_original_url: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_navigation_entry_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the title set by the page. This value may be NULL.\n"]
pub get_title: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_navigation_entry_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the transition type which indicates what the user did to move to\n this page from the previous page.\n"]
pub get_transition_type: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_navigation_entry_t) -> cef_transition_type_t,
>,
#[doc = "\n Returns true (1) if this navigation includes post data.\n"]
pub has_post_data: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_navigation_entry_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the time for the last known successful navigation completion. A\n navigation may be completed more than once if the page is reloaded. May be\n 0 if the navigation has not yet completed.\n"]
pub get_completion_time: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_navigation_entry_t) -> cef_basetime_t,
>,
#[doc = "\n Returns the HTTP status code for the last known successful navigation\n response. May be 0 if the response has not yet been received or if the\n navigation has not yet completed.\n"]
pub get_http_status_code: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_navigation_entry_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the SSL information for this navigation entry.\n"]
pub get_sslstatus: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_navigation_entry_t) -> *mut _cef_sslstatus_t,
>,
}
#[test]
fn bindgen_test_layout__cef_navigation_entry_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_navigation_entry_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_navigation_entry_t>(),
120usize,
concat!("Size of: ", stringify!(_cef_navigation_entry_t))
);
assert_eq!(
::std::mem::align_of::<_cef_navigation_entry_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_navigation_entry_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_navigation_entry_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_valid) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_navigation_entry_t),
"::",
stringify!(is_valid)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_url) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_navigation_entry_t),
"::",
stringify!(get_url)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_display_url) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_navigation_entry_t),
"::",
stringify!(get_display_url)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_original_url) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_navigation_entry_t),
"::",
stringify!(get_original_url)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_title) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_navigation_entry_t),
"::",
stringify!(get_title)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_transition_type) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_navigation_entry_t),
"::",
stringify!(get_transition_type)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).has_post_data) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_navigation_entry_t),
"::",
stringify!(has_post_data)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_completion_time) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_navigation_entry_t),
"::",
stringify!(get_completion_time)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_http_status_code) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_navigation_entry_t),
"::",
stringify!(get_http_status_code)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_sslstatus) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_navigation_entry_t),
"::",
stringify!(get_sslstatus)
)
);
}
#[doc = "\n Structure used to represent an entry in navigation history.\n"]
pub type cef_navigation_entry_t = _cef_navigation_entry_t;
#[doc = "\n Generic callback structure used for managing the lifespan of a registration.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_registration_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
}
#[test]
fn bindgen_test_layout__cef_registration_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_registration_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_registration_t>(),
40usize,
concat!("Size of: ", stringify!(_cef_registration_t))
);
assert_eq!(
::std::mem::align_of::<_cef_registration_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_registration_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_registration_t),
"::",
stringify!(base)
)
);
}
#[doc = "\n Generic callback structure used for managing the lifespan of a registration.\n"]
pub type cef_registration_t = _cef_registration_t;
#[doc = "\n Generic callback structure used for asynchronous continuation.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_callback_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Continue processing.\n"]
pub cont: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_callback_t)>,
#[doc = "\n Cancel processing.\n"]
pub cancel: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_callback_t)>,
}
#[test]
fn bindgen_test_layout__cef_callback_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_callback_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_callback_t>(),
56usize,
concat!("Size of: ", stringify!(_cef_callback_t))
);
assert_eq!(
::std::mem::align_of::<_cef_callback_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_callback_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_callback_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cont) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_callback_t),
"::",
stringify!(cont)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cancel) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_callback_t),
"::",
stringify!(cancel)
)
);
}
#[doc = "\n Generic callback structure used for asynchronous continuation.\n"]
pub type cef_callback_t = _cef_callback_t;
#[doc = "\n Generic callback structure used for asynchronous completion.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_completion_callback_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Method that will be called once the task is complete.\n"]
pub on_complete:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_completion_callback_t)>,
}
#[test]
fn bindgen_test_layout__cef_completion_callback_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_completion_callback_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_completion_callback_t>(),
48usize,
concat!("Size of: ", stringify!(_cef_completion_callback_t))
);
assert_eq!(
::std::mem::align_of::<_cef_completion_callback_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_completion_callback_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_completion_callback_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_complete) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_completion_callback_t),
"::",
stringify!(on_complete)
)
);
}
#[doc = "\n Generic callback structure used for asynchronous completion.\n"]
pub type cef_completion_callback_t = _cef_completion_callback_t;
#[doc = "\n Structure used for managing cookies. The functions of this structure may be\n called on any thread unless otherwise indicated.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_cookie_manager_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Visit all cookies on the UI thread. The returned cookies are ordered by\n longest path, then by earliest creation date. Returns false (0) if cookies\n cannot be accessed.\n"]
pub visit_all_cookies: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_cookie_manager_t,
visitor: *mut _cef_cookie_visitor_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Visit a subset of cookies on the UI thread. The results are filtered by\n the given url scheme, host, domain and path. If |includeHttpOnly| is true\n (1) HTTP-only cookies will also be included in the results. The returned\n cookies are ordered by longest path, then by earliest creation date.\n Returns false (0) if cookies cannot be accessed.\n"]
pub visit_url_cookies: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_cookie_manager_t,
url: *const cef_string_t,
includeHttpOnly: ::std::os::raw::c_int,
visitor: *mut _cef_cookie_visitor_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets a cookie given a valid URL and explicit user-provided cookie\n attributes. This function expects each attribute to be well-formed. It\n will check for disallowed characters (e.g. the ';' character is disallowed\n within the cookie value attribute) and fail without setting the cookie if\n such characters are found. If |callback| is non-NULL it will be executed\n asnychronously on the UI thread after the cookie has been set. Returns\n false (0) if an invalid URL is specified or if cookies cannot be accessed.\n"]
pub set_cookie: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_cookie_manager_t,
url: *const cef_string_t,
cookie: *const _cef_cookie_t,
callback: *mut _cef_set_cookie_callback_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Delete all cookies that match the specified parameters. If both |url| and\n |cookie_name| values are specified all host and domain cookies matching\n both will be deleted. If only |url| is specified all host cookies (but not\n domain cookies) irrespective of path will be deleted. If |url| is NULL all\n cookies for all hosts and domains will be deleted. If |callback| is non-\n NULL it will be executed asnychronously on the UI thread after the cookies\n have been deleted. Returns false (0) if a non-NULL invalid URL is\n specified or if cookies cannot be accessed. Cookies can alternately be\n deleted using the Visit*Cookies() functions.\n"]
pub delete_cookies: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_cookie_manager_t,
url: *const cef_string_t,
cookie_name: *const cef_string_t,
callback: *mut _cef_delete_cookies_callback_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Flush the backing store (if any) to disk. If |callback| is non-NULL it\n will be executed asnychronously on the UI thread after the flush is\n complete. Returns false (0) if cookies cannot be accessed.\n"]
pub flush_store: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_cookie_manager_t,
callback: *mut _cef_completion_callback_t,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_cookie_manager_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_cookie_manager_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_cookie_manager_t>(),
80usize,
concat!("Size of: ", stringify!(_cef_cookie_manager_t))
);
assert_eq!(
::std::mem::align_of::<_cef_cookie_manager_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_cookie_manager_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_cookie_manager_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).visit_all_cookies) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_cookie_manager_t),
"::",
stringify!(visit_all_cookies)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).visit_url_cookies) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_cookie_manager_t),
"::",
stringify!(visit_url_cookies)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_cookie) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_cookie_manager_t),
"::",
stringify!(set_cookie)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).delete_cookies) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_cookie_manager_t),
"::",
stringify!(delete_cookies)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flush_store) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_cookie_manager_t),
"::",
stringify!(flush_store)
)
);
}
#[doc = "\n Structure used for managing cookies. The functions of this structure may be\n called on any thread unless otherwise indicated.\n"]
pub type cef_cookie_manager_t = _cef_cookie_manager_t;
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()->Get\n DefaultCookieManager().\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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_cookie_visitor_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Method that will be called once for each cookie. |count| is the 0-based\n index for the current cookie. |total| is the total number of cookies. Set\n |deleteCookie| to true (1) to delete the cookie currently being visited.\n Return false (0) to stop visiting cookies. This function may never be\n called if no cookies are found.\n"]
pub visit: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_cookie_visitor_t,
cookie: *const _cef_cookie_t,
count: ::std::os::raw::c_int,
total: ::std::os::raw::c_int,
deleteCookie: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_cookie_visitor_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_cookie_visitor_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_cookie_visitor_t>(),
48usize,
concat!("Size of: ", stringify!(_cef_cookie_visitor_t))
);
assert_eq!(
::std::mem::align_of::<_cef_cookie_visitor_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_cookie_visitor_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_cookie_visitor_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).visit) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_cookie_visitor_t),
"::",
stringify!(visit)
)
);
}
#[doc = "\n Structure to implement for visiting cookie values. The functions of this\n structure will always be called on the UI thread.\n"]
pub type cef_cookie_visitor_t = _cef_cookie_visitor_t;
#[doc = "\n Structure to implement to be notified of asynchronous completion via\n cef_cookie_manager_t::set_cookie().\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_set_cookie_callback_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Method that will be called upon completion. |success| will be true (1) if\n the cookie was set successfully.\n"]
pub on_complete: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_set_cookie_callback_t,
success: ::std::os::raw::c_int,
),
>,
}
#[test]
fn bindgen_test_layout__cef_set_cookie_callback_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_set_cookie_callback_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_set_cookie_callback_t>(),
48usize,
concat!("Size of: ", stringify!(_cef_set_cookie_callback_t))
);
assert_eq!(
::std::mem::align_of::<_cef_set_cookie_callback_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_set_cookie_callback_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_set_cookie_callback_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_complete) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_set_cookie_callback_t),
"::",
stringify!(on_complete)
)
);
}
#[doc = "\n Structure to implement to be notified of asynchronous completion via\n cef_cookie_manager_t::set_cookie().\n"]
pub type cef_set_cookie_callback_t = _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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_delete_cookies_callback_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Method that will be called upon completion. |num_deleted| will be the\n number of cookies that were deleted.\n"]
pub on_complete: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_delete_cookies_callback_t,
num_deleted: ::std::os::raw::c_int,
),
>,
}
#[test]
fn bindgen_test_layout__cef_delete_cookies_callback_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_delete_cookies_callback_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_delete_cookies_callback_t>(),
48usize,
concat!("Size of: ", stringify!(_cef_delete_cookies_callback_t))
);
assert_eq!(
::std::mem::align_of::<_cef_delete_cookies_callback_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_delete_cookies_callback_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_delete_cookies_callback_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_complete) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_delete_cookies_callback_t),
"::",
stringify!(on_complete)
)
);
}
#[doc = "\n Structure to implement to be notified of asynchronous completion via\n cef_cookie_manager_t::delete_cookies().\n"]
pub type cef_delete_cookies_callback_t = _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"]
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"]
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<unsafe extern "C" fn(self_: *mut _cef_extension_t)>,
}
#[test]
fn bindgen_test_layout__cef_extension_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_extension_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_extension_t>(),
104usize,
concat!("Size of: ", stringify!(_cef_extension_t))
);
assert_eq!(
::std::mem::align_of::<_cef_extension_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_extension_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_extension_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_identifier) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_extension_t),
"::",
stringify!(get_identifier)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_path) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_extension_t),
"::",
stringify!(get_path)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_manifest) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_extension_t),
"::",
stringify!(get_manifest)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_same) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_extension_t),
"::",
stringify!(is_same)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_handler) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_extension_t),
"::",
stringify!(get_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_loader_context) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_extension_t),
"::",
stringify!(get_loader_context)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_loaded) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_extension_t),
"::",
stringify!(is_loaded)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unload) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_extension_t),
"::",
stringify!(unload)
)
);
}
#[doc = "\n Object representing an extension. Methods may be called on any thread unless\n otherwise indicated.\n"]
pub type cef_extension_t = _cef_extension_t;
#[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),
>,
}
#[test]
fn bindgen_test_layout__cef_get_extension_resource_callback_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_get_extension_resource_callback_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_get_extension_resource_callback_t>(),
56usize,
concat!(
"Size of: ",
stringify!(_cef_get_extension_resource_callback_t)
)
);
assert_eq!(
::std::mem::align_of::<_cef_get_extension_resource_callback_t>(),
8usize,
concat!(
"Alignment of ",
stringify!(_cef_get_extension_resource_callback_t)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_get_extension_resource_callback_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cont) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_get_extension_resource_callback_t),
"::",
stringify!(cont)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cancel) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_get_extension_resource_callback_t),
"::",
stringify!(cancel)
)
);
}
#[doc = "\n Callback structure used for asynchronous continuation of\n cef_extension_handler_t::GetExtensionResource.\n"]
pub type cef_get_extension_resource_callback_t = _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 \"<script>\" src attribute. To allow creation of the browser\n optionally modify |client| and |settings| and return false (0). To cancel\n creation of the browser (and consequently cancel load of the background\n script) return true (1). Successful creation will be indicated by a call\n to cef_life_span_handler_t::OnAfterCreated, and\n cef_browser_host_t::IsBackgroundHost will return true (1) for the\n resulting browser. See https://developer.chrome.com/extensions/event_pages\n for more information about extension background script usage.\n"]
pub on_before_background_browser: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_extension_handler_t,
extension: *mut _cef_extension_t,
url: *const cef_string_t,
client: *mut *mut _cef_client_t,
settings: *mut _cef_browser_settings_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called when an extension API (e.g. chrome.tabs.create) requests creation\n of a new browser. |extension| and |browser| are the source of the API\n call. |active_browser| may optionally be specified via the windowId\n property or returned via the get_active_browser() callback and provides\n the default |client| and |settings| values for the new browser. |index| is\n the position value optionally specified via the index property. |url| is\n the URL that will be loaded in the browser. |active| is true (1) if the\n new browser should be active when opened. To allow creation of the\n browser optionally modify |windowInfo|, |client| and |settings| and return\n false (0). To cancel creation of the browser return true (1). Successful\n creation will be indicated by a call to\n cef_life_span_handler_t::OnAfterCreated. Any modifications to |windowInfo|\n will be ignored if |active_browser| is wrapped in a cef_browser_view_t.\n"]
pub on_before_browser: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_extension_handler_t,
extension: *mut _cef_extension_t,
browser: *mut _cef_browser_t,
active_browser: *mut _cef_browser_t,
index: ::std::os::raw::c_int,
url: *const cef_string_t,
active: ::std::os::raw::c_int,
windowInfo: *mut _cef_window_info_t,
client: *mut *mut _cef_client_t,
settings: *mut _cef_browser_settings_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called when no tabId is specified to an extension API call that accepts a\n tabId parameter (e.g. chrome.tabs.*). |extension| and |browser| are the\n source of the API call. Return the browser that will be acted on by the\n API call or return NULL to act on |browser|. The returned browser must\n share the same cef_request_context_t as |browser|. Incognito browsers\n should not be considered unless the source extension has incognito access\n enabled, in which case |include_incognito| will be true (1).\n"]
pub get_active_browser: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_extension_handler_t,
extension: *mut _cef_extension_t,
browser: *mut _cef_browser_t,
include_incognito: ::std::os::raw::c_int,
) -> *mut _cef_browser_t,
>,
#[doc = "\n Called when the tabId associated with |target_browser| is specified to an\n extension API call that accepts a tabId parameter (e.g. chrome.tabs.*).\n |extension| and |browser| are the source of the API call. Return true (1)\n to allow access of false (0) to deny access. Access to incognito browsers\n should not be allowed unless the source extension has incognito access\n enabled, in which case |include_incognito| will be true (1).\n"]
pub can_access_browser: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_extension_handler_t,
extension: *mut _cef_extension_t,
browser: *mut _cef_browser_t,
include_incognito: ::std::os::raw::c_int,
target_browser: *mut _cef_browser_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called to retrieve an extension resource that would normally be loaded\n from disk (e.g. if a file parameter is specified to\n chrome.tabs.executeScript). |extension| and |browser| are the source of\n the resource request. |file| is the requested relative file path. To\n handle the resource request return true (1) and execute |callback| either\n synchronously or asynchronously. For the default behavior which reads the\n resource from the extension directory on disk return false (0).\n Localization substitutions will not be applied to resources handled via\n this function.\n"]
pub get_extension_resource: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_extension_handler_t,
extension: *mut _cef_extension_t,
browser: *mut _cef_browser_t,
file: *const cef_string_t,
callback: *mut _cef_get_extension_resource_callback_t,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_extension_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_extension_handler_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_extension_handler_t>(),
104usize,
concat!("Size of: ", stringify!(_cef_extension_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_extension_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_extension_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_extension_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_extension_load_failed) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_extension_handler_t),
"::",
stringify!(on_extension_load_failed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_extension_loaded) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_extension_handler_t),
"::",
stringify!(on_extension_loaded)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_extension_unloaded) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_extension_handler_t),
"::",
stringify!(on_extension_unloaded)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).on_before_background_browser) as usize - ptr as usize
},
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_extension_handler_t),
"::",
stringify!(on_before_background_browser)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_before_browser) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_extension_handler_t),
"::",
stringify!(on_before_browser)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_active_browser) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_extension_handler_t),
"::",
stringify!(get_active_browser)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).can_access_browser) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_extension_handler_t),
"::",
stringify!(can_access_browser)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_extension_resource) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_extension_handler_t),
"::",
stringify!(get_extension_resource)
)
);
}
#[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"]
pub type cef_extension_handler_t = _cef_extension_handler_t;
#[doc = "\n Supports discovery of and communication with media devices on the local\n network via the Cast and DIAL protocols. The functions of this structure may\n be called on any browser process thread unless otherwise indicated.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_media_router_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Add an observer for MediaRouter events. The observer will remain\n registered until the returned Registration object is destroyed.\n"]
pub add_observer: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_media_router_t,
observer: *mut _cef_media_observer_t,
) -> *mut _cef_registration_t,
>,
#[doc = "\n Returns a MediaSource object for the specified media source URN. Supported\n URN schemes include \"cast:\" and \"dial:\", and will be already known by the\n client application (e.g. \"cast:<appId>?clientId=<clientId>\").\n"]
pub get_source: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_media_router_t,
urn: *const cef_string_t,
) -> *mut _cef_media_source_t,
>,
#[doc = "\n Trigger an asynchronous call to cef_media_observer_t::OnSinks on all\n registered observers.\n"]
pub notify_current_sinks:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_media_router_t)>,
#[doc = "\n Create a new route between |source| and |sink|. Source and sink must be\n valid, compatible (as reported by cef_media_sink_t::IsCompatibleWith), and\n a route between them must not already exist. |callback| will be executed\n on success or failure. If route creation succeeds it will also trigger an\n asynchronous call to cef_media_observer_t::OnRoutes on all registered\n observers.\n"]
pub create_route: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_media_router_t,
source: *mut _cef_media_source_t,
sink: *mut _cef_media_sink_t,
callback: *mut _cef_media_route_create_callback_t,
),
>,
#[doc = "\n Trigger an asynchronous call to cef_media_observer_t::OnRoutes on all\n registered observers.\n"]
pub notify_current_routes:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_media_router_t)>,
}
#[test]
fn bindgen_test_layout__cef_media_router_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_media_router_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_media_router_t>(),
80usize,
concat!("Size of: ", stringify!(_cef_media_router_t))
);
assert_eq!(
::std::mem::align_of::<_cef_media_router_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_media_router_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_router_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).add_observer) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_router_t),
"::",
stringify!(add_observer)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_source) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_router_t),
"::",
stringify!(get_source)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).notify_current_sinks) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_router_t),
"::",
stringify!(notify_current_sinks)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).create_route) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_router_t),
"::",
stringify!(create_route)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).notify_current_routes) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_router_t),
"::",
stringify!(notify_current_routes)
)
);
}
#[doc = "\n Supports discovery of and communication with media devices on the local\n network via the Cast and DIAL protocols. The functions of this structure may\n be called on any browser process thread unless otherwise indicated.\n"]
pub type cef_media_router_t = _cef_media_router_t;
extern "C" {
#[doc = "\n Returns the MediaRouter object associated with the global request context.\n If |callback| is non-NULL it will be executed asnychronously on the UI\n thread after the manager's storage has been initialized. Equivalent to\n calling cef_request_context_t::cef_request_context_get_global_context()->get\n _media_router().\n"]
pub fn cef_media_router_get_global(
callback: *mut _cef_completion_callback_t,
) -> *mut cef_media_router_t;
}
#[doc = "\n Implemented by the client to observe MediaRouter events and registered via\n cef_media_router_t::AddObserver. The functions of this structure will be\n called on the browser process UI thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_media_observer_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n The list of available media sinks has changed or\n cef_media_router_t::NotifyCurrentSinks was called.\n"]
pub on_sinks: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_media_observer_t,
sinksCount: usize,
sinks: *const *mut _cef_media_sink_t,
),
>,
#[doc = "\n The list of available media routes has changed or\n cef_media_router_t::NotifyCurrentRoutes was called.\n"]
pub on_routes: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_media_observer_t,
routesCount: usize,
routes: *const *mut _cef_media_route_t,
),
>,
#[doc = "\n The connection state of |route| has changed.\n"]
pub on_route_state_changed: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_media_observer_t,
route: *mut _cef_media_route_t,
state: cef_media_route_connection_state_t,
),
>,
#[doc = "\n A message was recieved over |route|. |message| is only valid for the scope\n of this callback and should be copied if necessary.\n"]
pub on_route_message_received: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_media_observer_t,
route: *mut _cef_media_route_t,
message: *const ::std::os::raw::c_void,
message_size: usize,
),
>,
}
#[test]
fn bindgen_test_layout__cef_media_observer_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_media_observer_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_media_observer_t>(),
72usize,
concat!("Size of: ", stringify!(_cef_media_observer_t))
);
assert_eq!(
::std::mem::align_of::<_cef_media_observer_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_media_observer_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_observer_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_sinks) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_observer_t),
"::",
stringify!(on_sinks)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_routes) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_observer_t),
"::",
stringify!(on_routes)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_route_state_changed) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_observer_t),
"::",
stringify!(on_route_state_changed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_route_message_received) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_observer_t),
"::",
stringify!(on_route_message_received)
)
);
}
#[doc = "\n Implemented by the client to observe MediaRouter events and registered via\n cef_media_router_t::AddObserver. The functions of this structure will be\n called on the browser process UI thread.\n"]
pub type cef_media_observer_t = _cef_media_observer_t;
#[doc = "\n Represents the route between a media source and sink. Instances of this\n object are created via cef_media_router_t::CreateRoute and retrieved via\n cef_media_observer_t::OnRoutes. Contains the status and metadata of a\n routing operation. The functions of this structure may be called on any\n browser process thread unless otherwise indicated.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_media_route_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns the ID for this route.\n"]
pub get_id: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_media_route_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the source associated with this route.\n"]
pub get_source: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_media_route_t) -> *mut _cef_media_source_t,
>,
#[doc = "\n Returns the sink associated with this route.\n"]
pub get_sink: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_media_route_t) -> *mut _cef_media_sink_t,
>,
#[doc = "\n Send a message over this route. |message| will be copied if necessary.\n"]
pub send_route_message: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_media_route_t,
message: *const ::std::os::raw::c_void,
message_size: usize,
),
>,
#[doc = "\n Terminate this route. Will result in an asynchronous call to\n cef_media_observer_t::OnRoutes on all registered observers.\n"]
pub terminate: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_media_route_t)>,
}
#[test]
fn bindgen_test_layout__cef_media_route_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_media_route_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_media_route_t>(),
80usize,
concat!("Size of: ", stringify!(_cef_media_route_t))
);
assert_eq!(
::std::mem::align_of::<_cef_media_route_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_media_route_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_route_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_id) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_route_t),
"::",
stringify!(get_id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_source) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_route_t),
"::",
stringify!(get_source)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_sink) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_route_t),
"::",
stringify!(get_sink)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).send_route_message) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_route_t),
"::",
stringify!(send_route_message)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).terminate) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_route_t),
"::",
stringify!(terminate)
)
);
}
#[doc = "\n Represents the route between a media source and sink. Instances of this\n object are created via cef_media_router_t::CreateRoute and retrieved via\n cef_media_observer_t::OnRoutes. Contains the status and metadata of a\n routing operation. The functions of this structure may be called on any\n browser process thread unless otherwise indicated.\n"]
pub type cef_media_route_t = _cef_media_route_t;
#[doc = "\n Callback structure for cef_media_router_t::CreateRoute. The functions of\n this structure will be called on the browser process UI thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_media_route_create_callback_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Method that will be executed when the route creation has finished.\n |result| will be CEF_MRCR_OK if the route creation succeeded. |error| will\n be a description of the error if the route creation failed. |route| is the\n resulting route, or NULL if the route creation failed.\n"]
pub on_media_route_create_finished: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_media_route_create_callback_t,
result: cef_media_route_create_result_t,
error: *const cef_string_t,
route: *mut _cef_media_route_t,
),
>,
}
#[test]
fn bindgen_test_layout__cef_media_route_create_callback_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_media_route_create_callback_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_media_route_create_callback_t>(),
48usize,
concat!("Size of: ", stringify!(_cef_media_route_create_callback_t))
);
assert_eq!(
::std::mem::align_of::<_cef_media_route_create_callback_t>(),
8usize,
concat!(
"Alignment of ",
stringify!(_cef_media_route_create_callback_t)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_route_create_callback_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).on_media_route_create_finished) as usize - ptr as usize
},
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_route_create_callback_t),
"::",
stringify!(on_media_route_create_finished)
)
);
}
#[doc = "\n Callback structure for cef_media_router_t::CreateRoute. The functions of\n this structure will be called on the browser process UI thread.\n"]
pub type cef_media_route_create_callback_t = _cef_media_route_create_callback_t;
#[doc = "\n Represents a sink to which media can be routed. Instances of this object are\n retrieved via cef_media_observer_t::OnSinks. The functions of this structure\n may be called on any browser process thread unless otherwise indicated.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_media_sink_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns the ID for this sink.\n"]
pub get_id: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_media_sink_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the name of this sink.\n"]
pub get_name: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_media_sink_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the icon type for this sink.\n"]
pub get_icon_type: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_media_sink_t) -> cef_media_sink_icon_type_t,
>,
#[doc = "\n Asynchronously retrieves device info.\n"]
pub get_device_info: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_media_sink_t,
callback: *mut _cef_media_sink_device_info_callback_t,
),
>,
#[doc = "\n Returns true (1) if this sink accepts content via Cast.\n"]
pub is_cast_sink: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_media_sink_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this sink accepts content via DIAL.\n"]
pub is_dial_sink: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_media_sink_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this sink is compatible with |source|.\n"]
pub is_compatible_with: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_media_sink_t,
source: *mut _cef_media_source_t,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_media_sink_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_media_sink_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_media_sink_t>(),
96usize,
concat!("Size of: ", stringify!(_cef_media_sink_t))
);
assert_eq!(
::std::mem::align_of::<_cef_media_sink_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_media_sink_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_sink_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_id) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_sink_t),
"::",
stringify!(get_id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_name) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_sink_t),
"::",
stringify!(get_name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_icon_type) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_sink_t),
"::",
stringify!(get_icon_type)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_device_info) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_sink_t),
"::",
stringify!(get_device_info)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_cast_sink) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_sink_t),
"::",
stringify!(is_cast_sink)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_dial_sink) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_sink_t),
"::",
stringify!(is_dial_sink)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_compatible_with) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_sink_t),
"::",
stringify!(is_compatible_with)
)
);
}
#[doc = "\n Represents a sink to which media can be routed. Instances of this object are\n retrieved via cef_media_observer_t::OnSinks. The functions of this structure\n may be called on any browser process thread unless otherwise indicated.\n"]
pub type cef_media_sink_t = _cef_media_sink_t;
#[doc = "\n Callback structure for cef_media_sink_t::GetDeviceInfo. The functions of\n this structure will be called on the browser process UI thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_media_sink_device_info_callback_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Method that will be executed asyncronously once device information has\n been retrieved.\n"]
pub on_media_sink_device_info: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_media_sink_device_info_callback_t,
device_info: *const _cef_media_sink_device_info_t,
),
>,
}
#[test]
fn bindgen_test_layout__cef_media_sink_device_info_callback_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_media_sink_device_info_callback_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_media_sink_device_info_callback_t>(),
48usize,
concat!(
"Size of: ",
stringify!(_cef_media_sink_device_info_callback_t)
)
);
assert_eq!(
::std::mem::align_of::<_cef_media_sink_device_info_callback_t>(),
8usize,
concat!(
"Alignment of ",
stringify!(_cef_media_sink_device_info_callback_t)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_sink_device_info_callback_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_media_sink_device_info) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_sink_device_info_callback_t),
"::",
stringify!(on_media_sink_device_info)
)
);
}
#[doc = "\n Callback structure for cef_media_sink_t::GetDeviceInfo. The functions of\n this structure will be called on the browser process UI thread.\n"]
pub type cef_media_sink_device_info_callback_t = _cef_media_sink_device_info_callback_t;
#[doc = "\n Represents a source from which media can be routed. Instances of this object\n are retrieved via cef_media_router_t::GetSource. The functions of this\n structure may be called on any browser process thread unless otherwise\n indicated.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_media_source_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns the ID (media source URN or URL) for this source.\n"]
pub get_id: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_media_source_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns true (1) if this source outputs its content via Cast.\n"]
pub is_cast_source: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_media_source_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this source outputs its content via DIAL.\n"]
pub is_dial_source: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_media_source_t) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_media_source_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_media_source_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_media_source_t>(),
64usize,
concat!("Size of: ", stringify!(_cef_media_source_t))
);
assert_eq!(
::std::mem::align_of::<_cef_media_source_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_media_source_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_source_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_id) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_source_t),
"::",
stringify!(get_id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_cast_source) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_source_t),
"::",
stringify!(is_cast_source)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_dial_source) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_source_t),
"::",
stringify!(is_dial_source)
)
);
}
#[doc = "\n Represents a source from which media can be routed. Instances of this object\n are retrieved via cef_media_router_t::GetSource. The functions of this\n structure may be called on any browser process thread unless otherwise\n indicated.\n"]
pub type cef_media_source_t = _cef_media_source_t;
#[doc = "\n Structure that manages custom preference registrations.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_preference_registrar_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_scoped_t,
#[doc = "\n Register a preference with the specified |name| and |default_value|. To\n avoid conflicts with built-in preferences the |name| value should contain\n an application-specific prefix followed by a period (e.g. \"myapp.value\").\n The contents of |default_value| will be copied. The data type for the\n preference will be inferred from |default_value|'s type and cannot be\n changed after registration. Returns true (1) on success. Returns false (0)\n if |name| is already registered or if |default_value| has an invalid type.\n This function must be called from within the scope of the\n cef_browser_process_handler_t::OnRegisterCustomPreferences callback.\n"]
pub add_preference: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_preference_registrar_t,
name: *const cef_string_t,
default_value: *mut _cef_value_t,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_preference_registrar_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_preference_registrar_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_preference_registrar_t>(),
24usize,
concat!("Size of: ", stringify!(_cef_preference_registrar_t))
);
assert_eq!(
::std::mem::align_of::<_cef_preference_registrar_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_preference_registrar_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_preference_registrar_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).add_preference) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_cef_preference_registrar_t),
"::",
stringify!(add_preference)
)
);
}
#[doc = "\n Structure that manages custom preference registrations.\n"]
pub type cef_preference_registrar_t = _cef_preference_registrar_t;
#[doc = "\n Manage access to preferences. Many built-in preferences are registered by\n Chromium. Custom preferences can be registered in\n cef_browser_process_handler_t::OnRegisterCustomPreferences.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_preference_manager_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns true (1) if a preference with the specified |name| exists. This\n function must be called on the browser process UI thread.\n"]
pub has_preference: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_preference_manager_t,
name: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the value for the preference with the specified |name|. Returns\n NULL if the preference does not exist. The returned object contains a copy\n of the underlying preference value and modifications to the returned\n object will not modify the underlying preference value. This function must\n be called on the browser process UI thread.\n"]
pub get_preference: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_preference_manager_t,
name: *const cef_string_t,
) -> *mut _cef_value_t,
>,
#[doc = "\n Returns all preferences as a dictionary. If |include_defaults| is true (1)\n then preferences currently at their default value will be included. The\n returned object contains a copy of the underlying preference values and\n modifications to the returned object will not modify the underlying\n preference values. This function must be called on the browser process UI\n thread.\n"]
pub get_all_preferences: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_preference_manager_t,
include_defaults: ::std::os::raw::c_int,
) -> *mut _cef_dictionary_value_t,
>,
#[doc = "\n Returns true (1) if the preference with the specified |name| can be\n modified using SetPreference. As one example preferences set via the\n command-line usually cannot be modified. This function must be called on\n the browser process UI thread.\n"]
pub can_set_preference: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_preference_manager_t,
name: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Set the |value| associated with preference |name|. Returns true (1) if the\n value is set successfully and false (0) otherwise. If |value| is NULL the\n preference will be restored to its default value. If setting the\n preference fails then |error| will be populated with a detailed\n description of the problem. This function must be called on the browser\n process UI thread.\n"]
pub set_preference: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_preference_manager_t,
name: *const cef_string_t,
value: *mut _cef_value_t,
error: *mut cef_string_t,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_preference_manager_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_preference_manager_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_preference_manager_t>(),
80usize,
concat!("Size of: ", stringify!(_cef_preference_manager_t))
);
assert_eq!(
::std::mem::align_of::<_cef_preference_manager_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_preference_manager_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_preference_manager_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).has_preference) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_preference_manager_t),
"::",
stringify!(has_preference)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_preference) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_preference_manager_t),
"::",
stringify!(get_preference)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_all_preferences) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_preference_manager_t),
"::",
stringify!(get_all_preferences)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).can_set_preference) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_preference_manager_t),
"::",
stringify!(can_set_preference)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_preference) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_preference_manager_t),
"::",
stringify!(set_preference)
)
);
}
#[doc = "\n Manage access to preferences. Many built-in preferences are registered by\n Chromium. Custom preferences can be registered in\n cef_browser_process_handler_t::OnRegisterCustomPreferences.\n"]
pub type cef_preference_manager_t = _cef_preference_manager_t;
extern "C" {
#[doc = "\n Returns the global preference manager object.\n"]
pub fn cef_preference_manager_get_global() -> *mut cef_preference_manager_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_request_context_handler_t {
_unused: [u8; 0],
}
#[doc = "\n Callback structure for cef_request_context_t::ResolveHost.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_resolve_callback_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Called on the UI thread after the ResolveHost request has completed.\n |result| will be the result code. |resolved_ips| will be the list of\n resolved IP addresses or NULL if the resolution failed.\n"]
pub on_resolve_completed: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_resolve_callback_t,
result: cef_errorcode_t,
resolved_ips: cef_string_list_t,
),
>,
}
#[test]
fn bindgen_test_layout__cef_resolve_callback_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_resolve_callback_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_resolve_callback_t>(),
48usize,
concat!("Size of: ", stringify!(_cef_resolve_callback_t))
);
assert_eq!(
::std::mem::align_of::<_cef_resolve_callback_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_resolve_callback_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_resolve_callback_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_resolve_completed) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_resolve_callback_t),
"::",
stringify!(on_resolve_completed)
)
);
}
#[doc = "\n Callback structure for cef_request_context_t::ResolveHost.\n"]
pub type cef_resolve_callback_t = _cef_resolve_callback_t;
#[doc = "\n A request context provides request handling for a set of related browser or\n URL request objects. A request context can be specified when creating a new\n browser via the cef_browser_host_t static factory functions or when creating\n a new URL request via the cef_urlrequest_t static factory functions. Browser\n objects with different request contexts will never be hosted in the same\n render process. Browser objects with the same request context may or may not\n be hosted in the same render process depending on the process model. Browser\n objects created indirectly via the JavaScript window.open function or\n targeted links will share the same render process and the same request\n context as the source browser. When running in single-process mode there is\n only a single render process (the main process) and so all browsers created\n in single-process mode will share the same request context. This will be the\n first request context passed into a cef_browser_host_t static factory\n function and all other request context objects will be ignored.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_request_context_t {
#[doc = "\n Base structure.\n"]
pub base: cef_preference_manager_t,
#[doc = "\n Returns true (1) if this object is pointing to the same context as |that|\n object.\n"]
pub is_same: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_context_t,
other: *mut _cef_request_context_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this object is sharing the same storage as |that|\n object.\n"]
pub is_sharing_with: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_context_t,
other: *mut _cef_request_context_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this object is the global context. The global context\n is used by default when creating a browser or URL request with a NULL\n context argument.\n"]
pub is_global: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_request_context_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the handler for this context if any.\n"]
pub get_handler: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_context_t,
) -> *mut _cef_request_context_handler_t,
>,
#[doc = "\n Returns the cache path for this object. If NULL an \"incognito mode\" in-\n memory cache is being used.\n"]
pub get_cache_path: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_request_context_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the cookie manager for this object. If |callback| is non-NULL it\n will be executed asnychronously on the UI thread after the manager's\n storage has been initialized.\n"]
pub get_cookie_manager: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_context_t,
callback: *mut _cef_completion_callback_t,
) -> *mut _cef_cookie_manager_t,
>,
#[doc = "\n Register a scheme handler factory for the specified |scheme_name| and\n optional |domain_name|. An NULL |domain_name| value for a standard scheme\n will cause the factory to match all domain names. The |domain_name| value\n will be ignored for non-standard schemes. If |scheme_name| is a built-in\n scheme and no handler is returned by |factory| then the built-in scheme\n handler factory will be called. If |scheme_name| is a custom scheme then\n you must also implement the cef_app_t::on_register_custom_schemes()\n function in all processes. This function may be called multiple times to\n change or remove the factory that matches the specified |scheme_name| and\n optional |domain_name|. Returns false (0) if an error occurs. This\n function may be called on any thread in the browser process.\n"]
pub register_scheme_handler_factory: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_context_t,
scheme_name: *const cef_string_t,
domain_name: *const cef_string_t,
factory: *mut _cef_scheme_handler_factory_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Clear all registered scheme handler factories. Returns false (0) on error.\n This function may be called on any thread in the browser process.\n"]
pub clear_scheme_handler_factories: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_request_context_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Clears all certificate exceptions that were added as part of handling\n cef_request_handler_t::on_certificate_error(). If you call this it is\n recommended that you also call close_all_connections() or you risk not\n being prompted again for server certificates if you reconnect quickly. If\n |callback| is non-NULL it will be executed on the UI thread after\n completion.\n"]
pub clear_certificate_exceptions: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_context_t,
callback: *mut _cef_completion_callback_t,
),
>,
#[doc = "\n Clears all HTTP authentication credentials that were added as part of\n handling GetAuthCredentials. If |callback| is non-NULL it will be executed\n on the UI thread after completion.\n"]
pub clear_http_auth_credentials: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_context_t,
callback: *mut _cef_completion_callback_t,
),
>,
#[doc = "\n Clears all active and idle connections that Chromium currently has. This\n is only recommended if you have released all other CEF objects but don't\n yet want to call cef_shutdown(). If |callback| is non-NULL it will be\n executed on the UI thread after completion.\n"]
pub close_all_connections: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_context_t,
callback: *mut _cef_completion_callback_t,
),
>,
#[doc = "\n Attempts to resolve |origin| to a list of associated IP addresses.\n |callback| will be executed on the UI thread after completion.\n"]
pub resolve_host: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_context_t,
origin: *const cef_string_t,
callback: *mut _cef_resolve_callback_t,
),
>,
#[doc = "\n Load an extension.\n\n If extension resources will be read from disk using the default load\n implementation then |root_directory| should be the absolute path to the\n extension resources directory and |manifest| should be NULL. If extension\n resources will be provided by the client (e.g. via cef_request_handler_t\n and/or cef_extension_handler_t) then |root_directory| should be a path\n component unique to the extension (if not absolute this will be internally\n prefixed with the PK_DIR_RESOURCES path) and |manifest| should contain the\n contents that would otherwise be read from the \"manifest.json\" file on\n disk.\n\n The loaded extension will be accessible in all contexts sharing the same\n storage (HasExtension returns true (1)). However, only the context on\n which this function was called is considered the loader (DidLoadExtension\n returns true (1)) and only the loader will receive\n cef_request_context_handler_t callbacks for the extension.\n\n cef_extension_handler_t::OnExtensionLoaded will be called on load success\n or cef_extension_handler_t::OnExtensionLoadFailed will be called on load\n failure.\n\n If the extension specifies a background script via the \"background\"\n manifest key then cef_extension_handler_t::OnBeforeBackgroundBrowser will\n be called to create the background browser. See that function for\n additional information about background scripts.\n\n For visible extension views the client application should evaluate the\n manifest to determine the correct extension URL to load and then pass that\n URL to the cef_browser_host_t::CreateBrowser* function after the extension\n has loaded. For example, the client can look for the \"browser_action\"\n manifest key as documented at\n https://developer.chrome.com/extensions/browserAction. Extension URLs take\n the form \"chrome-extension://<extension_id>/<path>\".\n\n Browsers that host extensions differ from normal browsers as follows:\n - Can access chrome.* JavaScript APIs if allowed by the manifest. Visit\n chrome://extensions-support for the list of extension APIs currently\n supported by CEF.\n - Main frame navigation to non-extension content is blocked.\n - Pinch-zooming is disabled.\n - CefBrowserHost::GetExtension returns the hosted extension.\n - CefBrowserHost::IsBackgroundHost returns true for background hosts.\n\n See https://developer.chrome.com/extensions for extension implementation\n and usage documentation.\n"]
pub load_extension: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_context_t,
root_directory: *const cef_string_t,
manifest: *mut _cef_dictionary_value_t,
handler: *mut _cef_extension_handler_t,
),
>,
#[doc = "\n Returns true (1) if this context was used to load the extension identified\n by |extension_id|. Other contexts sharing the same storage will also have\n access to the extension (see HasExtension). This function must be called\n on the browser process UI thread.\n"]
pub did_load_extension: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_context_t,
extension_id: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this context has access to the extension identified by\n |extension_id|. This may not be the context that was used to load the\n extension (see DidLoadExtension). This function must be called on the\n browser process UI thread.\n"]
pub has_extension: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_context_t,
extension_id: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Retrieve the list of all extensions that this context has access to (see\n HasExtension). |extension_ids| will be populated with the list of\n extension ID values. Returns true (1) on success. This function must be\n called on the browser process UI thread.\n"]
pub get_extensions: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_context_t,
extension_ids: cef_string_list_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the extension matching |extension_id| or NULL if no matching\n extension is accessible in this context (see HasExtension). This function\n must be called on the browser process UI thread.\n"]
pub get_extension: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_context_t,
extension_id: *const cef_string_t,
) -> *mut _cef_extension_t,
>,
#[doc = "\n Returns the MediaRouter object associated with this context. If\n |callback| is non-NULL it will be executed asnychronously on the UI thread\n after the manager's context has been initialized.\n"]
pub get_media_router: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_context_t,
callback: *mut _cef_completion_callback_t,
) -> *mut _cef_media_router_t,
>,
#[doc = "\n Returns the current value for |content_type| that applies for the\n specified URLs. If both URLs are NULL the default value will be returned.\n Returns nullptr if no value is configured. Must be called on the browser\n process UI thread.\n"]
pub get_website_setting: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_context_t,
requesting_url: *const cef_string_t,
top_level_url: *const cef_string_t,
content_type: cef_content_setting_types_t,
) -> *mut _cef_value_t,
>,
#[doc = "\n Sets the current value for |content_type| for the specified URLs in the\n default scope. If both URLs are NULL, and the context is not incognito,\n the default value will be set. Pass nullptr for |value| to remove the\n default value for this content type.\n\n WARNING: Incorrect usage of this function may cause instability or\n security issues in Chromium. Make sure that you first understand the\n potential impact of any changes to |content_type| by reviewing the related\n source code in Chromium. For example, if you plan to modify\n CEF_CONTENT_SETTING_TYPE_POPUPS, first review and understand the usage of\n ContentSettingsType::POPUPS in Chromium:\n https://source.chromium.org/search?q=ContentSettingsType::POPUPS\n"]
pub set_website_setting: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_context_t,
requesting_url: *const cef_string_t,
top_level_url: *const cef_string_t,
content_type: cef_content_setting_types_t,
value: *mut _cef_value_t,
),
>,
#[doc = "\n Returns the current value for |content_type| that applies for the\n specified URLs. If both URLs are NULL the default value will be returned.\n Returns CEF_CONTENT_SETTING_VALUE_DEFAULT if no value is configured. Must\n be called on the browser process UI thread.\n"]
pub get_content_setting: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_context_t,
requesting_url: *const cef_string_t,
top_level_url: *const cef_string_t,
content_type: cef_content_setting_types_t,
) -> cef_content_setting_values_t,
>,
#[doc = "\n Sets the current value for |content_type| for the specified URLs in the\n default scope. If both URLs are NULL, and the context is not incognito,\n the default value will be set. Pass CEF_CONTENT_SETTING_VALUE_DEFAULT for\n |value| to use the default value for this content type.\n\n WARNING: Incorrect usage of this function may cause instability or\n security issues in Chromium. Make sure that you first understand the\n potential impact of any changes to |content_type| by reviewing the related\n source code in Chromium. For example, if you plan to modify\n CEF_CONTENT_SETTING_TYPE_POPUPS, first review and understand the usage of\n ContentSettingsType::POPUPS in Chromium:\n https://source.chromium.org/search?q=ContentSettingsType::POPUPS\n"]
pub set_content_setting: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_context_t,
requesting_url: *const cef_string_t,
top_level_url: *const cef_string_t,
content_type: cef_content_setting_types_t,
value: cef_content_setting_values_t,
),
>,
}
#[test]
fn bindgen_test_layout__cef_request_context_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_request_context_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_request_context_t>(),
256usize,
concat!("Size of: ", stringify!(_cef_request_context_t))
);
assert_eq!(
::std::mem::align_of::<_cef_request_context_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_request_context_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_same) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_t),
"::",
stringify!(is_same)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_sharing_with) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_t),
"::",
stringify!(is_sharing_with)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_global) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_t),
"::",
stringify!(is_global)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_handler) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_t),
"::",
stringify!(get_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_cache_path) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_t),
"::",
stringify!(get_cache_path)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_cookie_manager) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_t),
"::",
stringify!(get_cookie_manager)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).register_scheme_handler_factory) as usize - ptr as usize
},
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_t),
"::",
stringify!(register_scheme_handler_factory)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).clear_scheme_handler_factories) as usize - ptr as usize
},
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_t),
"::",
stringify!(clear_scheme_handler_factories)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).clear_certificate_exceptions) as usize - ptr as usize
},
144usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_t),
"::",
stringify!(clear_certificate_exceptions)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).clear_http_auth_credentials) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_t),
"::",
stringify!(clear_http_auth_credentials)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).close_all_connections) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_t),
"::",
stringify!(close_all_connections)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).resolve_host) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_t),
"::",
stringify!(resolve_host)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).load_extension) as usize - ptr as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_t),
"::",
stringify!(load_extension)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).did_load_extension) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_t),
"::",
stringify!(did_load_extension)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).has_extension) as usize - ptr as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_t),
"::",
stringify!(has_extension)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_extensions) as usize - ptr as usize },
200usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_t),
"::",
stringify!(get_extensions)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_extension) as usize - ptr as usize },
208usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_t),
"::",
stringify!(get_extension)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_media_router) as usize - ptr as usize },
216usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_t),
"::",
stringify!(get_media_router)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_website_setting) as usize - ptr as usize },
224usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_t),
"::",
stringify!(get_website_setting)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_website_setting) as usize - ptr as usize },
232usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_t),
"::",
stringify!(set_website_setting)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_content_setting) as usize - ptr as usize },
240usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_t),
"::",
stringify!(get_content_setting)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_content_setting) as usize - ptr as usize },
248usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_context_t),
"::",
stringify!(set_content_setting)
)
);
}
#[doc = "\n A request context provides request handling for a set of related browser or\n URL request objects. A request context can be specified when creating a new\n browser via the cef_browser_host_t static factory functions or when creating\n a new URL request via the cef_urlrequest_t static factory functions. Browser\n objects with different request contexts will never be hosted in the same\n render process. Browser objects with the same request context may or may not\n be hosted in the same render process depending on the process model. Browser\n objects created indirectly via the JavaScript window.open function or\n targeted links will share the same render process and the same request\n context as the source browser. When running in single-process mode there is\n only a single render process (the main process) and so all browsers created\n in single-process mode will share the same request context. This will be the\n first request context passed into a cef_browser_host_t static factory\n function and all other request context objects will be ignored.\n"]
pub type cef_request_context_t = _cef_request_context_t;
extern "C" {
#[doc = "\n Returns the global context object.\n"]
pub fn cef_request_context_get_global_context() -> *mut cef_request_context_t;
}
extern "C" {
#[doc = "\n Creates a new context object with the specified |settings| and optional\n |handler|.\n"]
pub fn cef_request_context_create_context(
settings: *const _cef_request_context_settings_t,
handler: *mut _cef_request_context_handler_t,
) -> *mut cef_request_context_t;
}
extern "C" {
#[doc = "\n Creates a new context object that shares storage with |other| and uses an\n optional |handler|.\n"]
pub fn cef_create_context_shared(
other: *mut cef_request_context_t,
handler: *mut _cef_request_context_handler_t,
) -> *mut cef_request_context_t;
}
#[doc = "\n Structure used to represent a browser. When used in the browser process the\n functions of this structure may be called on any thread unless otherwise\n indicated in the comments. When used in the render process the functions of\n this structure may only be called on the main thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_browser_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n True if this object is currently valid. This will return false (0) after\n cef_life_span_handler_t::OnBeforeClose is called.\n"]
pub is_valid: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the browser host object. This function can only be called in the\n browser process.\n"]
pub get_host: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_t) -> *mut _cef_browser_host_t,
>,
#[doc = "\n Returns true (1) if the browser can navigate backwards.\n"]
pub can_go_back: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Navigate backwards.\n"]
pub go_back: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_browser_t)>,
#[doc = "\n Returns true (1) if the browser can navigate forwards.\n"]
pub can_go_forward: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Navigate forwards.\n"]
pub go_forward: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_browser_t)>,
#[doc = "\n Returns true (1) if the browser is currently loading.\n"]
pub is_loading: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Reload the current page.\n"]
pub reload: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_browser_t)>,
#[doc = "\n Reload the current page ignoring any cached data.\n"]
pub reload_ignore_cache:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_browser_t)>,
#[doc = "\n Stop loading the page.\n"]
pub stop_load: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_browser_t)>,
#[doc = "\n Returns the globally unique identifier for this browser. This value is\n also used as the tabId for extension APIs.\n"]
pub get_identifier: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this object is pointing to the same handle as |that|\n object.\n"]
pub is_same: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_t,
that: *mut _cef_browser_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the browser is a popup.\n"]
pub is_popup: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if a document has been loaded in the browser.\n"]
pub has_document: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the main (top-level) frame for the browser. In the browser process\n this will return a valid object until after\n cef_life_span_handler_t::OnBeforeClose is called. In the renderer process\n this will return NULL if the main frame is hosted in a different renderer\n process (e.g. for cross-origin sub-frames). The main frame object will\n change during cross-origin navigation or re-navigation after renderer\n process termination (due to crashes, etc).\n"]
pub get_main_frame: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_t) -> *mut _cef_frame_t,
>,
#[doc = "\n Returns the focused frame for the browser.\n"]
pub get_focused_frame: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_t) -> *mut _cef_frame_t,
>,
#[doc = "\n Returns the frame with the specified identifier, or NULL if not found.\n"]
pub get_frame_byident: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_t, identifier: i64) -> *mut _cef_frame_t,
>,
#[doc = "\n Returns the frame with the specified name, or NULL if not found.\n"]
pub get_frame: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_t,
name: *const cef_string_t,
) -> *mut _cef_frame_t,
>,
#[doc = "\n Returns the number of frames that currently exist.\n"]
pub get_frame_count:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_browser_t) -> usize>,
#[doc = "\n Returns the identifiers of all existing frames.\n"]
pub get_frame_identifiers: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_t,
identifiersCount: *mut usize,
identifiers: *mut i64,
),
>,
#[doc = "\n Returns the names of all existing frames.\n"]
pub get_frame_names: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_t, names: cef_string_list_t),
>,
}
#[test]
fn bindgen_test_layout__cef_browser_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_browser_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_browser_t>(),
208usize,
concat!("Size of: ", stringify!(_cef_browser_t))
);
assert_eq!(
::std::mem::align_of::<_cef_browser_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_browser_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_valid) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_t),
"::",
stringify!(is_valid)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_host) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_t),
"::",
stringify!(get_host)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).can_go_back) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_t),
"::",
stringify!(can_go_back)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).go_back) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_t),
"::",
stringify!(go_back)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).can_go_forward) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_t),
"::",
stringify!(can_go_forward)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).go_forward) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_t),
"::",
stringify!(go_forward)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_loading) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_t),
"::",
stringify!(is_loading)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reload) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_t),
"::",
stringify!(reload)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reload_ignore_cache) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_t),
"::",
stringify!(reload_ignore_cache)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).stop_load) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_t),
"::",
stringify!(stop_load)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_identifier) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_t),
"::",
stringify!(get_identifier)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_same) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_t),
"::",
stringify!(is_same)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_popup) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_t),
"::",
stringify!(is_popup)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).has_document) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_t),
"::",
stringify!(has_document)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_main_frame) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_t),
"::",
stringify!(get_main_frame)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_focused_frame) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_t),
"::",
stringify!(get_focused_frame)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_frame_byident) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_t),
"::",
stringify!(get_frame_byident)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_frame) as usize - ptr as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_t),
"::",
stringify!(get_frame)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_frame_count) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_t),
"::",
stringify!(get_frame_count)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_frame_identifiers) as usize - ptr as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_t),
"::",
stringify!(get_frame_identifiers)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_frame_names) as usize - ptr as usize },
200usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_t),
"::",
stringify!(get_frame_names)
)
);
}
#[doc = "\n Structure used to represent a browser. When used in the browser process the\n functions of this structure may be called on any thread unless otherwise\n indicated in the comments. When used in the render process the functions of\n this structure may only be called on the main thread.\n"]
pub type cef_browser_t = _cef_browser_t;
#[doc = "\n Callback structure for cef_browser_host_t::RunFileDialog. The functions of\n this structure will be called on the browser process UI thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_run_file_dialog_callback_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Called asynchronously after the file dialog is dismissed. |file_paths|\n will be a single value or a list of values depending on the dialog mode.\n If the selection was cancelled |file_paths| will be NULL.\n"]
pub on_file_dialog_dismissed: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_run_file_dialog_callback_t,
file_paths: cef_string_list_t,
),
>,
}
#[test]
fn bindgen_test_layout__cef_run_file_dialog_callback_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_run_file_dialog_callback_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_run_file_dialog_callback_t>(),
48usize,
concat!("Size of: ", stringify!(_cef_run_file_dialog_callback_t))
);
assert_eq!(
::std::mem::align_of::<_cef_run_file_dialog_callback_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_run_file_dialog_callback_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_run_file_dialog_callback_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_file_dialog_dismissed) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_run_file_dialog_callback_t),
"::",
stringify!(on_file_dialog_dismissed)
)
);
}
#[doc = "\n Callback structure for cef_browser_host_t::RunFileDialog. The functions of\n this structure will be called on the browser process UI thread.\n"]
pub type cef_run_file_dialog_callback_t = _cef_run_file_dialog_callback_t;
#[doc = "\n Callback structure for cef_browser_host_t::GetNavigationEntries. The\n functions of this structure will be called on the browser process UI thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_navigation_entry_visitor_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Method that will be executed. Do not keep a reference to |entry| outside\n of this callback. Return true (1) to continue visiting entries or false\n (0) to stop. |current| is true (1) if this entry is the currently loaded\n navigation entry. |index| is the 0-based index of this entry and |total|\n is the total number of entries.\n"]
pub visit: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_navigation_entry_visitor_t,
entry: *mut _cef_navigation_entry_t,
current: ::std::os::raw::c_int,
index: ::std::os::raw::c_int,
total: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_navigation_entry_visitor_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_navigation_entry_visitor_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_navigation_entry_visitor_t>(),
48usize,
concat!("Size of: ", stringify!(_cef_navigation_entry_visitor_t))
);
assert_eq!(
::std::mem::align_of::<_cef_navigation_entry_visitor_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_navigation_entry_visitor_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_navigation_entry_visitor_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).visit) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_navigation_entry_visitor_t),
"::",
stringify!(visit)
)
);
}
#[doc = "\n Callback structure for cef_browser_host_t::GetNavigationEntries. The\n functions of this structure will be called on the browser process UI thread.\n"]
pub type cef_navigation_entry_visitor_t = _cef_navigation_entry_visitor_t;
#[doc = "\n Callback structure for cef_browser_host_t::PrintToPDF. The functions of this\n structure will be called on the browser process UI thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_pdf_print_callback_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Method that will be executed when the PDF printing has completed. |path|\n is the output path. |ok| will be true (1) if the printing completed\n successfully or false (0) otherwise.\n"]
pub on_pdf_print_finished: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_pdf_print_callback_t,
path: *const cef_string_t,
ok: ::std::os::raw::c_int,
),
>,
}
#[test]
fn bindgen_test_layout__cef_pdf_print_callback_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_pdf_print_callback_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_pdf_print_callback_t>(),
48usize,
concat!("Size of: ", stringify!(_cef_pdf_print_callback_t))
);
assert_eq!(
::std::mem::align_of::<_cef_pdf_print_callback_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_pdf_print_callback_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_pdf_print_callback_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_pdf_print_finished) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_pdf_print_callback_t),
"::",
stringify!(on_pdf_print_finished)
)
);
}
#[doc = "\n Callback structure for cef_browser_host_t::PrintToPDF. The functions of this\n structure will be called on the browser process UI thread.\n"]
pub type cef_pdf_print_callback_t = _cef_pdf_print_callback_t;
#[doc = "\n Callback structure for cef_browser_host_t::DownloadImage. The functions of\n this structure will be called on the browser process UI thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_download_image_callback_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Method that will be executed when the image download has completed.\n |image_url| is the URL that was downloaded and |http_status_code| is the\n resulting HTTP status code. |image| is the resulting image, possibly at\n multiple scale factors, or NULL if the download failed.\n"]
pub on_download_image_finished: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_download_image_callback_t,
image_url: *const cef_string_t,
http_status_code: ::std::os::raw::c_int,
image: *mut _cef_image_t,
),
>,
}
#[test]
fn bindgen_test_layout__cef_download_image_callback_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_download_image_callback_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_download_image_callback_t>(),
48usize,
concat!("Size of: ", stringify!(_cef_download_image_callback_t))
);
assert_eq!(
::std::mem::align_of::<_cef_download_image_callback_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_download_image_callback_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_image_callback_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_download_image_finished) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_image_callback_t),
"::",
stringify!(on_download_image_finished)
)
);
}
#[doc = "\n Callback structure for cef_browser_host_t::DownloadImage. The functions of\n this structure will be called on the browser process UI thread.\n"]
pub type cef_download_image_callback_t = _cef_download_image_callback_t;
#[doc = "\n Structure used to represent the browser process aspects of a browser. The\n functions of this structure can only be called in the browser process. They\n may be called on any thread in that process unless otherwise indicated in\n the comments.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_browser_host_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns the hosted browser object.\n"]
pub get_browser: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t) -> *mut _cef_browser_t,
>,
#[doc = "\n Request that the browser close. The JavaScript 'onbeforeunload' event will\n be fired. If |force_close| is false (0) the event handler, if any, will be\n allowed to prompt the user and the user can optionally cancel the close.\n If |force_close| is true (1) the prompt will not be displayed and the\n close will proceed. Results in a call to\n cef_life_span_handler_t::do_close() if the event handler allows the close\n or if |force_close| is true (1). See cef_life_span_handler_t::do_close()\n documentation for additional usage information.\n"]
pub close_browser: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t, force_close: ::std::os::raw::c_int),
>,
#[doc = "\n Helper for closing a browser. Call this function from the top-level window\n close handler (if any). Internally this calls CloseBrowser(false (0)) if\n the close has not yet been initiated. This function returns false (0)\n while the close is pending and true (1) after the close has completed. See\n close_browser() and cef_life_span_handler_t::do_close() documentation for\n additional usage information. This function must be called on the browser\n process UI thread.\n"]
pub try_close_browser: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Set whether the browser is focused.\n"]
pub set_focus: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t, focus: ::std::os::raw::c_int),
>,
#[doc = "\n Retrieve the window handle (if any) for this browser. If this browser is\n wrapped in a cef_browser_view_t this function should be called on the\n browser process UI thread and it will return the handle for the top-level\n native window.\n"]
pub get_window_handle: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t) -> ::std::os::raw::c_ulong,
>,
#[doc = "\n Retrieve the window handle (if any) of the browser that opened this\n browser. Will return NULL for non-popup browsers or if this browser is\n wrapped in a cef_browser_view_t. This function can be used in combination\n with custom handling of modal windows.\n"]
pub get_opener_window_handle: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t) -> ::std::os::raw::c_ulong,
>,
#[doc = "\n Returns true (1) if this browser is wrapped in a cef_browser_view_t.\n"]
pub has_view: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the client for this browser.\n"]
pub get_client: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t) -> *mut _cef_client_t,
>,
#[doc = "\n Returns the request context for this browser.\n"]
pub get_request_context: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t) -> *mut _cef_request_context_t,
>,
#[doc = "\n Get the current zoom level. The default zoom level is 0.0. This function\n can only be called on the UI thread.\n"]
pub get_zoom_level:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_browser_host_t) -> f64>,
#[doc = "\n Change the zoom level to the specified value. Specify 0.0 to reset the\n zoom level. If called on the UI thread the change will be applied\n immediately. Otherwise, the change will be applied asynchronously on the\n UI thread.\n"]
pub set_zoom_level: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t, zoomLevel: f64),
>,
#[doc = "\n Call to run a file chooser dialog. Only a single file chooser dialog may\n be pending at any given time. |mode| represents the type of dialog to\n display. |title| to the title to be used for the dialog and may be NULL to\n show the default title (\"Open\" or \"Save\" depending on the mode).\n |default_file_path| is the path with optional directory and/or file name\n component that will be initially selected in the dialog. |accept_filters|\n are used to restrict the selectable file types and may any combination of\n (a) valid lower-cased MIME types (e.g. \"text/*\" or \"image/*\"), (b)\n individual file extensions (e.g. \".txt\" or \".png\"), or (c) combined\n description and file extension delimited using \"|\" and \";\" (e.g. \"Image\n Types|.png;.gif;.jpg\"). |callback| will be executed after the dialog is\n dismissed or immediately if another dialog is already pending. The dialog\n will be initiated asynchronously on the UI thread.\n"]
pub run_file_dialog: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_host_t,
mode: cef_file_dialog_mode_t,
title: *const cef_string_t,
default_file_path: *const cef_string_t,
accept_filters: cef_string_list_t,
callback: *mut _cef_run_file_dialog_callback_t,
),
>,
#[doc = "\n Download the file at |url| using cef_download_handler_t.\n"]
pub start_download: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t, url: *const cef_string_t),
>,
#[doc = "\n Download |image_url| and execute |callback| on completion with the images\n received from the renderer. If |is_favicon| is true (1) then cookies are\n not sent and not accepted during download. Images with density independent\n pixel (DIP) sizes larger than |max_image_size| are filtered out from the\n image results. Versions of the image at different scale factors may be\n downloaded up to the maximum scale factor supported by the system. If\n there are no image results <= |max_image_size| then the smallest image is\n resized to |max_image_size| and is the only result. A |max_image_size| of\n 0 means unlimited. If |bypass_cache| is true (1) then |image_url| is\n requested from the server even if it is present in the browser cache.\n"]
pub download_image: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_host_t,
image_url: *const cef_string_t,
is_favicon: ::std::os::raw::c_int,
max_image_size: u32,
bypass_cache: ::std::os::raw::c_int,
callback: *mut _cef_download_image_callback_t,
),
>,
#[doc = "\n Print the current browser contents.\n"]
pub print: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_browser_host_t)>,
#[doc = "\n Print the current browser contents to the PDF file specified by |path| and\n execute |callback| on completion. The caller is responsible for deleting\n |path| when done. For PDF printing to work on Linux you must implement the\n cef_print_handler_t::GetPdfPaperSize function.\n"]
pub print_to_pdf: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_host_t,
path: *const cef_string_t,
settings: *const _cef_pdf_print_settings_t,
callback: *mut _cef_pdf_print_callback_t,
),
>,
#[doc = "\n Search for |searchText|. |forward| indicates whether to search forward or\n backward within the page. |matchCase| indicates whether the search should\n be case-sensitive. |findNext| indicates whether this is the first request\n or a follow-up. The search will be restarted if |searchText| or\n |matchCase| change. The search will be stopped if |searchText| is NULL.\n The cef_find_handler_t instance, if any, returned via\n cef_client_t::GetFindHandler will be called to report find results.\n"]
pub find: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_host_t,
searchText: *const cef_string_t,
forward: ::std::os::raw::c_int,
matchCase: ::std::os::raw::c_int,
findNext: ::std::os::raw::c_int,
),
>,
#[doc = "\n Cancel all searches that are currently going on.\n"]
pub stop_finding: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_host_t,
clearSelection: ::std::os::raw::c_int,
),
>,
#[doc = "\n Open developer tools (DevTools) in its own browser. The DevTools browser\n will remain associated with this browser. If the DevTools browser is\n already open then it will be focused, in which case the |windowInfo|,\n |client| and |settings| parameters will be ignored. If\n |inspect_element_at| is non-NULL then the element at the specified (x,y)\n location will be inspected. The |windowInfo| parameter will be ignored if\n this browser is wrapped in a cef_browser_view_t.\n"]
pub show_dev_tools: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_host_t,
windowInfo: *const _cef_window_info_t,
client: *mut _cef_client_t,
settings: *const _cef_browser_settings_t,
inspect_element_at: *const cef_point_t,
),
>,
#[doc = "\n Explicitly close the associated DevTools browser, if any.\n"]
pub close_dev_tools:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_browser_host_t)>,
#[doc = "\n Returns true (1) if this browser currently has an associated DevTools\n browser. Must be called on the browser process UI thread.\n"]
pub has_dev_tools: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Send a function call message over the DevTools protocol. |message| must be\n a UTF8-encoded JSON dictionary that contains \"id\" (int), \"function\"\n (string) and \"params\" (dictionary, optional) values. See the DevTools\n protocol documentation at https://chromedevtools.github.io/devtools-\n protocol/ for details of supported functions and the expected \"params\"\n dictionary contents. |message| will be copied if necessary. This function\n will return true (1) if called on the UI thread and the message was\n successfully submitted for validation, otherwise false (0). Validation\n will be applied asynchronously and any messages that fail due to\n formatting errors or missing parameters may be discarded without\n notification. Prefer ExecuteDevToolsMethod if a more structured approach\n to message formatting is desired.\n\n Every valid function call will result in an asynchronous function result\n or error message that references the sent message \"id\". Event messages are\n received while notifications are enabled (for example, between function\n calls for \"Page.enable\" and \"Page.disable\"). All received messages will be\n delivered to the observer(s) registered with AddDevToolsMessageObserver.\n See cef_dev_tools_message_observer_t::OnDevToolsMessage documentation for\n details of received message contents.\n\n Usage of the SendDevToolsMessage, ExecuteDevToolsMethod and\n AddDevToolsMessageObserver functions does not require an active DevTools\n front-end or remote-debugging session. Other active DevTools sessions will\n continue to function independently. However, any modification of global\n browser state by one session may not be reflected in the UI of other\n sessions.\n\n Communication with the DevTools front-end (when displayed) can be logged\n for development purposes by passing the `--devtools-protocol-log-\n file=<path>` command-line flag.\n"]
pub send_dev_tools_message: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_host_t,
message: *const ::std::os::raw::c_void,
message_size: usize,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Execute a function call over the DevTools protocol. This is a more\n structured version of SendDevToolsMessage. |message_id| is an incremental\n number that uniquely identifies the message (pass 0 to have the next\n number assigned automatically based on previous values). |function| is the\n function name. |params| are the function parameters, which may be NULL.\n See the DevTools protocol documentation (linked above) for details of\n supported functions and the expected |params| dictionary contents. This\n function will return the assigned message ID if called on the UI thread\n and the message was successfully submitted for validation, otherwise 0.\n See the SendDevToolsMessage documentation for additional usage\n information.\n"]
pub execute_dev_tools_method: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_host_t,
message_id: ::std::os::raw::c_int,
method: *const cef_string_t,
params: *mut _cef_dictionary_value_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Add an observer for DevTools protocol messages (function results and\n events). The observer will remain registered until the returned\n Registration object is destroyed. See the SendDevToolsMessage\n documentation for additional usage information.\n"]
pub add_dev_tools_message_observer: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_host_t,
observer: *mut _cef_dev_tools_message_observer_t,
) -> *mut _cef_registration_t,
>,
#[doc = "\n Retrieve a snapshot of current navigation entries as values sent to the\n specified visitor. If |current_only| is true (1) only the current\n navigation entry will be sent, otherwise all navigation entries will be\n sent.\n"]
pub get_navigation_entries: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_host_t,
visitor: *mut _cef_navigation_entry_visitor_t,
current_only: ::std::os::raw::c_int,
),
>,
#[doc = "\n If a misspelled word is currently selected in an editable node calling\n this function will replace it with the specified |word|.\n"]
pub replace_misspelling: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t, word: *const cef_string_t),
>,
#[doc = "\n Add the specified |word| to the spelling dictionary.\n"]
pub add_word_to_dictionary: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t, word: *const cef_string_t),
>,
#[doc = "\n Returns true (1) if window rendering is disabled.\n"]
pub is_window_rendering_disabled: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Notify the browser that the widget has been resized. The browser will\n first call cef_render_handler_t::GetViewRect to get the new size and then\n call cef_render_handler_t::OnPaint asynchronously with the updated\n regions. This function is only used when window rendering is disabled.\n"]
pub was_resized: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_browser_host_t)>,
#[doc = "\n Notify the browser that it has been hidden or shown. Layouting and\n cef_render_handler_t::OnPaint notification will stop when the browser is\n hidden. This function is only used when window rendering is disabled.\n"]
pub was_hidden: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t, hidden: ::std::os::raw::c_int),
>,
#[doc = "\n Send a notification to the browser that the screen info has changed. The\n browser will then call cef_render_handler_t::GetScreenInfo to update the\n screen information with the new values. This simulates moving the webview\n window from one display to another, or changing the properties of the\n current display. This function is only used when window rendering is\n disabled.\n"]
pub notify_screen_info_changed:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_browser_host_t)>,
#[doc = "\n Invalidate the view. The browser will call cef_render_handler_t::OnPaint\n asynchronously. This function is only used when window rendering is\n disabled.\n"]
pub invalidate: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t, type_: cef_paint_element_type_t),
>,
#[doc = "\n Issue a BeginFrame request to Chromium. Only valid when\n cef_window_tInfo::external_begin_frame_enabled is set to true (1).\n"]
pub send_external_begin_frame:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_browser_host_t)>,
#[doc = "\n Send a key event to the browser.\n"]
pub send_key_event: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t, event: *const cef_key_event_t),
>,
#[doc = "\n Send a mouse click event to the browser. The |x| and |y| coordinates are\n relative to the upper-left corner of the view.\n"]
pub send_mouse_click_event: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_host_t,
event: *const cef_mouse_event_t,
type_: cef_mouse_button_type_t,
mouseUp: ::std::os::raw::c_int,
clickCount: ::std::os::raw::c_int,
),
>,
#[doc = "\n Send a mouse move event to the browser. The |x| and |y| coordinates are\n relative to the upper-left corner of the view.\n"]
pub send_mouse_move_event: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_host_t,
event: *const cef_mouse_event_t,
mouseLeave: ::std::os::raw::c_int,
),
>,
#[doc = "\n Send a mouse wheel event to the browser. The |x| and |y| coordinates are\n relative to the upper-left corner of the view. The |deltaX| and |deltaY|\n values represent the movement delta in the X and Y directions\n respectively. In order to scroll inside select popups with window\n rendering disabled cef_render_handler_t::GetScreenPoint should be\n implemented properly.\n"]
pub send_mouse_wheel_event: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_host_t,
event: *const cef_mouse_event_t,
deltaX: ::std::os::raw::c_int,
deltaY: ::std::os::raw::c_int,
),
>,
#[doc = "\n Send a touch event to the browser for a windowless browser.\n"]
pub send_touch_event: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t, event: *const cef_touch_event_t),
>,
#[doc = "\n Send a capture lost event to the browser.\n"]
pub send_capture_lost_event:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_browser_host_t)>,
#[doc = "\n Notify the browser that the window hosting it is about to be moved or\n resized. This function is only used on Windows and Linux.\n"]
pub notify_move_or_resize_started:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_browser_host_t)>,
#[doc = "\n Returns the maximum rate in frames per second (fps) that\n cef_render_handler_t::OnPaint will be called for a windowless browser. The\n actual fps may be lower if the browser cannot generate frames at the\n requested rate. The minimum value is 1 and the maximum value is 60\n (default 30). This function can only be called on the UI thread.\n"]
pub get_windowless_frame_rate: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Set the maximum rate in frames per second (fps) that\n cef_render_handler_t:: OnPaint will be called for a windowless browser.\n The actual fps may be lower if the browser cannot generate frames at the\n requested rate. The minimum value is 1 and the maximum value is 60\n (default 30). Can also be set at browser creation via\n cef_browser_tSettings.windowless_frame_rate.\n"]
pub set_windowless_frame_rate: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t, frame_rate: ::std::os::raw::c_int),
>,
#[doc = "\n Begins a new composition or updates the existing composition. Blink has a\n special node (a composition node) that allows the input function to change\n text without affecting other DOM nodes. |text| is the optional text that\n will be inserted into the composition node. |underlines| is an optional\n set of ranges that will be underlined in the resulting text.\n |replacement_range| is an optional range of the existing text that will be\n replaced. |selection_range| is an optional range of the resulting text\n that will be selected after insertion or replacement. The\n |replacement_range| value is only used on OS X.\n\n This function may be called multiple times as the composition changes.\n When the client is done making changes the composition should either be\n canceled or completed. To cancel the composition call\n ImeCancelComposition. To complete the composition call either\n ImeCommitText or ImeFinishComposingText. Completion is usually signaled\n when:\n\n 1. The client receives a WM_IME_COMPOSITION message with a GCS_RESULTSTR\n flag (on Windows), or;\n 2. The client receives a \"commit\" signal of GtkIMContext (on Linux), or;\n 3. insertText of NSTextInput is called (on Mac).\n\n This function is only used when window rendering is disabled.\n"]
pub ime_set_composition: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_host_t,
text: *const cef_string_t,
underlinesCount: usize,
underlines: *const cef_composition_underline_t,
replacement_range: *const cef_range_t,
selection_range: *const cef_range_t,
),
>,
#[doc = "\n Completes the existing composition by optionally inserting the specified\n |text| into the composition node. |replacement_range| is an optional range\n of the existing text that will be replaced. |relative_cursor_pos| is where\n the cursor will be positioned relative to the current cursor position. See\n comments on ImeSetComposition for usage. The |replacement_range| and\n |relative_cursor_pos| values are only used on OS X. This function is only\n used when window rendering is disabled.\n"]
pub ime_commit_text: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_host_t,
text: *const cef_string_t,
replacement_range: *const cef_range_t,
relative_cursor_pos: ::std::os::raw::c_int,
),
>,
#[doc = "\n Completes the existing composition by applying the current composition\n node contents. If |keep_selection| is false (0) the current selection, if\n any, will be discarded. See comments on ImeSetComposition for usage. This\n function is only used when window rendering is disabled.\n"]
pub ime_finish_composing_text: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_host_t,
keep_selection: ::std::os::raw::c_int,
),
>,
#[doc = "\n Cancels the existing composition and discards the composition node\n contents without applying them. See comments on ImeSetComposition for\n usage. This function is only used when window rendering is disabled.\n"]
pub ime_cancel_composition:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_browser_host_t)>,
#[doc = "\n Call this function when the user drags the mouse into the web view (before\n calling DragTargetDragOver/DragTargetLeave/DragTargetDrop). |drag_data|\n should not contain file contents as this type of data is not allowed to be\n dragged into the web view. File contents can be removed using\n cef_drag_data_t::ResetFileContents (for example, if |drag_data| comes from\n cef_render_handler_t::StartDragging). This function is only used when\n window rendering is disabled.\n"]
pub drag_target_drag_enter: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_host_t,
drag_data: *mut _cef_drag_data_t,
event: *const cef_mouse_event_t,
allowed_ops: cef_drag_operations_mask_t,
),
>,
#[doc = "\n Call this function each time the mouse is moved across the web view during\n a drag operation (after calling DragTargetDragEnter and before calling\n DragTargetDragLeave/DragTargetDrop). This function is only used when\n window rendering is disabled.\n"]
pub drag_target_drag_over: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_host_t,
event: *const cef_mouse_event_t,
allowed_ops: cef_drag_operations_mask_t,
),
>,
#[doc = "\n Call this function when the user drags the mouse out of the web view\n (after calling DragTargetDragEnter). This function is only used when\n window rendering is disabled.\n"]
pub drag_target_drag_leave:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_browser_host_t)>,
#[doc = "\n Call this function when the user completes the drag operation by dropping\n the object onto the web view (after calling DragTargetDragEnter). The\n object being dropped is |drag_data|, given as an argument to the previous\n DragTargetDragEnter call. This function is only used when window rendering\n is disabled.\n"]
pub drag_target_drop: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t, event: *const cef_mouse_event_t),
>,
#[doc = "\n Call this function when the drag operation started by a\n cef_render_handler_t::StartDragging call has ended either in a drop or by\n being cancelled. |x| and |y| are mouse coordinates relative to the upper-\n left corner of the view. If the web view is both the drag source and the\n drag target then all DragTarget* functions should be called before\n DragSource* mthods. This function is only used when window rendering is\n disabled.\n"]
pub drag_source_ended_at: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_host_t,
x: ::std::os::raw::c_int,
y: ::std::os::raw::c_int,
op: cef_drag_operations_mask_t,
),
>,
#[doc = "\n Call this function when the drag operation started by a\n cef_render_handler_t::StartDragging call has completed. This function may\n be called immediately without first calling DragSourceEndedAt to cancel a\n drag operation. If the web view is both the drag source and the drag\n target then all DragTarget* functions should be called before DragSource*\n mthods. This function is only used when window rendering is disabled.\n"]
pub drag_source_system_drag_ended:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_browser_host_t)>,
#[doc = "\n Returns the current visible navigation entry for this browser. This\n function can only be called on the UI thread.\n"]
pub get_visible_navigation_entry: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t) -> *mut _cef_navigation_entry_t,
>,
#[doc = "\n Set accessibility state for all frames. |accessibility_state| may be\n default, enabled or disabled. If |accessibility_state| is STATE_DEFAULT\n then accessibility will be disabled by default and the state may be\n further controlled with the \"force-renderer-accessibility\" and \"disable-\n renderer-accessibility\" command-line switches. If |accessibility_state| is\n STATE_ENABLED then accessibility will be enabled. If |accessibility_state|\n is STATE_DISABLED then accessibility will be completely disabled.\n\n For windowed browsers accessibility will be enabled in Complete mode\n (which corresponds to kAccessibilityModeComplete in Chromium). In this\n mode all platform accessibility objects will be created and managed by\n Chromium's internal implementation. The client needs only to detect the\n screen reader and call this function appropriately. For example, on macOS\n the client can handle the @\"AXEnhancedUserStructure\" accessibility\n attribute to detect VoiceOver state changes and on Windows the client can\n handle WM_GETOBJECT with OBJID_CLIENT to detect accessibility readers.\n\n For windowless browsers accessibility will be enabled in TreeOnly mode\n (which corresponds to kAccessibilityModeWebContentsOnly in Chromium). In\n this mode renderer accessibility is enabled, the full tree is computed,\n and events are passed to CefAccessibiltyHandler, but platform\n accessibility objects are not created. The client may implement platform\n accessibility objects using CefAccessibiltyHandler callbacks if desired.\n"]
pub set_accessibility_state: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t, accessibility_state: cef_state_t),
>,
#[doc = "\n Enable notifications of auto resize via\n cef_display_handler_t::OnAutoResize. Notifications are disabled by\n default. |min_size| and |max_size| define the range of allowed sizes.\n"]
pub set_auto_resize_enabled: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_host_t,
enabled: ::std::os::raw::c_int,
min_size: *const cef_size_t,
max_size: *const cef_size_t,
),
>,
#[doc = "\n Returns the extension hosted in this browser or NULL if no extension is\n hosted. See cef_request_context_t::LoadExtension for details.\n"]
pub get_extension: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t) -> *mut _cef_extension_t,
>,
#[doc = "\n Returns true (1) if this browser is hosting an extension background\n script. Background hosts do not have a window and are not displayable. See\n cef_request_context_t::LoadExtension for details.\n"]
pub is_background_host: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Set whether the browser's audio is muted.\n"]
pub set_audio_muted: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t, mute: ::std::os::raw::c_int),
>,
#[doc = "\n Returns true (1) if the browser's audio is muted. This function can only\n be called on the UI thread.\n"]
pub is_audio_muted: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_host_t) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_browser_host_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_browser_host_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_browser_host_t>(),
512usize,
concat!("Size of: ", stringify!(_cef_browser_host_t))
);
assert_eq!(
::std::mem::align_of::<_cef_browser_host_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_browser_host_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_browser) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(get_browser)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).close_browser) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(close_browser)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).try_close_browser) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(try_close_browser)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_focus) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(set_focus)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_window_handle) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(get_window_handle)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_opener_window_handle) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(get_opener_window_handle)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).has_view) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(has_view)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_client) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(get_client)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_request_context) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(get_request_context)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_zoom_level) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(get_zoom_level)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_zoom_level) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(set_zoom_level)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).run_file_dialog) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(run_file_dialog)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).start_download) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(start_download)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).download_image) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(download_image)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).print) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(print)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).print_to_pdf) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(print_to_pdf)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).find) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(find)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).stop_finding) as usize - ptr as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(stop_finding)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).show_dev_tools) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(show_dev_tools)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).close_dev_tools) as usize - ptr as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(close_dev_tools)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).has_dev_tools) as usize - ptr as usize },
200usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(has_dev_tools)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).send_dev_tools_message) as usize - ptr as usize },
208usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(send_dev_tools_message)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).execute_dev_tools_method) as usize - ptr as usize },
216usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(execute_dev_tools_method)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).add_dev_tools_message_observer) as usize - ptr as usize
},
224usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(add_dev_tools_message_observer)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_navigation_entries) as usize - ptr as usize },
232usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(get_navigation_entries)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).replace_misspelling) as usize - ptr as usize },
240usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(replace_misspelling)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).add_word_to_dictionary) as usize - ptr as usize },
248usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(add_word_to_dictionary)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).is_window_rendering_disabled) as usize - ptr as usize
},
256usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(is_window_rendering_disabled)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).was_resized) as usize - ptr as usize },
264usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(was_resized)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).was_hidden) as usize - ptr as usize },
272usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(was_hidden)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).notify_screen_info_changed) as usize - ptr as usize },
280usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(notify_screen_info_changed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).invalidate) as usize - ptr as usize },
288usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(invalidate)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).send_external_begin_frame) as usize - ptr as usize },
296usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(send_external_begin_frame)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).send_key_event) as usize - ptr as usize },
304usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(send_key_event)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).send_mouse_click_event) as usize - ptr as usize },
312usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(send_mouse_click_event)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).send_mouse_move_event) as usize - ptr as usize },
320usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(send_mouse_move_event)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).send_mouse_wheel_event) as usize - ptr as usize },
328usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(send_mouse_wheel_event)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).send_touch_event) as usize - ptr as usize },
336usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(send_touch_event)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).send_capture_lost_event) as usize - ptr as usize },
344usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(send_capture_lost_event)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).notify_move_or_resize_started) as usize - ptr as usize
},
352usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(notify_move_or_resize_started)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_windowless_frame_rate) as usize - ptr as usize },
360usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(get_windowless_frame_rate)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_windowless_frame_rate) as usize - ptr as usize },
368usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(set_windowless_frame_rate)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ime_set_composition) as usize - ptr as usize },
376usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(ime_set_composition)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ime_commit_text) as usize - ptr as usize },
384usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(ime_commit_text)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ime_finish_composing_text) as usize - ptr as usize },
392usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(ime_finish_composing_text)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ime_cancel_composition) as usize - ptr as usize },
400usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(ime_cancel_composition)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).drag_target_drag_enter) as usize - ptr as usize },
408usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(drag_target_drag_enter)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).drag_target_drag_over) as usize - ptr as usize },
416usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(drag_target_drag_over)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).drag_target_drag_leave) as usize - ptr as usize },
424usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(drag_target_drag_leave)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).drag_target_drop) as usize - ptr as usize },
432usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(drag_target_drop)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).drag_source_ended_at) as usize - ptr as usize },
440usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(drag_source_ended_at)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).drag_source_system_drag_ended) as usize - ptr as usize
},
448usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(drag_source_system_drag_ended)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).get_visible_navigation_entry) as usize - ptr as usize
},
456usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(get_visible_navigation_entry)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_accessibility_state) as usize - ptr as usize },
464usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(set_accessibility_state)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_auto_resize_enabled) as usize - ptr as usize },
472usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(set_auto_resize_enabled)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_extension) as usize - ptr as usize },
480usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(get_extension)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_background_host) as usize - ptr as usize },
488usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(is_background_host)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_audio_muted) as usize - ptr as usize },
496usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(set_audio_muted)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_audio_muted) as usize - ptr as usize },
504usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_host_t),
"::",
stringify!(is_audio_muted)
)
);
}
#[doc = "\n Structure used to represent the browser process aspects of a browser. The\n functions of this structure can only be called in the browser process. They\n may be called on any thread in that process unless otherwise indicated in\n the comments.\n"]
pub type cef_browser_host_t = _cef_browser_host_t;
extern "C" {
#[doc = "\n Create a new browser using the window parameters specified by |windowInfo|.\n All values will be copied internally and the actual window (if any) will be\n created on the UI thread. If |request_context| is NULL the global request\n context will be used. This function can be called on any browser process\n thread and will not block. The optional |extra_info| parameter provides an\n opportunity to specify extra information specific to the created browser\n that will be passed to cef_render_process_handler_t::on_browser_created() in\n the render process.\n"]
pub fn cef_browser_host_create_browser(
windowInfo: *const cef_window_info_t,
client: *mut _cef_client_t,
url: *const cef_string_t,
settings: *const _cef_browser_settings_t,
extra_info: *mut _cef_dictionary_value_t,
request_context: *mut _cef_request_context_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = "\n Create a new browser using the window parameters specified by |windowInfo|.\n If |request_context| is NULL the global request context will be used. This\n function can only be called on the browser process UI thread. The optional\n |extra_info| parameter provides an opportunity to specify extra information\n specific to the created browser that will be passed to\n cef_render_process_handler_t::on_browser_created() in the render process.\n"]
pub fn cef_browser_host_create_browser_sync(
windowInfo: *const cef_window_info_t,
client: *mut _cef_client_t,
url: *const cef_string_t,
settings: *const _cef_browser_settings_t,
extra_info: *mut _cef_dictionary_value_t,
request_context: *mut _cef_request_context_t,
) -> *mut cef_browser_t;
}
#[doc = "\n Implement this structure to handle audio events.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_audio_handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Called on the UI thread to allow configuration of audio stream parameters.\n Return true (1) to proceed with audio stream capture, or false (0) to\n cancel it. All members of |params| can optionally be configured here, but\n they are also pre-filled with some sensible defaults.\n"]
pub get_audio_parameters: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_audio_handler_t,
browser: *mut _cef_browser_t,
params: *mut cef_audio_parameters_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called on a browser audio capture thread when the browser starts streaming\n audio. OnAudioStreamStopped will always be called after\n OnAudioStreamStarted; both functions may be called multiple times for the\n same browser. |params| contains the audio parameters like sample rate and\n channel layout. |channels| is the number of channels.\n"]
pub on_audio_stream_started: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_audio_handler_t,
browser: *mut _cef_browser_t,
params: *const cef_audio_parameters_t,
channels: ::std::os::raw::c_int,
),
>,
#[doc = "\n Called on the audio stream thread when a PCM packet is received for the\n stream. |data| is an array representing the raw PCM data as a floating\n point type, i.e. 4-byte value(s). |frames| is the number of frames in the\n PCM packet. |pts| is the presentation timestamp (in milliseconds since the\n Unix Epoch) and represents the time at which the decompressed packet\n should be presented to the user. Based on |frames| and the\n |channel_layout| value passed to OnAudioStreamStarted you can calculate\n the size of the |data| array in bytes.\n"]
pub on_audio_stream_packet: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_audio_handler_t,
browser: *mut _cef_browser_t,
data: *mut *const f32,
frames: ::std::os::raw::c_int,
pts: i64,
),
>,
#[doc = "\n Called on the UI thread when the stream has stopped. OnAudioSteamStopped\n will always be called after OnAudioStreamStarted; both functions may be\n called multiple times for the same stream.\n"]
pub on_audio_stream_stopped: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_audio_handler_t, browser: *mut _cef_browser_t),
>,
#[doc = "\n Called on the UI or audio stream thread when an error occurred. During the\n stream creation phase this callback will be called on the UI thread while\n in the capturing phase it will be called on the audio stream thread. The\n stream will be stopped immediately.\n"]
pub on_audio_stream_error: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_audio_handler_t,
browser: *mut _cef_browser_t,
message: *const cef_string_t,
),
>,
}
#[test]
fn bindgen_test_layout__cef_audio_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_audio_handler_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_audio_handler_t>(),
80usize,
concat!("Size of: ", stringify!(_cef_audio_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_audio_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_audio_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_audio_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_audio_parameters) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_audio_handler_t),
"::",
stringify!(get_audio_parameters)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_audio_stream_started) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_audio_handler_t),
"::",
stringify!(on_audio_stream_started)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_audio_stream_packet) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_audio_handler_t),
"::",
stringify!(on_audio_stream_packet)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_audio_stream_stopped) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_audio_handler_t),
"::",
stringify!(on_audio_stream_stopped)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_audio_stream_error) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_audio_handler_t),
"::",
stringify!(on_audio_stream_error)
)
);
}
#[doc = "\n Implement this structure to handle audio events.\n"]
pub type cef_audio_handler_t = _cef_audio_handler_t;
#[doc = "\n Implement this structure to handle events related to commands. The functions\n of this structure will be called on the UI thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_command_handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Called to execute a Chrome command triggered via menu selection or\n keyboard shortcut. Values for |command_id| can be found in the\n cef_command_ids.h file. |disposition| provides information about the\n intended command target. Return true (1) if the command was handled or\n false (0) for the default implementation. For context menu commands this\n will be called after cef_context_menu_handler_t::OnContextMenuCommand.\n Only used with the Chrome runtime.\n"]
pub on_chrome_command: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_command_handler_t,
browser: *mut _cef_browser_t,
command_id: ::std::os::raw::c_int,
disposition: cef_window_open_disposition_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called to check if a Chrome app menu item should be visible. Values for\n |command_id| can be found in the cef_command_ids.h file. Only called for\n menu items that would be visible by default. Only used with the Chrome\n runtime.\n"]
pub is_chrome_app_menu_item_visible: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_command_handler_t,
browser: *mut _cef_browser_t,
command_id: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called to check if a Chrome app menu item should be enabled. Values for\n |command_id| can be found in the cef_command_ids.h file. Only called for\n menu items that would be enabled by default. Only used with the Chrome\n runtime.\n"]
pub is_chrome_app_menu_item_enabled: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_command_handler_t,
browser: *mut _cef_browser_t,
command_id: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called during browser creation to check if a Chrome page action icon\n should be visible. Only called for icons that would be visible by default.\n Only used with the Chrome runtime.\n"]
pub is_chrome_page_action_icon_visible: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_command_handler_t,
icon_type: cef_chrome_page_action_icon_type_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called during browser creation to check if a Chrome toolbar button should\n be visible. Only called for buttons that would be visible by default. Only\n used with the Chrome runtime.\n"]
pub is_chrome_toolbar_button_visible: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_command_handler_t,
button_type: cef_chrome_toolbar_button_type_t,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_command_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_command_handler_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_command_handler_t>(),
80usize,
concat!("Size of: ", stringify!(_cef_command_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_command_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_command_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_chrome_command) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_handler_t),
"::",
stringify!(on_chrome_command)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).is_chrome_app_menu_item_visible) as usize - ptr as usize
},
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_handler_t),
"::",
stringify!(is_chrome_app_menu_item_visible)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).is_chrome_app_menu_item_enabled) as usize - ptr as usize
},
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_handler_t),
"::",
stringify!(is_chrome_app_menu_item_enabled)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).is_chrome_page_action_icon_visible) as usize - ptr as usize
},
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_handler_t),
"::",
stringify!(is_chrome_page_action_icon_visible)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).is_chrome_toolbar_button_visible) as usize - ptr as usize
},
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_handler_t),
"::",
stringify!(is_chrome_toolbar_button_visible)
)
);
}
#[doc = "\n Implement this structure to handle events related to commands. The functions\n of this structure will be called on the UI thread.\n"]
pub type cef_command_handler_t = _cef_command_handler_t;
#[doc = "\n Implement this structure to handle menu model events. The functions of this\n structure will be called on the browser process UI thread unless otherwise\n indicated.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_menu_model_delegate_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Perform the action associated with the specified |command_id| and optional\n |event_flags|.\n"]
pub execute_command: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_delegate_t,
menu_model: *mut _cef_menu_model_t,
command_id: ::std::os::raw::c_int,
event_flags: cef_event_flags_t,
),
>,
#[doc = "\n Called when the user moves the mouse outside the menu and over the owning\n window.\n"]
pub mouse_outside_menu: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_delegate_t,
menu_model: *mut _cef_menu_model_t,
screen_point: *const cef_point_t,
),
>,
#[doc = "\n Called on unhandled open submenu keyboard commands. |is_rtl| will be true\n (1) if the menu is displaying a right-to-left language.\n"]
pub unhandled_open_submenu: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_delegate_t,
menu_model: *mut _cef_menu_model_t,
is_rtl: ::std::os::raw::c_int,
),
>,
#[doc = "\n Called on unhandled close submenu keyboard commands. |is_rtl| will be true\n (1) if the menu is displaying a right-to-left language.\n"]
pub unhandled_close_submenu: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_delegate_t,
menu_model: *mut _cef_menu_model_t,
is_rtl: ::std::os::raw::c_int,
),
>,
#[doc = "\n The menu is about to show.\n"]
pub menu_will_show: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_delegate_t,
menu_model: *mut _cef_menu_model_t,
),
>,
#[doc = "\n The menu has closed.\n"]
pub menu_closed: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_delegate_t,
menu_model: *mut _cef_menu_model_t,
),
>,
#[doc = "\n Optionally modify a menu item label. Return true (1) if |label| was\n modified.\n"]
pub format_label: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_delegate_t,
menu_model: *mut _cef_menu_model_t,
label: *mut cef_string_t,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_menu_model_delegate_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_menu_model_delegate_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_menu_model_delegate_t>(),
96usize,
concat!("Size of: ", stringify!(_cef_menu_model_delegate_t))
);
assert_eq!(
::std::mem::align_of::<_cef_menu_model_delegate_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_menu_model_delegate_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_delegate_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).execute_command) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_delegate_t),
"::",
stringify!(execute_command)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).mouse_outside_menu) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_delegate_t),
"::",
stringify!(mouse_outside_menu)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unhandled_open_submenu) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_delegate_t),
"::",
stringify!(unhandled_open_submenu)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unhandled_close_submenu) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_delegate_t),
"::",
stringify!(unhandled_close_submenu)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).menu_will_show) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_delegate_t),
"::",
stringify!(menu_will_show)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).menu_closed) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_delegate_t),
"::",
stringify!(menu_closed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).format_label) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_delegate_t),
"::",
stringify!(format_label)
)
);
}
#[doc = "\n Implement this structure to handle menu model events. The functions of this\n structure will be called on the browser process UI thread unless otherwise\n indicated.\n"]
pub type cef_menu_model_delegate_t = _cef_menu_model_delegate_t;
#[doc = "\n Supports creation and modification of menus. See cef_menu_id_t for the\n command ids that have default implementations. All user-defined command ids\n should be between MENU_ID_USER_FIRST and MENU_ID_USER_LAST. The functions of\n this structure can only be accessed on the browser process the UI thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_menu_model_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns true (1) if this menu is a submenu.\n"]
pub is_sub_menu: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_menu_model_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Clears the menu. Returns true (1) on success.\n"]
pub clear: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_menu_model_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the number of items in this menu.\n"]
pub get_count:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_menu_model_t) -> usize>,
#[doc = "\n Add a separator to the menu. Returns true (1) on success.\n"]
pub add_separator: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_menu_model_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Add an item to the menu. Returns true (1) on success.\n"]
pub add_item: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
command_id: ::std::os::raw::c_int,
label: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Add a check item to the menu. Returns true (1) on success.\n"]
pub add_check_item: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
command_id: ::std::os::raw::c_int,
label: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Add a radio item to the menu. Only a single item with the specified\n |group_id| can be checked at a time. Returns true (1) on success.\n"]
pub add_radio_item: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
command_id: ::std::os::raw::c_int,
label: *const cef_string_t,
group_id: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Add a sub-menu to the menu. The new sub-menu is returned.\n"]
pub add_sub_menu: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
command_id: ::std::os::raw::c_int,
label: *const cef_string_t,
) -> *mut _cef_menu_model_t,
>,
#[doc = "\n Insert a separator in the menu at the specified |index|. Returns true (1)\n on success.\n"]
pub insert_separator_at: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_menu_model_t, index: usize) -> ::std::os::raw::c_int,
>,
#[doc = "\n Insert an item in the menu at the specified |index|. Returns true (1) on\n success.\n"]
pub insert_item_at: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
index: usize,
command_id: ::std::os::raw::c_int,
label: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Insert a check item in the menu at the specified |index|. Returns true (1)\n on success.\n"]
pub insert_check_item_at: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
index: usize,
command_id: ::std::os::raw::c_int,
label: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Insert a radio item in the menu at the specified |index|. Only a single\n item with the specified |group_id| can be checked at a time. Returns true\n (1) on success.\n"]
pub insert_radio_item_at: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
index: usize,
command_id: ::std::os::raw::c_int,
label: *const cef_string_t,
group_id: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Insert a sub-menu in the menu at the specified |index|. The new sub-menu\n is returned.\n"]
pub insert_sub_menu_at: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
index: usize,
command_id: ::std::os::raw::c_int,
label: *const cef_string_t,
) -> *mut _cef_menu_model_t,
>,
#[doc = "\n Removes the item with the specified |command_id|. Returns true (1) on\n success.\n"]
pub remove: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
command_id: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Removes the item at the specified |index|. Returns true (1) on success.\n"]
pub remove_at: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_menu_model_t, index: usize) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the index associated with the specified |command_id| or -1 if not\n found due to the command id not existing in the menu.\n"]
pub get_index_of: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
command_id: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the command id at the specified |index| or -1 if not found due to\n invalid range or the index being a separator.\n"]
pub get_command_id_at: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_menu_model_t, index: usize) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the command id at the specified |index|. Returns true (1) on success.\n"]
pub set_command_id_at: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
index: usize,
command_id: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the label for the specified |command_id| or NULL if not found.\n"]
pub get_label: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
command_id: ::std::os::raw::c_int,
) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the label at the specified |index| or NULL if not found due to\n invalid range or the index being a separator.\n"]
pub get_label_at: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_menu_model_t, index: usize) -> cef_string_userfree_t,
>,
#[doc = "\n Sets the label for the specified |command_id|. Returns true (1) on\n success.\n"]
pub set_label: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
command_id: ::std::os::raw::c_int,
label: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Set the label at the specified |index|. Returns true (1) on success.\n"]
pub set_label_at: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
index: usize,
label: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the item type for the specified |command_id|.\n"]
pub get_type: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
command_id: ::std::os::raw::c_int,
) -> cef_menu_item_type_t,
>,
#[doc = "\n Returns the item type at the specified |index|.\n"]
pub get_type_at: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_menu_model_t, index: usize) -> cef_menu_item_type_t,
>,
#[doc = "\n Returns the group id for the specified |command_id| or -1 if invalid.\n"]
pub get_group_id: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
command_id: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the group id at the specified |index| or -1 if invalid.\n"]
pub get_group_id_at: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_menu_model_t, index: usize) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the group id for the specified |command_id|. Returns true (1) on\n success.\n"]
pub set_group_id: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
command_id: ::std::os::raw::c_int,
group_id: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the group id at the specified |index|. Returns true (1) on success.\n"]
pub set_group_id_at: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
index: usize,
group_id: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the submenu for the specified |command_id| or NULL if invalid.\n"]
pub get_sub_menu: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
command_id: ::std::os::raw::c_int,
) -> *mut _cef_menu_model_t,
>,
#[doc = "\n Returns the submenu at the specified |index| or NULL if invalid.\n"]
pub get_sub_menu_at: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_menu_model_t, index: usize) -> *mut _cef_menu_model_t,
>,
#[doc = "\n Returns true (1) if the specified |command_id| is visible.\n"]
pub is_visible: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
command_id: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the specified |index| is visible.\n"]
pub is_visible_at: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_menu_model_t, index: usize) -> ::std::os::raw::c_int,
>,
#[doc = "\n Change the visibility of the specified |command_id|. Returns true (1) on\n success.\n"]
pub set_visible: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
command_id: ::std::os::raw::c_int,
visible: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Change the visibility at the specified |index|. Returns true (1) on\n success.\n"]
pub set_visible_at: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
index: usize,
visible: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the specified |command_id| is enabled.\n"]
pub is_enabled: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
command_id: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the specified |index| is enabled.\n"]
pub is_enabled_at: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_menu_model_t, index: usize) -> ::std::os::raw::c_int,
>,
#[doc = "\n Change the enabled status of the specified |command_id|. Returns true (1)\n on success.\n"]
pub set_enabled: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
command_id: ::std::os::raw::c_int,
enabled: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Change the enabled status at the specified |index|. Returns true (1) on\n success.\n"]
pub set_enabled_at: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
index: usize,
enabled: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the specified |command_id| is checked. Only applies to\n check and radio items.\n"]
pub is_checked: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
command_id: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the specified |index| is checked. Only applies to\n check and radio items.\n"]
pub is_checked_at: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_menu_model_t, index: usize) -> ::std::os::raw::c_int,
>,
#[doc = "\n Check the specified |command_id|. Only applies to check and radio items.\n Returns true (1) on success.\n"]
pub set_checked: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
command_id: ::std::os::raw::c_int,
checked: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Check the specified |index|. Only applies to check and radio items.\n Returns true (1) on success.\n"]
pub set_checked_at: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
index: usize,
checked: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the specified |command_id| has a keyboard accelerator\n assigned.\n"]
pub has_accelerator: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
command_id: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the specified |index| has a keyboard accelerator\n assigned.\n"]
pub has_accelerator_at: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_menu_model_t, index: usize) -> ::std::os::raw::c_int,
>,
#[doc = "\n Set the keyboard accelerator for the specified |command_id|. |key_code|\n can be any virtual key or character value. Returns true (1) on success.\n"]
pub set_accelerator: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
command_id: ::std::os::raw::c_int,
key_code: ::std::os::raw::c_int,
shift_pressed: ::std::os::raw::c_int,
ctrl_pressed: ::std::os::raw::c_int,
alt_pressed: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Set the keyboard accelerator at the specified |index|. |key_code| can be\n any virtual key or character value. Returns true (1) on success.\n"]
pub set_accelerator_at: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
index: usize,
key_code: ::std::os::raw::c_int,
shift_pressed: ::std::os::raw::c_int,
ctrl_pressed: ::std::os::raw::c_int,
alt_pressed: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Remove the keyboard accelerator for the specified |command_id|. Returns\n true (1) on success.\n"]
pub remove_accelerator: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
command_id: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Remove the keyboard accelerator at the specified |index|. Returns true (1)\n on success.\n"]
pub remove_accelerator_at: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_menu_model_t, index: usize) -> ::std::os::raw::c_int,
>,
#[doc = "\n Retrieves the keyboard accelerator for the specified |command_id|. Returns\n true (1) on success.\n"]
pub get_accelerator: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
command_id: ::std::os::raw::c_int,
key_code: *mut ::std::os::raw::c_int,
shift_pressed: *mut ::std::os::raw::c_int,
ctrl_pressed: *mut ::std::os::raw::c_int,
alt_pressed: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Retrieves the keyboard accelerator for the specified |index|. Returns true\n (1) on success.\n"]
pub get_accelerator_at: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
index: usize,
key_code: *mut ::std::os::raw::c_int,
shift_pressed: *mut ::std::os::raw::c_int,
ctrl_pressed: *mut ::std::os::raw::c_int,
alt_pressed: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Set the explicit color for |command_id| and |color_type| to |color|.\n Specify a |color| value of 0 to remove the explicit color. If no explicit\n color or default color is set for |color_type| then the system color will\n be used. Returns true (1) on success.\n"]
pub set_color: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
command_id: ::std::os::raw::c_int,
color_type: cef_menu_color_type_t,
color: cef_color_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Set the explicit color for |command_id| and |index| to |color|. Specify a\n |color| value of 0 to remove the explicit color. Specify an |index| value\n of -1 to set the default color for items that do not have an explicit\n color set. If no explicit color or default color is set for |color_type|\n then the system color will be used. Returns true (1) on success.\n"]
pub set_color_at: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
index: ::std::os::raw::c_int,
color_type: cef_menu_color_type_t,
color: cef_color_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns in |color| the color that was explicitly set for |command_id| and\n |color_type|. If a color was not set then 0 will be returned in |color|.\n Returns true (1) on success.\n"]
pub get_color: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
command_id: ::std::os::raw::c_int,
color_type: cef_menu_color_type_t,
color: *mut cef_color_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns in |color| the color that was explicitly set for |command_id| and\n |color_type|. Specify an |index| value of -1 to return the default color\n in |color|. If a color was not set then 0 will be returned in |color|.\n Returns true (1) on success.\n"]
pub get_color_at: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
index: ::std::os::raw::c_int,
color_type: cef_menu_color_type_t,
color: *mut cef_color_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the font list for the specified |command_id|. If |font_list| is NULL\n the system font will be used. Returns true (1) on success. The format is\n \"<FONT_FAMILY_LIST>,[STYLES] <SIZE>\", where: - FONT_FAMILY_LIST is a\n comma-separated list of font family names, - STYLES is an optional space-\n separated list of style names\n (case-sensitive \"Bold\" and \"Italic\" are supported), and\n - SIZE is an integer font size in pixels with the suffix \"px\".\n\n Here are examples of valid font description strings: - \"Arial, Helvetica,\n Bold Italic 14px\" - \"Arial, 14px\"\n"]
pub set_font_list: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
command_id: ::std::os::raw::c_int,
font_list: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the font list for the specified |index|. Specify an |index| value of\n -1 to set the default font. If |font_list| is NULL the system font will be\n used. Returns true (1) on success. The format is\n \"<FONT_FAMILY_LIST>,[STYLES] <SIZE>\", where: - FONT_FAMILY_LIST is a\n comma-separated list of font family names, - STYLES is an optional space-\n separated list of style names\n (case-sensitive \"Bold\" and \"Italic\" are supported), and\n - SIZE is an integer font size in pixels with the suffix \"px\".\n\n Here are examples of valid font description strings: - \"Arial, Helvetica,\n Bold Italic 14px\" - \"Arial, 14px\"\n"]
pub set_font_list_at: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_menu_model_t,
index: ::std::os::raw::c_int,
font_list: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_menu_model_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_menu_model_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_menu_model_t>(),
488usize,
concat!("Size of: ", stringify!(_cef_menu_model_t))
);
assert_eq!(
::std::mem::align_of::<_cef_menu_model_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_menu_model_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_sub_menu) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(is_sub_menu)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).clear) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(clear)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_count) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(get_count)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).add_separator) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(add_separator)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).add_item) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(add_item)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).add_check_item) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(add_check_item)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).add_radio_item) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(add_radio_item)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).add_sub_menu) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(add_sub_menu)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).insert_separator_at) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(insert_separator_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).insert_item_at) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(insert_item_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).insert_check_item_at) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(insert_check_item_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).insert_radio_item_at) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(insert_radio_item_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).insert_sub_menu_at) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(insert_sub_menu_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).remove) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(remove)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).remove_at) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(remove_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_index_of) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(get_index_of)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_command_id_at) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(get_command_id_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_command_id_at) as usize - ptr as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(set_command_id_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_label) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(get_label)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_label_at) as usize - ptr as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(get_label_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_label) as usize - ptr as usize },
200usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(set_label)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_label_at) as usize - ptr as usize },
208usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(set_label_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_type) as usize - ptr as usize },
216usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(get_type)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_type_at) as usize - ptr as usize },
224usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(get_type_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_group_id) as usize - ptr as usize },
232usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(get_group_id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_group_id_at) as usize - ptr as usize },
240usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(get_group_id_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_group_id) as usize - ptr as usize },
248usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(set_group_id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_group_id_at) as usize - ptr as usize },
256usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(set_group_id_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_sub_menu) as usize - ptr as usize },
264usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(get_sub_menu)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_sub_menu_at) as usize - ptr as usize },
272usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(get_sub_menu_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_visible) as usize - ptr as usize },
280usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(is_visible)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_visible_at) as usize - ptr as usize },
288usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(is_visible_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_visible) as usize - ptr as usize },
296usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(set_visible)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_visible_at) as usize - ptr as usize },
304usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(set_visible_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_enabled) as usize - ptr as usize },
312usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(is_enabled)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_enabled_at) as usize - ptr as usize },
320usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(is_enabled_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_enabled) as usize - ptr as usize },
328usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(set_enabled)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_enabled_at) as usize - ptr as usize },
336usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(set_enabled_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_checked) as usize - ptr as usize },
344usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(is_checked)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_checked_at) as usize - ptr as usize },
352usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(is_checked_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_checked) as usize - ptr as usize },
360usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(set_checked)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_checked_at) as usize - ptr as usize },
368usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(set_checked_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).has_accelerator) as usize - ptr as usize },
376usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(has_accelerator)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).has_accelerator_at) as usize - ptr as usize },
384usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(has_accelerator_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_accelerator) as usize - ptr as usize },
392usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(set_accelerator)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_accelerator_at) as usize - ptr as usize },
400usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(set_accelerator_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).remove_accelerator) as usize - ptr as usize },
408usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(remove_accelerator)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).remove_accelerator_at) as usize - ptr as usize },
416usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(remove_accelerator_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_accelerator) as usize - ptr as usize },
424usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(get_accelerator)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_accelerator_at) as usize - ptr as usize },
432usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(get_accelerator_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_color) as usize - ptr as usize },
440usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(set_color)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_color_at) as usize - ptr as usize },
448usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(set_color_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_color) as usize - ptr as usize },
456usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(get_color)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_color_at) as usize - ptr as usize },
464usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(get_color_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_font_list) as usize - ptr as usize },
472usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(set_font_list)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_font_list_at) as usize - ptr as usize },
480usize,
concat!(
"Offset of field: ",
stringify!(_cef_menu_model_t),
"::",
stringify!(set_font_list_at)
)
);
}
#[doc = "\n Supports creation and modification of menus. See cef_menu_id_t for the\n command ids that have default implementations. All user-defined command ids\n should be between MENU_ID_USER_FIRST and MENU_ID_USER_LAST. The functions of\n this structure can only be accessed on the browser process the UI thread.\n"]
pub type cef_menu_model_t = _cef_menu_model_t;
extern "C" {
#[doc = "\n Create a new MenuModel with the specified |delegate|.\n"]
pub fn cef_menu_model_create(
delegate: *mut _cef_menu_model_delegate_t,
) -> *mut cef_menu_model_t;
}
#[doc = "\n Callback structure used for continuation of custom context menu display.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_run_context_menu_callback_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Complete context menu display by selecting the specified |command_id| and\n |event_flags|.\n"]
pub cont: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_run_context_menu_callback_t,
command_id: ::std::os::raw::c_int,
event_flags: cef_event_flags_t,
),
>,
#[doc = "\n Cancel context menu display.\n"]
pub cancel:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_run_context_menu_callback_t)>,
}
#[test]
fn bindgen_test_layout__cef_run_context_menu_callback_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_run_context_menu_callback_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_run_context_menu_callback_t>(),
56usize,
concat!("Size of: ", stringify!(_cef_run_context_menu_callback_t))
);
assert_eq!(
::std::mem::align_of::<_cef_run_context_menu_callback_t>(),
8usize,
concat!(
"Alignment of ",
stringify!(_cef_run_context_menu_callback_t)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_run_context_menu_callback_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cont) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_run_context_menu_callback_t),
"::",
stringify!(cont)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cancel) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_run_context_menu_callback_t),
"::",
stringify!(cancel)
)
);
}
#[doc = "\n Callback structure used for continuation of custom context menu display.\n"]
pub type cef_run_context_menu_callback_t = _cef_run_context_menu_callback_t;
#[doc = "\n Callback structure used for continuation of custom quick menu display.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_run_quick_menu_callback_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Complete quick menu display by selecting the specified |command_id| and\n |event_flags|.\n"]
pub cont: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_run_quick_menu_callback_t,
command_id: ::std::os::raw::c_int,
event_flags: cef_event_flags_t,
),
>,
#[doc = "\n Cancel quick menu display.\n"]
pub cancel:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_run_quick_menu_callback_t)>,
}
#[test]
fn bindgen_test_layout__cef_run_quick_menu_callback_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_run_quick_menu_callback_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_run_quick_menu_callback_t>(),
56usize,
concat!("Size of: ", stringify!(_cef_run_quick_menu_callback_t))
);
assert_eq!(
::std::mem::align_of::<_cef_run_quick_menu_callback_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_run_quick_menu_callback_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_run_quick_menu_callback_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cont) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_run_quick_menu_callback_t),
"::",
stringify!(cont)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cancel) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_run_quick_menu_callback_t),
"::",
stringify!(cancel)
)
);
}
#[doc = "\n Callback structure used for continuation of custom quick menu display.\n"]
pub type cef_run_quick_menu_callback_t = _cef_run_quick_menu_callback_t;
#[doc = "\n Implement this structure to handle context menu events. The functions of\n this structure will be called on the UI thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_context_menu_handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Called before a context menu is displayed. |params| provides information\n about the context menu state. |model| initially contains the default\n context menu. The |model| can be cleared to show no context menu or\n modified to show a custom menu. Do not keep references to |params| or\n |model| outside of this callback.\n"]
pub on_before_context_menu: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_context_menu_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
params: *mut _cef_context_menu_params_t,
model: *mut _cef_menu_model_t,
),
>,
#[doc = "\n Called to allow custom display of the context menu. |params| provides\n information about the context menu state. |model| contains the context\n menu model resulting from OnBeforeContextMenu. For custom display return\n true (1) and execute |callback| either synchronously or asynchronously\n with the selected command ID. For default display return false (0). Do not\n keep references to |params| or |model| outside of this callback.\n"]
pub run_context_menu: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_context_menu_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
params: *mut _cef_context_menu_params_t,
model: *mut _cef_menu_model_t,
callback: *mut _cef_run_context_menu_callback_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called to execute a command selected from the context menu. Return true\n (1) if the command was handled or false (0) for the default\n implementation. See cef_menu_id_t for the command ids that have default\n implementations. All user-defined command ids should be between\n MENU_ID_USER_FIRST and MENU_ID_USER_LAST. |params| will have the same\n values as what was passed to on_before_context_menu(). Do not keep a\n reference to |params| outside of this callback.\n"]
pub on_context_menu_command: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_context_menu_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
params: *mut _cef_context_menu_params_t,
command_id: ::std::os::raw::c_int,
event_flags: cef_event_flags_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called when the context menu is dismissed irregardless of whether the menu\n was canceled or a command was selected.\n"]
pub on_context_menu_dismissed: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_context_menu_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
),
>,
#[doc = "\n Called to allow custom display of the quick menu for a windowless browser.\n |location| is the top left corner of the selected region. |size| is the\n size of the selected region. |edit_state_flags| is a combination of flags\n that represent the state of the quick menu. Return true (1) if the menu\n will be handled and execute |callback| either synchronously or\n asynchronously with the selected command ID. Return false (0) to cancel\n the menu.\n"]
pub run_quick_menu: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_context_menu_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
location: *const cef_point_t,
size: *const cef_size_t,
edit_state_flags: cef_quick_menu_edit_state_flags_t,
callback: *mut _cef_run_quick_menu_callback_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called to execute a command selected from the quick menu for a windowless\n browser. Return true (1) if the command was handled or false (0) for the\n default implementation. See cef_menu_id_t for command IDs that have\n default implementations.\n"]
pub on_quick_menu_command: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_context_menu_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
command_id: ::std::os::raw::c_int,
event_flags: cef_event_flags_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called when the quick menu for a windowless browser is dismissed\n irregardless of whether the menu was canceled or a command was selected.\n"]
pub on_quick_menu_dismissed: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_context_menu_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
),
>,
}
#[test]
fn bindgen_test_layout__cef_context_menu_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_context_menu_handler_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_context_menu_handler_t>(),
96usize,
concat!("Size of: ", stringify!(_cef_context_menu_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_context_menu_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_context_menu_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_before_context_menu) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_handler_t),
"::",
stringify!(on_before_context_menu)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).run_context_menu) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_handler_t),
"::",
stringify!(run_context_menu)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_context_menu_command) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_handler_t),
"::",
stringify!(on_context_menu_command)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_context_menu_dismissed) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_handler_t),
"::",
stringify!(on_context_menu_dismissed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).run_quick_menu) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_handler_t),
"::",
stringify!(run_quick_menu)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_quick_menu_command) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_handler_t),
"::",
stringify!(on_quick_menu_command)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_quick_menu_dismissed) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_handler_t),
"::",
stringify!(on_quick_menu_dismissed)
)
);
}
#[doc = "\n Implement this structure to handle context menu events. The functions of\n this structure will be called on the UI thread.\n"]
pub type cef_context_menu_handler_t = _cef_context_menu_handler_t;
#[doc = "\n Provides information about the context menu state. The functions of this\n structure can only be accessed on browser process the UI thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_context_menu_params_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns the X coordinate of the mouse where the context menu was invoked.\n Coords are relative to the associated RenderView's origin.\n"]
pub get_xcoord: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_context_menu_params_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the Y coordinate of the mouse where the context menu was invoked.\n Coords are relative to the associated RenderView's origin.\n"]
pub get_ycoord: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_context_menu_params_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns flags representing the type of node that the context menu was\n invoked on.\n"]
pub get_type_flags: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_context_menu_params_t,
) -> cef_context_menu_type_flags_t,
>,
#[doc = "\n Returns the URL of the link, if any, that encloses the node that the\n context menu was invoked on.\n"]
pub get_link_url: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_context_menu_params_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the link URL, if any, to be used ONLY for \"copy link address\". We\n don't validate this field in the frontend process.\n"]
pub get_unfiltered_link_url: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_context_menu_params_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the source URL, if any, for the element that the context menu was\n invoked on. Example of elements with source URLs are img, audio, and\n video.\n"]
pub get_source_url: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_context_menu_params_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns true (1) if the context menu was invoked on an image which has\n non-NULL contents.\n"]
pub has_image_contents: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_context_menu_params_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the title text or the alt text if the context menu was invoked on\n an image.\n"]
pub get_title_text: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_context_menu_params_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the URL of the top level page that the context menu was invoked\n on.\n"]
pub get_page_url: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_context_menu_params_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the URL of the subframe that the context menu was invoked on.\n"]
pub get_frame_url: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_context_menu_params_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the character encoding of the subframe that the context menu was\n invoked on.\n"]
pub get_frame_charset: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_context_menu_params_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the type of context node that the context menu was invoked on.\n"]
pub get_media_type: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_context_menu_params_t,
) -> cef_context_menu_media_type_t,
>,
#[doc = "\n Returns flags representing the actions supported by the media element, if\n any, that the context menu was invoked on.\n"]
pub get_media_state_flags: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_context_menu_params_t,
) -> cef_context_menu_media_state_flags_t,
>,
#[doc = "\n Returns the text of the selection, if any, that the context menu was\n invoked on.\n"]
pub get_selection_text: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_context_menu_params_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the text of the misspelled word, if any, that the context menu was\n invoked on.\n"]
pub get_misspelled_word: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_context_menu_params_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns true (1) if suggestions exist, false (0) otherwise. Fills in\n |suggestions| from the spell check service for the misspelled word if\n there is one.\n"]
pub get_dictionary_suggestions: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_context_menu_params_t,
suggestions: cef_string_list_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the context menu was invoked on an editable node.\n"]
pub is_editable: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_context_menu_params_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the context menu was invoked on an editable node where\n spell-check is enabled.\n"]
pub is_spell_check_enabled: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_context_menu_params_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns flags representing the actions supported by the editable node, if\n any, that the context menu was invoked on.\n"]
pub get_edit_state_flags: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_context_menu_params_t,
) -> cef_context_menu_edit_state_flags_t,
>,
#[doc = "\n Returns true (1) if the context menu contains items specified by the\n renderer process.\n"]
pub is_custom_menu: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_context_menu_params_t) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_context_menu_params_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_context_menu_params_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_context_menu_params_t>(),
200usize,
concat!("Size of: ", stringify!(_cef_context_menu_params_t))
);
assert_eq!(
::std::mem::align_of::<_cef_context_menu_params_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_context_menu_params_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_params_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_xcoord) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_params_t),
"::",
stringify!(get_xcoord)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_ycoord) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_params_t),
"::",
stringify!(get_ycoord)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_type_flags) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_params_t),
"::",
stringify!(get_type_flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_link_url) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_params_t),
"::",
stringify!(get_link_url)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_unfiltered_link_url) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_params_t),
"::",
stringify!(get_unfiltered_link_url)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_source_url) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_params_t),
"::",
stringify!(get_source_url)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).has_image_contents) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_params_t),
"::",
stringify!(has_image_contents)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_title_text) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_params_t),
"::",
stringify!(get_title_text)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_page_url) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_params_t),
"::",
stringify!(get_page_url)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_frame_url) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_params_t),
"::",
stringify!(get_frame_url)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_frame_charset) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_params_t),
"::",
stringify!(get_frame_charset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_media_type) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_params_t),
"::",
stringify!(get_media_type)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_media_state_flags) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_params_t),
"::",
stringify!(get_media_state_flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_selection_text) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_params_t),
"::",
stringify!(get_selection_text)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_misspelled_word) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_params_t),
"::",
stringify!(get_misspelled_word)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_dictionary_suggestions) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_params_t),
"::",
stringify!(get_dictionary_suggestions)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_editable) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_params_t),
"::",
stringify!(is_editable)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_spell_check_enabled) as usize - ptr as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_params_t),
"::",
stringify!(is_spell_check_enabled)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_edit_state_flags) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_params_t),
"::",
stringify!(get_edit_state_flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_custom_menu) as usize - ptr as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(_cef_context_menu_params_t),
"::",
stringify!(is_custom_menu)
)
);
}
#[doc = "\n Provides information about the context menu state. The functions of this\n structure can only be accessed on browser process the UI thread.\n"]
pub type cef_context_menu_params_t = _cef_context_menu_params_t;
#[doc = "\n Callback structure for asynchronous continuation of file dialog requests.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_file_dialog_callback_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Continue the file selection. |file_paths| should be a single value or a\n list of values depending on the dialog mode. An NULL |file_paths| value is\n treated the same as calling cancel().\n"]
pub cont: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_file_dialog_callback_t,
file_paths: cef_string_list_t,
),
>,
#[doc = "\n Cancel the file selection.\n"]
pub cancel:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_file_dialog_callback_t)>,
}
#[test]
fn bindgen_test_layout__cef_file_dialog_callback_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_file_dialog_callback_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_file_dialog_callback_t>(),
56usize,
concat!("Size of: ", stringify!(_cef_file_dialog_callback_t))
);
assert_eq!(
::std::mem::align_of::<_cef_file_dialog_callback_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_file_dialog_callback_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_file_dialog_callback_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cont) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_file_dialog_callback_t),
"::",
stringify!(cont)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cancel) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_file_dialog_callback_t),
"::",
stringify!(cancel)
)
);
}
#[doc = "\n Callback structure for asynchronous continuation of file dialog requests.\n"]
pub type cef_file_dialog_callback_t = _cef_file_dialog_callback_t;
#[doc = "\n Implement this structure to handle dialog events. The functions of this\n structure will be called on the browser process UI thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_dialog_handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Called to run a file chooser dialog. |mode| represents the type of dialog\n to display. |title| to the title to be used for the dialog and may be NULL\n to show the default title (\"Open\" or \"Save\" depending on the mode).\n |default_file_path| is the path with optional directory and/or file name\n component that should be initially selected in the dialog.\n |accept_filters| are used to restrict the selectable file types and may\n any combination of (a) valid lower-cased MIME types (e.g. \"text/*\" or\n \"image/*\"), (b) individual file extensions (e.g. \".txt\" or \".png\"), or (c)\n combined description and file extension delimited using \"|\" and \";\" (e.g.\n \"Image Types|.png;.gif;.jpg\"). To display a custom dialog return true (1)\n and execute |callback| either inline or at a later time. To display the\n default dialog return false (0).\n"]
pub on_file_dialog: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_dialog_handler_t,
browser: *mut _cef_browser_t,
mode: cef_file_dialog_mode_t,
title: *const cef_string_t,
default_file_path: *const cef_string_t,
accept_filters: cef_string_list_t,
callback: *mut _cef_file_dialog_callback_t,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_dialog_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_dialog_handler_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_dialog_handler_t>(),
48usize,
concat!("Size of: ", stringify!(_cef_dialog_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_dialog_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_dialog_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_dialog_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_file_dialog) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_dialog_handler_t),
"::",
stringify!(on_file_dialog)
)
);
}
#[doc = "\n Implement this structure to handle dialog events. The functions of this\n structure will be called on the browser process UI thread.\n"]
pub type cef_dialog_handler_t = _cef_dialog_handler_t;
#[doc = "\n Implement this structure to handle events related to browser display state.\n The functions of this structure will be called on the UI thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_display_handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Called when a frame's address has changed.\n"]
pub on_address_change: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_display_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
url: *const cef_string_t,
),
>,
#[doc = "\n Called when the page title changes.\n"]
pub on_title_change: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_display_handler_t,
browser: *mut _cef_browser_t,
title: *const cef_string_t,
),
>,
#[doc = "\n Called when the page icon changes.\n"]
pub on_favicon_urlchange: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_display_handler_t,
browser: *mut _cef_browser_t,
icon_urls: cef_string_list_t,
),
>,
#[doc = "\n Called when web content in the page has toggled fullscreen mode. If\n |fullscreen| is true (1) the content will automatically be sized to fill\n the browser content area. If |fullscreen| is false (0) the content will\n automatically return to its original size and position. With the Alloy\n runtime the client is responsible for triggering the fullscreen transition\n (for example, by calling cef_window_t::SetFullscreen when using Views).\n With the Chrome runtime the fullscreen transition will be triggered\n automatically. The cef_window_delegate_t::OnWindowFullscreenTransition\n function will be called during the fullscreen transition for notification\n purposes.\n"]
pub on_fullscreen_mode_change: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_display_handler_t,
browser: *mut _cef_browser_t,
fullscreen: ::std::os::raw::c_int,
),
>,
#[doc = "\n Called when the browser is about to display a tooltip. |text| contains the\n text that will be displayed in the tooltip. To handle the display of the\n tooltip yourself return true (1). Otherwise, you can optionally modify\n |text| and then return false (0) to allow the browser to display the\n tooltip. When window rendering is disabled the application is responsible\n for drawing tooltips and the return value is ignored.\n"]
pub on_tooltip: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_display_handler_t,
browser: *mut _cef_browser_t,
text: *mut cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called when the browser receives a status message. |value| contains the\n text that will be displayed in the status message.\n"]
pub on_status_message: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_display_handler_t,
browser: *mut _cef_browser_t,
value: *const cef_string_t,
),
>,
#[doc = "\n Called to display a console message. Return true (1) to stop the message\n from being output to the console.\n"]
pub on_console_message: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_display_handler_t,
browser: *mut _cef_browser_t,
level: cef_log_severity_t,
message: *const cef_string_t,
source: *const cef_string_t,
line: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called when auto-resize is enabled via\n cef_browser_host_t::SetAutoResizeEnabled and the contents have auto-\n resized. |new_size| will be the desired size in view coordinates. Return\n true (1) if the resize was handled or false (0) for default handling.\n"]
pub on_auto_resize: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_display_handler_t,
browser: *mut _cef_browser_t,
new_size: *const cef_size_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called when the overall page loading progress has changed. |progress|\n ranges from 0.0 to 1.0.\n"]
pub on_loading_progress_change: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_display_handler_t,
browser: *mut _cef_browser_t,
progress: f64,
),
>,
#[doc = "\n Called when the browser's cursor has changed. If |type| is CT_CUSTOM then\n |custom_cursor_info| will be populated with the custom cursor information.\n Return true (1) if the cursor change was handled or false (0) for default\n handling.\n"]
pub on_cursor_change: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_display_handler_t,
browser: *mut _cef_browser_t,
cursor: ::std::os::raw::c_ulong,
type_: cef_cursor_type_t,
custom_cursor_info: *const cef_cursor_info_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called when the browser's access to an audio and/or video source has\n changed.\n"]
pub on_media_access_change: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_display_handler_t,
browser: *mut _cef_browser_t,
has_video_access: ::std::os::raw::c_int,
has_audio_access: ::std::os::raw::c_int,
),
>,
}
#[test]
fn bindgen_test_layout__cef_display_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_display_handler_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_display_handler_t>(),
128usize,
concat!("Size of: ", stringify!(_cef_display_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_display_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_display_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_display_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_address_change) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_display_handler_t),
"::",
stringify!(on_address_change)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_title_change) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_display_handler_t),
"::",
stringify!(on_title_change)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_favicon_urlchange) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_display_handler_t),
"::",
stringify!(on_favicon_urlchange)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_fullscreen_mode_change) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_display_handler_t),
"::",
stringify!(on_fullscreen_mode_change)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_tooltip) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_display_handler_t),
"::",
stringify!(on_tooltip)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_status_message) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_display_handler_t),
"::",
stringify!(on_status_message)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_console_message) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_display_handler_t),
"::",
stringify!(on_console_message)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_auto_resize) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_display_handler_t),
"::",
stringify!(on_auto_resize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_loading_progress_change) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_display_handler_t),
"::",
stringify!(on_loading_progress_change)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_cursor_change) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_display_handler_t),
"::",
stringify!(on_cursor_change)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_media_access_change) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_display_handler_t),
"::",
stringify!(on_media_access_change)
)
);
}
#[doc = "\n Implement this structure to handle events related to browser display state.\n The functions of this structure will be called on the UI thread.\n"]
pub type cef_display_handler_t = _cef_display_handler_t;
#[doc = "\n Structure used to represent a download item.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_download_item_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns true (1) if this object is valid. Do not call any other functions\n if this function returns false (0).\n"]
pub is_valid: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_download_item_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the download is in progress.\n"]
pub is_in_progress: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_download_item_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the download is complete.\n"]
pub is_complete: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_download_item_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the download has been canceled.\n"]
pub is_canceled: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_download_item_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the download has been interrupted.\n"]
pub is_interrupted: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_download_item_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the most recent interrupt reason.\n"]
pub get_interrupt_reason: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_download_item_t) -> cef_download_interrupt_reason_t,
>,
#[doc = "\n Returns a simple speed estimate in bytes/s.\n"]
pub get_current_speed:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_download_item_t) -> i64>,
#[doc = "\n Returns the rough percent complete or -1 if the receive total size is\n unknown.\n"]
pub get_percent_complete: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_download_item_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the total number of bytes.\n"]
pub get_total_bytes:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_download_item_t) -> i64>,
#[doc = "\n Returns the number of received bytes.\n"]
pub get_received_bytes:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_download_item_t) -> i64>,
#[doc = "\n Returns the time that the download started.\n"]
pub get_start_time: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_download_item_t) -> cef_basetime_t,
>,
#[doc = "\n Returns the time that the download ended.\n"]
pub get_end_time: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_download_item_t) -> cef_basetime_t,
>,
#[doc = "\n Returns the full path to the downloaded or downloading file.\n"]
pub get_full_path: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_download_item_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the unique identifier for this download.\n"]
pub get_id:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_download_item_t) -> u32>,
#[doc = "\n Returns the URL.\n"]
pub get_url: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_download_item_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the original URL before any redirections.\n"]
pub get_original_url: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_download_item_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the suggested file name.\n"]
pub get_suggested_file_name: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_download_item_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the content disposition.\n"]
pub get_content_disposition: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_download_item_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the mime type.\n"]
pub get_mime_type: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_download_item_t) -> cef_string_userfree_t,
>,
}
#[test]
fn bindgen_test_layout__cef_download_item_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_download_item_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_download_item_t>(),
192usize,
concat!("Size of: ", stringify!(_cef_download_item_t))
);
assert_eq!(
::std::mem::align_of::<_cef_download_item_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_download_item_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_item_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_valid) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_item_t),
"::",
stringify!(is_valid)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_in_progress) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_item_t),
"::",
stringify!(is_in_progress)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_complete) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_item_t),
"::",
stringify!(is_complete)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_canceled) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_item_t),
"::",
stringify!(is_canceled)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_interrupted) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_item_t),
"::",
stringify!(is_interrupted)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_interrupt_reason) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_item_t),
"::",
stringify!(get_interrupt_reason)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_current_speed) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_item_t),
"::",
stringify!(get_current_speed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_percent_complete) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_item_t),
"::",
stringify!(get_percent_complete)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_total_bytes) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_item_t),
"::",
stringify!(get_total_bytes)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_received_bytes) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_item_t),
"::",
stringify!(get_received_bytes)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_start_time) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_item_t),
"::",
stringify!(get_start_time)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_end_time) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_item_t),
"::",
stringify!(get_end_time)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_full_path) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_item_t),
"::",
stringify!(get_full_path)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_id) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_item_t),
"::",
stringify!(get_id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_url) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_item_t),
"::",
stringify!(get_url)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_original_url) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_item_t),
"::",
stringify!(get_original_url)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_suggested_file_name) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_item_t),
"::",
stringify!(get_suggested_file_name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_content_disposition) as usize - ptr as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_item_t),
"::",
stringify!(get_content_disposition)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_mime_type) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_item_t),
"::",
stringify!(get_mime_type)
)
);
}
#[doc = "\n Structure used to represent a download item.\n"]
pub type cef_download_item_t = _cef_download_item_t;
#[doc = "\n Callback structure used to asynchronously continue a download.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_before_download_callback_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Call to continue the download. Set |download_path| to the full file path\n for the download including the file name or leave blank to use the\n suggested name and the default temp directory. Set |show_dialog| to true\n (1) if you do wish to show the default \"Save As\" dialog.\n"]
pub cont: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_before_download_callback_t,
download_path: *const cef_string_t,
show_dialog: ::std::os::raw::c_int,
),
>,
}
#[test]
fn bindgen_test_layout__cef_before_download_callback_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_before_download_callback_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_before_download_callback_t>(),
48usize,
concat!("Size of: ", stringify!(_cef_before_download_callback_t))
);
assert_eq!(
::std::mem::align_of::<_cef_before_download_callback_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_before_download_callback_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_before_download_callback_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cont) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_before_download_callback_t),
"::",
stringify!(cont)
)
);
}
#[doc = "\n Callback structure used to asynchronously continue a download.\n"]
pub type cef_before_download_callback_t = _cef_before_download_callback_t;
#[doc = "\n Callback structure used to asynchronously cancel a download.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_download_item_callback_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Call to cancel the download.\n"]
pub cancel:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_download_item_callback_t)>,
#[doc = "\n Call to pause the download.\n"]
pub pause:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_download_item_callback_t)>,
#[doc = "\n Call to resume the download.\n"]
pub resume:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_download_item_callback_t)>,
}
#[test]
fn bindgen_test_layout__cef_download_item_callback_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_download_item_callback_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_download_item_callback_t>(),
64usize,
concat!("Size of: ", stringify!(_cef_download_item_callback_t))
);
assert_eq!(
::std::mem::align_of::<_cef_download_item_callback_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_download_item_callback_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_item_callback_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cancel) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_item_callback_t),
"::",
stringify!(cancel)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pause) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_item_callback_t),
"::",
stringify!(pause)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).resume) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_item_callback_t),
"::",
stringify!(resume)
)
);
}
#[doc = "\n Callback structure used to asynchronously cancel a download.\n"]
pub type cef_download_item_callback_t = _cef_download_item_callback_t;
#[doc = "\n Structure used to handle file downloads. The functions of this structure\n will called on the browser process UI thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_download_handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Called before a download begins in response to a user-initiated action\n (e.g. alt + link click or link click that returns a `Content-Disposition:\n attachment` response from the server). |url| is the target download URL\n and |request_function| is the target function (GET, POST, etc). Return\n true (1) to proceed with the download or false (0) to cancel the download.\n"]
pub can_download: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_download_handler_t,
browser: *mut _cef_browser_t,
url: *const cef_string_t,
request_method: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called before a download begins. |suggested_name| is the suggested name\n for the download file. By default the download will be canceled. Execute\n |callback| either asynchronously or in this function to continue the\n download if desired. Do not keep a reference to |download_item| outside of\n this function.\n"]
pub on_before_download: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_download_handler_t,
browser: *mut _cef_browser_t,
download_item: *mut _cef_download_item_t,
suggested_name: *const cef_string_t,
callback: *mut _cef_before_download_callback_t,
),
>,
#[doc = "\n Called when a download's status or progress information has been updated.\n This may be called multiple times before and after on_before_download().\n Execute |callback| either asynchronously or in this function to cancel the\n download if desired. Do not keep a reference to |download_item| outside of\n this function.\n"]
pub on_download_updated: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_download_handler_t,
browser: *mut _cef_browser_t,
download_item: *mut _cef_download_item_t,
callback: *mut _cef_download_item_callback_t,
),
>,
}
#[test]
fn bindgen_test_layout__cef_download_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_download_handler_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_download_handler_t>(),
64usize,
concat!("Size of: ", stringify!(_cef_download_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_download_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_download_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).can_download) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_handler_t),
"::",
stringify!(can_download)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_before_download) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_handler_t),
"::",
stringify!(on_before_download)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_download_updated) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_download_handler_t),
"::",
stringify!(on_download_updated)
)
);
}
#[doc = "\n Structure used to handle file downloads. The functions of this structure\n will called on the browser process UI thread.\n"]
pub type cef_download_handler_t = _cef_download_handler_t;
#[doc = "\n Implement this structure to handle events related to dragging. The functions\n of this structure will be called on the UI thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_drag_handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Called when an external drag event enters the browser window. |dragData|\n contains the drag event data and |mask| represents the type of drag\n operation. Return false (0) for default drag handling behavior or true (1)\n to cancel the drag event.\n"]
pub on_drag_enter: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_drag_handler_t,
browser: *mut _cef_browser_t,
dragData: *mut _cef_drag_data_t,
mask: cef_drag_operations_mask_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called whenever draggable regions for the browser window change. These can\n be specified using the '-webkit-app-region: drag/no-drag' CSS-property. If\n draggable regions are never defined in a document this function will also\n never be called. If the last draggable region is removed from a document\n this function will be called with an NULL vector.\n"]
pub on_draggable_regions_changed: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_drag_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
regionsCount: usize,
regions: *const cef_draggable_region_t,
),
>,
}
#[test]
fn bindgen_test_layout__cef_drag_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_drag_handler_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_drag_handler_t>(),
56usize,
concat!("Size of: ", stringify!(_cef_drag_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_drag_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_drag_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_drag_enter) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_handler_t),
"::",
stringify!(on_drag_enter)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).on_draggable_regions_changed) as usize - ptr as usize
},
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_drag_handler_t),
"::",
stringify!(on_draggable_regions_changed)
)
);
}
#[doc = "\n Implement this structure to handle events related to dragging. The functions\n of this structure will be called on the UI thread.\n"]
pub type cef_drag_handler_t = _cef_drag_handler_t;
#[doc = "\n Implement this structure to handle events related to find results. The\n functions of this structure will be called on the UI thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_find_handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Called to report find results returned by cef_browser_host_t::find().\n |identifer| is a unique incremental identifier for the currently active\n search, |count| is the number of matches currently identified,\n |selectionRect| is the location of where the match was found (in window\n coordinates), |activeMatchOrdinal| is the current position in the search\n results, and |finalUpdate| is true (1) if this is the last find\n notification.\n"]
pub on_find_result: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_find_handler_t,
browser: *mut _cef_browser_t,
identifier: ::std::os::raw::c_int,
count: ::std::os::raw::c_int,
selectionRect: *const cef_rect_t,
activeMatchOrdinal: ::std::os::raw::c_int,
finalUpdate: ::std::os::raw::c_int,
),
>,
}
#[test]
fn bindgen_test_layout__cef_find_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_find_handler_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_find_handler_t>(),
48usize,
concat!("Size of: ", stringify!(_cef_find_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_find_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_find_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_find_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_find_result) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_find_handler_t),
"::",
stringify!(on_find_result)
)
);
}
#[doc = "\n Implement this structure to handle events related to find results. The\n functions of this structure will be called on the UI thread.\n"]
pub type cef_find_handler_t = _cef_find_handler_t;
#[doc = "\n Implement this structure to handle events related to focus. The functions of\n this structure will be called on the UI thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_focus_handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Called when the browser component is about to loose focus. For instance,\n if focus was on the last HTML element and the user pressed the TAB key.\n |next| will be true (1) if the browser is giving focus to the next\n component and false (0) if the browser is giving focus to the previous\n component.\n"]
pub on_take_focus: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_focus_handler_t,
browser: *mut _cef_browser_t,
next: ::std::os::raw::c_int,
),
>,
#[doc = "\n Called when the browser component is requesting focus. |source| indicates\n where the focus request is originating from. Return false (0) to allow the\n focus to be set or true (1) to cancel setting the focus.\n"]
pub on_set_focus: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_focus_handler_t,
browser: *mut _cef_browser_t,
source: cef_focus_source_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called when the browser component has received focus.\n"]
pub on_got_focus: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_focus_handler_t, browser: *mut _cef_browser_t),
>,
}
#[test]
fn bindgen_test_layout__cef_focus_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_focus_handler_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_focus_handler_t>(),
64usize,
concat!("Size of: ", stringify!(_cef_focus_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_focus_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_focus_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_focus_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_take_focus) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_focus_handler_t),
"::",
stringify!(on_take_focus)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_set_focus) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_focus_handler_t),
"::",
stringify!(on_set_focus)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_got_focus) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_focus_handler_t),
"::",
stringify!(on_got_focus)
)
);
}
#[doc = "\n Implement this structure to handle events related to focus. The functions of\n this structure will be called on the UI thread.\n"]
pub type cef_focus_handler_t = _cef_focus_handler_t;
#[doc = "\n Implement this structure to handle events related to cef_frame_t life span.\n The order of callbacks is:\n\n (1) During initial cef_browser_host_t creation and navigation of the main\n frame: - cef_frame_handler_t::OnFrameCreated => The initial main frame\n object has been\n created. Any commands will be queued until the frame is attached.\n - cef_frame_handler_t::OnMainFrameChanged => The initial main frame object\n has\n been assigned to the browser.\n - cef_life_span_handler_t::OnAfterCreated => The browser is now valid and\n can be\n used.\n - cef_frame_handler_t::OnFrameAttached => The initial main frame object is\n now\n connected to its peer in the renderer process. Commands can be routed.\n\n (2) During further cef_browser_host_t navigation/loading of the main frame\n and/or sub-frames:\n - cef_frame_handler_t::OnFrameCreated => A new main frame or sub-frame\n object\n has been created. Any commands will be queued until the frame is attached.\n - cef_frame_handler_t::OnFrameAttached => A new main frame or sub-frame\n object\n is now connected to its peer in the renderer process. Commands can be\n routed.\n - cef_frame_handler_t::OnFrameDetached => An existing main frame or sub-\n frame\n object has lost its connection to the renderer process. If multiple\n objects are detached at the same time then notifications will be sent for\n any sub-frame objects before the main frame object. Commands can no longer\n be routed and will be discarded.\n - cef_frame_handler_t::OnMainFrameChanged => A new main frame object has\n been\n assigned to the browser. This will only occur with cross-origin navigation\n or re-navigation after renderer process termination (due to crashes, etc).\n\n (3) During final cef_browser_host_t destruction of the main frame: -\n cef_frame_handler_t::OnFrameDetached => Any sub-frame objects have lost\n their\n connection to the renderer process. Commands can no longer be routed and\n will be discarded.\n - cef_life_span_handler_t::OnBeforeClose => The browser has been destroyed.\n - cef_frame_handler_t::OnFrameDetached => The main frame object have lost\n its\n connection to the renderer process. Notifications will be sent for any\n sub-frame objects before the main frame object. Commands can no longer be\n routed and will be discarded.\n - cef_frame_handler_t::OnMainFrameChanged => The final main frame object has\n been removed from the browser.\n\n Cross-origin navigation and/or loading receives special handling.\n\n When the main frame navigates to a different origin the OnMainFrameChanged\n callback (2) will be executed with the old and new main frame objects.\n\n When a new sub-frame is loaded in, or an existing sub-frame is navigated to,\n a different origin from the parent frame, a temporary sub-frame object will\n first be created in the parent's renderer process. That temporary sub-frame\n will then be discarded after the real cross-origin sub-frame is created in\n the new/target renderer process. The client will receive cross-origin\n navigation callbacks (2) for the transition from the temporary sub-frame to\n the real sub-frame. The temporary sub-frame will not recieve or execute\n commands during this transitional period (any sent commands will be\n discarded).\n\n When a new popup browser is created in a different origin from the parent\n browser, a temporary main frame object for the popup will first be created\n in the parent's renderer process. That temporary main frame will then be\n discarded after the real cross-origin main frame is created in the\n new/target renderer process. The client will recieve creation and initial\n navigation callbacks (1) for the temporary main frame, followed by cross-\n origin navigation callbacks (2) for the transition from the temporary main\n frame to the real main frame. The temporary main frame may receive and\n execute commands during this transitional period (any sent commands may be\n executed, but the behavior is potentially undesirable since they execute in\n the parent browser's renderer process and not the new/target renderer\n process).\n\n Callbacks will not be executed for placeholders that may be created during\n pre-commit navigation for sub-frames that do not yet exist in the renderer\n process. Placeholders will have cef_frame_t::get_identifier() == -4.\n\n The functions of this structure will be called on the UI thread unless\n otherwise indicated.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_frame_handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Called when a new frame is created. This will be the first notification\n that references |frame|. Any commands that require transport to the\n associated renderer process (LoadRequest, SendProcessMessage, GetSource,\n etc.) will be queued until OnFrameAttached is called for |frame|.\n"]
pub on_frame_created: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_frame_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
),
>,
#[doc = "\n Called when a frame can begin routing commands to/from the associated\n renderer process. |reattached| will be true (1) if the frame was re-\n attached after exiting the BackForwardCache. Any commands that were queued\n have now been dispatched.\n"]
pub on_frame_attached: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_frame_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
reattached: ::std::os::raw::c_int,
),
>,
#[doc = "\n Called when a frame loses its connection to the renderer process and will\n be destroyed. Any pending or future commands will be discarded and\n cef_frame_t::is_valid() will now return false (0) for |frame|. If called\n after cef_life_span_handler_t::on_before_close() during browser\n destruction then cef_browser_t::is_valid() will return false (0) for\n |browser|.\n"]
pub on_frame_detached: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_frame_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
),
>,
#[doc = "\n Called when the main frame changes due to (a) initial browser creation,\n (b) final browser destruction, (c) cross-origin navigation or (d) re-\n navigation after renderer process termination (due to crashes, etc).\n |old_frame| will be NULL and |new_frame| will be non-NULL when a main\n frame is assigned to |browser| for the first time. |old_frame| will be\n non-NULL and |new_frame| will be NULL and when a main frame is removed\n from |browser| for the last time. Both |old_frame| and |new_frame| will be\n non-NULL for cross-origin navigations or re-navigation after renderer\n process termination. This function will be called after on_frame_created()\n for |new_frame| and/or after on_frame_detached() for |old_frame|. If\n called after cef_life_span_handler_t::on_before_close() during browser\n destruction then cef_browser_t::is_valid() will return false (0) for\n |browser|.\n"]
pub on_main_frame_changed: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_frame_handler_t,
browser: *mut _cef_browser_t,
old_frame: *mut _cef_frame_t,
new_frame: *mut _cef_frame_t,
),
>,
}
#[test]
fn bindgen_test_layout__cef_frame_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_frame_handler_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_frame_handler_t>(),
72usize,
concat!("Size of: ", stringify!(_cef_frame_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_frame_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_frame_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_frame_created) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_handler_t),
"::",
stringify!(on_frame_created)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_frame_attached) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_handler_t),
"::",
stringify!(on_frame_attached)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_frame_detached) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_handler_t),
"::",
stringify!(on_frame_detached)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_main_frame_changed) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_frame_handler_t),
"::",
stringify!(on_main_frame_changed)
)
);
}
#[doc = "\n Implement this structure to handle events related to cef_frame_t life span.\n The order of callbacks is:\n\n (1) During initial cef_browser_host_t creation and navigation of the main\n frame: - cef_frame_handler_t::OnFrameCreated => The initial main frame\n object has been\n created. Any commands will be queued until the frame is attached.\n - cef_frame_handler_t::OnMainFrameChanged => The initial main frame object\n has\n been assigned to the browser.\n - cef_life_span_handler_t::OnAfterCreated => The browser is now valid and\n can be\n used.\n - cef_frame_handler_t::OnFrameAttached => The initial main frame object is\n now\n connected to its peer in the renderer process. Commands can be routed.\n\n (2) During further cef_browser_host_t navigation/loading of the main frame\n and/or sub-frames:\n - cef_frame_handler_t::OnFrameCreated => A new main frame or sub-frame\n object\n has been created. Any commands will be queued until the frame is attached.\n - cef_frame_handler_t::OnFrameAttached => A new main frame or sub-frame\n object\n is now connected to its peer in the renderer process. Commands can be\n routed.\n - cef_frame_handler_t::OnFrameDetached => An existing main frame or sub-\n frame\n object has lost its connection to the renderer process. If multiple\n objects are detached at the same time then notifications will be sent for\n any sub-frame objects before the main frame object. Commands can no longer\n be routed and will be discarded.\n - cef_frame_handler_t::OnMainFrameChanged => A new main frame object has\n been\n assigned to the browser. This will only occur with cross-origin navigation\n or re-navigation after renderer process termination (due to crashes, etc).\n\n (3) During final cef_browser_host_t destruction of the main frame: -\n cef_frame_handler_t::OnFrameDetached => Any sub-frame objects have lost\n their\n connection to the renderer process. Commands can no longer be routed and\n will be discarded.\n - cef_life_span_handler_t::OnBeforeClose => The browser has been destroyed.\n - cef_frame_handler_t::OnFrameDetached => The main frame object have lost\n its\n connection to the renderer process. Notifications will be sent for any\n sub-frame objects before the main frame object. Commands can no longer be\n routed and will be discarded.\n - cef_frame_handler_t::OnMainFrameChanged => The final main frame object has\n been removed from the browser.\n\n Cross-origin navigation and/or loading receives special handling.\n\n When the main frame navigates to a different origin the OnMainFrameChanged\n callback (2) will be executed with the old and new main frame objects.\n\n When a new sub-frame is loaded in, or an existing sub-frame is navigated to,\n a different origin from the parent frame, a temporary sub-frame object will\n first be created in the parent's renderer process. That temporary sub-frame\n will then be discarded after the real cross-origin sub-frame is created in\n the new/target renderer process. The client will receive cross-origin\n navigation callbacks (2) for the transition from the temporary sub-frame to\n the real sub-frame. The temporary sub-frame will not recieve or execute\n commands during this transitional period (any sent commands will be\n discarded).\n\n When a new popup browser is created in a different origin from the parent\n browser, a temporary main frame object for the popup will first be created\n in the parent's renderer process. That temporary main frame will then be\n discarded after the real cross-origin main frame is created in the\n new/target renderer process. The client will recieve creation and initial\n navigation callbacks (1) for the temporary main frame, followed by cross-\n origin navigation callbacks (2) for the transition from the temporary main\n frame to the real main frame. The temporary main frame may receive and\n execute commands during this transitional period (any sent commands may be\n executed, but the behavior is potentially undesirable since they execute in\n the parent browser's renderer process and not the new/target renderer\n process).\n\n Callbacks will not be executed for placeholders that may be created during\n pre-commit navigation for sub-frames that do not yet exist in the renderer\n process. Placeholders will have cef_frame_t::get_identifier() == -4.\n\n The functions of this structure will be called on the UI thread unless\n otherwise indicated.\n"]
pub type cef_frame_handler_t = _cef_frame_handler_t;
#[doc = "\n Callback structure used for asynchronous continuation of JavaScript dialog\n requests.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_jsdialog_callback_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Continue the JS dialog request. Set |success| to true (1) if the OK button\n was pressed. The |user_input| value should be specified for prompt\n dialogs.\n"]
pub cont: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_jsdialog_callback_t,
success: ::std::os::raw::c_int,
user_input: *const cef_string_t,
),
>,
}
#[test]
fn bindgen_test_layout__cef_jsdialog_callback_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_jsdialog_callback_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_jsdialog_callback_t>(),
48usize,
concat!("Size of: ", stringify!(_cef_jsdialog_callback_t))
);
assert_eq!(
::std::mem::align_of::<_cef_jsdialog_callback_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_jsdialog_callback_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_jsdialog_callback_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cont) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_jsdialog_callback_t),
"::",
stringify!(cont)
)
);
}
#[doc = "\n Callback structure used for asynchronous continuation of JavaScript dialog\n requests.\n"]
pub type cef_jsdialog_callback_t = _cef_jsdialog_callback_t;
#[doc = "\n Implement this structure to handle events related to JavaScript dialogs. The\n functions of this structure will be called on the UI thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_jsdialog_handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Called to run a JavaScript dialog. If |origin_url| is non-NULL it can be\n passed to the CefFormatUrlForSecurityDisplay function to retrieve a secure\n and user-friendly display string. The |default_prompt_text| value will be\n specified for prompt dialogs only. Set |suppress_message| to true (1) and\n return false (0) to suppress the message (suppressing messages is\n preferable to immediately executing the callback as this is used to detect\n presumably malicious behavior like spamming alert messages in\n onbeforeunload). Set |suppress_message| to false (0) and return false (0)\n to use the default implementation (the default implementation will show\n one modal dialog at a time and suppress any additional dialog requests\n until the displayed dialog is dismissed). Return true (1) if the\n application will use a custom dialog or if the callback has been executed\n immediately. Custom dialogs may be either modal or modeless. If a custom\n dialog is used the application must execute |callback| once the custom\n dialog is dismissed.\n"]
pub on_jsdialog: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_jsdialog_handler_t,
browser: *mut _cef_browser_t,
origin_url: *const cef_string_t,
dialog_type: cef_jsdialog_type_t,
message_text: *const cef_string_t,
default_prompt_text: *const cef_string_t,
callback: *mut _cef_jsdialog_callback_t,
suppress_message: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called to run a dialog asking the user if they want to leave a page.\n Return false (0) to use the default dialog implementation. Return true (1)\n if the application will use a custom dialog or if the callback has been\n executed immediately. Custom dialogs may be either modal or modeless. If a\n custom dialog is used the application must execute |callback| once the\n custom dialog is dismissed.\n"]
pub on_before_unload_dialog: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_jsdialog_handler_t,
browser: *mut _cef_browser_t,
message_text: *const cef_string_t,
is_reload: ::std::os::raw::c_int,
callback: *mut _cef_jsdialog_callback_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called to cancel any pending dialogs and reset any saved dialog state.\n Will be called due to events like page navigation irregardless of whether\n any dialogs are currently pending.\n"]
pub on_reset_dialog_state: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_jsdialog_handler_t, browser: *mut _cef_browser_t),
>,
#[doc = "\n Called when the dialog is closed.\n"]
pub on_dialog_closed: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_jsdialog_handler_t, browser: *mut _cef_browser_t),
>,
}
#[test]
fn bindgen_test_layout__cef_jsdialog_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_jsdialog_handler_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_jsdialog_handler_t>(),
72usize,
concat!("Size of: ", stringify!(_cef_jsdialog_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_jsdialog_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_jsdialog_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_jsdialog_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_jsdialog) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_jsdialog_handler_t),
"::",
stringify!(on_jsdialog)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_before_unload_dialog) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_jsdialog_handler_t),
"::",
stringify!(on_before_unload_dialog)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_reset_dialog_state) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_jsdialog_handler_t),
"::",
stringify!(on_reset_dialog_state)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_dialog_closed) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_jsdialog_handler_t),
"::",
stringify!(on_dialog_closed)
)
);
}
#[doc = "\n Implement this structure to handle events related to JavaScript dialogs. The\n functions of this structure will be called on the UI thread.\n"]
pub type cef_jsdialog_handler_t = _cef_jsdialog_handler_t;
#[doc = "\n Implement this structure to handle events related to keyboard input. The\n functions of this structure will be called on the UI thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_keyboard_handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Called before a keyboard event is sent to the renderer. |event| contains\n information about the keyboard event. |os_event| is the operating system\n event message, if any. Return true (1) if the event was handled or false\n (0) otherwise. If the event will be handled in on_key_event() as a\n keyboard shortcut set |is_keyboard_shortcut| to true (1) and return false\n (0).\n"]
pub on_pre_key_event: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_keyboard_handler_t,
browser: *mut _cef_browser_t,
event: *const cef_key_event_t,
os_event: *mut XEvent,
is_keyboard_shortcut: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called after the renderer and JavaScript in the page has had a chance to\n handle the event. |event| contains information about the keyboard event.\n |os_event| is the operating system event message, if any. Return true (1)\n if the keyboard event was handled or false (0) otherwise.\n"]
pub on_key_event: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_keyboard_handler_t,
browser: *mut _cef_browser_t,
event: *const cef_key_event_t,
os_event: *mut XEvent,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_keyboard_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_keyboard_handler_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_keyboard_handler_t>(),
56usize,
concat!("Size of: ", stringify!(_cef_keyboard_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_keyboard_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_keyboard_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_keyboard_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_pre_key_event) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_keyboard_handler_t),
"::",
stringify!(on_pre_key_event)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_key_event) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_keyboard_handler_t),
"::",
stringify!(on_key_event)
)
);
}
#[doc = "\n Implement this structure to handle events related to keyboard input. The\n functions of this structure will be called on the UI thread.\n"]
pub type cef_keyboard_handler_t = _cef_keyboard_handler_t;
#[doc = "\n Implement this structure to handle events related to browser life span. The\n functions of this structure will be called on the UI thread unless otherwise\n indicated.\n"]
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _cef_life_span_handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Called on the UI thread before a new popup browser is created. The\n |browser| and |frame| values represent the source of the popup request.\n The |target_url| and |target_frame_name| values indicate where the popup\n browser should navigate and may be NULL if not specified with the request.\n The |target_disposition| value indicates where the user intended to open\n the popup (e.g. current tab, new tab, etc). The |user_gesture| value will\n be true (1) if the popup was opened via explicit user gesture (e.g.\n clicking a link) or false (0) if the popup opened automatically (e.g. via\n the DomContentLoaded event). The |popupFeatures| structure contains\n additional information about the requested popup window. To allow creation\n of the popup browser optionally modify |windowInfo|, |client|, |settings|\n and |no_javascript_access| and return false (0). To cancel creation of the\n popup browser return true (1). The |client| and |settings| values will\n default to the source browser's values. If the |no_javascript_access|\n value is set to false (0) the new browser will not be scriptable and may\n not be hosted in the same renderer process as the source browser. Any\n modifications to |windowInfo| will be ignored if the parent browser is\n wrapped in a cef_browser_view_t. Popup browser creation will be canceled\n if the parent browser is destroyed before the popup browser creation\n completes (indicated by a call to OnAfterCreated for the popup browser).\n The |extra_info| parameter provides an opportunity to specify extra\n information specific to the created popup browser that will be passed to\n cef_render_process_handler_t::on_browser_created() in the render process.\n"]
pub on_before_popup: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_life_span_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
target_url: *const cef_string_t,
target_frame_name: *const cef_string_t,
target_disposition: cef_window_open_disposition_t,
user_gesture: ::std::os::raw::c_int,
popupFeatures: *const cef_popup_features_t,
windowInfo: *mut _cef_window_info_t,
client: *mut *mut _cef_client_t,
settings: *mut _cef_browser_settings_t,
extra_info: *mut *mut _cef_dictionary_value_t,
no_javascript_access: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called after a new browser is created. It is now safe to begin performing\n actions with |browser|. cef_frame_handler_t callbacks related to initial\n main frame creation will arrive before this callback. See\n cef_frame_handler_t documentation for additional usage information.\n"]
pub on_after_created: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_life_span_handler_t, browser: *mut _cef_browser_t),
>,
#[doc = "\n Called when a browser has recieved a request to close. This may result\n directly from a call to cef_browser_host_t::*close_browser() or indirectly\n if the browser is parented to a top-level window created by CEF and the\n user attempts to close that window (by clicking the 'X', for example). The\n do_close() function will be called after the JavaScript 'onunload' event\n has been fired.\n\n An application should handle top-level owner window close notifications by\n calling cef_browser_host_t::try_close_browser() or\n cef_browser_host_t::CloseBrowser(false (0)) instead of allowing the window\n to close immediately (see the examples below). This gives CEF an\n opportunity to process the 'onbeforeunload' event and optionally cancel\n the close before do_close() is called.\n\n When windowed rendering is enabled CEF will internally create a window or\n view to host the browser. In that case returning false (0) from do_close()\n will send the standard close notification to the browser's top-level owner\n window (e.g. WM_CLOSE on Windows, performClose: on OS X, \"delete_event\" on\n Linux or cef_window_delegate_t::can_close() callback from Views). If the\n browser's host window/view has already been destroyed (via view hierarchy\n tear-down, for example) then do_close() will not be called for that\n browser since is no longer possible to cancel the close.\n\n When windowed rendering is disabled returning false (0) from do_close()\n will cause the browser object to be destroyed immediately.\n\n If the browser's top-level owner window requires a non-standard close\n notification then send that notification from do_close() and return true\n (1).\n\n The cef_life_span_handler_t::on_before_close() function will be called\n after do_close() (if do_close() is called) and immediately before the\n browser object is destroyed. The application should only exit after\n on_before_close() has been called for all existing browsers.\n\n The below examples describe what should happen during window close when\n the browser is parented to an application-provided top-level window.\n\n Example 1: Using cef_browser_host_t::try_close_browser(). This is\n recommended for clients using standard close handling and windows created\n on the browser process UI thread. 1. User clicks the window close button\n which sends a close notification\n to the application's top-level window.\n 2. Application's top-level window receives the close notification and\n calls TryCloseBrowser() (which internally calls CloseBrowser(false)).\n TryCloseBrowser() returns false so the client cancels the window\n close.\n 3. JavaScript 'onbeforeunload' handler executes and shows the close\n confirmation dialog (which can be overridden via\n CefJSDialogHandler::OnBeforeUnloadDialog()).\n 4. User approves the close. 5. JavaScript 'onunload' handler executes.\n 6. CEF sends a close notification to the application's top-level window\n (because DoClose() returned false by default).\n 7. Application's top-level window receives the close notification and\n calls TryCloseBrowser(). TryCloseBrowser() returns true so the client\n allows the window close.\n 8. Application's top-level window is destroyed. 9. Application's\n on_before_close() handler is called and the browser object\n is destroyed.\n 10. Application exits by calling cef_quit_message_loop() if no other\n browsers\n exist.\n\n Example 2: Using cef_browser_host_t::CloseBrowser(false (0)) and\n implementing the do_close() callback. This is recommended for clients\n using non-standard close handling or windows that were not created on the\n browser process UI thread. 1. User clicks the window close button which\n sends a close notification\n to the application's top-level window.\n 2. Application's top-level window receives the close notification and:\n A. Calls CefBrowserHost::CloseBrowser(false).\n B. Cancels the window close.\n 3. JavaScript 'onbeforeunload' handler executes and shows the close\n confirmation dialog (which can be overridden via\n CefJSDialogHandler::OnBeforeUnloadDialog()).\n 4. User approves the close. 5. JavaScript 'onunload' handler executes.\n 6. Application's do_close() handler is called. Application will:\n A. Set a flag to indicate that the next close attempt will be allowed.\n B. Return false.\n 7. CEF sends an close notification to the application's top-level window.\n 8. Application's top-level window receives the close notification and\n allows the window to close based on the flag from #6B.\n 9. Application's top-level window is destroyed. 10. Application's\n on_before_close() handler is called and the browser object\n is destroyed.\n 11. Application exits by calling cef_quit_message_loop() if no other\n browsers\n exist.\n"]
pub do_close: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_life_span_handler_t,
browser: *mut _cef_browser_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called just before a browser is destroyed. Release all references to the\n browser object and do not attempt to execute any functions on the browser\n object (other than IsValid, GetIdentifier or IsSame) after this callback\n returns. cef_frame_handler_t callbacks related to final main frame\n destruction will arrive after this callback and cef_browser_t::IsValid\n will return false (0) at that time. Any in-progress network requests\n associated with |browser| will be aborted when the browser is destroyed,\n and cef_resource_request_handler_t callbacks related to those requests may\n still arrive on the IO thread after this callback. See cef_frame_handler_t\n and do_close() documentation for additional usage information.\n"]
pub on_before_close: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_life_span_handler_t, browser: *mut _cef_browser_t),
>,
}
#[test]
fn bindgen_test_layout__cef_life_span_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_life_span_handler_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_life_span_handler_t>(),
72usize,
concat!("Size of: ", stringify!(_cef_life_span_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_life_span_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_life_span_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_life_span_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_before_popup) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_life_span_handler_t),
"::",
stringify!(on_before_popup)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_after_created) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_life_span_handler_t),
"::",
stringify!(on_after_created)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).do_close) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_life_span_handler_t),
"::",
stringify!(do_close)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_before_close) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_life_span_handler_t),
"::",
stringify!(on_before_close)
)
);
}
#[doc = "\n Implement this structure to handle events related to browser life span. The\n functions of this structure will be called on the UI thread unless otherwise\n indicated.\n"]
pub type cef_life_span_handler_t = _cef_life_span_handler_t;
#[doc = "\n Implement this structure to handle events related to browser load status.\n The functions of this structure will be called on the browser process UI\n thread or render process main thread (TID_RENDERER).\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_load_handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Called when the loading state has changed. This callback will be executed\n twice -- once when loading is initiated either programmatically or by user\n action, and once when loading is terminated due to completion,\n cancellation of failure. It will be called before any calls to OnLoadStart\n and after all calls to OnLoadError and/or OnLoadEnd.\n"]
pub on_loading_state_change: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_load_handler_t,
browser: *mut _cef_browser_t,
isLoading: ::std::os::raw::c_int,
canGoBack: ::std::os::raw::c_int,
canGoForward: ::std::os::raw::c_int,
),
>,
#[doc = "\n Called after a navigation has been committed and before the browser begins\n loading contents in the frame. The |frame| value will never be NULL --\n call the is_main() function to check if this frame is the main frame.\n |transition_type| provides information about the source of the navigation\n and an accurate value is only available in the browser process. Multiple\n frames may be loading at the same time. Sub-frames may start or continue\n loading after the main frame load has ended. This function will not be\n called for same page navigations (fragments, history state, etc.) or for\n navigations that fail or are canceled before commit. For notification of\n overall browser load status use OnLoadingStateChange instead.\n"]
pub on_load_start: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_load_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
transition_type: cef_transition_type_t,
),
>,
#[doc = "\n Called when the browser is done loading a frame. The |frame| value will\n never be NULL -- call the is_main() function to check if this frame is the\n main frame. Multiple frames may be loading at the same time. Sub-frames\n may start or continue loading after the main frame load has ended. This\n function will not be called for same page navigations (fragments, history\n state, etc.) or for navigations that fail or are canceled before commit.\n For notification of overall browser load status use OnLoadingStateChange\n instead.\n"]
pub on_load_end: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_load_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
httpStatusCode: ::std::os::raw::c_int,
),
>,
#[doc = "\n Called when a navigation fails or is canceled. This function may be called\n by itself if before commit or in combination with OnLoadStart/OnLoadEnd if\n after commit. |errorCode| is the error code number, |errorText| is the\n error text and |failedUrl| is the URL that failed to load. See\n net\\base\\net_error_list.h for complete descriptions of the error codes.\n"]
pub on_load_error: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_load_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
errorCode: cef_errorcode_t,
errorText: *const cef_string_t,
failedUrl: *const cef_string_t,
),
>,
}
#[test]
fn bindgen_test_layout__cef_load_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_load_handler_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_load_handler_t>(),
72usize,
concat!("Size of: ", stringify!(_cef_load_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_load_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_load_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_load_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_loading_state_change) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_load_handler_t),
"::",
stringify!(on_loading_state_change)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_load_start) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_load_handler_t),
"::",
stringify!(on_load_start)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_load_end) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_load_handler_t),
"::",
stringify!(on_load_end)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_load_error) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_load_handler_t),
"::",
stringify!(on_load_error)
)
);
}
#[doc = "\n Implement this structure to handle events related to browser load status.\n The functions of this structure will be called on the browser process UI\n thread or render process main thread (TID_RENDERER).\n"]
pub type cef_load_handler_t = _cef_load_handler_t;
#[doc = "\n Callback structure used for asynchronous continuation of media access\n permission requests.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_media_access_callback_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Call to allow or deny media access. If this callback was initiated in\n response to a getUserMedia (indicated by\n CEF_MEDIA_PERMISSION_DEVICE_AUDIO_CAPTURE and/or\n CEF_MEDIA_PERMISSION_DEVICE_VIDEO_CAPTURE being set) then\n |allowed_permissions| must match |required_permissions| passed to\n OnRequestMediaAccessPermission.\n"]
pub cont: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_media_access_callback_t, allowed_permissions: u32),
>,
#[doc = "\n Cancel the media access request.\n"]
pub cancel:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_media_access_callback_t)>,
}
#[test]
fn bindgen_test_layout__cef_media_access_callback_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_media_access_callback_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_media_access_callback_t>(),
56usize,
concat!("Size of: ", stringify!(_cef_media_access_callback_t))
);
assert_eq!(
::std::mem::align_of::<_cef_media_access_callback_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_media_access_callback_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_access_callback_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cont) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_access_callback_t),
"::",
stringify!(cont)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cancel) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_media_access_callback_t),
"::",
stringify!(cancel)
)
);
}
#[doc = "\n Callback structure used for asynchronous continuation of media access\n permission requests.\n"]
pub type cef_media_access_callback_t = _cef_media_access_callback_t;
#[doc = "\n Callback structure used for asynchronous continuation of permission prompts.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_permission_prompt_callback_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Complete the permissions request with the specified |result|.\n"]
pub cont: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_permission_prompt_callback_t,
result: cef_permission_request_result_t,
),
>,
}
#[test]
fn bindgen_test_layout__cef_permission_prompt_callback_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_permission_prompt_callback_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_permission_prompt_callback_t>(),
48usize,
concat!("Size of: ", stringify!(_cef_permission_prompt_callback_t))
);
assert_eq!(
::std::mem::align_of::<_cef_permission_prompt_callback_t>(),
8usize,
concat!(
"Alignment of ",
stringify!(_cef_permission_prompt_callback_t)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_permission_prompt_callback_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cont) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_permission_prompt_callback_t),
"::",
stringify!(cont)
)
);
}
#[doc = "\n Callback structure used for asynchronous continuation of permission prompts.\n"]
pub type cef_permission_prompt_callback_t = _cef_permission_prompt_callback_t;
#[doc = "\n Implement this structure to handle events related to permission requests.\n The functions of this structure will be called on the browser process UI\n thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_permission_handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Called when a page requests permission to access media.\n |requesting_origin| is the URL origin requesting permission.\n |requested_permissions| is a combination of values from\n cef_media_access_permission_types_t that represent the requested\n permissions. Return true (1) and call cef_media_access_callback_t\n functions either in this function or at a later time to continue or cancel\n the request. Return false (0) to proceed with default handling. With the\n Chrome runtime, default handling will display the permission request UI.\n With the Alloy runtime, default handling will deny the request. This\n function will not be called if the \"--enable-media-stream\" command-line\n switch is used to grant all permissions.\n"]
pub on_request_media_access_permission: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_permission_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
requesting_origin: *const cef_string_t,
requested_permissions: u32,
callback: *mut _cef_media_access_callback_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called when a page should show a permission prompt. |prompt_id| uniquely\n identifies the prompt. |requesting_origin| is the URL origin requesting\n permission. |requested_permissions| is a combination of values from\n cef_permission_request_types_t that represent the requested permissions.\n Return true (1) and call cef_permission_prompt_callback_t::Continue either\n in this function or at a later time to continue or cancel the request.\n Return false (0) to proceed with default handling. With the Chrome\n runtime, default handling will display the permission prompt UI. With the\n Alloy runtime, default handling is CEF_PERMISSION_RESULT_IGNORE.\n"]
pub on_show_permission_prompt: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_permission_handler_t,
browser: *mut _cef_browser_t,
prompt_id: u64,
requesting_origin: *const cef_string_t,
requested_permissions: u32,
callback: *mut _cef_permission_prompt_callback_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called when a permission prompt handled via OnShowPermissionPrompt is\n dismissed. |prompt_id| will match the value that was passed to\n OnShowPermissionPrompt. |result| will be the value passed to\n cef_permission_prompt_callback_t::Continue or CEF_PERMISSION_RESULT_IGNORE\n if the dialog was dismissed for other reasons such as navigation, browser\n closure, etc. This function will not be called if OnShowPermissionPrompt\n returned false (0) for |prompt_id|.\n"]
pub on_dismiss_permission_prompt: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_permission_handler_t,
browser: *mut _cef_browser_t,
prompt_id: u64,
result: cef_permission_request_result_t,
),
>,
}
#[test]
fn bindgen_test_layout__cef_permission_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_permission_handler_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_permission_handler_t>(),
64usize,
concat!("Size of: ", stringify!(_cef_permission_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_permission_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_permission_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_permission_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).on_request_media_access_permission) as usize - ptr as usize
},
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_permission_handler_t),
"::",
stringify!(on_request_media_access_permission)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_show_permission_prompt) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_permission_handler_t),
"::",
stringify!(on_show_permission_prompt)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).on_dismiss_permission_prompt) as usize - ptr as usize
},
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_permission_handler_t),
"::",
stringify!(on_dismiss_permission_prompt)
)
);
}
#[doc = "\n Implement this structure to handle events related to permission requests.\n The functions of this structure will be called on the browser process UI\n thread.\n"]
pub type cef_permission_handler_t = _cef_permission_handler_t;
#[doc = "\n Structure representing print settings.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_print_settings_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns true (1) if this object is valid. Do not call any other functions\n if this function returns false (0).\n"]
pub is_valid: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_print_settings_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the values of this object are read-only. Some APIs may\n expose read-only objects.\n"]
pub is_read_only: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_print_settings_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Set the page orientation.\n"]
pub set_orientation: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_print_settings_t, landscape: ::std::os::raw::c_int),
>,
#[doc = "\n Returns true (1) if the orientation is landscape.\n"]
pub is_landscape: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_print_settings_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Set the printer printable area in device units. Some platforms already\n provide flipped area. Set |landscape_needs_flip| to false (0) on those\n platforms to avoid double flipping.\n"]
pub set_printer_printable_area: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_print_settings_t,
physical_size_device_units: *const cef_size_t,
printable_area_device_units: *const cef_rect_t,
landscape_needs_flip: ::std::os::raw::c_int,
),
>,
#[doc = "\n Set the device name.\n"]
pub set_device_name: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_print_settings_t, name: *const cef_string_t),
>,
#[doc = "\n Get the device name.\n"]
pub get_device_name: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_print_settings_t) -> cef_string_userfree_t,
>,
#[doc = "\n Set the DPI (dots per inch).\n"]
pub set_dpi: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_print_settings_t, dpi: ::std::os::raw::c_int),
>,
#[doc = "\n Get the DPI (dots per inch).\n"]
pub get_dpi: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_print_settings_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Set the page ranges.\n"]
pub set_page_ranges: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_print_settings_t,
rangesCount: usize,
ranges: *const cef_range_t,
),
>,
#[doc = "\n Returns the number of page ranges that currently exist.\n"]
pub get_page_ranges_count:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_print_settings_t) -> usize>,
#[doc = "\n Retrieve the page ranges.\n"]
pub get_page_ranges: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_print_settings_t,
rangesCount: *mut usize,
ranges: *mut cef_range_t,
),
>,
#[doc = "\n Set whether only the selection will be printed.\n"]
pub set_selection_only: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_print_settings_t,
selection_only: ::std::os::raw::c_int,
),
>,
#[doc = "\n Returns true (1) if only the selection will be printed.\n"]
pub is_selection_only: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_print_settings_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Set whether pages will be collated.\n"]
pub set_collate: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_print_settings_t, collate: ::std::os::raw::c_int),
>,
#[doc = "\n Returns true (1) if pages will be collated.\n"]
pub will_collate: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_print_settings_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Set the color model.\n"]
pub set_color_model: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_print_settings_t, model: cef_color_model_t),
>,
#[doc = "\n Get the color model.\n"]
pub get_color_model: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_print_settings_t) -> cef_color_model_t,
>,
#[doc = "\n Set the number of copies.\n"]
pub set_copies: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_print_settings_t, copies: ::std::os::raw::c_int),
>,
#[doc = "\n Get the number of copies.\n"]
pub get_copies: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_print_settings_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Set the duplex mode.\n"]
pub set_duplex_mode: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_print_settings_t, mode: cef_duplex_mode_t),
>,
#[doc = "\n Get the duplex mode.\n"]
pub get_duplex_mode: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_print_settings_t) -> cef_duplex_mode_t,
>,
}
#[test]
fn bindgen_test_layout__cef_print_settings_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_print_settings_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_print_settings_t>(),
216usize,
concat!("Size of: ", stringify!(_cef_print_settings_t))
);
assert_eq!(
::std::mem::align_of::<_cef_print_settings_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_print_settings_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_settings_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_valid) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_settings_t),
"::",
stringify!(is_valid)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_read_only) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_settings_t),
"::",
stringify!(is_read_only)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_orientation) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_settings_t),
"::",
stringify!(set_orientation)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_landscape) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_settings_t),
"::",
stringify!(is_landscape)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_printer_printable_area) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_settings_t),
"::",
stringify!(set_printer_printable_area)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_device_name) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_settings_t),
"::",
stringify!(set_device_name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_device_name) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_settings_t),
"::",
stringify!(get_device_name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_dpi) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_settings_t),
"::",
stringify!(set_dpi)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_dpi) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_settings_t),
"::",
stringify!(get_dpi)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_page_ranges) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_settings_t),
"::",
stringify!(set_page_ranges)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_page_ranges_count) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_settings_t),
"::",
stringify!(get_page_ranges_count)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_page_ranges) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_settings_t),
"::",
stringify!(get_page_ranges)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_selection_only) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_settings_t),
"::",
stringify!(set_selection_only)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_selection_only) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_settings_t),
"::",
stringify!(is_selection_only)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_collate) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_settings_t),
"::",
stringify!(set_collate)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).will_collate) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_settings_t),
"::",
stringify!(will_collate)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_color_model) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_settings_t),
"::",
stringify!(set_color_model)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_color_model) as usize - ptr as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_settings_t),
"::",
stringify!(get_color_model)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_copies) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_settings_t),
"::",
stringify!(set_copies)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_copies) as usize - ptr as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_settings_t),
"::",
stringify!(get_copies)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_duplex_mode) as usize - ptr as usize },
200usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_settings_t),
"::",
stringify!(set_duplex_mode)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_duplex_mode) as usize - ptr as usize },
208usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_settings_t),
"::",
stringify!(get_duplex_mode)
)
);
}
#[doc = "\n Structure representing print settings.\n"]
pub type cef_print_settings_t = _cef_print_settings_t;
extern "C" {
#[doc = "\n Create a new cef_print_settings_t object.\n"]
pub fn cef_print_settings_create() -> *mut cef_print_settings_t;
}
#[doc = "\n Callback structure for asynchronous continuation of print dialog requests.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_print_dialog_callback_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Continue printing with the specified |settings|.\n"]
pub cont: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_print_dialog_callback_t,
settings: *mut _cef_print_settings_t,
),
>,
#[doc = "\n Cancel the printing.\n"]
pub cancel:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_print_dialog_callback_t)>,
}
#[test]
fn bindgen_test_layout__cef_print_dialog_callback_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_print_dialog_callback_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_print_dialog_callback_t>(),
56usize,
concat!("Size of: ", stringify!(_cef_print_dialog_callback_t))
);
assert_eq!(
::std::mem::align_of::<_cef_print_dialog_callback_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_print_dialog_callback_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_dialog_callback_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cont) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_dialog_callback_t),
"::",
stringify!(cont)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cancel) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_dialog_callback_t),
"::",
stringify!(cancel)
)
);
}
#[doc = "\n Callback structure for asynchronous continuation of print dialog requests.\n"]
pub type cef_print_dialog_callback_t = _cef_print_dialog_callback_t;
#[doc = "\n Callback structure for asynchronous continuation of print job requests.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_print_job_callback_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Indicate completion of the print job.\n"]
pub cont: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_print_job_callback_t)>,
}
#[test]
fn bindgen_test_layout__cef_print_job_callback_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_print_job_callback_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_print_job_callback_t>(),
48usize,
concat!("Size of: ", stringify!(_cef_print_job_callback_t))
);
assert_eq!(
::std::mem::align_of::<_cef_print_job_callback_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_print_job_callback_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_job_callback_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cont) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_job_callback_t),
"::",
stringify!(cont)
)
);
}
#[doc = "\n Callback structure for asynchronous continuation of print job requests.\n"]
pub type cef_print_job_callback_t = _cef_print_job_callback_t;
#[doc = "\n Implement this structure to handle printing on Linux. Each browser will have\n only one print job in progress at a time. The functions of this structure\n will be called on the browser process UI thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_print_handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Called when printing has started for the specified |browser|. This\n function will be called before the other OnPrint*() functions and\n irrespective of how printing was initiated (e.g.\n cef_browser_host_t::print(), JavaScript window.print() or PDF extension\n print button).\n"]
pub on_print_start: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_print_handler_t, browser: *mut _cef_browser_t),
>,
#[doc = "\n Synchronize |settings| with client state. If |get_defaults| is true (1)\n then populate |settings| with the default print settings. Do not keep a\n reference to |settings| outside of this callback.\n"]
pub on_print_settings: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_print_handler_t,
browser: *mut _cef_browser_t,
settings: *mut _cef_print_settings_t,
get_defaults: ::std::os::raw::c_int,
),
>,
#[doc = "\n Show the print dialog. Execute |callback| once the dialog is dismissed.\n Return true (1) if the dialog will be displayed or false (0) to cancel the\n printing immediately.\n"]
pub on_print_dialog: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_print_handler_t,
browser: *mut _cef_browser_t,
has_selection: ::std::os::raw::c_int,
callback: *mut _cef_print_dialog_callback_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Send the print job to the printer. Execute |callback| once the job is\n completed. Return true (1) if the job will proceed or false (0) to cancel\n the job immediately.\n"]
pub on_print_job: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_print_handler_t,
browser: *mut _cef_browser_t,
document_name: *const cef_string_t,
pdf_file_path: *const cef_string_t,
callback: *mut _cef_print_job_callback_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Reset client state related to printing.\n"]
pub on_print_reset: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_print_handler_t, browser: *mut _cef_browser_t),
>,
#[doc = "\n Return the PDF paper size in device units. Used in combination with\n cef_browser_host_t::print_to_pdf().\n"]
pub get_pdf_paper_size: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_print_handler_t,
browser: *mut _cef_browser_t,
device_units_per_inch: ::std::os::raw::c_int,
) -> cef_size_t,
>,
}
#[test]
fn bindgen_test_layout__cef_print_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_print_handler_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_print_handler_t>(),
88usize,
concat!("Size of: ", stringify!(_cef_print_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_print_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_print_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_print_start) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_handler_t),
"::",
stringify!(on_print_start)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_print_settings) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_handler_t),
"::",
stringify!(on_print_settings)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_print_dialog) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_handler_t),
"::",
stringify!(on_print_dialog)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_print_job) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_handler_t),
"::",
stringify!(on_print_job)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_print_reset) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_handler_t),
"::",
stringify!(on_print_reset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_pdf_paper_size) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_print_handler_t),
"::",
stringify!(get_pdf_paper_size)
)
);
}
#[doc = "\n Implement this structure to handle printing on Linux. Each browser will have\n only one print job in progress at a time. The functions of this structure\n will be called on the browser process UI thread.\n"]
pub type cef_print_handler_t = _cef_print_handler_t;
#[doc = "\n Implement this structure to receive accessibility notification when\n accessibility events have been registered. The functions of this structure\n will be called on the UI thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_accessibility_handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Called after renderer process sends accessibility tree changes to the\n browser process.\n"]
pub on_accessibility_tree_change: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_accessibility_handler_t, value: *mut _cef_value_t),
>,
#[doc = "\n Called after renderer process sends accessibility location changes to the\n browser process.\n"]
pub on_accessibility_location_change: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_accessibility_handler_t, value: *mut _cef_value_t),
>,
}
#[test]
fn bindgen_test_layout__cef_accessibility_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_accessibility_handler_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_accessibility_handler_t>(),
56usize,
concat!("Size of: ", stringify!(_cef_accessibility_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_accessibility_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_accessibility_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_accessibility_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).on_accessibility_tree_change) as usize - ptr as usize
},
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_accessibility_handler_t),
"::",
stringify!(on_accessibility_tree_change)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).on_accessibility_location_change) as usize - ptr as usize
},
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_accessibility_handler_t),
"::",
stringify!(on_accessibility_location_change)
)
);
}
#[doc = "\n Implement this structure to receive accessibility notification when\n accessibility events have been registered. The functions of this structure\n will be called on the UI thread.\n"]
pub type cef_accessibility_handler_t = _cef_accessibility_handler_t;
#[doc = "\n Implement this structure to handle events when window rendering is disabled.\n The functions of this structure will be called on the UI thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_render_handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Return the handler for accessibility notifications. If no handler is\n provided the default implementation will be used.\n"]
pub get_accessibility_handler: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_render_handler_t,
) -> *mut _cef_accessibility_handler_t,
>,
#[doc = "\n Called to retrieve the root window rectangle in screen DIP coordinates.\n Return true (1) if the rectangle was provided. If this function returns\n false (0) the rectangle from GetViewRect will be used.\n"]
pub get_root_screen_rect: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_render_handler_t,
browser: *mut _cef_browser_t,
rect: *mut cef_rect_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called to retrieve the view rectangle in screen DIP coordinates. This\n function must always provide a non-NULL rectangle.\n"]
pub get_view_rect: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_render_handler_t,
browser: *mut _cef_browser_t,
rect: *mut cef_rect_t,
),
>,
#[doc = "\n Called to retrieve the translation from view DIP coordinates to screen\n coordinates. Windows/Linux should provide screen device (pixel)\n coordinates and MacOS should provide screen DIP coordinates. Return true\n (1) if the requested coordinates were provided.\n"]
pub get_screen_point: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_render_handler_t,
browser: *mut _cef_browser_t,
viewX: ::std::os::raw::c_int,
viewY: ::std::os::raw::c_int,
screenX: *mut ::std::os::raw::c_int,
screenY: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called to allow the client to fill in the CefScreenInfo object with\n appropriate values. Return true (1) if the |screen_info| structure has\n been modified.\n\n If the screen info rectangle is left NULL the rectangle from GetViewRect\n will be used. If the rectangle is still NULL or invalid popups may not be\n drawn correctly.\n"]
pub get_screen_info: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_render_handler_t,
browser: *mut _cef_browser_t,
screen_info: *mut cef_screen_info_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called when the browser wants to show or hide the popup widget. The popup\n should be shown if |show| is true (1) and hidden if |show| is false (0).\n"]
pub on_popup_show: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_render_handler_t,
browser: *mut _cef_browser_t,
show: ::std::os::raw::c_int,
),
>,
#[doc = "\n Called when the browser wants to move or resize the popup widget. |rect|\n contains the new location and size in view coordinates.\n"]
pub on_popup_size: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_render_handler_t,
browser: *mut _cef_browser_t,
rect: *const cef_rect_t,
),
>,
#[doc = "\n Called when an element should be painted. Pixel values passed to this\n function are scaled relative to view coordinates based on the value of\n CefScreenInfo.device_scale_factor returned from GetScreenInfo. |type|\n indicates whether the element is the view or the popup widget. |buffer|\n contains the pixel data for the whole image. |dirtyRects| contains the set\n of rectangles in pixel coordinates that need to be repainted. |buffer|\n will be |width|*|height|*4 bytes in size and represents a BGRA image with\n an upper-left origin. This function is only called when\n cef_window_tInfo::shared_texture_enabled is set to false (0).\n"]
pub on_paint: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_render_handler_t,
browser: *mut _cef_browser_t,
type_: cef_paint_element_type_t,
dirtyRectsCount: usize,
dirtyRects: *const cef_rect_t,
buffer: *const ::std::os::raw::c_void,
width: ::std::os::raw::c_int,
height: ::std::os::raw::c_int,
),
>,
#[doc = "\n Called when an element has been rendered to the shared texture handle.\n |type| indicates whether the element is the view or the popup widget.\n |dirtyRects| contains the set of rectangles in pixel coordinates that need\n to be repainted. |shared_handle| is the handle for a D3D11 Texture2D that\n can be accessed via ID3D11Device using the OpenSharedResource function.\n This function is only called when cef_window_tInfo::shared_texture_enabled\n is set to true (1), and is currently only supported on Windows.\n"]
pub on_accelerated_paint: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_render_handler_t,
browser: *mut _cef_browser_t,
type_: cef_paint_element_type_t,
dirtyRectsCount: usize,
dirtyRects: *const cef_rect_t,
shared_handle: *mut ::std::os::raw::c_void,
),
>,
#[doc = "\n Called to retrieve the size of the touch handle for the specified\n |orientation|.\n"]
pub get_touch_handle_size: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_render_handler_t,
browser: *mut _cef_browser_t,
orientation: cef_horizontal_alignment_t,
size: *mut cef_size_t,
),
>,
#[doc = "\n Called when touch handle state is updated. The client is responsible for\n rendering the touch handles.\n"]
pub on_touch_handle_state_changed: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_render_handler_t,
browser: *mut _cef_browser_t,
state: *const cef_touch_handle_state_t,
),
>,
#[doc = "\n Called when the user starts dragging content in the web view. Contextual\n information about the dragged content is supplied by |drag_data|. (|x|,\n |y|) is the drag start location in screen coordinates. OS APIs that run a\n system message loop may be used within the StartDragging call.\n\n Return false (0) to abort the drag operation. Don't call any of\n cef_browser_host_t::DragSource*Ended* functions after returning false (0).\n\n Return true (1) to handle the drag operation. Call\n cef_browser_host_t::DragSourceEndedAt and DragSourceSystemDragEnded either\n synchronously or asynchronously to inform the web view that the drag\n operation has ended.\n"]
pub start_dragging: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_render_handler_t,
browser: *mut _cef_browser_t,
drag_data: *mut _cef_drag_data_t,
allowed_ops: cef_drag_operations_mask_t,
x: ::std::os::raw::c_int,
y: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called when the web view wants to update the mouse cursor during a drag &\n drop operation. |operation| describes the allowed operation (none, move,\n copy, link).\n"]
pub update_drag_cursor: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_render_handler_t,
browser: *mut _cef_browser_t,
operation: cef_drag_operations_mask_t,
),
>,
#[doc = "\n Called when the scroll offset has changed.\n"]
pub on_scroll_offset_changed: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_render_handler_t,
browser: *mut _cef_browser_t,
x: f64,
y: f64,
),
>,
#[doc = "\n Called when the IME composition range has changed. |selected_range| is the\n range of characters that have been selected. |character_bounds| is the\n bounds of each character in view coordinates.\n"]
pub on_ime_composition_range_changed: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_render_handler_t,
browser: *mut _cef_browser_t,
selected_range: *const cef_range_t,
character_boundsCount: usize,
character_bounds: *const cef_rect_t,
),
>,
#[doc = "\n Called when text selection has changed for the specified |browser|.\n |selected_text| is the currently selected text and |selected_range| is the\n character range.\n"]
pub on_text_selection_changed: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_render_handler_t,
browser: *mut _cef_browser_t,
selected_text: *const cef_string_t,
selected_range: *const cef_range_t,
),
>,
#[doc = "\n Called when an on-screen keyboard should be shown or hidden for the\n specified |browser|. |input_mode| specifies what kind of keyboard should\n be opened. If |input_mode| is CEF_TEXT_INPUT_MODE_NONE, any existing\n keyboard for this browser should be hidden.\n"]
pub on_virtual_keyboard_requested: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_render_handler_t,
browser: *mut _cef_browser_t,
input_mode: cef_text_input_mode_t,
),
>,
}
#[test]
fn bindgen_test_layout__cef_render_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_render_handler_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_render_handler_t>(),
176usize,
concat!("Size of: ", stringify!(_cef_render_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_render_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_render_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_accessibility_handler) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_handler_t),
"::",
stringify!(get_accessibility_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_root_screen_rect) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_handler_t),
"::",
stringify!(get_root_screen_rect)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_view_rect) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_handler_t),
"::",
stringify!(get_view_rect)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_screen_point) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_handler_t),
"::",
stringify!(get_screen_point)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_screen_info) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_handler_t),
"::",
stringify!(get_screen_info)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_popup_show) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_handler_t),
"::",
stringify!(on_popup_show)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_popup_size) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_handler_t),
"::",
stringify!(on_popup_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_paint) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_handler_t),
"::",
stringify!(on_paint)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_accelerated_paint) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_handler_t),
"::",
stringify!(on_accelerated_paint)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_touch_handle_size) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_handler_t),
"::",
stringify!(get_touch_handle_size)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).on_touch_handle_state_changed) as usize - ptr as usize
},
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_handler_t),
"::",
stringify!(on_touch_handle_state_changed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).start_dragging) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_handler_t),
"::",
stringify!(start_dragging)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).update_drag_cursor) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_handler_t),
"::",
stringify!(update_drag_cursor)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_scroll_offset_changed) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_handler_t),
"::",
stringify!(on_scroll_offset_changed)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).on_ime_composition_range_changed) as usize - ptr as usize
},
152usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_handler_t),
"::",
stringify!(on_ime_composition_range_changed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_text_selection_changed) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_handler_t),
"::",
stringify!(on_text_selection_changed)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).on_virtual_keyboard_requested) as usize - ptr as usize
},
168usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_handler_t),
"::",
stringify!(on_virtual_keyboard_requested)
)
);
}
#[doc = "\n Implement this structure to handle events when window rendering is disabled.\n The functions of this structure will be called on the UI thread.\n"]
pub type cef_render_handler_t = _cef_render_handler_t;
#[doc = "\n Callback structure used for asynchronous continuation of authentication\n requests.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_auth_callback_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Continue the authentication request.\n"]
pub cont: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_auth_callback_t,
username: *const cef_string_t,
password: *const cef_string_t,
),
>,
#[doc = "\n Cancel the authentication request.\n"]
pub cancel: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_auth_callback_t)>,
}
#[test]
fn bindgen_test_layout__cef_auth_callback_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_auth_callback_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_auth_callback_t>(),
56usize,
concat!("Size of: ", stringify!(_cef_auth_callback_t))
);
assert_eq!(
::std::mem::align_of::<_cef_auth_callback_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_auth_callback_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_auth_callback_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cont) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_auth_callback_t),
"::",
stringify!(cont)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cancel) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_auth_callback_t),
"::",
stringify!(cancel)
)
);
}
#[doc = "\n Callback structure used for asynchronous continuation of authentication\n requests.\n"]
pub type cef_auth_callback_t = _cef_auth_callback_t;
#[doc = "\n Structure used to represent a web response. The functions of this structure\n may be called on any thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_response_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns true (1) if this object is read-only.\n"]
pub is_read_only: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_response_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Get the response error code. Returns ERR_NONE if there was no error.\n"]
pub get_error:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_response_t) -> cef_errorcode_t>,
#[doc = "\n Set the response error code. This can be used by custom scheme handlers to\n return errors during initial request processing.\n"]
pub set_error: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_response_t, error: cef_errorcode_t),
>,
#[doc = "\n Get the response status code.\n"]
pub get_status: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_response_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Set the response status code.\n"]
pub set_status: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_response_t, status: ::std::os::raw::c_int),
>,
#[doc = "\n Get the response status text.\n"]
pub get_status_text: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_response_t) -> cef_string_userfree_t,
>,
#[doc = "\n Set the response status text.\n"]
pub set_status_text: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_response_t, statusText: *const cef_string_t),
>,
#[doc = "\n Get the response mime type.\n"]
pub get_mime_type: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_response_t) -> cef_string_userfree_t,
>,
#[doc = "\n Set the response mime type.\n"]
pub set_mime_type: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_response_t, mimeType: *const cef_string_t),
>,
#[doc = "\n Get the response charset.\n"]
pub get_charset: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_response_t) -> cef_string_userfree_t,
>,
#[doc = "\n Set the response charset.\n"]
pub set_charset: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_response_t, charset: *const cef_string_t),
>,
#[doc = "\n Get the value for the specified response header field.\n"]
pub get_header_by_name: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_response_t,
name: *const cef_string_t,
) -> cef_string_userfree_t,
>,
#[doc = "\n Set the header |name| to |value|. If |overwrite| is true (1) any existing\n values will be replaced with the new value. If |overwrite| is false (0)\n any existing values will not be overwritten.\n"]
pub set_header_by_name: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_response_t,
name: *const cef_string_t,
value: *const cef_string_t,
overwrite: ::std::os::raw::c_int,
),
>,
#[doc = "\n Get all response header fields.\n"]
pub get_header_map: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_response_t, headerMap: cef_string_multimap_t),
>,
#[doc = "\n Set all response header fields.\n"]
pub set_header_map: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_response_t, headerMap: cef_string_multimap_t),
>,
#[doc = "\n Get the resolved URL after redirects or changed as a result of HSTS.\n"]
pub get_url: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_response_t) -> cef_string_userfree_t,
>,
#[doc = "\n Set the resolved URL after redirects or changed as a result of HSTS.\n"]
pub set_url: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_response_t, url: *const cef_string_t),
>,
}
#[test]
fn bindgen_test_layout__cef_response_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_response_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_response_t>(),
176usize,
concat!("Size of: ", stringify!(_cef_response_t))
);
assert_eq!(
::std::mem::align_of::<_cef_response_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_response_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_response_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_read_only) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_response_t),
"::",
stringify!(is_read_only)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_error) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_response_t),
"::",
stringify!(get_error)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_error) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_response_t),
"::",
stringify!(set_error)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_status) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_response_t),
"::",
stringify!(get_status)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_status) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_response_t),
"::",
stringify!(set_status)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_status_text) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_response_t),
"::",
stringify!(get_status_text)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_status_text) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_response_t),
"::",
stringify!(set_status_text)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_mime_type) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_response_t),
"::",
stringify!(get_mime_type)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_mime_type) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_response_t),
"::",
stringify!(set_mime_type)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_charset) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_response_t),
"::",
stringify!(get_charset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_charset) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_response_t),
"::",
stringify!(set_charset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_header_by_name) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_response_t),
"::",
stringify!(get_header_by_name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_header_by_name) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_response_t),
"::",
stringify!(set_header_by_name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_header_map) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(_cef_response_t),
"::",
stringify!(get_header_map)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_header_map) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_cef_response_t),
"::",
stringify!(set_header_map)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_url) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_cef_response_t),
"::",
stringify!(get_url)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_url) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_cef_response_t),
"::",
stringify!(set_url)
)
);
}
#[doc = "\n Structure used to represent a web response. The functions of this structure\n may be called on any thread.\n"]
pub type cef_response_t = _cef_response_t;
extern "C" {
#[doc = "\n Create a new cef_response_t object.\n"]
pub fn cef_response_create() -> *mut cef_response_t;
}
#[doc = "\n Callback for asynchronous continuation of cef_resource_handler_t::skip().\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_resource_skip_callback_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Callback for asynchronous continuation of skip(). If |bytes_skipped| > 0\n then either skip() will be called again until the requested number of\n bytes have been skipped or the request will proceed. If |bytes_skipped| <=\n 0 the request will fail with ERR_REQUEST_RANGE_NOT_SATISFIABLE.\n"]
pub cont: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_resource_skip_callback_t, bytes_skipped: i64),
>,
}
#[test]
fn bindgen_test_layout__cef_resource_skip_callback_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_resource_skip_callback_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_resource_skip_callback_t>(),
48usize,
concat!("Size of: ", stringify!(_cef_resource_skip_callback_t))
);
assert_eq!(
::std::mem::align_of::<_cef_resource_skip_callback_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_resource_skip_callback_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_resource_skip_callback_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cont) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_resource_skip_callback_t),
"::",
stringify!(cont)
)
);
}
#[doc = "\n Callback for asynchronous continuation of cef_resource_handler_t::skip().\n"]
pub type cef_resource_skip_callback_t = _cef_resource_skip_callback_t;
#[doc = "\n Callback for asynchronous continuation of cef_resource_handler_t::read().\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_resource_read_callback_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Callback for asynchronous continuation of read(). If |bytes_read| == 0 the\n response will be considered complete. If |bytes_read| > 0 then read() will\n be called again until the request is complete (based on either the result\n or the expected content length). If |bytes_read| < 0 then the request will\n fail and the |bytes_read| value will be treated as the error code.\n"]
pub cont: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_resource_read_callback_t,
bytes_read: ::std::os::raw::c_int,
),
>,
}
#[test]
fn bindgen_test_layout__cef_resource_read_callback_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_resource_read_callback_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_resource_read_callback_t>(),
48usize,
concat!("Size of: ", stringify!(_cef_resource_read_callback_t))
);
assert_eq!(
::std::mem::align_of::<_cef_resource_read_callback_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_resource_read_callback_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_resource_read_callback_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cont) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_resource_read_callback_t),
"::",
stringify!(cont)
)
);
}
#[doc = "\n Callback for asynchronous continuation of cef_resource_handler_t::read().\n"]
pub type cef_resource_read_callback_t = _cef_resource_read_callback_t;
#[doc = "\n Structure used to implement a custom request handler structure. The\n functions of this structure will be called on the IO thread unless otherwise\n indicated.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_resource_handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Open the response stream. To handle the request immediately set\n |handle_request| to true (1) and return true (1). To decide at a later\n time set |handle_request| to false (0), return true (1), and execute\n |callback| to continue or cancel the request. To cancel the request\n immediately set |handle_request| to true (1) and return false (0). This\n function will be called in sequence but not from a dedicated thread. For\n backwards compatibility set |handle_request| to false (0) and return false\n (0) and the ProcessRequest function will be called.\n"]
pub open: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_resource_handler_t,
request: *mut _cef_request_t,
handle_request: *mut ::std::os::raw::c_int,
callback: *mut _cef_callback_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Begin processing the request. To handle the request return true (1) and\n call cef_callback_t::cont() once the response header information is\n available (cef_callback_t::cont() can also be called from inside this\n function if header information is available immediately). To cancel the\n request return false (0).\n\n WARNING: This function is deprecated. Use Open instead.\n"]
pub process_request: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_resource_handler_t,
request: *mut _cef_request_t,
callback: *mut _cef_callback_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Retrieve response header information. If the response length is not known\n set |response_length| to -1 and read_response() will be called until it\n returns false (0). If the response length is known set |response_length|\n to a positive value and read_response() will be called until it returns\n false (0) or the specified number of bytes have been read. Use the\n |response| object to set the mime type, http status code and other\n optional header values. To redirect the request to a new URL set\n |redirectUrl| to the new URL. |redirectUrl| can be either a relative or\n fully qualified URL. It is also possible to set |response| to a redirect\n http status code and pass the new URL via a Location header. Likewise with\n |redirectUrl| it is valid to set a relative or fully qualified URL as the\n Location header value. If an error occured while setting up the request\n you can call set_error() on |response| to indicate the error condition.\n"]
pub get_response_headers: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_resource_handler_t,
response: *mut _cef_response_t,
response_length: *mut i64,
redirectUrl: *mut cef_string_t,
),
>,
#[doc = "\n Skip response data when requested by a Range header. Skip over and discard\n |bytes_to_skip| bytes of response data. If data is available immediately\n set |bytes_skipped| to the number of bytes skipped and return true (1). To\n read the data at a later time set |bytes_skipped| to 0, return true (1)\n and execute |callback| when the data is available. To indicate failure set\n |bytes_skipped| to < 0 (e.g. -2 for ERR_FAILED) and return false (0). This\n function will be called in sequence but not from a dedicated thread.\n"]
pub skip: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_resource_handler_t,
bytes_to_skip: i64,
bytes_skipped: *mut i64,
callback: *mut _cef_resource_skip_callback_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Read response data. If data is available immediately copy up to\n |bytes_to_read| bytes into |data_out|, set |bytes_read| to the number of\n bytes copied, and return true (1). To read the data at a later time keep a\n pointer to |data_out|, set |bytes_read| to 0, return true (1) and execute\n |callback| when the data is available (|data_out| will remain valid until\n the callback is executed). To indicate response completion set\n |bytes_read| to 0 and return false (0). To indicate failure set\n |bytes_read| to < 0 (e.g. -2 for ERR_FAILED) and return false (0). This\n function will be called in sequence but not from a dedicated thread. For\n backwards compatibility set |bytes_read| to -1 and return false (0) and\n the ReadResponse function will be called.\n"]
pub read: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_resource_handler_t,
data_out: *mut ::std::os::raw::c_void,
bytes_to_read: ::std::os::raw::c_int,
bytes_read: *mut ::std::os::raw::c_int,
callback: *mut _cef_resource_read_callback_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Read response data. If data is available immediately copy up to\n |bytes_to_read| bytes into |data_out|, set |bytes_read| to the number of\n bytes copied, and return true (1). To read the data at a later time set\n |bytes_read| to 0, return true (1) and call cef_callback_t::cont() when\n the data is available. To indicate response completion return false (0).\n\n WARNING: This function is deprecated. Use Skip and Read instead.\n"]
pub read_response: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_resource_handler_t,
data_out: *mut ::std::os::raw::c_void,
bytes_to_read: ::std::os::raw::c_int,
bytes_read: *mut ::std::os::raw::c_int,
callback: *mut _cef_callback_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Request processing has been canceled.\n"]
pub cancel: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_resource_handler_t)>,
}
#[test]
fn bindgen_test_layout__cef_resource_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_resource_handler_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_resource_handler_t>(),
96usize,
concat!("Size of: ", stringify!(_cef_resource_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_resource_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_resource_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_resource_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).open) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_resource_handler_t),
"::",
stringify!(open)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).process_request) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_resource_handler_t),
"::",
stringify!(process_request)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_response_headers) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_resource_handler_t),
"::",
stringify!(get_response_headers)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).skip) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_resource_handler_t),
"::",
stringify!(skip)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).read) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_resource_handler_t),
"::",
stringify!(read)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).read_response) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_resource_handler_t),
"::",
stringify!(read_response)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cancel) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_resource_handler_t),
"::",
stringify!(cancel)
)
);
}
#[doc = "\n Structure used to implement a custom request handler structure. The\n functions of this structure will be called on the IO thread unless otherwise\n indicated.\n"]
pub type cef_resource_handler_t = _cef_resource_handler_t;
#[doc = "\n Implement this structure to filter resource response content. The functions\n of this structure will be called on the browser process IO thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_response_filter_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Initialize the response filter. Will only be called a single time. The\n filter will not be installed if this function returns false (0).\n"]
pub init_filter: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_response_filter_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called to filter a chunk of data. Expected usage is as follows:\n\n 1. Read input data from |data_in| and set |data_in_read| to the number of\n bytes that were read up to a maximum of |data_in_size|. |data_in| will\n be NULL if |data_in_size| is zero.\n 2. Write filtered output data to |data_out| and set |data_out_written| to\n the number of bytes that were written up to a maximum of\n |data_out_size|. If no output data was written then all data must be\n read from |data_in| (user must set |data_in_read| = |data_in_size|).\n 3. Return RESPONSE_FILTER_DONE if all output data was written or\n RESPONSE_FILTER_NEED_MORE_DATA if output data is still pending.\n\n This function will be called repeatedly until the input buffer has been\n fully read (user sets |data_in_read| = |data_in_size|) and there is no\n more input data to filter (the resource response is complete). This\n function may then be called an additional time with an NULL input buffer\n if the user filled the output buffer (set |data_out_written| =\n |data_out_size|) and returned RESPONSE_FILTER_NEED_MORE_DATA to indicate\n that output data is still pending.\n\n Calls to this function will stop when one of the following conditions is\n met:\n\n 1. There is no more input data to filter (the resource response is\n complete) and the user sets |data_out_written| = 0 or returns\n RESPONSE_FILTER_DONE to indicate that all data has been written, or;\n 2. The user returns RESPONSE_FILTER_ERROR to indicate an error.\n\n Do not keep a reference to the buffers passed to this function.\n"]
pub filter: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_response_filter_t,
data_in: *mut ::std::os::raw::c_void,
data_in_size: usize,
data_in_read: *mut usize,
data_out: *mut ::std::os::raw::c_void,
data_out_size: usize,
data_out_written: *mut usize,
) -> cef_response_filter_status_t,
>,
}
#[test]
fn bindgen_test_layout__cef_response_filter_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_response_filter_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_response_filter_t>(),
56usize,
concat!("Size of: ", stringify!(_cef_response_filter_t))
);
assert_eq!(
::std::mem::align_of::<_cef_response_filter_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_response_filter_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_response_filter_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).init_filter) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_response_filter_t),
"::",
stringify!(init_filter)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).filter) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_response_filter_t),
"::",
stringify!(filter)
)
);
}
#[doc = "\n Implement this structure to filter resource response content. The functions\n of this structure will be called on the browser process IO thread.\n"]
pub type cef_response_filter_t = _cef_response_filter_t;
#[doc = "\n Implement this structure to handle events related to browser requests. The\n functions of this structure will be called on the IO thread unless otherwise\n indicated.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_resource_request_handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Called on the IO thread before a resource request is loaded. The |browser|\n and |frame| values represent the source of the request, and may be NULL\n for requests originating from service workers or cef_urlrequest_t. To\n optionally filter cookies for the request return a\n cef_cookie_access_filter_t object. The |request| object cannot not be\n modified in this callback.\n"]
pub get_cookie_access_filter: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_resource_request_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
request: *mut _cef_request_t,
) -> *mut _cef_cookie_access_filter_t,
>,
#[doc = "\n Called on the IO thread before a resource request is loaded. The |browser|\n and |frame| values represent the source of the request, and may be NULL\n for requests originating from service workers or cef_urlrequest_t. To\n redirect or change the resource load optionally modify |request|.\n Modification of the request URL will be treated as a redirect. Return\n RV_CONTINUE to continue the request immediately. Return RV_CONTINUE_ASYNC\n and call cef_callback_t functions at a later time to continue or cancel\n the request asynchronously. Return RV_CANCEL to cancel the request\n immediately.\n"]
pub on_before_resource_load: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_resource_request_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
request: *mut _cef_request_t,
callback: *mut _cef_callback_t,
) -> cef_return_value_t,
>,
#[doc = "\n Called on the IO thread before a resource is loaded. The |browser| and\n |frame| values represent the source of the request, and may be NULL for\n requests originating from service workers or cef_urlrequest_t. To allow\n the resource to load using the default network loader return NULL. To\n specify a handler for the resource return a cef_resource_handler_t object.\n The |request| object cannot not be modified in this callback.\n"]
pub get_resource_handler: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_resource_request_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
request: *mut _cef_request_t,
) -> *mut _cef_resource_handler_t,
>,
#[doc = "\n Called on the IO thread when a resource load is redirected. The |browser|\n and |frame| values represent the source of the request, and may be NULL\n for requests originating from service workers or cef_urlrequest_t. The\n |request| parameter will contain the old URL and other request-related\n information. The |response| parameter will contain the response that\n resulted in the redirect. The |new_url| parameter will contain the new URL\n and can be changed if desired. The |request| and |response| objects cannot\n be modified in this callback.\n"]
pub on_resource_redirect: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_resource_request_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
request: *mut _cef_request_t,
response: *mut _cef_response_t,
new_url: *mut cef_string_t,
),
>,
#[doc = "\n Called on the IO thread when a resource response is received. The\n |browser| and |frame| values represent the source of the request, and may\n be NULL for requests originating from service workers or cef_urlrequest_t.\n To allow the resource load to proceed without modification return false\n (0). To redirect or retry the resource load optionally modify |request|\n and return true (1). Modification of the request URL will be treated as a\n redirect. Requests handled using the default network loader cannot be\n redirected in this callback. The |response| object cannot be modified in\n this callback.\n\n WARNING: Redirecting using this function is deprecated. Use\n OnBeforeResourceLoad or GetResourceHandler to perform redirects.\n"]
pub on_resource_response: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_resource_request_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
request: *mut _cef_request_t,
response: *mut _cef_response_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called on the IO thread to optionally filter resource response content.\n The |browser| and |frame| values represent the source of the request, and\n may be NULL for requests originating from service workers or\n cef_urlrequest_t. |request| and |response| represent the request and\n response respectively and cannot be modified in this callback.\n"]
pub get_resource_response_filter: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_resource_request_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
request: *mut _cef_request_t,
response: *mut _cef_response_t,
) -> *mut _cef_response_filter_t,
>,
#[doc = "\n Called on the IO thread when a resource load has completed. The |browser|\n and |frame| values represent the source of the request, and may be NULL\n for requests originating from service workers or cef_urlrequest_t.\n |request| and |response| represent the request and response respectively\n and cannot be modified in this callback. |status| indicates the load\n completion status. |received_content_length| is the number of response\n bytes actually read. This function will be called for all requests,\n including requests that are aborted due to CEF shutdown or destruction of\n the associated browser. In cases where the associated browser is destroyed\n this callback may arrive after the cef_life_span_handler_t::OnBeforeClose\n callback for that browser. The cef_frame_t::IsValid function can be used\n to test for this situation, and care should be taken not to call |browser|\n or |frame| functions that modify state (like LoadURL, SendProcessMessage,\n etc.) if the frame is invalid.\n"]
pub on_resource_load_complete: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_resource_request_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
request: *mut _cef_request_t,
response: *mut _cef_response_t,
status: cef_urlrequest_status_t,
received_content_length: i64,
),
>,
#[doc = "\n Called on the IO thread to handle requests for URLs with an unknown\n protocol component. The |browser| and |frame| values represent the source\n of the request, and may be NULL for requests originating from service\n workers or cef_urlrequest_t. |request| cannot be modified in this\n callback. Set |allow_os_execution| to true (1) to attempt execution via\n the registered OS protocol handler, if any. SECURITY WARNING: YOU SHOULD\n USE THIS METHOD TO ENFORCE RESTRICTIONS BASED ON SCHEME, HOST OR OTHER URL\n ANALYSIS BEFORE ALLOWING OS EXECUTION.\n"]
pub on_protocol_execution: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_resource_request_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
request: *mut _cef_request_t,
allow_os_execution: *mut ::std::os::raw::c_int,
),
>,
}
#[test]
fn bindgen_test_layout__cef_resource_request_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_resource_request_handler_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_resource_request_handler_t>(),
104usize,
concat!("Size of: ", stringify!(_cef_resource_request_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_resource_request_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_resource_request_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_resource_request_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_cookie_access_filter) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_resource_request_handler_t),
"::",
stringify!(get_cookie_access_filter)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_before_resource_load) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_resource_request_handler_t),
"::",
stringify!(on_before_resource_load)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_resource_handler) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_resource_request_handler_t),
"::",
stringify!(get_resource_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_resource_redirect) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_resource_request_handler_t),
"::",
stringify!(on_resource_redirect)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_resource_response) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_resource_request_handler_t),
"::",
stringify!(on_resource_response)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).get_resource_response_filter) as usize - ptr as usize
},
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_resource_request_handler_t),
"::",
stringify!(get_resource_response_filter)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_resource_load_complete) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_resource_request_handler_t),
"::",
stringify!(on_resource_load_complete)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_protocol_execution) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_resource_request_handler_t),
"::",
stringify!(on_protocol_execution)
)
);
}
#[doc = "\n Implement this structure to handle events related to browser requests. The\n functions of this structure will be called on the IO thread unless otherwise\n indicated.\n"]
pub type cef_resource_request_handler_t = _cef_resource_request_handler_t;
#[doc = "\n Implement this structure to filter cookies that may be sent or received from\n resource requests. The functions of this structure will be called on the IO\n thread unless otherwise indicated.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_cookie_access_filter_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Called on the IO thread before a resource request is sent. The |browser|\n and |frame| values represent the source of the request, and may be NULL\n for requests originating from service workers or cef_urlrequest_t.\n |request| cannot be modified in this callback. Return true (1) if the\n specified cookie can be sent with the request or false (0) otherwise.\n"]
pub can_send_cookie: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_cookie_access_filter_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
request: *mut _cef_request_t,
cookie: *const _cef_cookie_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called on the IO thread after a resource response is received. The\n |browser| and |frame| values represent the source of the request, and may\n be NULL for requests originating from service workers or cef_urlrequest_t.\n |request| cannot be modified in this callback. Return true (1) if the\n specified cookie returned with the response can be saved or false (0)\n otherwise.\n"]
pub can_save_cookie: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_cookie_access_filter_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
request: *mut _cef_request_t,
response: *mut _cef_response_t,
cookie: *const _cef_cookie_t,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_cookie_access_filter_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_cookie_access_filter_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_cookie_access_filter_t>(),
56usize,
concat!("Size of: ", stringify!(_cef_cookie_access_filter_t))
);
assert_eq!(
::std::mem::align_of::<_cef_cookie_access_filter_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_cookie_access_filter_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_cookie_access_filter_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).can_send_cookie) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_cookie_access_filter_t),
"::",
stringify!(can_send_cookie)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).can_save_cookie) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_cookie_access_filter_t),
"::",
stringify!(can_save_cookie)
)
);
}
#[doc = "\n Implement this structure to filter cookies that may be sent or received from\n resource requests. The functions of this structure will be called on the IO\n thread unless otherwise indicated.\n"]
pub type cef_cookie_access_filter_t = _cef_cookie_access_filter_t;
#[doc = "\n Structure representing SSL information.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_sslinfo_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns a bitmask containing any and all problems verifying the server\n certificate.\n"]
pub get_cert_status: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_sslinfo_t) -> cef_cert_status_t,
>,
#[doc = "\n Returns the X.509 certificate.\n"]
pub get_x509certificate: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_sslinfo_t) -> *mut _cef_x509certificate_t,
>,
}
#[test]
fn bindgen_test_layout__cef_sslinfo_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_sslinfo_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_sslinfo_t>(),
56usize,
concat!("Size of: ", stringify!(_cef_sslinfo_t))
);
assert_eq!(
::std::mem::align_of::<_cef_sslinfo_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_sslinfo_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_sslinfo_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_cert_status) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_sslinfo_t),
"::",
stringify!(get_cert_status)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_x509certificate) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_sslinfo_t),
"::",
stringify!(get_x509certificate)
)
);
}
#[doc = "\n Structure representing SSL information.\n"]
pub type cef_sslinfo_t = _cef_sslinfo_t;
extern "C" {
#[doc = "\n Returns true (1) if the certificate status represents an error.\n"]
pub fn cef_is_cert_status_error(status: cef_cert_status_t) -> ::std::os::raw::c_int;
}
#[doc = "\n Callback structure used to select a client certificate for authentication.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_select_client_certificate_callback_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Chooses the specified certificate for client certificate authentication.\n NULL value means that no client certificate should be used.\n"]
pub select: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_select_client_certificate_callback_t,
cert: *mut _cef_x509certificate_t,
),
>,
}
#[test]
fn bindgen_test_layout__cef_select_client_certificate_callback_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_select_client_certificate_callback_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_select_client_certificate_callback_t>(),
48usize,
concat!(
"Size of: ",
stringify!(_cef_select_client_certificate_callback_t)
)
);
assert_eq!(
::std::mem::align_of::<_cef_select_client_certificate_callback_t>(),
8usize,
concat!(
"Alignment of ",
stringify!(_cef_select_client_certificate_callback_t)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_select_client_certificate_callback_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).select) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_select_client_certificate_callback_t),
"::",
stringify!(select)
)
);
}
#[doc = "\n Callback structure used to select a client certificate for authentication.\n"]
pub type cef_select_client_certificate_callback_t = _cef_select_client_certificate_callback_t;
#[doc = "\n Implement this structure to handle events related to browser requests. The\n functions of this structure will be called on the thread indicated.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_request_handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Called on the UI thread before browser navigation. Return true (1) to\n cancel the navigation or false (0) to allow the navigation to proceed. The\n |request| object cannot be modified in this callback.\n cef_load_handler_t::OnLoadingStateChange will be called twice in all\n cases. If the navigation is allowed cef_load_handler_t::OnLoadStart and\n cef_load_handler_t::OnLoadEnd will be called. If the navigation is\n canceled cef_load_handler_t::OnLoadError will be called with an\n |errorCode| value of ERR_ABORTED. The |user_gesture| value will be true\n (1) if the browser navigated via explicit user gesture (e.g. clicking a\n link) or false (0) if it navigated automatically (e.g. via the\n DomContentLoaded event).\n"]
pub on_before_browse: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
request: *mut _cef_request_t,
user_gesture: ::std::os::raw::c_int,
is_redirect: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called on the UI thread before OnBeforeBrowse in certain limited cases\n where navigating a new or different browser might be desirable. This\n includes user-initiated navigation that might open in a special way (e.g.\n links clicked via middle-click or ctrl + left-click) and certain types of\n cross-origin navigation initiated from the renderer process (e.g.\n navigating the top-level frame to/from a file URL). The |browser| and\n |frame| values represent the source of the navigation. The\n |target_disposition| value indicates where the user intended to navigate\n the browser based on standard Chromium behaviors (e.g. current tab, new\n tab, etc). The |user_gesture| value will be true (1) if the browser\n navigated via explicit user gesture (e.g. clicking a link) or false (0) if\n it navigated automatically (e.g. via the DomContentLoaded event). Return\n true (1) to cancel the navigation or false (0) to allow the navigation to\n proceed in the source browser's top-level frame.\n"]
pub on_open_urlfrom_tab: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
target_url: *const cef_string_t,
target_disposition: cef_window_open_disposition_t,
user_gesture: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called on the browser process IO thread before a resource request is\n initiated. The |browser| and |frame| values represent the source of the\n request. |request| represents the request contents and cannot be modified\n in this callback. |is_navigation| will be true (1) if the resource request\n is a navigation. |is_download| will be true (1) if the resource request is\n a download. |request_initiator| is the origin (scheme + domain) of the\n page that initiated the request. Set |disable_default_handling| to true\n (1) to disable default handling of the request, in which case it will need\n to be handled via cef_resource_request_handler_t::GetResourceHandler or it\n will be canceled. To allow the resource load to proceed with default\n handling return NULL. To specify a handler for the resource return a\n cef_resource_request_handler_t object. If this callback returns NULL the\n same function will be called on the associated\n cef_request_context_handler_t, if any.\n"]
pub get_resource_request_handler: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
request: *mut _cef_request_t,
is_navigation: ::std::os::raw::c_int,
is_download: ::std::os::raw::c_int,
request_initiator: *const cef_string_t,
disable_default_handling: *mut ::std::os::raw::c_int,
) -> *mut _cef_resource_request_handler_t,
>,
#[doc = "\n Called on the IO thread when the browser needs credentials from the user.\n |origin_url| is the origin making this authentication request. |isProxy|\n indicates whether the host is a proxy server. |host| contains the hostname\n and |port| contains the port number. |realm| is the realm of the challenge\n and may be NULL. |scheme| is the authentication scheme used, such as\n \"basic\" or \"digest\", and will be NULL if the source of the request is an\n FTP server. Return true (1) to continue the request and call\n cef_auth_callback_t::cont() either in this function or at a later time\n when the authentication information is available. Return false (0) to\n cancel the request immediately.\n"]
pub get_auth_credentials: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_handler_t,
browser: *mut _cef_browser_t,
origin_url: *const cef_string_t,
isProxy: ::std::os::raw::c_int,
host: *const cef_string_t,
port: ::std::os::raw::c_int,
realm: *const cef_string_t,
scheme: *const cef_string_t,
callback: *mut _cef_auth_callback_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called on the UI thread to handle requests for URLs with an invalid SSL\n certificate. Return true (1) and call cef_callback_t functions either in\n this function or at a later time to continue or cancel the request. Return\n false (0) to cancel the request immediately. If\n cef_settings_t.ignore_certificate_errors is set all invalid certificates\n will be accepted without calling this function.\n"]
pub on_certificate_error: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_handler_t,
browser: *mut _cef_browser_t,
cert_error: cef_errorcode_t,
request_url: *const cef_string_t,
ssl_info: *mut _cef_sslinfo_t,
callback: *mut _cef_callback_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called on the UI thread when a client certificate is being requested for\n authentication. Return false (0) to use the default behavior and\n automatically select the first certificate available. Return true (1) and\n call cef_select_client_certificate_callback_t::Select either in this\n function or at a later time to select a certificate. Do not call Select or\n call it with NULL to continue without using any certificate. |isProxy|\n indicates whether the host is an HTTPS proxy or the origin server. |host|\n and |port| contains the hostname and port of the SSL server.\n |certificates| is the list of certificates to choose from; this list has\n already been pruned by Chromium so that it only contains certificates from\n issuers that the server trusts.\n"]
pub on_select_client_certificate: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_handler_t,
browser: *mut _cef_browser_t,
isProxy: ::std::os::raw::c_int,
host: *const cef_string_t,
port: ::std::os::raw::c_int,
certificatesCount: usize,
certificates: *const *mut _cef_x509certificate_t,
callback: *mut _cef_select_client_certificate_callback_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called on the browser process UI thread when the render view associated\n with |browser| is ready to receive/handle IPC messages in the render\n process.\n"]
pub on_render_view_ready: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_request_handler_t, browser: *mut _cef_browser_t),
>,
#[doc = "\n Called on the browser process UI thread when the render process terminates\n unexpectedly. |status| indicates how the process terminated.\n"]
pub on_render_process_terminated: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_request_handler_t,
browser: *mut _cef_browser_t,
status: cef_termination_status_t,
),
>,
#[doc = "\n Called on the browser process UI thread when the window.document object of\n the main frame has been created.\n"]
pub on_document_available_in_main_frame: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_request_handler_t, browser: *mut _cef_browser_t),
>,
}
#[test]
fn bindgen_test_layout__cef_request_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_request_handler_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_request_handler_t>(),
112usize,
concat!("Size of: ", stringify!(_cef_request_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_request_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_request_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_before_browse) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_handler_t),
"::",
stringify!(on_before_browse)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_open_urlfrom_tab) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_handler_t),
"::",
stringify!(on_open_urlfrom_tab)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).get_resource_request_handler) as usize - ptr as usize
},
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_handler_t),
"::",
stringify!(get_resource_request_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_auth_credentials) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_handler_t),
"::",
stringify!(get_auth_credentials)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_certificate_error) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_handler_t),
"::",
stringify!(on_certificate_error)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).on_select_client_certificate) as usize - ptr as usize
},
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_handler_t),
"::",
stringify!(on_select_client_certificate)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_render_view_ready) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_handler_t),
"::",
stringify!(on_render_view_ready)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).on_render_process_terminated) as usize - ptr as usize
},
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_handler_t),
"::",
stringify!(on_render_process_terminated)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).on_document_available_in_main_frame) as usize - ptr as usize
},
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_request_handler_t),
"::",
stringify!(on_document_available_in_main_frame)
)
);
}
#[doc = "\n Implement this structure to handle events related to browser requests. The\n functions of this structure will be called on the thread indicated.\n"]
pub type cef_request_handler_t = _cef_request_handler_t;
#[doc = "\n Implement this structure to provide handler implementations.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_client_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Return the handler for audio rendering events.\n"]
pub get_audio_handler: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_client_t) -> *mut _cef_audio_handler_t,
>,
#[doc = "\n Return the handler for commands. If no handler is provided the default\n implementation will be used.\n"]
pub get_command_handler: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_client_t) -> *mut _cef_command_handler_t,
>,
#[doc = "\n Return the handler for context menus. If no handler is provided the\n default implementation will be used.\n"]
pub get_context_menu_handler: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_client_t) -> *mut _cef_context_menu_handler_t,
>,
#[doc = "\n Return the handler for dialogs. If no handler is provided the default\n implementation will be used.\n"]
pub get_dialog_handler: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_client_t) -> *mut _cef_dialog_handler_t,
>,
#[doc = "\n Return the handler for browser display state events.\n"]
pub get_display_handler: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_client_t) -> *mut _cef_display_handler_t,
>,
#[doc = "\n Return the handler for download events. If no handler is returned\n downloads will not be allowed.\n"]
pub get_download_handler: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_client_t) -> *mut _cef_download_handler_t,
>,
#[doc = "\n Return the handler for drag events.\n"]
pub get_drag_handler: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_client_t) -> *mut _cef_drag_handler_t,
>,
#[doc = "\n Return the handler for find result events.\n"]
pub get_find_handler: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_client_t) -> *mut _cef_find_handler_t,
>,
#[doc = "\n Return the handler for focus events.\n"]
pub get_focus_handler: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_client_t) -> *mut _cef_focus_handler_t,
>,
#[doc = "\n Return the handler for events related to cef_frame_t lifespan. This\n function will be called once during cef_browser_t creation and the result\n will be cached for performance reasons.\n"]
pub get_frame_handler: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_client_t) -> *mut _cef_frame_handler_t,
>,
#[doc = "\n Return the handler for permission requests.\n"]
pub get_permission_handler: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_client_t) -> *mut _cef_permission_handler_t,
>,
#[doc = "\n Return the handler for JavaScript dialogs. If no handler is provided the\n default implementation will be used.\n"]
pub get_jsdialog_handler: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_client_t) -> *mut _cef_jsdialog_handler_t,
>,
#[doc = "\n Return the handler for keyboard events.\n"]
pub get_keyboard_handler: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_client_t) -> *mut _cef_keyboard_handler_t,
>,
#[doc = "\n Return the handler for browser life span events.\n"]
pub get_life_span_handler: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_client_t) -> *mut _cef_life_span_handler_t,
>,
#[doc = "\n Return the handler for browser load status events.\n"]
pub get_load_handler: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_client_t) -> *mut _cef_load_handler_t,
>,
#[doc = "\n Return the handler for printing on Linux. If a print handler is not\n provided then printing will not be supported on the Linux platform.\n"]
pub get_print_handler: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_client_t) -> *mut _cef_print_handler_t,
>,
#[doc = "\n Return the handler for off-screen rendering events.\n"]
pub get_render_handler: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_client_t) -> *mut _cef_render_handler_t,
>,
#[doc = "\n Return the handler for browser request events.\n"]
pub get_request_handler: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_client_t) -> *mut _cef_request_handler_t,
>,
#[doc = "\n Called when a new message is received from a different process. Return\n true (1) if the message was handled or false (0) otherwise. It is safe to\n keep a reference to |message| outside of this callback.\n"]
pub on_process_message_received: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_client_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
source_process: cef_process_id_t,
message: *mut _cef_process_message_t,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_client_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_client_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_client_t>(),
192usize,
concat!("Size of: ", stringify!(_cef_client_t))
);
assert_eq!(
::std::mem::align_of::<_cef_client_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_client_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_client_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_audio_handler) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_client_t),
"::",
stringify!(get_audio_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_command_handler) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_client_t),
"::",
stringify!(get_command_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_context_menu_handler) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_client_t),
"::",
stringify!(get_context_menu_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_dialog_handler) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_client_t),
"::",
stringify!(get_dialog_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_display_handler) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_client_t),
"::",
stringify!(get_display_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_download_handler) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_client_t),
"::",
stringify!(get_download_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_drag_handler) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_client_t),
"::",
stringify!(get_drag_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_find_handler) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_client_t),
"::",
stringify!(get_find_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_focus_handler) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_client_t),
"::",
stringify!(get_focus_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_frame_handler) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_client_t),
"::",
stringify!(get_frame_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_permission_handler) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_client_t),
"::",
stringify!(get_permission_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_jsdialog_handler) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_client_t),
"::",
stringify!(get_jsdialog_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_keyboard_handler) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_client_t),
"::",
stringify!(get_keyboard_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_life_span_handler) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(_cef_client_t),
"::",
stringify!(get_life_span_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_load_handler) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_cef_client_t),
"::",
stringify!(get_load_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_print_handler) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_cef_client_t),
"::",
stringify!(get_print_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_render_handler) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_cef_client_t),
"::",
stringify!(get_render_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_request_handler) as usize - ptr as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(_cef_client_t),
"::",
stringify!(get_request_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_process_message_received) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(_cef_client_t),
"::",
stringify!(on_process_message_received)
)
);
}
#[doc = "\n Implement this structure to provide handler implementations.\n"]
pub type cef_client_t = _cef_client_t;
#[doc = "\n Structure used to create and/or parse command line arguments. Arguments with\n \"--\", \"-\" and, on Windows, \"/\" prefixes are considered switches. Switches\n will always precede any arguments without switch prefixes. Switches can\n optionally have a value specified using the \"=\" delimiter (e.g.\n \"-switch=value\"). An argument of \"--\" will terminate switch parsing with all\n subsequent tokens, regardless of prefix, being interpreted as non-switch\n arguments. Switch names should be lowercase ASCII and will be converted to\n such if necessary. Switch values will retain the original case and UTF8\n encoding. This structure can be used before cef_initialize() is called.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_command_line_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns true (1) if this object is valid. Do not call any other functions\n if this function returns false (0).\n"]
pub is_valid: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_command_line_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the values of this object are read-only. Some APIs may\n expose read-only objects.\n"]
pub is_read_only: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_command_line_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns a writable copy of this object.\n"]
pub copy: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_command_line_t) -> *mut _cef_command_line_t,
>,
#[doc = "\n Initialize the command line with the specified |argc| and |argv| values.\n The first argument must be the name of the program. This function is only\n supported on non-Windows platforms.\n"]
pub init_from_argv: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_command_line_t,
argc: ::std::os::raw::c_int,
argv: *const *const ::std::os::raw::c_char,
),
>,
#[doc = "\n Initialize the command line with the string returned by calling\n GetCommandLineW(). This function is only supported on Windows.\n"]
pub init_from_string: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_command_line_t, command_line: *const cef_string_t),
>,
#[doc = "\n Reset the command-line switches and arguments but leave the program\n component unchanged.\n"]
pub reset: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_command_line_t)>,
#[doc = "\n Retrieve the original command line string as a vector of strings. The argv\n array: `{ program, [(--|-|/)switch[=value]]*, [--], [argument]* }`\n"]
pub get_argv: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_command_line_t, argv: cef_string_list_t),
>,
#[doc = "\n Constructs and returns the represented command line string. Use this\n function cautiously because quoting behavior is unclear.\n"]
pub get_command_line_string: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_command_line_t) -> cef_string_userfree_t,
>,
#[doc = "\n Get the program part of the command line string (the first item).\n"]
pub get_program: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_command_line_t) -> cef_string_userfree_t,
>,
#[doc = "\n Set the program part of the command line string (the first item).\n"]
pub set_program: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_command_line_t, program: *const cef_string_t),
>,
#[doc = "\n Returns true (1) if the command line has switches.\n"]
pub has_switches: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_command_line_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the command line contains the given switch.\n"]
pub has_switch: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_command_line_t,
name: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the value associated with the given switch. If the switch has no\n value or isn't present this function returns the NULL string.\n"]
pub get_switch_value: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_command_line_t,
name: *const cef_string_t,
) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the map of switch names and values. If a switch has no value an\n NULL string is returned.\n"]
pub get_switches: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_command_line_t, switches: cef_string_map_t),
>,
#[doc = "\n Add a switch to the end of the command line.\n"]
pub append_switch: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_command_line_t, name: *const cef_string_t),
>,
#[doc = "\n Add a switch with the specified value to the end of the command line. If\n the switch has no value pass an NULL value string.\n"]
pub append_switch_with_value: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_command_line_t,
name: *const cef_string_t,
value: *const cef_string_t,
),
>,
#[doc = "\n True if there are remaining command line arguments.\n"]
pub has_arguments: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_command_line_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Get the remaining command line arguments.\n"]
pub get_arguments: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_command_line_t, arguments: cef_string_list_t),
>,
#[doc = "\n Add an argument to the end of the command line.\n"]
pub append_argument: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_command_line_t, argument: *const cef_string_t),
>,
#[doc = "\n Insert a command before the current command. Common for debuggers, like\n \"valgrind\" or \"gdb --args\".\n"]
pub prepend_wrapper: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_command_line_t, wrapper: *const cef_string_t),
>,
}
#[test]
fn bindgen_test_layout__cef_command_line_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_command_line_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_command_line_t>(),
200usize,
concat!("Size of: ", stringify!(_cef_command_line_t))
);
assert_eq!(
::std::mem::align_of::<_cef_command_line_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_command_line_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_line_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_valid) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_line_t),
"::",
stringify!(is_valid)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_read_only) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_line_t),
"::",
stringify!(is_read_only)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).copy) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_line_t),
"::",
stringify!(copy)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).init_from_argv) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_line_t),
"::",
stringify!(init_from_argv)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).init_from_string) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_line_t),
"::",
stringify!(init_from_string)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reset) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_line_t),
"::",
stringify!(reset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_argv) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_line_t),
"::",
stringify!(get_argv)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_command_line_string) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_line_t),
"::",
stringify!(get_command_line_string)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_program) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_line_t),
"::",
stringify!(get_program)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_program) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_line_t),
"::",
stringify!(set_program)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).has_switches) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_line_t),
"::",
stringify!(has_switches)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).has_switch) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_line_t),
"::",
stringify!(has_switch)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_switch_value) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_line_t),
"::",
stringify!(get_switch_value)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_switches) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_line_t),
"::",
stringify!(get_switches)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).append_switch) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_line_t),
"::",
stringify!(append_switch)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).append_switch_with_value) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_line_t),
"::",
stringify!(append_switch_with_value)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).has_arguments) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_line_t),
"::",
stringify!(has_arguments)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_arguments) as usize - ptr as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_line_t),
"::",
stringify!(get_arguments)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).append_argument) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_line_t),
"::",
stringify!(append_argument)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).prepend_wrapper) as usize - ptr as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(_cef_command_line_t),
"::",
stringify!(prepend_wrapper)
)
);
}
#[doc = "\n Structure used to create and/or parse command line arguments. Arguments with\n \"--\", \"-\" and, on Windows, \"/\" prefixes are considered switches. Switches\n will always precede any arguments without switch prefixes. Switches can\n optionally have a value specified using the \"=\" delimiter (e.g.\n \"-switch=value\"). An argument of \"--\" will terminate switch parsing with all\n subsequent tokens, regardless of prefix, being interpreted as non-switch\n arguments. Switch names should be lowercase ASCII and will be converted to\n such if necessary. Switch values will retain the original case and UTF8\n encoding. This structure can be used before cef_initialize() is called.\n"]
pub type cef_command_line_t = _cef_command_line_t;
extern "C" {
#[doc = "\n Create a new cef_command_line_t instance.\n"]
pub fn cef_command_line_create() -> *mut cef_command_line_t;
}
extern "C" {
#[doc = "\n Returns the singleton global cef_command_line_t object. The returned object\n will be read-only.\n"]
pub fn cef_command_line_get_global() -> *mut cef_command_line_t;
}
#[doc = "\n Structure used to implement browser process callbacks. The functions of this\n structure will be called on the browser process main thread unless otherwise\n indicated.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_browser_process_handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Provides an opportunity to register custom preferences prior to global and\n request context initialization.\n\n If |type| is CEF_PREFERENCES_TYPE_GLOBAL the registered preferences can be\n accessed via cef_preference_manager_t::GetGlobalPreferences after\n OnContextInitialized is called. Global preferences are registered a single\n time at application startup. See related cef_settings_t.cache_path and\n cef_settings_t.persist_user_preferences configuration.\n\n If |type| is CEF_PREFERENCES_TYPE_REQUEST_CONTEXT the preferences can be\n accessed via the cef_request_context_t after\n cef_request_context_handler_t::OnRequestContextInitialized is called.\n Request context preferences are registered each time a new\n cef_request_context_t is created. It is intended but not required that all\n request contexts have the same registered preferences. See related\n cef_request_context_settings_t.cache_path and\n cef_request_context_settings_t.persist_user_preferences configuration.\n\n Do not keep a reference to the |registrar| object. This function is called\n on the browser process UI thread.\n"]
pub on_register_custom_preferences: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_process_handler_t,
type_: cef_preferences_type_t,
registrar: *mut _cef_preference_registrar_t,
),
>,
#[doc = "\n Called on the browser process UI thread immediately after the CEF context\n has been initialized.\n"]
pub on_context_initialized:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_browser_process_handler_t)>,
#[doc = "\n Called before a child process is launched. Will be called on the browser\n process UI thread when launching a render process and on the browser\n process IO thread when launching a GPU process. Provides an opportunity to\n modify the child process command line. Do not keep a reference to\n |command_line| outside of this function.\n"]
pub on_before_child_process_launch: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_process_handler_t,
command_line: *mut _cef_command_line_t,
),
>,
#[doc = "\n Called from any thread when work has been scheduled for the browser\n process main (UI) thread. This callback is used in combination with\n cef_settings_t.external_message_pump and cef_do_message_loop_work() in\n cases where the CEF message loop must be integrated into an existing\n application message loop (see additional comments and warnings on\n CefDoMessageLoopWork). This callback should schedule a\n cef_do_message_loop_work() call to happen on the main (UI) thread.\n |delay_ms| is the requested delay in milliseconds. If |delay_ms| is <= 0\n then the call should happen reasonably soon. If |delay_ms| is > 0 then the\n call should be scheduled to happen after the specified delay and any\n currently pending scheduled call should be cancelled.\n"]
pub on_schedule_message_pump_work: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_process_handler_t, delay_ms: i64),
>,
#[doc = "\n Return the default client for use with a newly created browser window. If\n null is returned the browser will be unmanaged (no callbacks will be\n executed for that browser) and application shutdown will be blocked until\n the browser window is closed manually. This function is currently only\n used with the chrome runtime.\n"]
pub get_default_client: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_process_handler_t) -> *mut _cef_client_t,
>,
}
#[test]
fn bindgen_test_layout__cef_browser_process_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_browser_process_handler_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_browser_process_handler_t>(),
80usize,
concat!("Size of: ", stringify!(_cef_browser_process_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_browser_process_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_browser_process_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_process_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).on_register_custom_preferences) as usize - ptr as usize
},
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_process_handler_t),
"::",
stringify!(on_register_custom_preferences)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_context_initialized) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_process_handler_t),
"::",
stringify!(on_context_initialized)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).on_before_child_process_launch) as usize - ptr as usize
},
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_process_handler_t),
"::",
stringify!(on_before_child_process_launch)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).on_schedule_message_pump_work) as usize - ptr as usize
},
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_process_handler_t),
"::",
stringify!(on_schedule_message_pump_work)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_default_client) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_process_handler_t),
"::",
stringify!(get_default_client)
)
);
}
#[doc = "\n Structure used to implement browser process callbacks. The functions of this\n structure will be called on the browser process main thread unless otherwise\n indicated.\n"]
pub type cef_browser_process_handler_t = _cef_browser_process_handler_t;
#[doc = "\n Implement this structure for asynchronous task execution. If the task is\n posted successfully and if the associated message loop is still running then\n the execute() function will be called on the target thread. If the task\n fails to post then the task object may be destroyed on the source thread\n instead of the target thread. For this reason be cautious when performing\n work in the task object destructor.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_task_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Method that will be executed on the target thread.\n"]
pub execute: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_task_t)>,
}
#[test]
fn bindgen_test_layout__cef_task_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_task_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_task_t>(),
48usize,
concat!("Size of: ", stringify!(_cef_task_t))
);
assert_eq!(
::std::mem::align_of::<_cef_task_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_task_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_task_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).execute) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_task_t),
"::",
stringify!(execute)
)
);
}
#[doc = "\n Implement this structure for asynchronous task execution. If the task is\n posted successfully and if the associated message loop is still running then\n the execute() function will be called on the target thread. If the task\n fails to post then the task object may be destroyed on the source thread\n instead of the target thread. For this reason be cautious when performing\n work in the task object destructor.\n"]
pub type cef_task_t = _cef_task_t;
#[doc = "\n Structure that asynchronously executes tasks on the associated thread. It is\n safe to call the functions of this structure on any thread.\n\n CEF maintains multiple internal threads that are used for handling different\n types of tasks in different processes. The cef_thread_id_t definitions in\n cef_types.h list the common CEF threads. Task runners are also available for\n other CEF threads as appropriate (for example, V8 WebWorker threads).\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_task_runner_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns true (1) if this object is pointing to the same task runner as\n |that| object.\n"]
pub is_same: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_task_runner_t,
that: *mut _cef_task_runner_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this task runner belongs to the current thread.\n"]
pub belongs_to_current_thread: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_task_runner_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this task runner is for the specified CEF thread.\n"]
pub belongs_to_thread: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_task_runner_t,
threadId: cef_thread_id_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Post a task for execution on the thread associated with this task runner.\n Execution will occur asynchronously.\n"]
pub post_task: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_task_runner_t,
task: *mut _cef_task_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Post a task for delayed execution on the thread associated with this task\n runner. Execution will occur asynchronously. Delayed tasks are not\n supported on V8 WebWorker threads and will be executed without the\n specified delay.\n"]
pub post_delayed_task: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_task_runner_t,
task: *mut _cef_task_t,
delay_ms: i64,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_task_runner_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_task_runner_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_task_runner_t>(),
80usize,
concat!("Size of: ", stringify!(_cef_task_runner_t))
);
assert_eq!(
::std::mem::align_of::<_cef_task_runner_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_task_runner_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_task_runner_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_same) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_task_runner_t),
"::",
stringify!(is_same)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).belongs_to_current_thread) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_task_runner_t),
"::",
stringify!(belongs_to_current_thread)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).belongs_to_thread) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_task_runner_t),
"::",
stringify!(belongs_to_thread)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).post_task) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_task_runner_t),
"::",
stringify!(post_task)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).post_delayed_task) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_task_runner_t),
"::",
stringify!(post_delayed_task)
)
);
}
#[doc = "\n Structure that asynchronously executes tasks on the associated thread. It is\n safe to call the functions of this structure on any thread.\n\n CEF maintains multiple internal threads that are used for handling different\n types of tasks in different processes. The cef_thread_id_t definitions in\n cef_types.h list the common CEF threads. Task runners are also available for\n other CEF threads as appropriate (for example, V8 WebWorker threads).\n"]
pub type cef_task_runner_t = _cef_task_runner_t;
extern "C" {
#[doc = "\n Returns the task runner for the current thread. Only CEF threads will have\n task runners. An NULL reference will be returned if this function is called\n on an invalid thread.\n"]
pub fn cef_task_runner_get_for_current_thread() -> *mut cef_task_runner_t;
}
extern "C" {
#[doc = "\n Returns the task runner for the specified CEF thread.\n"]
pub fn cef_task_runner_get_for_thread(threadId: cef_thread_id_t) -> *mut cef_task_runner_t;
}
extern "C" {
#[doc = "\n Returns true (1) if called on the specified thread. Equivalent to using\n cef_task_runner_t::GetForThread(threadId)->belongs_to_current_thread().\n"]
pub fn cef_currently_on(threadId: cef_thread_id_t) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = "\n Post a task for execution on the specified thread. Equivalent to using\n cef_task_runner_t::GetForThread(threadId)->PostTask(task).\n"]
pub fn cef_post_task(threadId: cef_thread_id_t, task: *mut cef_task_t)
-> ::std::os::raw::c_int;
}
extern "C" {
#[doc = "\n Post a task for delayed execution on the specified thread. Equivalent to\n using cef_task_runner_t::GetForThread(threadId)->PostDelayedTask(task,\n delay_ms).\n"]
pub fn cef_post_delayed_task(
threadId: cef_thread_id_t,
task: *mut cef_task_t,
delay_ms: i64,
) -> ::std::os::raw::c_int;
}
#[doc = "\n Structure representing a V8 context handle. V8 handles can only be accessed\n from the thread on which they are created. Valid threads for creating a V8\n handle include the render process main thread (TID_RENDERER) and WebWorker\n threads. A task runner for posting tasks on the associated thread can be\n retrieved via the cef_v8context_t::get_task_runner() function.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_v8context_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns the task runner associated with this context. V8 handles can only\n be accessed from the thread on which they are created. This function can\n be called on any render process thread.\n"]
pub get_task_runner: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8context_t) -> *mut _cef_task_runner_t,
>,
#[doc = "\n Returns true (1) if the underlying handle is valid and it can be accessed\n on the current thread. Do not call any other functions if this function\n returns false (0).\n"]
pub is_valid: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8context_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the browser for this context. This function will return an NULL\n reference for WebWorker contexts.\n"]
pub get_browser: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8context_t) -> *mut _cef_browser_t,
>,
#[doc = "\n Returns the frame for this context. This function will return an NULL\n reference for WebWorker contexts.\n"]
pub get_frame: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8context_t) -> *mut _cef_frame_t,
>,
#[doc = "\n Returns the global object for this context. The context must be entered\n before calling this function.\n"]
pub get_global: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8context_t) -> *mut _cef_v8value_t,
>,
#[doc = "\n Enter this context. A context must be explicitly entered before creating a\n V8 Object, Array, Function or Date asynchronously. exit() must be called\n the same number of times as enter() before releasing this context. V8\n objects belong to the context in which they are created. Returns true (1)\n if the scope was entered successfully.\n"]
pub enter: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8context_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Exit this context. Call this function only after calling enter(). Returns\n true (1) if the scope was exited successfully.\n"]
pub exit: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8context_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this object is pointing to the same handle as |that|\n object.\n"]
pub is_same: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8context_t,
that: *mut _cef_v8context_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Execute a string of JavaScript code in this V8 context. The |script_url|\n parameter is the URL where the script in question can be found, if any.\n The |start_line| parameter is the base line number to use for error\n reporting. On success |retval| will be set to the return value, if any,\n and the function will return true (1). On failure |exception| will be set\n to the exception, if any, and the function will return false (0).\n"]
pub eval: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8context_t,
code: *const cef_string_t,
script_url: *const cef_string_t,
start_line: ::std::os::raw::c_int,
retval: *mut *mut _cef_v8value_t,
exception: *mut *mut _cef_v8exception_t,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_v8context_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_v8context_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_v8context_t>(),
112usize,
concat!("Size of: ", stringify!(_cef_v8context_t))
);
assert_eq!(
::std::mem::align_of::<_cef_v8context_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_v8context_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8context_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_task_runner) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8context_t),
"::",
stringify!(get_task_runner)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_valid) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8context_t),
"::",
stringify!(is_valid)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_browser) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8context_t),
"::",
stringify!(get_browser)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_frame) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8context_t),
"::",
stringify!(get_frame)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_global) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8context_t),
"::",
stringify!(get_global)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).enter) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8context_t),
"::",
stringify!(enter)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).exit) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8context_t),
"::",
stringify!(exit)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_same) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8context_t),
"::",
stringify!(is_same)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).eval) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8context_t),
"::",
stringify!(eval)
)
);
}
#[doc = "\n Structure representing a V8 context handle. V8 handles can only be accessed\n from the thread on which they are created. Valid threads for creating a V8\n handle include the render process main thread (TID_RENDERER) and WebWorker\n threads. A task runner for posting tasks on the associated thread can be\n retrieved via the cef_v8context_t::get_task_runner() function.\n"]
pub type cef_v8context_t = _cef_v8context_t;
extern "C" {
#[doc = "\n Returns the current (top) context object in the V8 context stack.\n"]
pub fn cef_v8context_get_current_context() -> *mut cef_v8context_t;
}
extern "C" {
#[doc = "\n Returns the entered (bottom) context object in the V8 context stack.\n"]
pub fn cef_v8context_get_entered_context() -> *mut cef_v8context_t;
}
extern "C" {
#[doc = "\n Returns true (1) if V8 is currently inside a context.\n"]
pub fn cef_v8context_in_context() -> ::std::os::raw::c_int;
}
#[doc = "\n Structure that should be implemented to handle V8 function calls. The\n functions of this structure will be called on the thread associated with the\n V8 function.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_v8handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Handle execution of the function identified by |name|. |object| is the\n receiver ('this' object) of the function. |arguments| is the list of\n arguments passed to the function. If execution succeeds set |retval| to\n the function return value. If execution fails set |exception| to the\n exception that will be thrown. Return true (1) if execution was handled.\n"]
pub execute: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8handler_t,
name: *const cef_string_t,
object: *mut _cef_v8value_t,
argumentsCount: usize,
arguments: *const *mut _cef_v8value_t,
retval: *mut *mut _cef_v8value_t,
exception: *mut cef_string_t,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_v8handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_v8handler_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_v8handler_t>(),
48usize,
concat!("Size of: ", stringify!(_cef_v8handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_v8handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_v8handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).execute) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8handler_t),
"::",
stringify!(execute)
)
);
}
#[doc = "\n Structure that should be implemented to handle V8 function calls. The\n functions of this structure will be called on the thread associated with the\n V8 function.\n"]
pub type cef_v8handler_t = _cef_v8handler_t;
#[doc = "\n Structure that should be implemented to handle V8 accessor calls. Accessor\n identifiers are registered by calling cef_v8value_t::set_value(). The\n functions of this structure will be called on the thread associated with the\n V8 accessor.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_v8accessor_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Handle retrieval the accessor value identified by |name|. |object| is the\n receiver ('this' object) of the accessor. If retrieval succeeds set\n |retval| to the return value. If retrieval fails set |exception| to the\n exception that will be thrown. Return true (1) if accessor retrieval was\n handled.\n"]
pub get: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8accessor_t,
name: *const cef_string_t,
object: *mut _cef_v8value_t,
retval: *mut *mut _cef_v8value_t,
exception: *mut cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Handle assignment of the accessor value identified by |name|. |object| is\n the receiver ('this' object) of the accessor. |value| is the new value\n being assigned to the accessor. If assignment fails set |exception| to the\n exception that will be thrown. Return true (1) if accessor assignment was\n handled.\n"]
pub set: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8accessor_t,
name: *const cef_string_t,
object: *mut _cef_v8value_t,
value: *mut _cef_v8value_t,
exception: *mut cef_string_t,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_v8accessor_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_v8accessor_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_v8accessor_t>(),
56usize,
concat!("Size of: ", stringify!(_cef_v8accessor_t))
);
assert_eq!(
::std::mem::align_of::<_cef_v8accessor_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_v8accessor_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8accessor_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8accessor_t),
"::",
stringify!(get)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8accessor_t),
"::",
stringify!(set)
)
);
}
#[doc = "\n Structure that should be implemented to handle V8 accessor calls. Accessor\n identifiers are registered by calling cef_v8value_t::set_value(). The\n functions of this structure will be called on the thread associated with the\n V8 accessor.\n"]
pub type cef_v8accessor_t = _cef_v8accessor_t;
#[doc = "\n Structure that should be implemented to handle V8 interceptor calls. The\n functions of this structure will be called on the thread associated with the\n V8 interceptor. Interceptor's named property handlers (with first argument\n of type CefString) are called when object is indexed by string. Indexed\n property handlers (with first argument of type int) are called when object\n is indexed by integer.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_v8interceptor_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Handle retrieval of the interceptor value identified by |name|. |object|\n is the receiver ('this' object) of the interceptor. If retrieval succeeds,\n set |retval| to the return value. If the requested value does not exist,\n don't set either |retval| or |exception|. If retrieval fails, set\n |exception| to the exception that will be thrown. If the property has an\n associated accessor, it will be called only if you don't set |retval|.\n Return true (1) if interceptor retrieval was handled, false (0) otherwise.\n"]
pub get_byname: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8interceptor_t,
name: *const cef_string_t,
object: *mut _cef_v8value_t,
retval: *mut *mut _cef_v8value_t,
exception: *mut cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Handle retrieval of the interceptor value identified by |index|. |object|\n is the receiver ('this' object) of the interceptor. If retrieval succeeds,\n set |retval| to the return value. If the requested value does not exist,\n don't set either |retval| or |exception|. If retrieval fails, set\n |exception| to the exception that will be thrown. Return true (1) if\n interceptor retrieval was handled, false (0) otherwise.\n"]
pub get_byindex: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8interceptor_t,
index: ::std::os::raw::c_int,
object: *mut _cef_v8value_t,
retval: *mut *mut _cef_v8value_t,
exception: *mut cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Handle assignment of the interceptor value identified by |name|. |object|\n is the receiver ('this' object) of the interceptor. |value| is the new\n value being assigned to the interceptor. If assignment fails, set\n |exception| to the exception that will be thrown. This setter will always\n be called, even when the property has an associated accessor. Return true\n (1) if interceptor assignment was handled, false (0) otherwise.\n"]
pub set_byname: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8interceptor_t,
name: *const cef_string_t,
object: *mut _cef_v8value_t,
value: *mut _cef_v8value_t,
exception: *mut cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Handle assignment of the interceptor value identified by |index|. |object|\n is the receiver ('this' object) of the interceptor. |value| is the new\n value being assigned to the interceptor. If assignment fails, set\n |exception| to the exception that will be thrown. Return true (1) if\n interceptor assignment was handled, false (0) otherwise.\n"]
pub set_byindex: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8interceptor_t,
index: ::std::os::raw::c_int,
object: *mut _cef_v8value_t,
value: *mut _cef_v8value_t,
exception: *mut cef_string_t,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_v8interceptor_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_v8interceptor_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_v8interceptor_t>(),
72usize,
concat!("Size of: ", stringify!(_cef_v8interceptor_t))
);
assert_eq!(
::std::mem::align_of::<_cef_v8interceptor_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_v8interceptor_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8interceptor_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_byname) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8interceptor_t),
"::",
stringify!(get_byname)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_byindex) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8interceptor_t),
"::",
stringify!(get_byindex)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_byname) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8interceptor_t),
"::",
stringify!(set_byname)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_byindex) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8interceptor_t),
"::",
stringify!(set_byindex)
)
);
}
#[doc = "\n Structure that should be implemented to handle V8 interceptor calls. The\n functions of this structure will be called on the thread associated with the\n V8 interceptor. Interceptor's named property handlers (with first argument\n of type CefString) are called when object is indexed by string. Indexed\n property handlers (with first argument of type int) are called when object\n is indexed by integer.\n"]
pub type cef_v8interceptor_t = _cef_v8interceptor_t;
#[doc = "\n Structure representing a V8 exception. The functions of this structure may\n be called on any render process thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_v8exception_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns the exception message.\n"]
pub get_message: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8exception_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the line of source code that the exception occurred within.\n"]
pub get_source_line: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8exception_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the resource name for the script from where the function causing\n the error originates.\n"]
pub get_script_resource_name: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8exception_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the 1-based number of the line where the error occurred or 0 if\n the line number is unknown.\n"]
pub get_line_number: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8exception_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the index within the script of the first character where the error\n occurred.\n"]
pub get_start_position: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8exception_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the index within the script of the last character where the error\n occurred.\n"]
pub get_end_position: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8exception_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the index within the line of the first character where the error\n occurred.\n"]
pub get_start_column: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8exception_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the index within the line of the last character where the error\n occurred.\n"]
pub get_end_column: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8exception_t) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_v8exception_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_v8exception_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_v8exception_t>(),
104usize,
concat!("Size of: ", stringify!(_cef_v8exception_t))
);
assert_eq!(
::std::mem::align_of::<_cef_v8exception_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_v8exception_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8exception_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_message) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8exception_t),
"::",
stringify!(get_message)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_source_line) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8exception_t),
"::",
stringify!(get_source_line)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_script_resource_name) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8exception_t),
"::",
stringify!(get_script_resource_name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_line_number) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8exception_t),
"::",
stringify!(get_line_number)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_start_position) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8exception_t),
"::",
stringify!(get_start_position)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_end_position) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8exception_t),
"::",
stringify!(get_end_position)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_start_column) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8exception_t),
"::",
stringify!(get_start_column)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_end_column) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8exception_t),
"::",
stringify!(get_end_column)
)
);
}
#[doc = "\n Structure representing a V8 exception. The functions of this structure may\n be called on any render process thread.\n"]
pub type cef_v8exception_t = _cef_v8exception_t;
#[doc = "\n Callback structure that is passed to cef_v8value_t::CreateArrayBuffer.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_v8array_buffer_release_callback_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Called to release |buffer| when the ArrayBuffer JS object is garbage\n collected. |buffer| is the value that was passed to CreateArrayBuffer\n along with this object.\n"]
pub release_buffer: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8array_buffer_release_callback_t,
buffer: *mut ::std::os::raw::c_void,
),
>,
}
#[test]
fn bindgen_test_layout__cef_v8array_buffer_release_callback_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_v8array_buffer_release_callback_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_v8array_buffer_release_callback_t>(),
48usize,
concat!(
"Size of: ",
stringify!(_cef_v8array_buffer_release_callback_t)
)
);
assert_eq!(
::std::mem::align_of::<_cef_v8array_buffer_release_callback_t>(),
8usize,
concat!(
"Alignment of ",
stringify!(_cef_v8array_buffer_release_callback_t)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8array_buffer_release_callback_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).release_buffer) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8array_buffer_release_callback_t),
"::",
stringify!(release_buffer)
)
);
}
#[doc = "\n Callback structure that is passed to cef_v8value_t::CreateArrayBuffer.\n"]
pub type cef_v8array_buffer_release_callback_t = _cef_v8array_buffer_release_callback_t;
#[doc = "\n Structure representing a V8 value handle. V8 handles can only be accessed\n from the thread on which they are created. Valid threads for creating a V8\n handle include the render process main thread (TID_RENDERER) and WebWorker\n threads. A task runner for posting tasks on the associated thread can be\n retrieved via the cef_v8context_t::get_task_runner() function.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_v8value_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns true (1) if the underlying handle is valid and it can be accessed\n on the current thread. Do not call any other functions if this function\n returns false (0).\n"]
pub is_valid: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n True if the value type is undefined.\n"]
pub is_undefined: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n True if the value type is null.\n"]
pub is_null: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n True if the value type is bool.\n"]
pub is_bool: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n True if the value type is int.\n"]
pub is_int: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n True if the value type is unsigned int.\n"]
pub is_uint: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n True if the value type is double.\n"]
pub is_double: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n True if the value type is Date.\n"]
pub is_date: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n True if the value type is string.\n"]
pub is_string: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n True if the value type is object.\n"]
pub is_object: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n True if the value type is array.\n"]
pub is_array: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n True if the value type is an ArrayBuffer.\n"]
pub is_array_buffer: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n True if the value type is function.\n"]
pub is_function: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n True if the value type is a Promise.\n"]
pub is_promise: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this object is pointing to the same handle as |that|\n object.\n"]
pub is_same: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8value_t,
that: *mut _cef_v8value_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Return a bool value.\n"]
pub get_bool_value: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Return an int value.\n"]
pub get_int_value:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> i32>,
#[doc = "\n Return an unsigned int value.\n"]
pub get_uint_value:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> u32>,
#[doc = "\n Return a double value.\n"]
pub get_double_value:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> f64>,
#[doc = "\n Return a Date value.\n"]
pub get_date_value:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> cef_basetime_t>,
#[doc = "\n Return a string value.\n"]
pub get_string_value: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns true (1) if this is a user created object.\n"]
pub is_user_created: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the last function call resulted in an exception. This\n attribute exists only in the scope of the current CEF value object.\n"]
pub has_exception: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the exception resulting from the last function call. This\n attribute exists only in the scope of the current CEF value object.\n"]
pub get_exception: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> *mut _cef_v8exception_t,
>,
#[doc = "\n Clears the last exception and returns true (1) on success.\n"]
pub clear_exception: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this object will re-throw future exceptions. This\n attribute exists only in the scope of the current CEF value object.\n"]
pub will_rethrow_exceptions: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Set whether this object will re-throw future exceptions. By default\n exceptions are not re-thrown. If a exception is re-thrown the current\n context should not be accessed again until after the exception has been\n caught and not re-thrown. Returns true (1) on success. This attribute\n exists only in the scope of the current CEF value object.\n"]
pub set_rethrow_exceptions: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8value_t,
rethrow: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the object has a value with the specified identifier.\n"]
pub has_value_bykey: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8value_t,
key: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the object has a value with the specified identifier.\n"]
pub has_value_byindex: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8value_t,
index: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Deletes the value with the specified identifier and returns true (1) on\n success. Returns false (0) if this function is called incorrectly or an\n exception is thrown. For read-only and don't-delete values this function\n will return true (1) even though deletion failed.\n"]
pub delete_value_bykey: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8value_t,
key: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Deletes the value with the specified identifier and returns true (1) on\n success. Returns false (0) if this function is called incorrectly,\n deletion fails or an exception is thrown. For read-only and don't-delete\n values this function will return true (1) even though deletion failed.\n"]
pub delete_value_byindex: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8value_t,
index: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the value with the specified identifier on success. Returns NULL\n if this function is called incorrectly or an exception is thrown.\n"]
pub get_value_bykey: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8value_t,
key: *const cef_string_t,
) -> *mut _cef_v8value_t,
>,
#[doc = "\n Returns the value with the specified identifier on success. Returns NULL\n if this function is called incorrectly or an exception is thrown.\n"]
pub get_value_byindex: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8value_t,
index: ::std::os::raw::c_int,
) -> *mut _cef_v8value_t,
>,
#[doc = "\n Associates a value with the specified identifier and returns true (1) on\n success. Returns false (0) if this function is called incorrectly or an\n exception is thrown. For read-only values this function will return true\n (1) even though assignment failed.\n"]
pub set_value_bykey: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8value_t,
key: *const cef_string_t,
value: *mut _cef_v8value_t,
attribute: cef_v8_propertyattribute_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Associates a value with the specified identifier and returns true (1) on\n success. Returns false (0) if this function is called incorrectly or an\n exception is thrown. For read-only values this function will return true\n (1) even though assignment failed.\n"]
pub set_value_byindex: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8value_t,
index: ::std::os::raw::c_int,
value: *mut _cef_v8value_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Registers an identifier and returns true (1) on success. Access to the\n identifier will be forwarded to the cef_v8accessor_t instance passed to\n cef_v8value_t::cef_v8value_create_object(). Returns false (0) if this\n function is called incorrectly or an exception is thrown. For read-only\n values this function will return true (1) even though assignment failed.\n"]
pub set_value_byaccessor: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8value_t,
key: *const cef_string_t,
settings: cef_v8_accesscontrol_t,
attribute: cef_v8_propertyattribute_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Read the keys for the object's values into the specified vector. Integer-\n based keys will also be returned as strings.\n"]
pub get_keys: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8value_t,
keys: cef_string_list_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the user data for this object and returns true (1) on success.\n Returns false (0) if this function is called incorrectly. This function\n can only be called on user created objects.\n"]
pub set_user_data: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8value_t,
user_data: *mut _cef_base_ref_counted_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the user data, if any, assigned to this object.\n"]
pub get_user_data: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> *mut _cef_base_ref_counted_t,
>,
#[doc = "\n Returns the amount of externally allocated memory registered for the\n object.\n"]
pub get_externally_allocated_memory: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Adjusts the amount of registered external memory for the object. Used to\n give V8 an indication of the amount of externally allocated memory that is\n kept alive by JavaScript objects. V8 uses this information to decide when\n to perform global garbage collection. Each cef_v8value_t tracks the amount\n of external memory associated with it and automatically decreases the\n global total by the appropriate amount on its destruction.\n |change_in_bytes| specifies the number of bytes to adjust by. This\n function returns the number of bytes associated with the object after the\n adjustment. This function can only be called on user created objects.\n"]
pub adjust_externally_allocated_memory: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8value_t,
change_in_bytes: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the number of elements in the array.\n"]
pub get_array_length: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the ReleaseCallback object associated with the ArrayBuffer or NULL\n if the ArrayBuffer was not created with CreateArrayBuffer.\n"]
pub get_array_buffer_release_callback: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8value_t,
) -> *mut _cef_v8array_buffer_release_callback_t,
>,
#[doc = "\n Prevent the ArrayBuffer from using it's memory block by setting the length\n to zero. This operation cannot be undone. If the ArrayBuffer was created\n with CreateArrayBuffer then\n cef_v8array_buffer_release_callback_t::ReleaseBuffer will be called to\n release the underlying buffer.\n"]
pub neuter_array_buffer: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the function name.\n"]
pub get_function_name: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the function handler or NULL if not a CEF-created function.\n"]
pub get_function_handler: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8value_t) -> *mut _cef_v8handler_t,
>,
#[doc = "\n Execute the function using the current V8 context. This function should\n only be called from within the scope of a cef_v8handler_t or\n cef_v8accessor_t callback, or in combination with calling enter() and\n exit() on a stored cef_v8context_t reference. |object| is the receiver\n ('this' object) of the function. If |object| is NULL the current context's\n global object will be used. |arguments| is the list of arguments that will\n be passed to the function. Returns the function return value on success.\n Returns NULL if this function is called incorrectly or an exception is\n thrown.\n"]
pub execute_function: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8value_t,
object: *mut _cef_v8value_t,
argumentsCount: usize,
arguments: *const *mut _cef_v8value_t,
) -> *mut _cef_v8value_t,
>,
#[doc = "\n Execute the function using the specified V8 context. |object| is the\n receiver ('this' object) of the function. If |object| is NULL the\n specified context's global object will be used. |arguments| is the list of\n arguments that will be passed to the function. Returns the function return\n value on success. Returns NULL if this function is called incorrectly or\n an exception is thrown.\n"]
pub execute_function_with_context: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8value_t,
context: *mut _cef_v8context_t,
object: *mut _cef_v8value_t,
argumentsCount: usize,
arguments: *const *mut _cef_v8value_t,
) -> *mut _cef_v8value_t,
>,
#[doc = "\n Resolve the Promise using the current V8 context. This function should\n only be called from within the scope of a cef_v8handler_t or\n cef_v8accessor_t callback, or in combination with calling enter() and\n exit() on a stored cef_v8context_t reference. |arg| is the argument passed\n to the resolved promise. Returns true (1) on success. Returns false (0) if\n this function is called incorrectly or an exception is thrown.\n"]
pub resolve_promise: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8value_t,
arg: *mut _cef_v8value_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Reject the Promise using the current V8 context. This function should only\n be called from within the scope of a cef_v8handler_t or cef_v8accessor_t\n callback, or in combination with calling enter() and exit() on a stored\n cef_v8context_t reference. Returns true (1) on success. Returns false (0)\n if this function is called incorrectly or an exception is thrown.\n"]
pub reject_promise: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8value_t,
errorMsg: *const cef_string_t,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_v8value_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_v8value_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_v8value_t>(),
440usize,
concat!("Size of: ", stringify!(_cef_v8value_t))
);
assert_eq!(
::std::mem::align_of::<_cef_v8value_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_v8value_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_valid) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(is_valid)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_undefined) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(is_undefined)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_null) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(is_null)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_bool) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(is_bool)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_int) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(is_int)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_uint) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(is_uint)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_double) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(is_double)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_date) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(is_date)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_string) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(is_string)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_object) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(is_object)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_array) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(is_array)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_array_buffer) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(is_array_buffer)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_function) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(is_function)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_promise) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(is_promise)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_same) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(is_same)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_bool_value) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(get_bool_value)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_int_value) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(get_int_value)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_uint_value) as usize - ptr as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(get_uint_value)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_double_value) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(get_double_value)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_date_value) as usize - ptr as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(get_date_value)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_string_value) as usize - ptr as usize },
200usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(get_string_value)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_user_created) as usize - ptr as usize },
208usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(is_user_created)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).has_exception) as usize - ptr as usize },
216usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(has_exception)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_exception) as usize - ptr as usize },
224usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(get_exception)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).clear_exception) as usize - ptr as usize },
232usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(clear_exception)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).will_rethrow_exceptions) as usize - ptr as usize },
240usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(will_rethrow_exceptions)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_rethrow_exceptions) as usize - ptr as usize },
248usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(set_rethrow_exceptions)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).has_value_bykey) as usize - ptr as usize },
256usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(has_value_bykey)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).has_value_byindex) as usize - ptr as usize },
264usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(has_value_byindex)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).delete_value_bykey) as usize - ptr as usize },
272usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(delete_value_bykey)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).delete_value_byindex) as usize - ptr as usize },
280usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(delete_value_byindex)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_value_bykey) as usize - ptr as usize },
288usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(get_value_bykey)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_value_byindex) as usize - ptr as usize },
296usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(get_value_byindex)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_value_bykey) as usize - ptr as usize },
304usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(set_value_bykey)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_value_byindex) as usize - ptr as usize },
312usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(set_value_byindex)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_value_byaccessor) as usize - ptr as usize },
320usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(set_value_byaccessor)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_keys) as usize - ptr as usize },
328usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(get_keys)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_user_data) as usize - ptr as usize },
336usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(set_user_data)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_user_data) as usize - ptr as usize },
344usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(get_user_data)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).get_externally_allocated_memory) as usize - ptr as usize
},
352usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(get_externally_allocated_memory)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).adjust_externally_allocated_memory) as usize - ptr as usize
},
360usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(adjust_externally_allocated_memory)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_array_length) as usize - ptr as usize },
368usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(get_array_length)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).get_array_buffer_release_callback) as usize - ptr as usize
},
376usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(get_array_buffer_release_callback)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).neuter_array_buffer) as usize - ptr as usize },
384usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(neuter_array_buffer)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_function_name) as usize - ptr as usize },
392usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(get_function_name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_function_handler) as usize - ptr as usize },
400usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(get_function_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).execute_function) as usize - ptr as usize },
408usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(execute_function)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).execute_function_with_context) as usize - ptr as usize
},
416usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(execute_function_with_context)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).resolve_promise) as usize - ptr as usize },
424usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(resolve_promise)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reject_promise) as usize - ptr as usize },
432usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8value_t),
"::",
stringify!(reject_promise)
)
);
}
#[doc = "\n Structure representing a V8 value handle. V8 handles can only be accessed\n from the thread on which they are created. Valid threads for creating a V8\n handle include the render process main thread (TID_RENDERER) and WebWorker\n threads. A task runner for posting tasks on the associated thread can be\n retrieved via the cef_v8context_t::get_task_runner() function.\n"]
pub type cef_v8value_t = _cef_v8value_t;
extern "C" {
#[doc = "\n Create a new cef_v8value_t object of type undefined.\n"]
pub fn cef_v8value_create_undefined() -> *mut cef_v8value_t;
}
extern "C" {
#[doc = "\n Create a new cef_v8value_t object of type null.\n"]
pub fn cef_v8value_create_null() -> *mut cef_v8value_t;
}
extern "C" {
#[doc = "\n Create a new cef_v8value_t object of type bool.\n"]
pub fn cef_v8value_create_bool(value: ::std::os::raw::c_int) -> *mut cef_v8value_t;
}
extern "C" {
#[doc = "\n Create a new cef_v8value_t object of type int.\n"]
pub fn cef_v8value_create_int(value: i32) -> *mut cef_v8value_t;
}
extern "C" {
#[doc = "\n Create a new cef_v8value_t object of type unsigned int.\n"]
pub fn cef_v8value_create_uint(value: u32) -> *mut cef_v8value_t;
}
extern "C" {
#[doc = "\n Create a new cef_v8value_t object of type double.\n"]
pub fn cef_v8value_create_double(value: f64) -> *mut cef_v8value_t;
}
extern "C" {
#[doc = "\n Create a new cef_v8value_t object of type Date. This function should only be\n called from within the scope of a cef_render_process_handler_t,\n cef_v8handler_t or cef_v8accessor_t callback, or in combination with calling\n enter() and exit() on a stored cef_v8context_t reference.\n"]
pub fn cef_v8value_create_date(date: cef_basetime_t) -> *mut cef_v8value_t;
}
extern "C" {
#[doc = "\n Create a new cef_v8value_t object of type string.\n"]
pub fn cef_v8value_create_string(value: *const cef_string_t) -> *mut cef_v8value_t;
}
extern "C" {
#[doc = "\n Create a new cef_v8value_t object of type object with optional accessor\n and/or interceptor. This function should only be called from within the\n scope of a cef_render_process_handler_t, cef_v8handler_t or cef_v8accessor_t\n callback, or in combination with calling enter() and exit() on a stored\n cef_v8context_t reference.\n"]
pub fn cef_v8value_create_object(
accessor: *mut cef_v8accessor_t,
interceptor: *mut cef_v8interceptor_t,
) -> *mut cef_v8value_t;
}
extern "C" {
#[doc = "\n Create a new cef_v8value_t object of type array with the specified |length|.\n If |length| is negative the returned array will have length 0. This function\n should only be called from within the scope of a\n cef_render_process_handler_t, cef_v8handler_t or cef_v8accessor_t callback,\n or in combination with calling enter() and exit() on a stored\n cef_v8context_t reference.\n"]
pub fn cef_v8value_create_array(length: ::std::os::raw::c_int) -> *mut cef_v8value_t;
}
extern "C" {
#[doc = "\n Create a new cef_v8value_t object of type ArrayBuffer which wraps the\n provided |buffer| of size |length| bytes. The ArrayBuffer is externalized,\n meaning that it does not own |buffer|. The caller is responsible for freeing\n |buffer| when requested via a call to\n cef_v8array_buffer_release_callback_t::ReleaseBuffer. This function should\n only be called from within the scope of a cef_render_process_handler_t,\n cef_v8handler_t or cef_v8accessor_t callback, or in combination with calling\n enter() and exit() on a stored cef_v8context_t reference.\n"]
pub fn cef_v8value_create_array_buffer(
buffer: *mut ::std::os::raw::c_void,
length: usize,
release_callback: *mut cef_v8array_buffer_release_callback_t,
) -> *mut cef_v8value_t;
}
extern "C" {
#[doc = "\n Create a new cef_v8value_t object of type function. This function should\n only be called from within the scope of a cef_render_process_handler_t,\n cef_v8handler_t or cef_v8accessor_t callback, or in combination with calling\n enter() and exit() on a stored cef_v8context_t reference.\n"]
pub fn cef_v8value_create_function(
name: *const cef_string_t,
handler: *mut cef_v8handler_t,
) -> *mut cef_v8value_t;
}
extern "C" {
#[doc = "\n Create a new cef_v8value_t object of type Promise. This function should only\n be called from within the scope of a cef_render_process_handler_t,\n cef_v8handler_t or cef_v8accessor_t callback, or in combination with calling\n enter() and exit() on a stored cef_v8context_t reference.\n"]
pub fn cef_v8value_create_promise() -> *mut cef_v8value_t;
}
#[doc = "\n Structure representing a V8 stack trace handle. V8 handles can only be\n accessed from the thread on which they are created. Valid threads for\n creating a V8 handle include the render process main thread (TID_RENDERER)\n and WebWorker threads. A task runner for posting tasks on the associated\n thread can be retrieved via the cef_v8context_t::get_task_runner() function.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_v8stack_trace_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns true (1) if the underlying handle is valid and it can be accessed\n on the current thread. Do not call any other functions if this function\n returns false (0).\n"]
pub is_valid: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8stack_trace_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the number of stack frames.\n"]
pub get_frame_count: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8stack_trace_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the stack frame at the specified 0-based index.\n"]
pub get_frame: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_v8stack_trace_t,
index: ::std::os::raw::c_int,
) -> *mut _cef_v8stack_frame_t,
>,
}
#[test]
fn bindgen_test_layout__cef_v8stack_trace_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_v8stack_trace_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_v8stack_trace_t>(),
64usize,
concat!("Size of: ", stringify!(_cef_v8stack_trace_t))
);
assert_eq!(
::std::mem::align_of::<_cef_v8stack_trace_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_v8stack_trace_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8stack_trace_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_valid) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8stack_trace_t),
"::",
stringify!(is_valid)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_frame_count) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8stack_trace_t),
"::",
stringify!(get_frame_count)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_frame) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8stack_trace_t),
"::",
stringify!(get_frame)
)
);
}
#[doc = "\n Structure representing a V8 stack trace handle. V8 handles can only be\n accessed from the thread on which they are created. Valid threads for\n creating a V8 handle include the render process main thread (TID_RENDERER)\n and WebWorker threads. A task runner for posting tasks on the associated\n thread can be retrieved via the cef_v8context_t::get_task_runner() function.\n"]
pub type cef_v8stack_trace_t = _cef_v8stack_trace_t;
extern "C" {
#[doc = "\n Returns the stack trace for the currently active context. |frame_limit| is\n the maximum number of frames that will be captured.\n"]
pub fn cef_v8stack_trace_get_current(
frame_limit: ::std::os::raw::c_int,
) -> *mut cef_v8stack_trace_t;
}
#[doc = "\n Structure representing a V8 stack frame handle. V8 handles can only be\n accessed from the thread on which they are created. Valid threads for\n creating a V8 handle include the render process main thread (TID_RENDERER)\n and WebWorker threads. A task runner for posting tasks on the associated\n thread can be retrieved via the cef_v8context_t::get_task_runner() function.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_v8stack_frame_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns true (1) if the underlying handle is valid and it can be accessed\n on the current thread. Do not call any other functions if this function\n returns false (0).\n"]
pub is_valid: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8stack_frame_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the name of the resource script that contains the function.\n"]
pub get_script_name: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8stack_frame_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the name of the resource script that contains the function or the\n sourceURL value if the script name is undefined and its source ends with a\n \"//@ sourceURL=...\" string.\n"]
pub get_script_name_or_source_url: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8stack_frame_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the name of the function.\n"]
pub get_function_name: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8stack_frame_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns the 1-based line number for the function call or 0 if unknown.\n"]
pub get_line_number: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8stack_frame_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the 1-based column offset on the line for the function call or 0\n if unknown.\n"]
pub get_column: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8stack_frame_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the function was compiled using eval().\n"]
pub is_eval: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8stack_frame_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the function was called as a constructor via \"new\".\n"]
pub is_constructor: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_v8stack_frame_t) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_v8stack_frame_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_v8stack_frame_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_v8stack_frame_t>(),
104usize,
concat!("Size of: ", stringify!(_cef_v8stack_frame_t))
);
assert_eq!(
::std::mem::align_of::<_cef_v8stack_frame_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_v8stack_frame_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8stack_frame_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_valid) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8stack_frame_t),
"::",
stringify!(is_valid)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_script_name) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8stack_frame_t),
"::",
stringify!(get_script_name)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).get_script_name_or_source_url) as usize - ptr as usize
},
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8stack_frame_t),
"::",
stringify!(get_script_name_or_source_url)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_function_name) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8stack_frame_t),
"::",
stringify!(get_function_name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_line_number) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8stack_frame_t),
"::",
stringify!(get_line_number)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_column) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8stack_frame_t),
"::",
stringify!(get_column)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_eval) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8stack_frame_t),
"::",
stringify!(is_eval)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_constructor) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_v8stack_frame_t),
"::",
stringify!(is_constructor)
)
);
}
#[doc = "\n Structure representing a V8 stack frame handle. V8 handles can only be\n accessed from the thread on which they are created. Valid threads for\n creating a V8 handle include the render process main thread (TID_RENDERER)\n and WebWorker threads. A task runner for posting tasks on the associated\n thread can be retrieved via the cef_v8context_t::get_task_runner() function.\n"]
pub type cef_v8stack_frame_t = _cef_v8stack_frame_t;
extern "C" {
#[doc = "\n Register a new V8 extension with the specified JavaScript extension code and\n handler. Functions implemented by the handler are prototyped using the\n keyword 'native'. The calling of a native function is restricted to the\n scope in which the prototype of the native function is defined. This\n function may only be called on the render process main thread.\n\n Example JavaScript extension code: <pre>\n // create the 'example' global object if it doesn't already exist.\n if (!example)\n example = {};\n // create the 'example.test' global object if it doesn't already exist.\n if (!example.test)\n example.test = {};\n (function() {\n // Define the function 'example.test.myfunction'.\n example.test.myfunction = function() {\n // Call CefV8Handler::Execute() with the function name 'MyFunction'\n // and no arguments.\n native function MyFunction();\n return MyFunction();\n };\n // Define the getter function for parameter 'example.test.myparam'.\n example.test.__defineGetter__('myparam', function() {\n // Call CefV8Handler::Execute() with the function name 'GetMyParam'\n // and no arguments.\n native function GetMyParam();\n return GetMyParam();\n });\n // Define the setter function for parameter 'example.test.myparam'.\n example.test.__defineSetter__('myparam', function(b) {\n // Call CefV8Handler::Execute() with the function name 'SetMyParam'\n // and a single argument.\n native function SetMyParam();\n if(b) SetMyParam(b);\n });\n\n // Extension definitions can also contain normal JavaScript variables\n // and functions.\n var myint = 0;\n example.test.increment = function() {\n myint += 1;\n return myint;\n };\n })();\n </pre>\n\n Example usage in the page: <pre>\n // Call the function.\n example.test.myfunction();\n // Set the parameter.\n example.test.myparam = value;\n // Get the parameter.\n value = example.test.myparam;\n // Call another function.\n example.test.increment();\n </pre>\n"]
pub fn cef_register_extension(
extension_name: *const cef_string_t,
javascript_code: *const cef_string_t,
handler: *mut cef_v8handler_t,
) -> ::std::os::raw::c_int;
}
#[doc = "\n Structure used to implement render process callbacks. The functions of this\n structure will be called on the render process main thread (TID_RENDERER)\n unless otherwise indicated.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_render_process_handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Called after WebKit has been initialized.\n"]
pub on_web_kit_initialized:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_render_process_handler_t)>,
#[doc = "\n Called after a browser has been created. When browsing cross-origin a new\n browser will be created before the old browser with the same identifier is\n destroyed. |extra_info| is an optional read-only value originating from\n cef_browser_host_t::cef_browser_host_create_browser(),\n cef_browser_host_t::cef_browser_host_create_browser_sync(),\n cef_life_span_handler_t::on_before_popup() or\n cef_browser_view_t::cef_browser_view_create().\n"]
pub on_browser_created: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_render_process_handler_t,
browser: *mut _cef_browser_t,
extra_info: *mut _cef_dictionary_value_t,
),
>,
#[doc = "\n Called before a browser is destroyed.\n"]
pub on_browser_destroyed: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_render_process_handler_t,
browser: *mut _cef_browser_t,
),
>,
#[doc = "\n Return the handler for browser load status events.\n"]
pub get_load_handler: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_render_process_handler_t) -> *mut _cef_load_handler_t,
>,
#[doc = "\n Called immediately after the V8 context for a frame has been created. To\n retrieve the JavaScript 'window' object use the\n cef_v8context_t::get_global() function. V8 handles can only be accessed\n from the thread on which they are created. A task runner for posting tasks\n on the associated thread can be retrieved via the\n cef_v8context_t::get_task_runner() function.\n"]
pub on_context_created: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_render_process_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
context: *mut _cef_v8context_t,
),
>,
#[doc = "\n Called immediately before the V8 context for a frame is released. No\n references to the context should be kept after this function is called.\n"]
pub on_context_released: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_render_process_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
context: *mut _cef_v8context_t,
),
>,
#[doc = "\n Called for global uncaught exceptions in a frame. Execution of this\n callback is disabled by default. To enable set\n cef_settings_t.uncaught_exception_stack_size > 0.\n"]
pub on_uncaught_exception: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_render_process_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
context: *mut _cef_v8context_t,
exception: *mut _cef_v8exception_t,
stackTrace: *mut _cef_v8stack_trace_t,
),
>,
#[doc = "\n Called when a new node in the the browser gets focus. The |node| value may\n be NULL if no specific node has gained focus. The node object passed to\n this function represents a snapshot of the DOM at the time this function\n is executed. DOM objects are only valid for the scope of this function. Do\n not keep references to or attempt to access any DOM objects outside the\n scope of this function.\n"]
pub on_focused_node_changed: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_render_process_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
node: *mut _cef_domnode_t,
),
>,
#[doc = "\n Called when a new message is received from a different process. Return\n true (1) if the message was handled or false (0) otherwise. It is safe to\n keep a reference to |message| outside of this callback.\n"]
pub on_process_message_received: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_render_process_handler_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
source_process: cef_process_id_t,
message: *mut _cef_process_message_t,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_render_process_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_render_process_handler_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_render_process_handler_t>(),
112usize,
concat!("Size of: ", stringify!(_cef_render_process_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_render_process_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_render_process_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_process_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_web_kit_initialized) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_process_handler_t),
"::",
stringify!(on_web_kit_initialized)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_browser_created) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_process_handler_t),
"::",
stringify!(on_browser_created)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_browser_destroyed) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_process_handler_t),
"::",
stringify!(on_browser_destroyed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_load_handler) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_process_handler_t),
"::",
stringify!(get_load_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_context_created) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_process_handler_t),
"::",
stringify!(on_context_created)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_context_released) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_process_handler_t),
"::",
stringify!(on_context_released)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_uncaught_exception) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_process_handler_t),
"::",
stringify!(on_uncaught_exception)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_focused_node_changed) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_process_handler_t),
"::",
stringify!(on_focused_node_changed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_process_message_received) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_render_process_handler_t),
"::",
stringify!(on_process_message_received)
)
);
}
#[doc = "\n Structure used to implement render process callbacks. The functions of this\n structure will be called on the render process main thread (TID_RENDERER)\n unless otherwise indicated.\n"]
pub type cef_render_process_handler_t = _cef_render_process_handler_t;
#[doc = "\n Structure used to implement a custom resource bundle structure. See\n CefSettings for additional options related to resource bundle loading. The\n functions of this structure may be called on multiple threads.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_resource_bundle_handler_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Called to retrieve a localized translation for the specified |string_id|.\n To provide the translation set |string| to the translation string and\n return true (1). To use the default translation return false (0). Include\n cef_pack_strings.h for a listing of valid string ID values.\n"]
pub get_localized_string: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_resource_bundle_handler_t,
string_id: ::std::os::raw::c_int,
string: *mut cef_string_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called to retrieve data for the specified scale independent |resource_id|.\n To provide the resource data set |data| and |data_size| to the data\n pointer and size respectively and return true (1). To use the default\n resource data return false (0). The resource data will not be copied and\n must remain resident in memory. Include cef_pack_resources.h for a listing\n of valid resource ID values.\n"]
pub get_data_resource: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_resource_bundle_handler_t,
resource_id: ::std::os::raw::c_int,
data: *mut *mut ::std::os::raw::c_void,
data_size: *mut usize,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called to retrieve data for the specified |resource_id| nearest the scale\n factor |scale_factor|. To provide the resource data set |data| and\n |data_size| to the data pointer and size respectively and return true (1).\n To use the default resource data return false (0). The resource data will\n not be copied and must remain resident in memory. Include\n cef_pack_resources.h for a listing of valid resource ID values.\n"]
pub get_data_resource_for_scale: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_resource_bundle_handler_t,
resource_id: ::std::os::raw::c_int,
scale_factor: cef_scale_factor_t,
data: *mut *mut ::std::os::raw::c_void,
data_size: *mut usize,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_resource_bundle_handler_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_resource_bundle_handler_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_resource_bundle_handler_t>(),
64usize,
concat!("Size of: ", stringify!(_cef_resource_bundle_handler_t))
);
assert_eq!(
::std::mem::align_of::<_cef_resource_bundle_handler_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_resource_bundle_handler_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_resource_bundle_handler_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_localized_string) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_resource_bundle_handler_t),
"::",
stringify!(get_localized_string)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_data_resource) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_resource_bundle_handler_t),
"::",
stringify!(get_data_resource)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_data_resource_for_scale) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_resource_bundle_handler_t),
"::",
stringify!(get_data_resource_for_scale)
)
);
}
#[doc = "\n Structure used to implement a custom resource bundle structure. See\n CefSettings for additional options related to resource bundle loading. The\n functions of this structure may be called on multiple threads.\n"]
pub type cef_resource_bundle_handler_t = _cef_resource_bundle_handler_t;
#[doc = "\n Structure that manages custom scheme registrations.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_scheme_registrar_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_scoped_t,
#[doc = "\n Register a custom scheme. This function should not be called for the\n built-in HTTP, HTTPS, FILE, FTP, ABOUT and DATA schemes.\n\n See cef_scheme_options_t for possible values for |options|.\n\n This function may be called on any thread. It should only be called once\n per unique |scheme_name| value. If |scheme_name| is already registered or\n if an error occurs this function will return false (0).\n"]
pub add_custom_scheme: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_scheme_registrar_t,
scheme_name: *const cef_string_t,
options: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_scheme_registrar_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_scheme_registrar_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_scheme_registrar_t>(),
24usize,
concat!("Size of: ", stringify!(_cef_scheme_registrar_t))
);
assert_eq!(
::std::mem::align_of::<_cef_scheme_registrar_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_scheme_registrar_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_scheme_registrar_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).add_custom_scheme) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_cef_scheme_registrar_t),
"::",
stringify!(add_custom_scheme)
)
);
}
#[doc = "\n Structure that manages custom scheme registrations.\n"]
pub type cef_scheme_registrar_t = _cef_scheme_registrar_t;
#[doc = "\n Structure that creates cef_resource_handler_t instances for handling scheme\n requests. The functions of this structure will always be called on the IO\n thread.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_scheme_handler_factory_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Return a new resource handler instance to handle the request or an NULL\n reference to allow default handling of the request. |browser| and |frame|\n will be the browser window and frame respectively that originated the\n request or NULL if the request did not originate from a browser window\n (for example, if the request came from cef_urlrequest_t). The |request|\n object passed to this function cannot be modified.\n"]
pub create: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_scheme_handler_factory_t,
browser: *mut _cef_browser_t,
frame: *mut _cef_frame_t,
scheme_name: *const cef_string_t,
request: *mut _cef_request_t,
) -> *mut _cef_resource_handler_t,
>,
}
#[test]
fn bindgen_test_layout__cef_scheme_handler_factory_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_scheme_handler_factory_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_scheme_handler_factory_t>(),
48usize,
concat!("Size of: ", stringify!(_cef_scheme_handler_factory_t))
);
assert_eq!(
::std::mem::align_of::<_cef_scheme_handler_factory_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_scheme_handler_factory_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_scheme_handler_factory_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).create) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_scheme_handler_factory_t),
"::",
stringify!(create)
)
);
}
#[doc = "\n Structure that creates cef_resource_handler_t instances for handling scheme\n requests. The functions of this structure will always be called on the IO\n thread.\n"]
pub type cef_scheme_handler_factory_t = _cef_scheme_handler_factory_t;
extern "C" {
#[doc = "\n Register a scheme handler factory with the global request context. An NULL\n |domain_name| value for a standard scheme will cause the factory to match\n all domain names. The |domain_name| value will be ignored for non-standard\n schemes. If |scheme_name| is a built-in scheme and no handler is returned by\n |factory| then the built-in scheme handler factory will be called. If\n |scheme_name| is a custom scheme then you must also implement the\n cef_app_t::on_register_custom_schemes() function in all processes. This\n function may be called multiple times to change or remove the factory that\n matches the specified |scheme_name| and optional |domain_name|. Returns\n false (0) if an error occurs. This function may be called on any thread in\n the browser process. Using this function is equivalent to calling cef_reques\n t_context_t::cef_request_context_get_global_context()->register_scheme_handl\n er_factory().\n"]
pub fn cef_register_scheme_handler_factory(
scheme_name: *const cef_string_t,
domain_name: *const cef_string_t,
factory: *mut cef_scheme_handler_factory_t,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = "\n Clear all scheme handler factories registered with the global request\n context. Returns false (0) on error. This function may be called on any\n thread in the browser process. Using this function is equivalent to calling\n cef_request_context_t::cef_request_context_get_global_context()->clear_schem\n e_handler_factories().\n"]
pub fn cef_clear_scheme_handler_factories() -> ::std::os::raw::c_int;
}
#[doc = "\n Implement this structure to provide handler implementations. Methods will be\n called by the process and/or thread indicated.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_app_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Provides an opportunity to view and/or modify command-line arguments\n before processing by CEF and Chromium. The |process_type| value will be\n NULL for the browser process. Do not keep a reference to the\n cef_command_line_t object passed to this function. The\n cef_settings_t.command_line_args_disabled value can be used to start with\n an NULL command-line object. Any values specified in CefSettings that\n equate to command-line arguments will be set before this function is\n called. Be cautious when using this function to modify command-line\n arguments for non-browser processes as this may result in undefined\n behavior including crashes.\n"]
pub on_before_command_line_processing: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_app_t,
process_type: *const cef_string_t,
command_line: *mut _cef_command_line_t,
),
>,
#[doc = "\n Provides an opportunity to register custom schemes. Do not keep a\n reference to the |registrar| object. This function is called on the main\n thread for each process and the registered schemes should be the same\n across all processes.\n"]
pub on_register_custom_schemes: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_app_t, registrar: *mut _cef_scheme_registrar_t),
>,
#[doc = "\n Return the handler for resource bundle events. If\n cef_settings_t.pack_loading_disabled is true (1) a handler must be\n returned. If no handler is returned resources will be loaded from pack\n files. This function is called by the browser and render processes on\n multiple threads.\n"]
pub get_resource_bundle_handler: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_app_t) -> *mut _cef_resource_bundle_handler_t,
>,
#[doc = "\n Return the handler for functionality specific to the browser process. This\n function is called on multiple threads in the browser process.\n"]
pub get_browser_process_handler: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_app_t) -> *mut _cef_browser_process_handler_t,
>,
#[doc = "\n Return the handler for functionality specific to the render process. This\n function is called on the render process main thread.\n"]
pub get_render_process_handler: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_app_t) -> *mut _cef_render_process_handler_t,
>,
}
#[test]
fn bindgen_test_layout__cef_app_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_app_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_app_t>(),
80usize,
concat!("Size of: ", stringify!(_cef_app_t))
);
assert_eq!(
::std::mem::align_of::<_cef_app_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_app_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_app_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).on_before_command_line_processing) as usize - ptr as usize
},
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_app_t),
"::",
stringify!(on_before_command_line_processing)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_register_custom_schemes) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_app_t),
"::",
stringify!(on_register_custom_schemes)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_resource_bundle_handler) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_app_t),
"::",
stringify!(get_resource_bundle_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_browser_process_handler) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_app_t),
"::",
stringify!(get_browser_process_handler)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_render_process_handler) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_app_t),
"::",
stringify!(get_render_process_handler)
)
);
}
#[doc = "\n Implement this structure to provide handler implementations. Methods will be\n called by the process and/or thread indicated.\n"]
pub type cef_app_t = _cef_app_t;
extern "C" {
#[doc = "\n This function should be called from the application entry point function to\n execute a secondary process. It can be used to run secondary processes from\n the browser client executable (default behavior) or from a separate\n executable specified by the cef_settings_t.browser_subprocess_path value. If\n called for the browser process (identified by no \"type\" command-line value)\n it will return immediately with a value of -1. If called for a recognized\n secondary process it will block until the process should exit and then\n return the process exit code. The |application| parameter may be NULL. The\n |windows_sandbox_info| parameter is only used on Windows and may be NULL\n (see cef_sandbox_win.h for details).\n"]
pub fn cef_execute_process(
args: *const cef_main_args_t,
application: *mut cef_app_t,
windows_sandbox_info: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = "\n This function should be called on the main application thread to initialize\n the CEF browser process. The |application| parameter may be NULL. A return\n value of true (1) indicates that it succeeded and false (0) indicates that\n it failed. The |windows_sandbox_info| parameter is only used on Windows and\n may be NULL (see cef_sandbox_win.h for details).\n"]
pub fn cef_initialize(
args: *const cef_main_args_t,
settings: *const _cef_settings_t,
application: *mut cef_app_t,
windows_sandbox_info: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = "\n This function should be called on the main application thread to shut down\n the CEF browser process before the application exits.\n"]
pub fn cef_shutdown();
}
extern "C" {
#[doc = "\n Perform a single iteration of CEF message loop processing. This function is\n provided for cases where the CEF message loop must be integrated into an\n existing application message loop. Use of this function is not recommended\n for most users; use either the cef_run_message_loop() function or\n cef_settings_t.multi_threaded_message_loop if possible. When using this\n function care must be taken to balance performance against excessive CPU\n usage. It is recommended to enable the cef_settings_t.external_message_pump\n option when using this function so that\n cef_browser_process_handler_t::on_schedule_message_pump_work() callbacks can\n facilitate the scheduling process. This function should only be called on\n the main application thread and only if cef_initialize() is called with a\n cef_settings_t.multi_threaded_message_loop value of false (0). This function\n will not block.\n"]
pub fn cef_do_message_loop_work();
}
extern "C" {
#[doc = "\n Run the CEF message loop. Use this function instead of an application-\n provided message loop to get the best balance between performance and CPU\n usage. This function should only be called on the main application thread\n and only if cef_initialize() is called with a\n cef_settings_t.multi_threaded_message_loop value of false (0). This function\n will block until a quit message is received by the system.\n"]
pub fn cef_run_message_loop();
}
extern "C" {
#[doc = "\n Quit the CEF message loop that was started by calling\n cef_run_message_loop(). This function should only be called on the main\n application thread and only if cef_run_message_loop() was used.\n"]
pub fn cef_quit_message_loop();
}
#[doc = "\n Implement this structure to handle view events. All size and position values\n are in density independent pixels (DIP) unless otherwise indicated. The\n functions of this structure will be called on the browser process UI thread\n unless otherwise indicated.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_view_delegate_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Return the preferred size for |view|. The Layout will use this information\n to determine the display size.\n"]
pub get_preferred_size: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_view_delegate_t,
view: *mut _cef_view_t,
) -> cef_size_t,
>,
#[doc = "\n Return the minimum size for |view|.\n"]
pub get_minimum_size: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_view_delegate_t,
view: *mut _cef_view_t,
) -> cef_size_t,
>,
#[doc = "\n Return the maximum size for |view|.\n"]
pub get_maximum_size: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_view_delegate_t,
view: *mut _cef_view_t,
) -> cef_size_t,
>,
#[doc = "\n Return the height necessary to display |view| with the provided |width|.\n If not specified the result of get_preferred_size().height will be used by\n default. Override if |view|'s preferred height depends upon the width (for\n example, with Labels).\n"]
pub get_height_for_width: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_view_delegate_t,
view: *mut _cef_view_t,
width: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called when the parent of |view| has changed. If |view| is being added to\n |parent| then |added| will be true (1). If |view| is being removed from\n |parent| then |added| will be false (0). If |view| is being reparented the\n remove notification will be sent before the add notification. Do not\n modify the view hierarchy in this callback.\n"]
pub on_parent_view_changed: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_view_delegate_t,
view: *mut _cef_view_t,
added: ::std::os::raw::c_int,
parent: *mut _cef_view_t,
),
>,
#[doc = "\n Called when a child of |view| has changed. If |child| is being added to\n |view| then |added| will be true (1). If |child| is being removed from\n |view| then |added| will be false (0). If |child| is being reparented the\n remove notification will be sent to the old parent before the add\n notification is sent to the new parent. Do not modify the view hierarchy\n in this callback.\n"]
pub on_child_view_changed: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_view_delegate_t,
view: *mut _cef_view_t,
added: ::std::os::raw::c_int,
child: *mut _cef_view_t,
),
>,
#[doc = "\n Called when |view| is added or removed from the cef_window_t.\n"]
pub on_window_changed: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_view_delegate_t,
view: *mut _cef_view_t,
added: ::std::os::raw::c_int,
),
>,
#[doc = "\n Called when the layout of |view| has changed.\n"]
pub on_layout_changed: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_view_delegate_t,
view: *mut _cef_view_t,
new_bounds: *const cef_rect_t,
),
>,
#[doc = "\n Called when |view| gains focus.\n"]
pub on_focus: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_view_delegate_t, view: *mut _cef_view_t),
>,
#[doc = "\n Called when |view| loses focus.\n"]
pub on_blur: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_view_delegate_t, view: *mut _cef_view_t),
>,
}
#[test]
fn bindgen_test_layout__cef_view_delegate_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_view_delegate_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_view_delegate_t>(),
120usize,
concat!("Size of: ", stringify!(_cef_view_delegate_t))
);
assert_eq!(
::std::mem::align_of::<_cef_view_delegate_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_view_delegate_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_delegate_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_preferred_size) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_delegate_t),
"::",
stringify!(get_preferred_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_minimum_size) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_delegate_t),
"::",
stringify!(get_minimum_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_maximum_size) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_delegate_t),
"::",
stringify!(get_maximum_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_height_for_width) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_delegate_t),
"::",
stringify!(get_height_for_width)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_parent_view_changed) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_delegate_t),
"::",
stringify!(on_parent_view_changed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_child_view_changed) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_delegate_t),
"::",
stringify!(on_child_view_changed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_window_changed) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_delegate_t),
"::",
stringify!(on_window_changed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_layout_changed) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_delegate_t),
"::",
stringify!(on_layout_changed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_focus) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_delegate_t),
"::",
stringify!(on_focus)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_blur) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_delegate_t),
"::",
stringify!(on_blur)
)
);
}
#[doc = "\n Implement this structure to handle view events. All size and position values\n are in density independent pixels (DIP) unless otherwise indicated. The\n functions of this structure will be called on the browser process UI thread\n unless otherwise indicated.\n"]
pub type cef_view_delegate_t = _cef_view_delegate_t;
#[doc = "\n Implement this structure to handle BrowserView events. The functions of this\n structure will be called on the browser process UI thread unless otherwise\n indicated.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_browser_view_delegate_t {
#[doc = "\n Base structure.\n"]
pub base: cef_view_delegate_t,
#[doc = "\n Called when |browser| associated with |browser_view| is created. This\n function will be called after cef_life_span_handler_t::on_after_created()\n is called for |browser| and before on_popup_browser_view_created() is\n called for |browser|'s parent delegate if |browser| is a popup.\n"]
pub on_browser_created: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_view_delegate_t,
browser_view: *mut _cef_browser_view_t,
browser: *mut _cef_browser_t,
),
>,
#[doc = "\n Called when |browser| associated with |browser_view| is destroyed. Release\n all references to |browser| and do not attempt to execute any functions on\n |browser| after this callback returns. This function will be called before\n cef_life_span_handler_t::on_before_close() is called for |browser|.\n"]
pub on_browser_destroyed: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_view_delegate_t,
browser_view: *mut _cef_browser_view_t,
browser: *mut _cef_browser_t,
),
>,
#[doc = "\n Called before a new popup BrowserView is created. The popup originated\n from |browser_view|. |settings| and |client| are the values returned from\n cef_life_span_handler_t::on_before_popup(). |is_devtools| will be true (1)\n if the popup will be a DevTools browser. Return the delegate that will be\n used for the new popup BrowserView.\n"]
pub get_delegate_for_popup_browser_view: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_view_delegate_t,
browser_view: *mut _cef_browser_view_t,
settings: *const _cef_browser_settings_t,
client: *mut _cef_client_t,
is_devtools: ::std::os::raw::c_int,
) -> *mut _cef_browser_view_delegate_t,
>,
#[doc = "\n Called after |popup_browser_view| is created. This function will be called\n after cef_life_span_handler_t::on_after_created() and on_browser_created()\n are called for the new popup browser. The popup originated from\n |browser_view|. |is_devtools| will be true (1) if the popup is a DevTools\n browser. Optionally add |popup_browser_view| to the views hierarchy\n yourself and return true (1). Otherwise return false (0) and a default\n cef_window_t will be created for the popup.\n"]
pub on_popup_browser_view_created: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_view_delegate_t,
browser_view: *mut _cef_browser_view_t,
popup_browser_view: *mut _cef_browser_view_t,
is_devtools: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the Chrome toolbar type that will be available via\n cef_browser_view_t::get_chrome_toolbar(). See that function for related\n documentation.\n"]
pub get_chrome_toolbar_type: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_view_delegate_t,
browser_view: *mut _cef_browser_view_t,
) -> cef_chrome_toolbar_type_t,
>,
#[doc = "\n Return true (1) to create frameless windows for Document picture-in-\n picture popups. Content in frameless windows should specify draggable\n regions using \"-webkit-app-region: drag\" CSS.\n"]
pub use_frameless_window_for_picture_in_picture: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_view_delegate_t,
browser_view: *mut _cef_browser_view_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called when |browser_view| receives a gesture command. Return true (1) to\n handle (or disable) a |gesture_command| or false (0) to propagate the\n gesture to the browser for default handling. With the Chrome runtime these\n commands can also be handled via cef_command_handler_t::OnChromeCommand.\n"]
pub on_gesture_command: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_view_delegate_t,
browser_view: *mut _cef_browser_view_t,
gesture_command: cef_gesture_command_t,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_browser_view_delegate_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_browser_view_delegate_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_browser_view_delegate_t>(),
176usize,
concat!("Size of: ", stringify!(_cef_browser_view_delegate_t))
);
assert_eq!(
::std::mem::align_of::<_cef_browser_view_delegate_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_browser_view_delegate_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_view_delegate_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_browser_created) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_view_delegate_t),
"::",
stringify!(on_browser_created)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_browser_destroyed) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_view_delegate_t),
"::",
stringify!(on_browser_destroyed)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).get_delegate_for_popup_browser_view) as usize - ptr as usize
},
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_view_delegate_t),
"::",
stringify!(get_delegate_for_popup_browser_view)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).on_popup_browser_view_created) as usize - ptr as usize
},
144usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_view_delegate_t),
"::",
stringify!(on_popup_browser_view_created)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_chrome_toolbar_type) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_view_delegate_t),
"::",
stringify!(get_chrome_toolbar_type)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).use_frameless_window_for_picture_in_picture) as usize
- ptr as usize
},
160usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_view_delegate_t),
"::",
stringify!(use_frameless_window_for_picture_in_picture)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_gesture_command) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_view_delegate_t),
"::",
stringify!(on_gesture_command)
)
);
}
#[doc = "\n Implement this structure to handle BrowserView events. The functions of this\n structure will be called on the browser process UI thread unless otherwise\n indicated.\n"]
pub type cef_browser_view_delegate_t = _cef_browser_view_delegate_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_button_t {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_scroll_view_t {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_textfield_t {
_unused: [u8; 0],
}
#[doc = "\n A View is a rectangle within the views View hierarchy. It is the base\n structure for all Views. All size and position values are in density\n independent pixels (DIP) unless otherwise indicated. Methods must be called\n on the browser process UI thread unless otherwise indicated.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_view_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns this View as a BrowserView or NULL if this is not a BrowserView.\n"]
pub as_browser_view: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_view_t) -> *mut _cef_browser_view_t,
>,
#[doc = "\n Returns this View as a Button or NULL if this is not a Button.\n"]
pub as_button:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_view_t) -> *mut _cef_button_t>,
#[doc = "\n Returns this View as a Panel or NULL if this is not a Panel.\n"]
pub as_panel:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_view_t) -> *mut _cef_panel_t>,
#[doc = "\n Returns this View as a ScrollView or NULL if this is not a ScrollView.\n"]
pub as_scroll_view: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_view_t) -> *mut _cef_scroll_view_t,
>,
#[doc = "\n Returns this View as a Textfield or NULL if this is not a Textfield.\n"]
pub as_textfield: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_view_t) -> *mut _cef_textfield_t,
>,
#[doc = "\n Returns the type of this View as a string. Used primarily for testing\n purposes.\n"]
pub get_type_string: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_view_t) -> cef_string_userfree_t,
>,
#[doc = "\n Returns a string representation of this View which includes the type and\n various type-specific identifying attributes. If |include_children| is\n true (1) any child Views will also be included. Used primarily for testing\n purposes.\n"]
pub to_string: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_view_t,
include_children: ::std::os::raw::c_int,
) -> cef_string_userfree_t,
>,
#[doc = "\n Returns true (1) if this View is valid.\n"]
pub is_valid: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_view_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this View is currently attached to another View. A\n View can only be attached to one View at a time.\n"]
pub is_attached: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_view_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this View is the same as |that| View.\n"]
pub is_same: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_view_t,
that: *mut _cef_view_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the delegate associated with this View, if any.\n"]
pub get_delegate: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_view_t) -> *mut _cef_view_delegate_t,
>,
#[doc = "\n Returns the top-level Window hosting this View, if any.\n"]
pub get_window:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_view_t) -> *mut _cef_window_t>,
#[doc = "\n Returns the ID for this View.\n"]
pub get_id: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_view_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets the ID for this View. ID should be unique within the subtree that you\n intend to search for it. 0 is the default ID for views.\n"]
pub set_id: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_view_t, id: ::std::os::raw::c_int),
>,
#[doc = "\n Returns the group id of this View, or -1 if not set.\n"]
pub get_group_id: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_view_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n A group id is used to tag Views which are part of the same logical group.\n Focus can be moved between views with the same group using the arrow keys.\n The group id is immutable once it's set.\n"]
pub set_group_id: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_view_t, group_id: ::std::os::raw::c_int),
>,
#[doc = "\n Returns the View that contains this View, if any.\n"]
pub get_parent_view:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_view_t) -> *mut _cef_view_t>,
#[doc = "\n Recursively descends the view tree starting at this View, and returns the\n first child that it encounters with the given ID. Returns NULL if no\n matching child view is found.\n"]
pub get_view_for_id: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_view_t,
id: ::std::os::raw::c_int,
) -> *mut _cef_view_t,
>,
#[doc = "\n Sets the bounds (size and position) of this View. |bounds| is in parent\n coordinates, or DIP screen coordinates if there is no parent.\n"]
pub set_bounds: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_view_t, bounds: *const cef_rect_t),
>,
#[doc = "\n Returns the bounds (size and position) of this View in parent coordinates,\n or DIP screen coordinates if there is no parent.\n"]
pub get_bounds:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_view_t) -> cef_rect_t>,
#[doc = "\n Returns the bounds (size and position) of this View in DIP screen\n coordinates.\n"]
pub get_bounds_in_screen:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_view_t) -> cef_rect_t>,
#[doc = "\n Sets the size of this View without changing the position. |size| in parent\n coordinates, or DIP screen coordinates if there is no parent.\n"]
pub set_size: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_view_t, size: *const cef_size_t),
>,
#[doc = "\n Returns the size of this View in parent coordinates, or DIP screen\n coordinates if there is no parent.\n"]
pub get_size:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_view_t) -> cef_size_t>,
#[doc = "\n Sets the position of this View without changing the size. |position| is in\n parent coordinates, or DIP screen coordinates if there is no parent.\n"]
pub set_position: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_view_t, position: *const cef_point_t),
>,
#[doc = "\n Returns the position of this View. Position is in parent coordinates, or\n DIP screen coordinates if there is no parent.\n"]
pub get_position:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_view_t) -> cef_point_t>,
#[doc = "\n Sets the insets for this View. |insets| is in parent coordinates, or DIP\n screen coordinates if there is no parent.\n"]
pub set_insets: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_view_t, insets: *const cef_insets_t),
>,
#[doc = "\n Returns the insets for this View in parent coordinates, or DIP screen\n coordinates if there is no parent.\n"]
pub get_insets:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_view_t) -> cef_insets_t>,
#[doc = "\n Returns the size this View would like to be if enough space is available.\n Size is in parent coordinates, or DIP screen coordinates if there is no\n parent.\n"]
pub get_preferred_size:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_view_t) -> cef_size_t>,
#[doc = "\n Size this View to its preferred size. Size is in parent coordinates, or\n DIP screen coordinates if there is no parent.\n"]
pub size_to_preferred_size:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_view_t)>,
#[doc = "\n Returns the minimum size for this View. Size is in parent coordinates, or\n DIP screen coordinates if there is no parent.\n"]
pub get_minimum_size:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_view_t) -> cef_size_t>,
#[doc = "\n Returns the maximum size for this View. Size is in parent coordinates, or\n DIP screen coordinates if there is no parent.\n"]
pub get_maximum_size:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_view_t) -> cef_size_t>,
#[doc = "\n Returns the height necessary to display this View with the provided width.\n"]
pub get_height_for_width: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_view_t,
width: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Indicate that this View and all parent Views require a re-layout. This\n ensures the next call to layout() will propagate to this View even if the\n bounds of parent Views do not change.\n"]
pub invalidate_layout: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_view_t)>,
#[doc = "\n Sets whether this View is visible. Windows are hidden by default and other\n views are visible by default. This View and any parent views must be set\n as visible for this View to be drawn in a Window. If this View is set as\n hidden then it and any child views will not be drawn and, if any of those\n views currently have focus, then focus will also be cleared. Painting is\n scheduled as needed. If this View is a Window then calling this function\n is equivalent to calling the Window show() and hide() functions.\n"]
pub set_visible: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_view_t, visible: ::std::os::raw::c_int),
>,
#[doc = "\n Returns whether this View is visible. A view may be visible but still not\n drawn in a Window if any parent views are hidden. If this View is a Window\n then a return value of true (1) indicates that this Window is currently\n visible to the user on-screen. If this View is not a Window then call\n is_drawn() to determine whether this View and all parent views are visible\n and will be drawn.\n"]
pub is_visible: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_view_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns whether this View is visible and drawn in a Window. A view is\n drawn if it and all parent views are visible. If this View is a Window\n then calling this function is equivalent to calling is_visible().\n Otherwise, to determine if the containing Window is visible to the user\n on-screen call is_visible() on the Window.\n"]
pub is_drawn: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_view_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Set whether this View is enabled. A disabled View does not receive\n keyboard or mouse inputs. If |enabled| differs from the current value the\n View will be repainted. Also, clears focus if the focused View is\n disabled.\n"]
pub set_enabled: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_view_t, enabled: ::std::os::raw::c_int),
>,
#[doc = "\n Returns whether this View is enabled.\n"]
pub is_enabled: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_view_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Sets whether this View is capable of taking focus. It will clear focus if\n the focused View is set to be non-focusable. This is false (0) by default\n so that a View used as a container does not get the focus.\n"]
pub set_focusable: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_view_t, focusable: ::std::os::raw::c_int),
>,
#[doc = "\n Returns true (1) if this View is focusable, enabled and drawn.\n"]
pub is_focusable: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_view_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Return whether this View is focusable when the user requires full keyboard\n access, even though it may not be normally focusable.\n"]
pub is_accessibility_focusable: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_view_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Request keyboard focus. If this View is focusable it will become the\n focused View.\n"]
pub request_focus: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_view_t)>,
#[doc = "\n Sets the background color for this View.\n"]
pub set_background_color:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_view_t, color: cef_color_t)>,
#[doc = "\n Returns the background color for this View.\n"]
pub get_background_color:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_view_t) -> cef_color_t>,
#[doc = "\n Convert |point| from this View's coordinate system to DIP screen\n coordinates. This View must belong to a Window when calling this function.\n Returns true (1) if the conversion is successful or false (0) otherwise.\n Use cef_display_t::convert_point_to_pixels() after calling this function\n if further conversion to display-specific pixel coordinates is desired.\n"]
pub convert_point_to_screen: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_view_t,
point: *mut cef_point_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Convert |point| to this View's coordinate system from DIP screen\n coordinates. This View must belong to a Window when calling this function.\n Returns true (1) if the conversion is successful or false (0) otherwise.\n Use cef_display_t::convert_point_from_pixels() before calling this\n function if conversion from display-specific pixel coordinates is\n necessary.\n"]
pub convert_point_from_screen: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_view_t,
point: *mut cef_point_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Convert |point| from this View's coordinate system to that of the Window.\n This View must belong to a Window when calling this function. Returns true\n (1) if the conversion is successful or false (0) otherwise.\n"]
pub convert_point_to_window: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_view_t,
point: *mut cef_point_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Convert |point| to this View's coordinate system from that of the Window.\n This View must belong to a Window when calling this function. Returns true\n (1) if the conversion is successful or false (0) otherwise.\n"]
pub convert_point_from_window: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_view_t,
point: *mut cef_point_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Convert |point| from this View's coordinate system to that of |view|.\n |view| needs to be in the same Window but not necessarily the same view\n hierarchy. Returns true (1) if the conversion is successful or false (0)\n otherwise.\n"]
pub convert_point_to_view: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_view_t,
view: *mut _cef_view_t,
point: *mut cef_point_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Convert |point| to this View's coordinate system from that |view|. |view|\n needs to be in the same Window but not necessarily the same view\n hierarchy. Returns true (1) if the conversion is successful or false (0)\n otherwise.\n"]
pub convert_point_from_view: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_view_t,
view: *mut _cef_view_t,
point: *mut cef_point_t,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_view_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_view_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_view_t>(),
440usize,
concat!("Size of: ", stringify!(_cef_view_t))
);
assert_eq!(
::std::mem::align_of::<_cef_view_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_view_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).as_browser_view) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(as_browser_view)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).as_button) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(as_button)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).as_panel) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(as_panel)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).as_scroll_view) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(as_scroll_view)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).as_textfield) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(as_textfield)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_type_string) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(get_type_string)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).to_string) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(to_string)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_valid) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(is_valid)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_attached) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(is_attached)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_same) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(is_same)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_delegate) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(get_delegate)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_window) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(get_window)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_id) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(get_id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_id) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(set_id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_group_id) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(get_group_id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_group_id) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(set_group_id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_parent_view) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(get_parent_view)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_view_for_id) as usize - ptr as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(get_view_for_id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_bounds) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(set_bounds)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_bounds) as usize - ptr as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(get_bounds)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_bounds_in_screen) as usize - ptr as usize },
200usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(get_bounds_in_screen)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_size) as usize - ptr as usize },
208usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(set_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_size) as usize - ptr as usize },
216usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(get_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_position) as usize - ptr as usize },
224usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(set_position)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_position) as usize - ptr as usize },
232usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(get_position)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_insets) as usize - ptr as usize },
240usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(set_insets)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_insets) as usize - ptr as usize },
248usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(get_insets)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_preferred_size) as usize - ptr as usize },
256usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(get_preferred_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).size_to_preferred_size) as usize - ptr as usize },
264usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(size_to_preferred_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_minimum_size) as usize - ptr as usize },
272usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(get_minimum_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_maximum_size) as usize - ptr as usize },
280usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(get_maximum_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_height_for_width) as usize - ptr as usize },
288usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(get_height_for_width)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).invalidate_layout) as usize - ptr as usize },
296usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(invalidate_layout)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_visible) as usize - ptr as usize },
304usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(set_visible)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_visible) as usize - ptr as usize },
312usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(is_visible)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_drawn) as usize - ptr as usize },
320usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(is_drawn)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_enabled) as usize - ptr as usize },
328usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(set_enabled)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_enabled) as usize - ptr as usize },
336usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(is_enabled)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_focusable) as usize - ptr as usize },
344usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(set_focusable)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_focusable) as usize - ptr as usize },
352usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(is_focusable)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_accessibility_focusable) as usize - ptr as usize },
360usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(is_accessibility_focusable)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).request_focus) as usize - ptr as usize },
368usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(request_focus)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_background_color) as usize - ptr as usize },
376usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(set_background_color)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_background_color) as usize - ptr as usize },
384usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(get_background_color)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).convert_point_to_screen) as usize - ptr as usize },
392usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(convert_point_to_screen)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).convert_point_from_screen) as usize - ptr as usize },
400usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(convert_point_from_screen)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).convert_point_to_window) as usize - ptr as usize },
408usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(convert_point_to_window)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).convert_point_from_window) as usize - ptr as usize },
416usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(convert_point_from_window)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).convert_point_to_view) as usize - ptr as usize },
424usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(convert_point_to_view)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).convert_point_from_view) as usize - ptr as usize },
432usize,
concat!(
"Offset of field: ",
stringify!(_cef_view_t),
"::",
stringify!(convert_point_from_view)
)
);
}
#[doc = "\n A View is a rectangle within the views View hierarchy. It is the base\n structure for all Views. All size and position values are in density\n independent pixels (DIP) unless otherwise indicated. Methods must be called\n on the browser process UI thread unless otherwise indicated.\n"]
pub type cef_view_t = _cef_view_t;
#[doc = "\n A View hosting a cef_browser_t instance. Methods must be called on the\n browser process UI thread unless otherwise indicated.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_browser_view_t {
#[doc = "\n Base structure.\n"]
pub base: cef_view_t,
#[doc = "\n Returns the cef_browser_t hosted by this BrowserView. Will return NULL if\n the browser has not yet been created or has already been destroyed.\n"]
pub get_browser: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_view_t) -> *mut _cef_browser_t,
>,
#[doc = "\n Returns the Chrome toolbar associated with this BrowserView. Only\n supported when using the Chrome runtime. The cef_browser_view_delegate_t::\n get_chrome_toolbar_type() function must return a value other than\n CEF_CTT_NONE and the toolbar will not be available until after this\n BrowserView is added to a cef_window_t and\n cef_view_delegate_t::on_window_changed() has been called.\n"]
pub get_chrome_toolbar: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_browser_view_t) -> *mut _cef_view_t,
>,
#[doc = "\n Sets whether accelerators registered with cef_window_t::SetAccelerator are\n triggered before or after the event is sent to the cef_browser_t. If\n |prefer_accelerators| is true (1) then the matching accelerator will be\n triggered immediately and the event will not be sent to the cef_browser_t.\n If |prefer_accelerators| is false (0) then the matching accelerator will\n only be triggered if the event is not handled by web content or by\n cef_keyboard_handler_t. The default value is false (0).\n"]
pub set_prefer_accelerators: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_browser_view_t,
prefer_accelerators: ::std::os::raw::c_int,
),
>,
}
#[test]
fn bindgen_test_layout__cef_browser_view_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_browser_view_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_browser_view_t>(),
464usize,
concat!("Size of: ", stringify!(_cef_browser_view_t))
);
assert_eq!(
::std::mem::align_of::<_cef_browser_view_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_browser_view_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_view_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_browser) as usize - ptr as usize },
440usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_view_t),
"::",
stringify!(get_browser)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_chrome_toolbar) as usize - ptr as usize },
448usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_view_t),
"::",
stringify!(get_chrome_toolbar)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_prefer_accelerators) as usize - ptr as usize },
456usize,
concat!(
"Offset of field: ",
stringify!(_cef_browser_view_t),
"::",
stringify!(set_prefer_accelerators)
)
);
}
#[doc = "\n A View hosting a cef_browser_t instance. Methods must be called on the\n browser process UI thread unless otherwise indicated.\n"]
pub type cef_browser_view_t = _cef_browser_view_t;
extern "C" {
#[doc = "\n Create a new BrowserView. The underlying cef_browser_t will not be created\n until this view is added to the views hierarchy. The optional |extra_info|\n parameter provides an opportunity to specify extra information specific to\n the created browser that will be passed to\n cef_render_process_handler_t::on_browser_created() in the render process.\n"]
pub fn cef_browser_view_create(
client: *mut _cef_client_t,
url: *const cef_string_t,
settings: *const _cef_browser_settings_t,
extra_info: *mut _cef_dictionary_value_t,
request_context: *mut _cef_request_context_t,
delegate: *mut _cef_browser_view_delegate_t,
) -> *mut cef_browser_view_t;
}
extern "C" {
#[doc = "\n Returns the BrowserView associated with |browser|.\n"]
pub fn cef_browser_view_get_for_browser(
browser: *mut _cef_browser_t,
) -> *mut cef_browser_view_t;
}
#[doc = "\n This structure typically, but not always, corresponds to a physical display\n connected to the system. A fake Display may exist on a headless system, or a\n Display may correspond to a remote, virtual display. All size and position\n values are in density independent pixel (DIP) coordinates unless otherwise\n indicated. Methods must be called on the browser process UI thread unless\n otherwise indicated.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_display_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns the unique identifier for this Display.\n"]
pub get_id: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_display_t) -> i64>,
#[doc = "\n Returns this Display's device pixel scale factor. This specifies how much\n the UI should be scaled when the actual output has more pixels than\n standard displays (which is around 100~120dpi). The potential return\n values differ by platform.\n"]
pub get_device_scale_factor:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_display_t) -> f32>,
#[doc = "\n Convert |point| from DIP coordinates to pixel coordinates using this\n Display's device scale factor.\n"]
pub convert_point_to_pixels: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_display_t, point: *mut cef_point_t),
>,
#[doc = "\n Convert |point| from pixel coordinates to DIP coordinates using this\n Display's device scale factor.\n"]
pub convert_point_from_pixels: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_display_t, point: *mut cef_point_t),
>,
#[doc = "\n Returns this Display's bounds in DIP screen coordinates. This is the full\n size of the display.\n"]
pub get_bounds:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_display_t) -> cef_rect_t>,
#[doc = "\n Returns this Display's work area in DIP screen coordinates. This excludes\n areas of the display that are occupied with window manager toolbars, etc.\n"]
pub get_work_area:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_display_t) -> cef_rect_t>,
#[doc = "\n Returns this Display's rotation in degrees.\n"]
pub get_rotation: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_display_t) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_display_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_display_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_display_t>(),
96usize,
concat!("Size of: ", stringify!(_cef_display_t))
);
assert_eq!(
::std::mem::align_of::<_cef_display_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_display_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_display_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_id) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_display_t),
"::",
stringify!(get_id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_device_scale_factor) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_display_t),
"::",
stringify!(get_device_scale_factor)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).convert_point_to_pixels) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_display_t),
"::",
stringify!(convert_point_to_pixels)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).convert_point_from_pixels) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_display_t),
"::",
stringify!(convert_point_from_pixels)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_bounds) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_display_t),
"::",
stringify!(get_bounds)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_work_area) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_display_t),
"::",
stringify!(get_work_area)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_rotation) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_display_t),
"::",
stringify!(get_rotation)
)
);
}
#[doc = "\n This structure typically, but not always, corresponds to a physical display\n connected to the system. A fake Display may exist on a headless system, or a\n Display may correspond to a remote, virtual display. All size and position\n values are in density independent pixel (DIP) coordinates unless otherwise\n indicated. Methods must be called on the browser process UI thread unless\n otherwise indicated.\n"]
pub type cef_display_t = _cef_display_t;
extern "C" {
#[doc = "\n Returns the primary Display.\n"]
pub fn cef_display_get_primary() -> *mut cef_display_t;
}
extern "C" {
#[doc = "\n Returns the Display nearest |point|. Set |input_pixel_coords| to true (1) if\n |point| is in pixel screen coordinates instead of DIP screen coordinates.\n"]
pub fn cef_display_get_nearest_point(
point: *const cef_point_t,
input_pixel_coords: ::std::os::raw::c_int,
) -> *mut cef_display_t;
}
extern "C" {
#[doc = "\n Returns the Display that most closely intersects |bounds|. Set\n |input_pixel_coords| to true (1) if |bounds| is in pixel screen coordinates\n instead of DIP screen coordinates.\n"]
pub fn cef_display_get_matching_bounds(
bounds: *const cef_rect_t,
input_pixel_coords: ::std::os::raw::c_int,
) -> *mut cef_display_t;
}
extern "C" {
#[doc = "\n Returns the total number of Displays. Mirrored displays are excluded; this\n function is intended to return the number of distinct, usable displays.\n"]
pub fn cef_display_get_count() -> usize;
}
extern "C" {
#[doc = "\n Returns all Displays. Mirrored displays are excluded; this function is\n intended to return distinct, usable displays.\n"]
pub fn cef_display_get_alls(displaysCount: *mut usize, displays: *mut *mut cef_display_t);
}
extern "C" {
#[doc = "\n Convert |point| from DIP screen coordinates to pixel screen coordinates.\n This function is only used on Windows.\n"]
pub fn cef_display_convert_screen_point_to_pixels(point: *const cef_point_t) -> cef_point_t;
}
extern "C" {
#[doc = "\n Convert |point| from pixel screen coordinates to DIP screen coordinates.\n This function is only used on Windows.\n"]
pub fn cef_display_convert_screen_point_from_pixels(point: *const cef_point_t) -> cef_point_t;
}
extern "C" {
#[doc = "\n Convert |rect| from DIP screen coordinates to pixel screen coordinates. This\n function is only used on Windows.\n"]
pub fn cef_display_convert_screen_rect_to_pixels(rect: *const cef_rect_t) -> cef_rect_t;
}
extern "C" {
#[doc = "\n Convert |rect| from pixel screen coordinates to DIP screen coordinates. This\n function is only used on Windows.\n"]
pub fn cef_display_convert_screen_rect_from_pixels(rect: *const cef_rect_t) -> cef_rect_t;
}
#[doc = "\n Controller for an overlay that contains a contents View added via\n cef_window_t::AddOverlayView. Methods exposed by this controller should be\n called in preference to functions of the same name exposed by the contents\n View unless otherwise indicated. Methods must be called on the browser\n process UI thread unless otherwise indicated.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_overlay_controller_t {
#[doc = "\n Base structure.\n"]
pub base: cef_base_ref_counted_t,
#[doc = "\n Returns true (1) if this object is valid.\n"]
pub is_valid: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_overlay_controller_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if this object is the same as |that| object.\n"]
pub is_same: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_overlay_controller_t,
that: *mut _cef_overlay_controller_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns the contents View for this overlay.\n"]
pub get_contents_view: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_overlay_controller_t) -> *mut _cef_view_t,
>,
#[doc = "\n Returns the top-level Window hosting this overlay. Use this function\n instead of calling get_window() on the contents View.\n"]
pub get_window: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_overlay_controller_t) -> *mut _cef_window_t,
>,
#[doc = "\n Returns the docking mode for this overlay.\n"]
pub get_docking_mode: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_overlay_controller_t) -> cef_docking_mode_t,
>,
#[doc = "\n Destroy this overlay.\n"]
pub destroy: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_overlay_controller_t)>,
#[doc = "\n Sets the bounds (size and position) of this overlay. This will set the\n bounds of the contents View to match and trigger a re-layout if necessary.\n |bounds| is in parent coordinates and any insets configured on this\n overlay will be ignored. Use this function only for overlays created with\n a docking mode value of CEF_DOCKING_MODE_CUSTOM. With other docking modes\n modify the insets of this overlay and/or layout of the contents View and\n call size_to_preferred_size() instead to calculate the new size and re-\n position the overlay if necessary.\n"]
pub set_bounds: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_overlay_controller_t, bounds: *const cef_rect_t),
>,
#[doc = "\n Returns the bounds (size and position) of this overlay in parent\n coordinates.\n"]
pub get_bounds: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_overlay_controller_t) -> cef_rect_t,
>,
#[doc = "\n Returns the bounds (size and position) of this overlay in DIP screen\n coordinates.\n"]
pub get_bounds_in_screen: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_overlay_controller_t) -> cef_rect_t,
>,
#[doc = "\n Sets the size of this overlay without changing the position. This will set\n the size of the contents View to match and trigger a re-layout if\n necessary. |size| is in parent coordinates and any insets configured on\n this overlay will be ignored. Use this function only for overlays created\n with a docking mode value of CEF_DOCKING_MODE_CUSTOM. With other docking\n modes modify the insets of this overlay and/or layout of the contents View\n and call size_to_preferred_size() instead to calculate the new size and\n re-position the overlay if necessary.\n"]
pub set_size: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_overlay_controller_t, size: *const cef_size_t),
>,
#[doc = "\n Returns the size of this overlay in parent coordinates.\n"]
pub get_size: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_overlay_controller_t) -> cef_size_t,
>,
#[doc = "\n Sets the position of this overlay without changing the size. |position| is\n in parent coordinates and any insets configured on this overlay will be\n ignored. Use this function only for overlays created with a docking mode\n value of CEF_DOCKING_MODE_CUSTOM. With other docking modes modify the\n insets of this overlay and/or layout of the contents View and call\n size_to_preferred_size() instead to calculate the new size and re-position\n the overlay if necessary.\n"]
pub set_position: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_overlay_controller_t, position: *const cef_point_t),
>,
#[doc = "\n Returns the position of this overlay in parent coordinates.\n"]
pub get_position: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_overlay_controller_t) -> cef_point_t,
>,
#[doc = "\n Sets the insets for this overlay. |insets| is in parent coordinates. Use\n this function only for overlays created with a docking mode value other\n than CEF_DOCKING_MODE_CUSTOM.\n"]
pub set_insets: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_overlay_controller_t, insets: *const cef_insets_t),
>,
#[doc = "\n Returns the insets for this overlay in parent coordinates.\n"]
pub get_insets: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_overlay_controller_t) -> cef_insets_t,
>,
#[doc = "\n Size this overlay to its preferred size and trigger a re-layout if\n necessary. The position of overlays created with a docking mode value of\n CEF_DOCKING_MODE_CUSTOM will not be modified by calling this function.\n With other docking modes this function may re-position the overlay if\n necessary to accommodate the new size and any insets configured on the\n contents View.\n"]
pub size_to_preferred_size:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_overlay_controller_t)>,
#[doc = "\n Sets whether this overlay is visible. Overlays are hidden by default. If\n this overlay is hidden then it and any child Views will not be drawn and,\n if any of those Views currently have focus, then focus will also be\n cleared. Painting is scheduled as needed.\n"]
pub set_visible: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_overlay_controller_t, visible: ::std::os::raw::c_int),
>,
#[doc = "\n Returns whether this overlay is visible. A View may be visible but still\n not drawn in a Window if any parent Views are hidden. Call is_drawn() to\n determine whether this overlay and all parent Views are visible and will\n be drawn.\n"]
pub is_visible: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_overlay_controller_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns whether this overlay is visible and drawn in a Window. A View is\n drawn if it and all parent Views are visible. To determine if the\n containing Window is visible to the user on-screen call is_visible() on\n the Window.\n"]
pub is_drawn: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_overlay_controller_t) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_overlay_controller_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_overlay_controller_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_overlay_controller_t>(),
192usize,
concat!("Size of: ", stringify!(_cef_overlay_controller_t))
);
assert_eq!(
::std::mem::align_of::<_cef_overlay_controller_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_overlay_controller_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_overlay_controller_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_valid) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_cef_overlay_controller_t),
"::",
stringify!(is_valid)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_same) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_cef_overlay_controller_t),
"::",
stringify!(is_same)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_contents_view) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_cef_overlay_controller_t),
"::",
stringify!(get_contents_view)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_window) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_cef_overlay_controller_t),
"::",
stringify!(get_window)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_docking_mode) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_cef_overlay_controller_t),
"::",
stringify!(get_docking_mode)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).destroy) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_cef_overlay_controller_t),
"::",
stringify!(destroy)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_bounds) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_cef_overlay_controller_t),
"::",
stringify!(set_bounds)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_bounds) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_cef_overlay_controller_t),
"::",
stringify!(get_bounds)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_bounds_in_screen) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_cef_overlay_controller_t),
"::",
stringify!(get_bounds_in_screen)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_size) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_cef_overlay_controller_t),
"::",
stringify!(set_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_size) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_overlay_controller_t),
"::",
stringify!(get_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_position) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_overlay_controller_t),
"::",
stringify!(set_position)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_position) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_overlay_controller_t),
"::",
stringify!(get_position)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_insets) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(_cef_overlay_controller_t),
"::",
stringify!(set_insets)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_insets) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_cef_overlay_controller_t),
"::",
stringify!(get_insets)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).size_to_preferred_size) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_cef_overlay_controller_t),
"::",
stringify!(size_to_preferred_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_visible) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_cef_overlay_controller_t),
"::",
stringify!(set_visible)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_visible) as usize - ptr as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(_cef_overlay_controller_t),
"::",
stringify!(is_visible)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_drawn) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(_cef_overlay_controller_t),
"::",
stringify!(is_drawn)
)
);
}
#[doc = "\n Controller for an overlay that contains a contents View added via\n cef_window_t::AddOverlayView. Methods exposed by this controller should be\n called in preference to functions of the same name exposed by the contents\n View unless otherwise indicated. Methods must be called on the browser\n process UI thread unless otherwise indicated.\n"]
pub type cef_overlay_controller_t = _cef_overlay_controller_t;
#[doc = "\n Implement this structure to handle Panel events. The functions of this\n structure will be called on the browser process UI thread unless otherwise\n indicated.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_panel_delegate_t {
#[doc = "\n Base structure.\n"]
pub base: cef_view_delegate_t,
}
#[test]
fn bindgen_test_layout__cef_panel_delegate_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_panel_delegate_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_panel_delegate_t>(),
120usize,
concat!("Size of: ", stringify!(_cef_panel_delegate_t))
);
assert_eq!(
::std::mem::align_of::<_cef_panel_delegate_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_panel_delegate_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_panel_delegate_t),
"::",
stringify!(base)
)
);
}
#[doc = "\n Implement this structure to handle Panel events. The functions of this\n structure will be called on the browser process UI thread unless otherwise\n indicated.\n"]
pub type cef_panel_delegate_t = _cef_panel_delegate_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_box_layout_t {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_fill_layout_t {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_layout_t {
_unused: [u8; 0],
}
#[doc = "\n A Panel is a container in the views hierarchy that can contain other Views\n as children. Methods must be called on the browser process UI thread unless\n otherwise indicated.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_panel_t {
#[doc = "\n Base structure.\n"]
pub base: cef_view_t,
#[doc = "\n Returns this Panel as a Window or NULL if this is not a Window.\n"]
pub as_window:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_panel_t) -> *mut _cef_window_t>,
#[doc = "\n Set this Panel's Layout to FillLayout and return the FillLayout object.\n"]
pub set_to_fill_layout: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_panel_t) -> *mut _cef_fill_layout_t,
>,
#[doc = "\n Set this Panel's Layout to BoxLayout and return the BoxLayout object.\n"]
pub set_to_box_layout: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_panel_t,
settings: *const cef_box_layout_settings_t,
) -> *mut _cef_box_layout_t,
>,
#[doc = "\n Get the Layout.\n"]
pub get_layout:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_panel_t) -> *mut _cef_layout_t>,
#[doc = "\n Lay out the child Views (set their bounds based on sizing heuristics\n specific to the current Layout).\n"]
pub layout: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_panel_t)>,
#[doc = "\n Add a child View.\n"]
pub add_child_view: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_panel_t, view: *mut _cef_view_t),
>,
#[doc = "\n Add a child View at the specified |index|. If |index| matches the result\n of GetChildCount() then the View will be added at the end.\n"]
pub add_child_view_at: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_panel_t,
view: *mut _cef_view_t,
index: ::std::os::raw::c_int,
),
>,
#[doc = "\n Move the child View to the specified |index|. A negative value for |index|\n will move the View to the end.\n"]
pub reorder_child_view: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_panel_t,
view: *mut _cef_view_t,
index: ::std::os::raw::c_int,
),
>,
#[doc = "\n Remove a child View. The View can then be added to another Panel.\n"]
pub remove_child_view: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_panel_t, view: *mut _cef_view_t),
>,
#[doc = "\n Remove all child Views. The removed Views will be deleted if the client\n holds no references to them.\n"]
pub remove_all_child_views:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_panel_t)>,
#[doc = "\n Returns the number of child Views.\n"]
pub get_child_view_count:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_panel_t) -> usize>,
#[doc = "\n Returns the child View at the specified |index|.\n"]
pub get_child_view_at: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_panel_t,
index: ::std::os::raw::c_int,
) -> *mut _cef_view_t,
>,
}
#[test]
fn bindgen_test_layout__cef_panel_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_panel_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_panel_t>(),
536usize,
concat!("Size of: ", stringify!(_cef_panel_t))
);
assert_eq!(
::std::mem::align_of::<_cef_panel_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_panel_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_panel_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).as_window) as usize - ptr as usize },
440usize,
concat!(
"Offset of field: ",
stringify!(_cef_panel_t),
"::",
stringify!(as_window)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_to_fill_layout) as usize - ptr as usize },
448usize,
concat!(
"Offset of field: ",
stringify!(_cef_panel_t),
"::",
stringify!(set_to_fill_layout)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_to_box_layout) as usize - ptr as usize },
456usize,
concat!(
"Offset of field: ",
stringify!(_cef_panel_t),
"::",
stringify!(set_to_box_layout)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_layout) as usize - ptr as usize },
464usize,
concat!(
"Offset of field: ",
stringify!(_cef_panel_t),
"::",
stringify!(get_layout)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).layout) as usize - ptr as usize },
472usize,
concat!(
"Offset of field: ",
stringify!(_cef_panel_t),
"::",
stringify!(layout)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).add_child_view) as usize - ptr as usize },
480usize,
concat!(
"Offset of field: ",
stringify!(_cef_panel_t),
"::",
stringify!(add_child_view)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).add_child_view_at) as usize - ptr as usize },
488usize,
concat!(
"Offset of field: ",
stringify!(_cef_panel_t),
"::",
stringify!(add_child_view_at)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reorder_child_view) as usize - ptr as usize },
496usize,
concat!(
"Offset of field: ",
stringify!(_cef_panel_t),
"::",
stringify!(reorder_child_view)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).remove_child_view) as usize - ptr as usize },
504usize,
concat!(
"Offset of field: ",
stringify!(_cef_panel_t),
"::",
stringify!(remove_child_view)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).remove_all_child_views) as usize - ptr as usize },
512usize,
concat!(
"Offset of field: ",
stringify!(_cef_panel_t),
"::",
stringify!(remove_all_child_views)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_child_view_count) as usize - ptr as usize },
520usize,
concat!(
"Offset of field: ",
stringify!(_cef_panel_t),
"::",
stringify!(get_child_view_count)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_child_view_at) as usize - ptr as usize },
528usize,
concat!(
"Offset of field: ",
stringify!(_cef_panel_t),
"::",
stringify!(get_child_view_at)
)
);
}
#[doc = "\n A Panel is a container in the views hierarchy that can contain other Views\n as children. Methods must be called on the browser process UI thread unless\n otherwise indicated.\n"]
pub type cef_panel_t = _cef_panel_t;
extern "C" {
#[doc = "\n Create a new Panel.\n"]
pub fn cef_panel_create(delegate: *mut _cef_panel_delegate_t) -> *mut cef_panel_t;
}
#[doc = "\n Implement this structure to handle window events. The functions of this\n structure will be called on the browser process UI thread unless otherwise\n indicated.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_window_delegate_t {
#[doc = "\n Base structure.\n"]
pub base: cef_panel_delegate_t,
#[doc = "\n Called when |window| is created.\n"]
pub on_window_created: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_window_delegate_t, window: *mut _cef_window_t),
>,
#[doc = "\n Called when |window| is closing.\n"]
pub on_window_closing: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_window_delegate_t, window: *mut _cef_window_t),
>,
#[doc = "\n Called when |window| is destroyed. Release all references to |window| and\n do not attempt to execute any functions on |window| after this callback\n returns.\n"]
pub on_window_destroyed: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_window_delegate_t, window: *mut _cef_window_t),
>,
#[doc = "\n Called when |window| is activated or deactivated.\n"]
pub on_window_activation_changed: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_window_delegate_t,
window: *mut _cef_window_t,
active: ::std::os::raw::c_int,
),
>,
#[doc = "\n Called when |window| bounds have changed. |new_bounds| will be in DIP\n screen coordinates.\n"]
pub on_window_bounds_changed: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_window_delegate_t,
window: *mut _cef_window_t,
new_bounds: *const cef_rect_t,
),
>,
#[doc = "\n Called when |window| is transitioning to or from fullscreen mode. On MacOS\n the transition occurs asynchronously with |is_competed| set to false (0)\n when the transition starts and true (1) after the transition completes. On\n other platforms the transition occurs synchronously with |is_completed|\n set to true (1) after the transition completes. With the Alloy runtime you\n must also implement cef_display_handler_t::OnFullscreenModeChange to\n handle fullscreen transitions initiated by browser content.\n"]
pub on_window_fullscreen_transition: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_window_delegate_t,
window: *mut _cef_window_t,
is_completed: ::std::os::raw::c_int,
),
>,
#[doc = "\n Return the parent for |window| or NULL if the |window| does not have a\n parent. Windows with parents will not get a taskbar button. Set |is_menu|\n to true (1) if |window| will be displayed as a menu, in which case it will\n not be clipped to the parent window bounds. Set |can_activate_menu| to\n false (0) if |is_menu| is true (1) and |window| should not be activated\n (given keyboard focus) when displayed.\n"]
pub get_parent_window: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_window_delegate_t,
window: *mut _cef_window_t,
is_menu: *mut ::std::os::raw::c_int,
can_activate_menu: *mut ::std::os::raw::c_int,
) -> *mut _cef_window_t,
>,
#[doc = "\n Return true (1) if |window| should be created as a window modal dialog.\n Only called when a Window is returned via get_parent_window() with\n |is_menu| set to false (0). All controls in the parent Window will be\n disabled while |window| is visible. This functionality is not supported by\n all Linux window managers. Alternately, use\n cef_window_t::show_as_browser_modal_dialog() for a browser modal dialog\n that works on all platforms.\n"]
pub is_window_modal_dialog: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_window_delegate_t,
window: *mut _cef_window_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Return the initial bounds for |window| in density independent pixel (DIP)\n coordinates. If this function returns an NULL CefRect then\n get_preferred_size() will be called to retrieve the size, and the window\n will be placed on the screen with origin (0,0). This function can be used\n in combination with cef_view_t::get_bounds_in_screen() to restore the\n previous window bounds.\n"]
pub get_initial_bounds: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_window_delegate_t,
window: *mut _cef_window_t,
) -> cef_rect_t,
>,
#[doc = "\n Return the initial show state for |window|.\n"]
pub get_initial_show_state: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_window_delegate_t,
window: *mut _cef_window_t,
) -> cef_show_state_t,
>,
#[doc = "\n Return true (1) if |window| should be created without a frame or title\n bar. The window will be resizable if can_resize() returns true (1). Use\n cef_window_t::set_draggable_regions() to specify draggable regions.\n"]
pub is_frameless: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_window_delegate_t,
window: *mut _cef_window_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Return true (1) if |window| should be created with standard window buttons\n like close, minimize and zoom. This function is only supported on macOS.\n"]
pub with_standard_window_buttons: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_window_delegate_t,
window: *mut _cef_window_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Return whether the titlebar height should be overridden, and sets the\n height of the titlebar in |titlebar_height|. On macOS, it can also be used\n to adjust the vertical position of the traffic light buttons in frameless\n windows. The buttons will be positioned halfway down the titlebar at a\n height of |titlebar_height| / 2.\n"]
pub get_titlebar_height: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_window_delegate_t,
window: *mut _cef_window_t,
titlebar_height: *mut f32,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Return true (1) if |window| can be resized.\n"]
pub can_resize: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_window_delegate_t,
window: *mut _cef_window_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Return true (1) if |window| can be maximized.\n"]
pub can_maximize: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_window_delegate_t,
window: *mut _cef_window_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Return true (1) if |window| can be minimized.\n"]
pub can_minimize: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_window_delegate_t,
window: *mut _cef_window_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Return true (1) if |window| can be closed. This will be called for user-\n initiated window close actions and when cef_window_t::close() is called.\n"]
pub can_close: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_window_delegate_t,
window: *mut _cef_window_t,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called when a keyboard accelerator registered with\n cef_window_t::SetAccelerator is triggered. Return true (1) if the\n accelerator was handled or false (0) otherwise.\n"]
pub on_accelerator: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_window_delegate_t,
window: *mut _cef_window_t,
command_id: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = "\n Called after all other controls in the window have had a chance to handle\n the event. |event| contains information about the keyboard event. Return\n true (1) if the keyboard event was handled or false (0) otherwise.\n"]
pub on_key_event: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_window_delegate_t,
window: *mut _cef_window_t,
event: *const cef_key_event_t,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout__cef_window_delegate_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_window_delegate_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_window_delegate_t>(),
272usize,
concat!("Size of: ", stringify!(_cef_window_delegate_t))
);
assert_eq!(
::std::mem::align_of::<_cef_window_delegate_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_window_delegate_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_delegate_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_window_created) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_delegate_t),
"::",
stringify!(on_window_created)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_window_closing) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_delegate_t),
"::",
stringify!(on_window_closing)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_window_destroyed) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_delegate_t),
"::",
stringify!(on_window_destroyed)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).on_window_activation_changed) as usize - ptr as usize
},
144usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_delegate_t),
"::",
stringify!(on_window_activation_changed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_window_bounds_changed) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_delegate_t),
"::",
stringify!(on_window_bounds_changed)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).on_window_fullscreen_transition) as usize - ptr as usize
},
160usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_delegate_t),
"::",
stringify!(on_window_fullscreen_transition)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_parent_window) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_delegate_t),
"::",
stringify!(get_parent_window)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_window_modal_dialog) as usize - ptr as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_delegate_t),
"::",
stringify!(is_window_modal_dialog)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_initial_bounds) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_delegate_t),
"::",
stringify!(get_initial_bounds)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_initial_show_state) as usize - ptr as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_delegate_t),
"::",
stringify!(get_initial_show_state)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_frameless) as usize - ptr as usize },
200usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_delegate_t),
"::",
stringify!(is_frameless)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).with_standard_window_buttons) as usize - ptr as usize
},
208usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_delegate_t),
"::",
stringify!(with_standard_window_buttons)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_titlebar_height) as usize - ptr as usize },
216usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_delegate_t),
"::",
stringify!(get_titlebar_height)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).can_resize) as usize - ptr as usize },
224usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_delegate_t),
"::",
stringify!(can_resize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).can_maximize) as usize - ptr as usize },
232usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_delegate_t),
"::",
stringify!(can_maximize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).can_minimize) as usize - ptr as usize },
240usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_delegate_t),
"::",
stringify!(can_minimize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).can_close) as usize - ptr as usize },
248usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_delegate_t),
"::",
stringify!(can_close)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_accelerator) as usize - ptr as usize },
256usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_delegate_t),
"::",
stringify!(on_accelerator)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on_key_event) as usize - ptr as usize },
264usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_delegate_t),
"::",
stringify!(on_key_event)
)
);
}
#[doc = "\n Implement this structure to handle window events. The functions of this\n structure will be called on the browser process UI thread unless otherwise\n indicated.\n"]
pub type cef_window_delegate_t = _cef_window_delegate_t;
#[doc = "\n A Window is a top-level Window/widget in the Views hierarchy. By default it\n will have a non-client area with title bar, icon and buttons that supports\n moving and resizing. All size and position values are in density independent\n pixels (DIP) unless otherwise indicated. Methods must be called on the\n browser process UI thread unless otherwise indicated.\n"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cef_window_t {
#[doc = "\n Base structure.\n"]
pub base: cef_panel_t,
#[doc = "\n Show the Window.\n"]
pub show: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_window_t)>,
#[doc = "\n Show the Window as a browser modal dialog relative to |browser_view|. A\n parent Window must be returned via\n cef_window_delegate_t::get_parent_window() and |browser_view| must belong\n to that parent Window. While this Window is visible, |browser_view| will\n be disabled while other controls in the parent Window remain enabled.\n Navigating or destroying the |browser_view| will close this Window\n automatically. Alternately, use show() and return true (1) from\n cef_window_delegate_t::is_window_modal_dialog() for a window modal dialog\n where all controls in the parent Window are disabled.\n"]
pub show_as_browser_modal_dialog: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_window_t, browser_view: *mut _cef_browser_view_t),
>,
#[doc = "\n Hide the Window.\n"]
pub hide: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_window_t)>,
#[doc = "\n Sizes the Window to |size| and centers it in the current display.\n"]
pub center_window: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_window_t, size: *const cef_size_t),
>,
#[doc = "\n Close the Window.\n"]
pub close: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_window_t)>,
#[doc = "\n Returns true (1) if the Window has been closed.\n"]
pub is_closed: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_window_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Activate the Window, assuming it already exists and is visible.\n"]
pub activate: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_window_t)>,
#[doc = "\n Deactivate the Window, making the next Window in the Z order the active\n Window.\n"]
pub deactivate: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_window_t)>,
#[doc = "\n Returns whether the Window is the currently active Window.\n"]
pub is_active: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_window_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Bring this Window to the top of other Windows in the Windowing system.\n"]
pub bring_to_top: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_window_t)>,
#[doc = "\n Set the Window to be on top of other Windows in the Windowing system.\n"]
pub set_always_on_top: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_window_t, on_top: ::std::os::raw::c_int),
>,
#[doc = "\n Returns whether the Window has been set to be on top of other Windows in\n the Windowing system.\n"]
pub is_always_on_top: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_window_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Maximize the Window.\n"]
pub maximize: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_window_t)>,
#[doc = "\n Minimize the Window.\n"]
pub minimize: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_window_t)>,
#[doc = "\n Restore the Window.\n"]
pub restore: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_window_t)>,
#[doc = "\n Set fullscreen Window state. The\n cef_window_delegate_t::OnWindowFullscreenTransition function will be\n called during the fullscreen transition for notification purposes.\n"]
pub set_fullscreen: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_window_t, fullscreen: ::std::os::raw::c_int),
>,
#[doc = "\n Returns true (1) if the Window is maximized.\n"]
pub is_maximized: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_window_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the Window is minimized.\n"]
pub is_minimized: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_window_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Returns true (1) if the Window is fullscreen.\n"]
pub is_fullscreen: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_window_t) -> ::std::os::raw::c_int,
>,
#[doc = "\n Set the Window title.\n"]
pub set_title: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_window_t, title: *const cef_string_t),
>,
#[doc = "\n Get the Window title.\n"]
pub get_title: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_window_t) -> cef_string_userfree_t,
>,
#[doc = "\n Set the Window icon. This should be a 16x16 icon suitable for use in the\n Windows's title bar.\n"]
pub set_window_icon: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_window_t, image: *mut _cef_image_t),
>,
#[doc = "\n Get the Window icon.\n"]
pub get_window_icon:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_window_t) -> *mut _cef_image_t>,
#[doc = "\n Set the Window App icon. This should be a larger icon for use in the host\n environment app switching UI. On Windows, this is the ICON_BIG used in\n Alt-Tab list and Windows taskbar. The Window icon will be used by default\n if no Window App icon is specified.\n"]
pub set_window_app_icon: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_window_t, image: *mut _cef_image_t),
>,
#[doc = "\n Get the Window App icon.\n"]
pub get_window_app_icon:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_window_t) -> *mut _cef_image_t>,
#[doc = "\n Add a View that will be overlayed on the Window contents with absolute\n positioning and high z-order. Positioning is controlled by |docking_mode|\n as described below. The returned cef_overlay_controller_t object is used\n to control the overlay. Overlays are hidden by default.\n\n With CEF_DOCKING_MODE_CUSTOM:\n 1. The overlay is initially hidden, sized to |view|'s preferred size,\n and positioned in the top-left corner.\n 2. Optionally change the overlay position and/or size by calling\n CefOverlayController methods.\n 3. Call CefOverlayController::SetVisible(true) to show the overlay.\n 4. The overlay will be automatically re-sized if |view|'s layout\n changes. Optionally change the overlay position and/or size when\n OnLayoutChanged is called on the Window's delegate to indicate a\n change in Window bounds.\n\n With other docking modes:\n 1. The overlay is initially hidden, sized to |view|'s preferred size,\n and positioned based on |docking_mode|.\n 2. Call CefOverlayController::SetVisible(true) to show the overlay.\n 3. The overlay will be automatically re-sized if |view|'s layout changes\n and re-positioned as appropriate when the Window resizes.\n\n Overlays created by this function will receive a higher z-order then any\n child Views added previously. It is therefore recommended to call this\n function last after all other child Views have been added so that the\n overlay displays as the top-most child of the Window.\n"]
pub add_overlay_view: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_window_t,
view: *mut _cef_view_t,
docking_mode: cef_docking_mode_t,
) -> *mut _cef_overlay_controller_t,
>,
#[doc = "\n Show a menu with contents |menu_model|. |screen_point| specifies the menu\n position in screen coordinates. |anchor_position| specifies how the menu\n will be anchored relative to |screen_point|.\n"]
pub show_menu: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_window_t,
menu_model: *mut _cef_menu_model_t,
screen_point: *const cef_point_t,
anchor_position: cef_menu_anchor_position_t,
),
>,
#[doc = "\n Cancel the menu that is currently showing, if any.\n"]
pub cancel_menu: ::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_window_t)>,
#[doc = "\n Returns the Display that most closely intersects the bounds of this\n Window. May return NULL if this Window is not currently displayed.\n"]
pub get_display: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_window_t) -> *mut _cef_display_t,
>,
#[doc = "\n Returns the bounds (size and position) of this Window's client area.\n Position is in screen coordinates.\n"]
pub get_client_area_bounds_in_screen:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_window_t) -> cef_rect_t>,
#[doc = "\n Set the regions where mouse events will be intercepted by this Window to\n support drag operations. Call this function with an NULL vector to clear\n the draggable regions. The draggable region bounds should be in window\n coordinates.\n"]
pub set_draggable_regions: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_window_t,
regionsCount: usize,
regions: *const cef_draggable_region_t,
),
>,
#[doc = "\n Retrieve the platform window handle for this Window.\n"]
pub get_window_handle: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_window_t) -> ::std::os::raw::c_ulong,
>,
#[doc = "\n Simulate a key press. |key_code| is the VKEY_* value from Chromium's\n ui/events/keycodes/keyboard_codes.h header (VK_* values on Windows).\n |event_flags| is some combination of EVENTFLAG_SHIFT_DOWN,\n EVENTFLAG_CONTROL_DOWN and/or EVENTFLAG_ALT_DOWN. This function is exposed\n primarily for testing purposes.\n"]
pub send_key_press: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_window_t,
key_code: ::std::os::raw::c_int,
event_flags: u32,
),
>,
#[doc = "\n Simulate a mouse move. The mouse cursor will be moved to the specified\n (screen_x, screen_y) position. This function is exposed primarily for\n testing purposes.\n"]
pub send_mouse_move: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_window_t,
screen_x: ::std::os::raw::c_int,
screen_y: ::std::os::raw::c_int,
),
>,
#[doc = "\n Simulate mouse down and/or mouse up events. |button| is the mouse button\n type. If |mouse_down| is true (1) a mouse down event will be sent. If\n |mouse_up| is true (1) a mouse up event will be sent. If both are true (1)\n a mouse down event will be sent followed by a mouse up event (equivalent\n to clicking the mouse button). The events will be sent using the current\n cursor position so make sure to call send_mouse_move() first to position\n the mouse. This function is exposed primarily for testing purposes.\n"]
pub send_mouse_events: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_window_t,
button: cef_mouse_button_type_t,
mouse_down: ::std::os::raw::c_int,
mouse_up: ::std::os::raw::c_int,
),
>,
#[doc = "\n Set the keyboard accelerator for the specified |command_id|. |key_code|\n can be any virtual key or character value.\n cef_window_delegate_t::OnAccelerator will be called if the keyboard\n combination is triggered while this window has focus.\n"]
pub set_accelerator: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut _cef_window_t,
command_id: ::std::os::raw::c_int,
key_code: ::std::os::raw::c_int,
shift_pressed: ::std::os::raw::c_int,
ctrl_pressed: ::std::os::raw::c_int,
alt_pressed: ::std::os::raw::c_int,
),
>,
#[doc = "\n Remove the keyboard accelerator for the specified |command_id|.\n"]
pub remove_accelerator: ::std::option::Option<
unsafe extern "C" fn(self_: *mut _cef_window_t, command_id: ::std::os::raw::c_int),
>,
#[doc = "\n Remove all keyboard accelerators.\n"]
pub remove_all_accelerators:
::std::option::Option<unsafe extern "C" fn(self_: *mut _cef_window_t)>,
}
#[test]
fn bindgen_test_layout__cef_window_t() {
const UNINIT: ::std::mem::MaybeUninit<_cef_window_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_cef_window_t>(),
840usize,
concat!("Size of: ", stringify!(_cef_window_t))
);
assert_eq!(
::std::mem::align_of::<_cef_window_t>(),
8usize,
concat!("Alignment of ", stringify!(_cef_window_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).show) as usize - ptr as usize },
536usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(show)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).show_as_browser_modal_dialog) as usize - ptr as usize
},
544usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(show_as_browser_modal_dialog)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).hide) as usize - ptr as usize },
552usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(hide)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).center_window) as usize - ptr as usize },
560usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(center_window)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).close) as usize - ptr as usize },
568usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(close)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_closed) as usize - ptr as usize },
576usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(is_closed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).activate) as usize - ptr as usize },
584usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(activate)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).deactivate) as usize - ptr as usize },
592usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(deactivate)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_active) as usize - ptr as usize },
600usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(is_active)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bring_to_top) as usize - ptr as usize },
608usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(bring_to_top)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_always_on_top) as usize - ptr as usize },
616usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(set_always_on_top)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_always_on_top) as usize - ptr as usize },
624usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(is_always_on_top)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).maximize) as usize - ptr as usize },
632usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(maximize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).minimize) as usize - ptr as usize },
640usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(minimize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).restore) as usize - ptr as usize },
648usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(restore)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_fullscreen) as usize - ptr as usize },
656usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(set_fullscreen)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_maximized) as usize - ptr as usize },
664usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(is_maximized)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_minimized) as usize - ptr as usize },
672usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(is_minimized)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).is_fullscreen) as usize - ptr as usize },
680usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(is_fullscreen)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_title) as usize - ptr as usize },
688usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(set_title)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_title) as usize - ptr as usize },
696usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(get_title)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_window_icon) as usize - ptr as usize },
704usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(set_window_icon)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_window_icon) as usize - ptr as usize },
712usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(get_window_icon)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_window_app_icon) as usize - ptr as usize },
720usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(set_window_app_icon)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_window_app_icon) as usize - ptr as usize },
728usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(get_window_app_icon)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).add_overlay_view) as usize - ptr as usize },
736usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(add_overlay_view)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).show_menu) as usize - ptr as usize },
744usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(show_menu)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cancel_menu) as usize - ptr as usize },
752usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(cancel_menu)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_display) as usize - ptr as usize },
760usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(get_display)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).get_client_area_bounds_in_screen) as usize - ptr as usize
},
768usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(get_client_area_bounds_in_screen)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_draggable_regions) as usize - ptr as usize },
776usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(set_draggable_regions)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_window_handle) as usize - ptr as usize },
784usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(get_window_handle)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).send_key_press) as usize - ptr as usize },
792usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(send_key_press)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).send_mouse_move) as usize - ptr as usize },
800usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(send_mouse_move)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).send_mouse_events) as usize - ptr as usize },
808usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(send_mouse_events)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_accelerator) as usize - ptr as usize },
816usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(set_accelerator)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).remove_accelerator) as usize - ptr as usize },
824usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(remove_accelerator)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).remove_all_accelerators) as usize - ptr as usize },
832usize,
concat!(
"Offset of field: ",
stringify!(_cef_window_t),
"::",
stringify!(remove_all_accelerators)
)
);
}
#[doc = "\n A Window is a top-level Window/widget in the Views hierarchy. By default it\n will have a non-client area with title bar, icon and buttons that supports\n moving and resizing. All size and position values are in density independent\n pixels (DIP) unless otherwise indicated. Methods must be called on the\n browser process UI thread unless otherwise indicated.\n"]
pub type cef_window_t = _cef_window_t;
extern "C" {
#[doc = "\n Create a new Window.\n"]
pub fn cef_window_create_top_level(delegate: *mut _cef_window_delegate_t) -> *mut cef_window_t;
}