• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2022 The Chromium Embedded Framework Authors. All rights
2 // reserved. Use of this source code is governed by a BSD-style license that
3 // can be found in the LICENSE file.
4 //
5 // ---------------------------------------------------------------------------
6 //
7 // This file was generated by the CEF translator tool. If making changes by
8 // hand only do so within the body of existing method and function
9 // implementations. See the translator.README.txt file in the tools directory
10 // for more information.
11 //
12 // $hash=ac1c94b2e83a4c806bed11fd0f456f8fe7ff1c44$
13 //
14 
15 #include <dlfcn.h>
16 #include <stdio.h>
17 
18 #include "include/base/cef_compiler_specific.h"
19 #include "include/capi/cef_app_capi.h"
20 #include "include/capi/cef_browser_capi.h"
21 #include "include/capi/cef_command_line_capi.h"
22 #include "include/capi/cef_cookie_capi.h"
23 #include "include/capi/cef_crash_util_capi.h"
24 #include "include/capi/cef_drag_data_capi.h"
25 #include "include/capi/cef_file_util_capi.h"
26 #include "include/capi/cef_i18n_util_capi.h"
27 #include "include/capi/cef_image_capi.h"
28 #include "include/capi/cef_media_router_capi.h"
29 #include "include/capi/cef_menu_model_capi.h"
30 #include "include/capi/cef_origin_whitelist_capi.h"
31 #include "include/capi/cef_parser_capi.h"
32 #include "include/capi/cef_path_util_capi.h"
33 #include "include/capi/cef_print_settings_capi.h"
34 #include "include/capi/cef_process_message_capi.h"
35 #include "include/capi/cef_process_util_capi.h"
36 #include "include/capi/cef_request_capi.h"
37 #include "include/capi/cef_request_context_capi.h"
38 #include "include/capi/cef_resource_bundle_capi.h"
39 #include "include/capi/cef_response_capi.h"
40 #include "include/capi/cef_scheme_capi.h"
41 #include "include/capi/cef_server_capi.h"
42 #include "include/capi/cef_ssl_info_capi.h"
43 #include "include/capi/cef_stream_capi.h"
44 #include "include/capi/cef_task_capi.h"
45 #include "include/capi/cef_thread_capi.h"
46 #include "include/capi/cef_trace_capi.h"
47 #include "include/capi/cef_urlrequest_capi.h"
48 #include "include/capi/cef_v8_capi.h"
49 #include "include/capi/cef_values_capi.h"
50 #include "include/capi/cef_waitable_event_capi.h"
51 #include "include/capi/cef_web_plugin_capi.h"
52 #include "include/capi/cef_xml_reader_capi.h"
53 #include "include/capi/cef_zip_reader_capi.h"
54 #include "include/capi/test/cef_test_helpers_capi.h"
55 #include "include/capi/test/cef_translator_test_capi.h"
56 #include "include/capi/views/cef_browser_view_capi.h"
57 #include "include/capi/views/cef_display_capi.h"
58 #include "include/capi/views/cef_label_button_capi.h"
59 #include "include/capi/views/cef_menu_button_capi.h"
60 #include "include/capi/views/cef_panel_capi.h"
61 #include "include/capi/views/cef_scroll_view_capi.h"
62 #include "include/capi/views/cef_textfield_capi.h"
63 #include "include/capi/views/cef_window_capi.h"
64 #include "include/cef_api_hash.h"
65 #include "include/cef_version.h"
66 #include "include/internal/cef_logging_internal.h"
67 #include "include/internal/cef_string_list.h"
68 #include "include/internal/cef_string_map.h"
69 #include "include/internal/cef_string_multimap.h"
70 #include "include/internal/cef_string_types.h"
71 #include "include/internal/cef_thread_internal.h"
72 #include "include/internal/cef_time.h"
73 #include "include/internal/cef_trace_event_internal.h"
74 #include "include/wrapper/cef_library_loader.h"
75 
76 // GLOBAL WRAPPER FUNCTIONS - Do not edit by hand.
77 
78 namespace {
79 
80 void* g_libcef_handle = nullptr;
81 
libcef_get_ptr(const char * path,const char * name)82 void* libcef_get_ptr(const char* path, const char* name) {
83   void* ptr = dlsym(g_libcef_handle, name);
84   if (!ptr) {
85     fprintf(stderr, "dlsym %s: %s\n", path, dlerror());
86   }
87   return ptr;
88 }
89 
90 typedef int (*cef_execute_process_ptr)(const struct _cef_main_args_t*,
91                                        struct _cef_app_t*,
92                                        void*);
93 typedef int (*cef_initialize_ptr)(const struct _cef_main_args_t*,
94                                   const struct _cef_settings_t*,
95                                   struct _cef_app_t*,
96                                   void*);
97 typedef void (*cef_shutdown_ptr)();
98 typedef void (*cef_do_message_loop_work_ptr)();
99 typedef void (*cef_run_message_loop_ptr)();
100 typedef void (*cef_quit_message_loop_ptr)();
101 typedef void (*cef_set_osmodal_loop_ptr)(int);
102 typedef void (*cef_enable_highdpi_support_ptr)();
103 typedef int (*cef_crash_reporting_enabled_ptr)();
104 typedef void (*cef_set_crash_key_value_ptr)(const cef_string_t*,
105                                             const cef_string_t*);
106 typedef int (*cef_create_directory_ptr)(const cef_string_t*);
107 typedef int (*cef_get_temp_directory_ptr)(cef_string_t*);
108 typedef int (*cef_create_new_temp_directory_ptr)(const cef_string_t*,
109                                                  cef_string_t*);
110 typedef int (*cef_create_temp_directory_in_directory_ptr)(const cef_string_t*,
111                                                           const cef_string_t*,
112                                                           cef_string_t*);
113 typedef int (*cef_directory_exists_ptr)(const cef_string_t*);
114 typedef int (*cef_delete_file_ptr)(const cef_string_t*, int);
115 typedef int (*cef_zip_directory_ptr)(const cef_string_t*,
116                                      const cef_string_t*,
117                                      int);
118 typedef void (*cef_load_crlsets_file_ptr)(const cef_string_t*);
119 typedef int (*cef_is_rtl_ptr)();
120 typedef int (*cef_add_cross_origin_whitelist_entry_ptr)(const cef_string_t*,
121                                                         const cef_string_t*,
122                                                         const cef_string_t*,
123                                                         int);
124 typedef int (*cef_remove_cross_origin_whitelist_entry_ptr)(const cef_string_t*,
125                                                            const cef_string_t*,
126                                                            const cef_string_t*,
127                                                            int);
128 typedef int (*cef_clear_cross_origin_whitelist_ptr)();
129 typedef int (*cef_parse_url_ptr)(const cef_string_t*, struct _cef_urlparts_t*);
130 typedef int (*cef_create_url_ptr)(const struct _cef_urlparts_t*, cef_string_t*);
131 typedef cef_string_userfree_t (*cef_format_url_for_security_display_ptr)(
132     const cef_string_t*);
133 typedef cef_string_userfree_t (*cef_get_mime_type_ptr)(const cef_string_t*);
134 typedef void (*cef_get_extensions_for_mime_type_ptr)(const cef_string_t*,
135                                                      cef_string_list_t);
136 typedef cef_string_userfree_t (*cef_base64encode_ptr)(const void*, size_t);
137 typedef struct _cef_binary_value_t* (*cef_base64decode_ptr)(
138     const cef_string_t*);
139 typedef cef_string_userfree_t (*cef_uriencode_ptr)(const cef_string_t*, int);
140 typedef cef_string_userfree_t (*cef_uridecode_ptr)(const cef_string_t*,
141                                                    int,
142                                                    cef_uri_unescape_rule_t);
143 typedef struct _cef_value_t* (*cef_parse_json_ptr)(const cef_string_t*,
144                                                    cef_json_parser_options_t);
145 typedef struct _cef_value_t* (
146     *cef_parse_json_buffer_ptr)(const void*, size_t, cef_json_parser_options_t);
147 typedef struct _cef_value_t* (*cef_parse_jsonand_return_error_ptr)(
148     const cef_string_t*,
149     cef_json_parser_options_t,
150     cef_string_t*);
151 typedef cef_string_userfree_t (*cef_write_json_ptr)(struct _cef_value_t*,
152                                                     cef_json_writer_options_t);
153 typedef int (*cef_get_path_ptr)(cef_path_key_t, cef_string_t*);
154 typedef int (*cef_launch_process_ptr)(struct _cef_command_line_t*);
155 typedef int (*cef_register_scheme_handler_factory_ptr)(
156     const cef_string_t*,
157     const cef_string_t*,
158     struct _cef_scheme_handler_factory_t*);
159 typedef int (*cef_clear_scheme_handler_factories_ptr)();
160 typedef int (*cef_is_cert_status_error_ptr)(cef_cert_status_t);
161 typedef int (*cef_currently_on_ptr)(cef_thread_id_t);
162 typedef int (*cef_post_task_ptr)(cef_thread_id_t, struct _cef_task_t*);
163 typedef int (*cef_post_delayed_task_ptr)(cef_thread_id_t,
164                                          struct _cef_task_t*,
165                                          int64);
166 typedef int (*cef_begin_tracing_ptr)(const cef_string_t*,
167                                      struct _cef_completion_callback_t*);
168 typedef int (*cef_end_tracing_ptr)(const cef_string_t*,
169                                    struct _cef_end_tracing_callback_t*);
170 typedef int64 (*cef_now_from_system_trace_time_ptr)();
171 typedef int (*cef_register_extension_ptr)(const cef_string_t*,
172                                           const cef_string_t*,
173                                           struct _cef_v8handler_t*);
174 typedef void (*cef_visit_web_plugin_info_ptr)(
175     struct _cef_web_plugin_info_visitor_t*);
176 typedef void (*cef_refresh_web_plugins_ptr)();
177 typedef void (*cef_unregister_internal_web_plugin_ptr)(const cef_string_t*);
178 typedef void (*cef_register_web_plugin_crash_ptr)(const cef_string_t*);
179 typedef void (*cef_is_web_plugin_unstable_ptr)(
180     const cef_string_t*,
181     struct _cef_web_plugin_unstable_callback_t*);
182 typedef void (*cef_execute_java_script_with_user_gesture_for_tests_ptr)(
183     struct _cef_frame_t*,
184     const cef_string_t*);
185 typedef int (*cef_browser_host_create_browser_ptr)(
186     const struct _cef_window_info_t*,
187     struct _cef_client_t*,
188     const cef_string_t*,
189     const struct _cef_browser_settings_t*,
190     struct _cef_dictionary_value_t*,
191     struct _cef_request_context_t*);
192 typedef struct _cef_browser_t* (*cef_browser_host_create_browser_sync_ptr)(
193     const struct _cef_window_info_t*,
194     struct _cef_client_t*,
195     const cef_string_t*,
196     const struct _cef_browser_settings_t*,
197     struct _cef_dictionary_value_t*,
198     struct _cef_request_context_t*);
199 typedef struct _cef_command_line_t* (*cef_command_line_create_ptr)();
200 typedef struct _cef_command_line_t* (*cef_command_line_get_global_ptr)();
201 typedef struct _cef_cookie_manager_t* (
202     *cef_cookie_manager_get_global_manager_ptr)(
203     struct _cef_completion_callback_t*);
204 typedef struct _cef_drag_data_t* (*cef_drag_data_create_ptr)();
205 typedef struct _cef_image_t* (*cef_image_create_ptr)();
206 typedef struct _cef_media_router_t* (*cef_media_router_get_global_ptr)(
207     struct _cef_completion_callback_t*);
208 typedef struct _cef_menu_model_t* (*cef_menu_model_create_ptr)(
209     struct _cef_menu_model_delegate_t*);
210 typedef struct _cef_print_settings_t* (*cef_print_settings_create_ptr)();
211 typedef struct _cef_process_message_t* (*cef_process_message_create_ptr)(
212     const cef_string_t*);
213 typedef struct _cef_request_t* (*cef_request_create_ptr)();
214 typedef struct _cef_post_data_t* (*cef_post_data_create_ptr)();
215 typedef struct _cef_post_data_element_t* (*cef_post_data_element_create_ptr)();
216 typedef struct _cef_request_context_t* (
217     *cef_request_context_get_global_context_ptr)();
218 typedef struct _cef_request_context_t* (
219     *cef_request_context_create_context_ptr)(
220     const struct _cef_request_context_settings_t*,
221     struct _cef_request_context_handler_t*);
222 typedef struct _cef_request_context_t* (*cef_create_context_shared_ptr)(
223     struct _cef_request_context_t*,
224     struct _cef_request_context_handler_t*);
225 typedef struct _cef_resource_bundle_t* (*cef_resource_bundle_get_global_ptr)();
226 typedef struct _cef_response_t* (*cef_response_create_ptr)();
227 typedef void (*cef_server_create_ptr)(const cef_string_t*,
228                                       uint16,
229                                       int,
230                                       struct _cef_server_handler_t*);
231 typedef struct _cef_stream_reader_t* (*cef_stream_reader_create_for_file_ptr)(
232     const cef_string_t*);
233 typedef struct _cef_stream_reader_t* (
234     *cef_stream_reader_create_for_data_ptr)(void*, size_t);
235 typedef struct _cef_stream_reader_t* (
236     *cef_stream_reader_create_for_handler_ptr)(struct _cef_read_handler_t*);
237 typedef struct _cef_stream_writer_t* (*cef_stream_writer_create_for_file_ptr)(
238     const cef_string_t*);
239 typedef struct _cef_stream_writer_t* (
240     *cef_stream_writer_create_for_handler_ptr)(struct _cef_write_handler_t*);
241 typedef struct _cef_task_runner_t* (
242     *cef_task_runner_get_for_current_thread_ptr)();
243 typedef struct _cef_task_runner_t* (*cef_task_runner_get_for_thread_ptr)(
244     cef_thread_id_t);
245 typedef struct _cef_thread_t* (*cef_thread_create_ptr)(const cef_string_t*,
246                                                        cef_thread_priority_t,
247                                                        cef_message_loop_type_t,
248                                                        int,
249                                                        cef_com_init_mode_t);
250 typedef struct _cef_urlrequest_t* (*cef_urlrequest_create_ptr)(
251     struct _cef_request_t*,
252     struct _cef_urlrequest_client_t*,
253     struct _cef_request_context_t*);
254 typedef struct _cef_v8context_t* (*cef_v8context_get_current_context_ptr)();
255 typedef struct _cef_v8context_t* (*cef_v8context_get_entered_context_ptr)();
256 typedef int (*cef_v8context_in_context_ptr)();
257 typedef struct _cef_v8value_t* (*cef_v8value_create_undefined_ptr)();
258 typedef struct _cef_v8value_t* (*cef_v8value_create_null_ptr)();
259 typedef struct _cef_v8value_t* (*cef_v8value_create_bool_ptr)(int);
260 typedef struct _cef_v8value_t* (*cef_v8value_create_int_ptr)(int32);
261 typedef struct _cef_v8value_t* (*cef_v8value_create_uint_ptr)(uint32);
262 typedef struct _cef_v8value_t* (*cef_v8value_create_double_ptr)(double);
263 typedef struct _cef_v8value_t* (*cef_v8value_create_date_ptr)(
264     const cef_time_t*);
265 typedef struct _cef_v8value_t* (*cef_v8value_create_string_ptr)(
266     const cef_string_t*);
267 typedef struct _cef_v8value_t* (*cef_v8value_create_object_ptr)(
268     struct _cef_v8accessor_t*,
269     struct _cef_v8interceptor_t*);
270 typedef struct _cef_v8value_t* (*cef_v8value_create_array_ptr)(int);
271 typedef struct _cef_v8value_t* (*cef_v8value_create_array_buffer_ptr)(
272     void*,
273     size_t,
274     struct _cef_v8array_buffer_release_callback_t*);
275 typedef struct _cef_v8value_t* (*cef_v8value_create_function_ptr)(
276     const cef_string_t*,
277     struct _cef_v8handler_t*);
278 typedef struct _cef_v8stack_trace_t* (*cef_v8stack_trace_get_current_ptr)(int);
279 typedef struct _cef_value_t* (*cef_value_create_ptr)();
280 typedef struct _cef_binary_value_t* (*cef_binary_value_create_ptr)(const void*,
281                                                                    size_t);
282 typedef struct _cef_dictionary_value_t* (*cef_dictionary_value_create_ptr)();
283 typedef struct _cef_list_value_t* (*cef_list_value_create_ptr)();
284 typedef struct _cef_waitable_event_t* (*cef_waitable_event_create_ptr)(int,
285                                                                        int);
286 typedef struct _cef_xml_reader_t* (*cef_xml_reader_create_ptr)(
287     struct _cef_stream_reader_t*,
288     cef_xml_encoding_type_t,
289     const cef_string_t*);
290 typedef struct _cef_zip_reader_t* (*cef_zip_reader_create_ptr)(
291     struct _cef_stream_reader_t*);
292 typedef struct _cef_translator_test_t* (*cef_translator_test_create_ptr)();
293 typedef struct _cef_translator_test_ref_ptr_library_t* (
294     *cef_translator_test_ref_ptr_library_create_ptr)(int);
295 typedef struct _cef_translator_test_ref_ptr_library_child_t* (
296     *cef_translator_test_ref_ptr_library_child_create_ptr)(int, int);
297 typedef struct _cef_translator_test_ref_ptr_library_child_child_t* (
298     *cef_translator_test_ref_ptr_library_child_child_create_ptr)(int, int, int);
299 typedef struct _cef_translator_test_scoped_library_t* (
300     *cef_translator_test_scoped_library_create_ptr)(int);
301 typedef struct _cef_translator_test_scoped_library_child_t* (
302     *cef_translator_test_scoped_library_child_create_ptr)(int, int);
303 typedef struct _cef_translator_test_scoped_library_child_child_t* (
304     *cef_translator_test_scoped_library_child_child_create_ptr)(int, int, int);
305 typedef struct _cef_browser_view_t* (*cef_browser_view_create_ptr)(
306     struct _cef_client_t*,
307     const cef_string_t*,
308     const struct _cef_browser_settings_t*,
309     struct _cef_dictionary_value_t*,
310     struct _cef_request_context_t*,
311     struct _cef_browser_view_delegate_t*);
312 typedef struct _cef_browser_view_t* (*cef_browser_view_get_for_browser_ptr)(
313     struct _cef_browser_t*);
314 typedef struct _cef_display_t* (*cef_display_get_primary_ptr)();
315 typedef struct _cef_display_t* (
316     *cef_display_get_nearest_point_ptr)(const cef_point_t*, int);
317 typedef struct _cef_display_t* (
318     *cef_display_get_matching_bounds_ptr)(const cef_rect_t*, int);
319 typedef size_t (*cef_display_get_count_ptr)();
320 typedef void (*cef_display_get_alls_ptr)(size_t*, struct _cef_display_t**);
321 typedef struct _cef_label_button_t* (*cef_label_button_create_ptr)(
322     struct _cef_button_delegate_t*,
323     const cef_string_t*);
324 typedef struct _cef_menu_button_t* (*cef_menu_button_create_ptr)(
325     struct _cef_menu_button_delegate_t*,
326     const cef_string_t*);
327 typedef struct _cef_panel_t* (*cef_panel_create_ptr)(
328     struct _cef_panel_delegate_t*);
329 typedef struct _cef_scroll_view_t* (*cef_scroll_view_create_ptr)(
330     struct _cef_view_delegate_t*);
331 typedef struct _cef_textfield_t* (*cef_textfield_create_ptr)(
332     struct _cef_textfield_delegate_t*);
333 typedef struct _cef_window_t* (*cef_window_create_top_level_ptr)(
334     struct _cef_window_delegate_t*);
335 typedef const char* (*cef_api_hash_ptr)(int);
336 typedef int (*cef_version_info_ptr)(int);
337 typedef int (*cef_get_min_log_level_ptr)();
338 typedef int (*cef_get_vlog_level_ptr)(const char*, size_t);
339 typedef void (*cef_log_ptr)(const char*, int, int, const char*);
340 typedef cef_string_list_t (*cef_string_list_alloc_ptr)();
341 typedef size_t (*cef_string_list_size_ptr)(cef_string_list_t);
342 typedef int (*cef_string_list_value_ptr)(cef_string_list_t,
343                                          size_t,
344                                          cef_string_t*);
345 typedef void (*cef_string_list_append_ptr)(cef_string_list_t,
346                                            const cef_string_t*);
347 typedef void (*cef_string_list_clear_ptr)(cef_string_list_t);
348 typedef void (*cef_string_list_free_ptr)(cef_string_list_t);
349 typedef cef_string_list_t (*cef_string_list_copy_ptr)(cef_string_list_t);
350 typedef cef_string_map_t (*cef_string_map_alloc_ptr)();
351 typedef size_t (*cef_string_map_size_ptr)(cef_string_map_t);
352 typedef int (*cef_string_map_find_ptr)(cef_string_map_t,
353                                        const cef_string_t*,
354                                        cef_string_t*);
355 typedef int (*cef_string_map_key_ptr)(cef_string_map_t, size_t, cef_string_t*);
356 typedef int (*cef_string_map_value_ptr)(cef_string_map_t,
357                                         size_t,
358                                         cef_string_t*);
359 typedef int (*cef_string_map_append_ptr)(cef_string_map_t,
360                                          const cef_string_t*,
361                                          const cef_string_t*);
362 typedef void (*cef_string_map_clear_ptr)(cef_string_map_t);
363 typedef void (*cef_string_map_free_ptr)(cef_string_map_t);
364 typedef cef_string_multimap_t (*cef_string_multimap_alloc_ptr)();
365 typedef size_t (*cef_string_multimap_size_ptr)(cef_string_multimap_t);
366 typedef size_t (*cef_string_multimap_find_count_ptr)(cef_string_multimap_t,
367                                                      const cef_string_t*);
368 typedef int (*cef_string_multimap_enumerate_ptr)(cef_string_multimap_t,
369                                                  const cef_string_t*,
370                                                  size_t,
371                                                  cef_string_t*);
372 typedef int (*cef_string_multimap_key_ptr)(cef_string_multimap_t,
373                                            size_t,
374                                            cef_string_t*);
375 typedef int (*cef_string_multimap_value_ptr)(cef_string_multimap_t,
376                                              size_t,
377                                              cef_string_t*);
378 typedef int (*cef_string_multimap_append_ptr)(cef_string_multimap_t,
379                                               const cef_string_t*,
380                                               const cef_string_t*);
381 typedef void (*cef_string_multimap_clear_ptr)(cef_string_multimap_t);
382 typedef void (*cef_string_multimap_free_ptr)(cef_string_multimap_t);
383 typedef int (*cef_string_wide_set_ptr)(const wchar_t*,
384                                        size_t,
385                                        cef_string_wide_t*,
386                                        int);
387 typedef int (*cef_string_utf8_set_ptr)(const char*,
388                                        size_t,
389                                        cef_string_utf8_t*,
390                                        int);
391 typedef int (*cef_string_utf16_set_ptr)(const char16*,
392                                         size_t,
393                                         cef_string_utf16_t*,
394                                         int);
395 typedef void (*cef_string_wide_clear_ptr)(cef_string_wide_t*);
396 typedef void (*cef_string_utf8_clear_ptr)(cef_string_utf8_t*);
397 typedef void (*cef_string_utf16_clear_ptr)(cef_string_utf16_t*);
398 typedef int (*cef_string_wide_cmp_ptr)(const cef_string_wide_t*,
399                                        const cef_string_wide_t*);
400 typedef int (*cef_string_utf8_cmp_ptr)(const cef_string_utf8_t*,
401                                        const cef_string_utf8_t*);
402 typedef int (*cef_string_utf16_cmp_ptr)(const cef_string_utf16_t*,
403                                         const cef_string_utf16_t*);
404 typedef int (*cef_string_wide_to_utf8_ptr)(const wchar_t*,
405                                            size_t,
406                                            cef_string_utf8_t*);
407 typedef int (*cef_string_utf8_to_wide_ptr)(const char*,
408                                            size_t,
409                                            cef_string_wide_t*);
410 typedef int (*cef_string_wide_to_utf16_ptr)(const wchar_t*,
411                                             size_t,
412                                             cef_string_utf16_t*);
413 typedef int (*cef_string_utf16_to_wide_ptr)(const char16*,
414                                             size_t,
415                                             cef_string_wide_t*);
416 typedef int (*cef_string_utf8_to_utf16_ptr)(const char*,
417                                             size_t,
418                                             cef_string_utf16_t*);
419 typedef int (*cef_string_utf16_to_utf8_ptr)(const char16*,
420                                             size_t,
421                                             cef_string_utf8_t*);
422 typedef int (*cef_string_ascii_to_wide_ptr)(const char*,
423                                             size_t,
424                                             cef_string_wide_t*);
425 typedef int (*cef_string_ascii_to_utf16_ptr)(const char*,
426                                              size_t,
427                                              cef_string_utf16_t*);
428 typedef cef_string_userfree_wide_t (*cef_string_userfree_wide_alloc_ptr)();
429 typedef cef_string_userfree_utf8_t (*cef_string_userfree_utf8_alloc_ptr)();
430 typedef cef_string_userfree_utf16_t (*cef_string_userfree_utf16_alloc_ptr)();
431 typedef void (*cef_string_userfree_wide_free_ptr)(cef_string_userfree_wide_t);
432 typedef void (*cef_string_userfree_utf8_free_ptr)(cef_string_userfree_utf8_t);
433 typedef void (*cef_string_userfree_utf16_free_ptr)(cef_string_userfree_utf16_t);
434 typedef int (*cef_string_utf16_to_lower_ptr)(const char16*,
435                                              size_t,
436                                              cef_string_utf16_t*);
437 typedef int (*cef_string_utf16_to_upper_ptr)(const char16*,
438                                              size_t,
439                                              cef_string_utf16_t*);
440 typedef cef_platform_thread_id_t (*cef_get_current_platform_thread_id_ptr)();
441 typedef cef_platform_thread_handle_t (
442     *cef_get_current_platform_thread_handle_ptr)();
443 typedef int (*cef_time_to_timet_ptr)(const cef_time_t*, time_t*);
444 typedef int (*cef_time_from_timet_ptr)(time_t, cef_time_t*);
445 typedef int (*cef_time_to_doublet_ptr)(const cef_time_t*, double*);
446 typedef int (*cef_time_from_doublet_ptr)(double, cef_time_t*);
447 typedef int (*cef_time_now_ptr)(cef_time_t*);
448 typedef int (*cef_time_delta_ptr)(const cef_time_t*,
449                                   const cef_time_t*,
450                                   long long*);
451 typedef void (*cef_trace_event_instant_ptr)(const char*,
452                                             const char*,
453                                             const char*,
454                                             uint64,
455                                             const char*,
456                                             uint64,
457                                             int);
458 typedef void (*cef_trace_event_begin_ptr)(const char*,
459                                           const char*,
460                                           const char*,
461                                           uint64,
462                                           const char*,
463                                           uint64,
464                                           int);
465 typedef void (*cef_trace_event_end_ptr)(const char*,
466                                         const char*,
467                                         const char*,
468                                         uint64,
469                                         const char*,
470                                         uint64,
471                                         int);
472 typedef void (*cef_trace_counter_ptr)(const char*,
473                                       const char*,
474                                       const char*,
475                                       uint64,
476                                       const char*,
477                                       uint64,
478                                       int);
479 typedef void (*cef_trace_counter_id_ptr)(const char*,
480                                          const char*,
481                                          uint64,
482                                          const char*,
483                                          uint64,
484                                          const char*,
485                                          uint64,
486                                          int);
487 typedef void (*cef_trace_event_async_begin_ptr)(const char*,
488                                                 const char*,
489                                                 uint64,
490                                                 const char*,
491                                                 uint64,
492                                                 const char*,
493                                                 uint64,
494                                                 int);
495 typedef void (*cef_trace_event_async_step_into_ptr)(const char*,
496                                                     const char*,
497                                                     uint64,
498                                                     uint64,
499                                                     const char*,
500                                                     uint64,
501                                                     int);
502 typedef void (*cef_trace_event_async_step_past_ptr)(const char*,
503                                                     const char*,
504                                                     uint64,
505                                                     uint64,
506                                                     const char*,
507                                                     uint64,
508                                                     int);
509 typedef void (*cef_trace_event_async_end_ptr)(const char*,
510                                               const char*,
511                                               uint64,
512                                               const char*,
513                                               uint64,
514                                               const char*,
515                                               uint64,
516                                               int);
517 
518 struct libcef_pointers {
519   cef_execute_process_ptr cef_execute_process;
520   cef_initialize_ptr cef_initialize;
521   cef_shutdown_ptr cef_shutdown;
522   cef_do_message_loop_work_ptr cef_do_message_loop_work;
523   cef_run_message_loop_ptr cef_run_message_loop;
524   cef_quit_message_loop_ptr cef_quit_message_loop;
525   cef_set_osmodal_loop_ptr cef_set_osmodal_loop;
526   cef_enable_highdpi_support_ptr cef_enable_highdpi_support;
527   cef_crash_reporting_enabled_ptr cef_crash_reporting_enabled;
528   cef_set_crash_key_value_ptr cef_set_crash_key_value;
529   cef_create_directory_ptr cef_create_directory;
530   cef_get_temp_directory_ptr cef_get_temp_directory;
531   cef_create_new_temp_directory_ptr cef_create_new_temp_directory;
532   cef_create_temp_directory_in_directory_ptr
533       cef_create_temp_directory_in_directory;
534   cef_directory_exists_ptr cef_directory_exists;
535   cef_delete_file_ptr cef_delete_file;
536   cef_zip_directory_ptr cef_zip_directory;
537   cef_load_crlsets_file_ptr cef_load_crlsets_file;
538   cef_is_rtl_ptr cef_is_rtl;
539   cef_add_cross_origin_whitelist_entry_ptr cef_add_cross_origin_whitelist_entry;
540   cef_remove_cross_origin_whitelist_entry_ptr
541       cef_remove_cross_origin_whitelist_entry;
542   cef_clear_cross_origin_whitelist_ptr cef_clear_cross_origin_whitelist;
543   cef_parse_url_ptr cef_parse_url;
544   cef_create_url_ptr cef_create_url;
545   cef_format_url_for_security_display_ptr cef_format_url_for_security_display;
546   cef_get_mime_type_ptr cef_get_mime_type;
547   cef_get_extensions_for_mime_type_ptr cef_get_extensions_for_mime_type;
548   cef_base64encode_ptr cef_base64encode;
549   cef_base64decode_ptr cef_base64decode;
550   cef_uriencode_ptr cef_uriencode;
551   cef_uridecode_ptr cef_uridecode;
552   cef_parse_json_ptr cef_parse_json;
553   cef_parse_json_buffer_ptr cef_parse_json_buffer;
554   cef_parse_jsonand_return_error_ptr cef_parse_jsonand_return_error;
555   cef_write_json_ptr cef_write_json;
556   cef_get_path_ptr cef_get_path;
557   cef_launch_process_ptr cef_launch_process;
558   cef_register_scheme_handler_factory_ptr cef_register_scheme_handler_factory;
559   cef_clear_scheme_handler_factories_ptr cef_clear_scheme_handler_factories;
560   cef_is_cert_status_error_ptr cef_is_cert_status_error;
561   cef_currently_on_ptr cef_currently_on;
562   cef_post_task_ptr cef_post_task;
563   cef_post_delayed_task_ptr cef_post_delayed_task;
564   cef_begin_tracing_ptr cef_begin_tracing;
565   cef_end_tracing_ptr cef_end_tracing;
566   cef_now_from_system_trace_time_ptr cef_now_from_system_trace_time;
567   cef_register_extension_ptr cef_register_extension;
568   cef_visit_web_plugin_info_ptr cef_visit_web_plugin_info;
569   cef_refresh_web_plugins_ptr cef_refresh_web_plugins;
570   cef_unregister_internal_web_plugin_ptr cef_unregister_internal_web_plugin;
571   cef_register_web_plugin_crash_ptr cef_register_web_plugin_crash;
572   cef_is_web_plugin_unstable_ptr cef_is_web_plugin_unstable;
573   cef_execute_java_script_with_user_gesture_for_tests_ptr
574       cef_execute_java_script_with_user_gesture_for_tests;
575   cef_browser_host_create_browser_ptr cef_browser_host_create_browser;
576   cef_browser_host_create_browser_sync_ptr cef_browser_host_create_browser_sync;
577   cef_command_line_create_ptr cef_command_line_create;
578   cef_command_line_get_global_ptr cef_command_line_get_global;
579   cef_cookie_manager_get_global_manager_ptr
580       cef_cookie_manager_get_global_manager;
581   cef_drag_data_create_ptr cef_drag_data_create;
582   cef_image_create_ptr cef_image_create;
583   cef_media_router_get_global_ptr cef_media_router_get_global;
584   cef_menu_model_create_ptr cef_menu_model_create;
585   cef_print_settings_create_ptr cef_print_settings_create;
586   cef_process_message_create_ptr cef_process_message_create;
587   cef_request_create_ptr cef_request_create;
588   cef_post_data_create_ptr cef_post_data_create;
589   cef_post_data_element_create_ptr cef_post_data_element_create;
590   cef_request_context_get_global_context_ptr
591       cef_request_context_get_global_context;
592   cef_request_context_create_context_ptr cef_request_context_create_context;
593   cef_create_context_shared_ptr cef_create_context_shared;
594   cef_resource_bundle_get_global_ptr cef_resource_bundle_get_global;
595   cef_response_create_ptr cef_response_create;
596   cef_server_create_ptr cef_server_create;
597   cef_stream_reader_create_for_file_ptr cef_stream_reader_create_for_file;
598   cef_stream_reader_create_for_data_ptr cef_stream_reader_create_for_data;
599   cef_stream_reader_create_for_handler_ptr cef_stream_reader_create_for_handler;
600   cef_stream_writer_create_for_file_ptr cef_stream_writer_create_for_file;
601   cef_stream_writer_create_for_handler_ptr cef_stream_writer_create_for_handler;
602   cef_task_runner_get_for_current_thread_ptr
603       cef_task_runner_get_for_current_thread;
604   cef_task_runner_get_for_thread_ptr cef_task_runner_get_for_thread;
605   cef_thread_create_ptr cef_thread_create;
606   cef_urlrequest_create_ptr cef_urlrequest_create;
607   cef_v8context_get_current_context_ptr cef_v8context_get_current_context;
608   cef_v8context_get_entered_context_ptr cef_v8context_get_entered_context;
609   cef_v8context_in_context_ptr cef_v8context_in_context;
610   cef_v8value_create_undefined_ptr cef_v8value_create_undefined;
611   cef_v8value_create_null_ptr cef_v8value_create_null;
612   cef_v8value_create_bool_ptr cef_v8value_create_bool;
613   cef_v8value_create_int_ptr cef_v8value_create_int;
614   cef_v8value_create_uint_ptr cef_v8value_create_uint;
615   cef_v8value_create_double_ptr cef_v8value_create_double;
616   cef_v8value_create_date_ptr cef_v8value_create_date;
617   cef_v8value_create_string_ptr cef_v8value_create_string;
618   cef_v8value_create_object_ptr cef_v8value_create_object;
619   cef_v8value_create_array_ptr cef_v8value_create_array;
620   cef_v8value_create_array_buffer_ptr cef_v8value_create_array_buffer;
621   cef_v8value_create_function_ptr cef_v8value_create_function;
622   cef_v8stack_trace_get_current_ptr cef_v8stack_trace_get_current;
623   cef_value_create_ptr cef_value_create;
624   cef_binary_value_create_ptr cef_binary_value_create;
625   cef_dictionary_value_create_ptr cef_dictionary_value_create;
626   cef_list_value_create_ptr cef_list_value_create;
627   cef_waitable_event_create_ptr cef_waitable_event_create;
628   cef_xml_reader_create_ptr cef_xml_reader_create;
629   cef_zip_reader_create_ptr cef_zip_reader_create;
630   cef_translator_test_create_ptr cef_translator_test_create;
631   cef_translator_test_ref_ptr_library_create_ptr
632       cef_translator_test_ref_ptr_library_create;
633   cef_translator_test_ref_ptr_library_child_create_ptr
634       cef_translator_test_ref_ptr_library_child_create;
635   cef_translator_test_ref_ptr_library_child_child_create_ptr
636       cef_translator_test_ref_ptr_library_child_child_create;
637   cef_translator_test_scoped_library_create_ptr
638       cef_translator_test_scoped_library_create;
639   cef_translator_test_scoped_library_child_create_ptr
640       cef_translator_test_scoped_library_child_create;
641   cef_translator_test_scoped_library_child_child_create_ptr
642       cef_translator_test_scoped_library_child_child_create;
643   cef_browser_view_create_ptr cef_browser_view_create;
644   cef_browser_view_get_for_browser_ptr cef_browser_view_get_for_browser;
645   cef_display_get_primary_ptr cef_display_get_primary;
646   cef_display_get_nearest_point_ptr cef_display_get_nearest_point;
647   cef_display_get_matching_bounds_ptr cef_display_get_matching_bounds;
648   cef_display_get_count_ptr cef_display_get_count;
649   cef_display_get_alls_ptr cef_display_get_alls;
650   cef_label_button_create_ptr cef_label_button_create;
651   cef_menu_button_create_ptr cef_menu_button_create;
652   cef_panel_create_ptr cef_panel_create;
653   cef_scroll_view_create_ptr cef_scroll_view_create;
654   cef_textfield_create_ptr cef_textfield_create;
655   cef_window_create_top_level_ptr cef_window_create_top_level;
656   cef_api_hash_ptr cef_api_hash;
657   cef_version_info_ptr cef_version_info;
658   cef_get_min_log_level_ptr cef_get_min_log_level;
659   cef_get_vlog_level_ptr cef_get_vlog_level;
660   cef_log_ptr cef_log;
661   cef_string_list_alloc_ptr cef_string_list_alloc;
662   cef_string_list_size_ptr cef_string_list_size;
663   cef_string_list_value_ptr cef_string_list_value;
664   cef_string_list_append_ptr cef_string_list_append;
665   cef_string_list_clear_ptr cef_string_list_clear;
666   cef_string_list_free_ptr cef_string_list_free;
667   cef_string_list_copy_ptr cef_string_list_copy;
668   cef_string_map_alloc_ptr cef_string_map_alloc;
669   cef_string_map_size_ptr cef_string_map_size;
670   cef_string_map_find_ptr cef_string_map_find;
671   cef_string_map_key_ptr cef_string_map_key;
672   cef_string_map_value_ptr cef_string_map_value;
673   cef_string_map_append_ptr cef_string_map_append;
674   cef_string_map_clear_ptr cef_string_map_clear;
675   cef_string_map_free_ptr cef_string_map_free;
676   cef_string_multimap_alloc_ptr cef_string_multimap_alloc;
677   cef_string_multimap_size_ptr cef_string_multimap_size;
678   cef_string_multimap_find_count_ptr cef_string_multimap_find_count;
679   cef_string_multimap_enumerate_ptr cef_string_multimap_enumerate;
680   cef_string_multimap_key_ptr cef_string_multimap_key;
681   cef_string_multimap_value_ptr cef_string_multimap_value;
682   cef_string_multimap_append_ptr cef_string_multimap_append;
683   cef_string_multimap_clear_ptr cef_string_multimap_clear;
684   cef_string_multimap_free_ptr cef_string_multimap_free;
685   cef_string_wide_set_ptr cef_string_wide_set;
686   cef_string_utf8_set_ptr cef_string_utf8_set;
687   cef_string_utf16_set_ptr cef_string_utf16_set;
688   cef_string_wide_clear_ptr cef_string_wide_clear;
689   cef_string_utf8_clear_ptr cef_string_utf8_clear;
690   cef_string_utf16_clear_ptr cef_string_utf16_clear;
691   cef_string_wide_cmp_ptr cef_string_wide_cmp;
692   cef_string_utf8_cmp_ptr cef_string_utf8_cmp;
693   cef_string_utf16_cmp_ptr cef_string_utf16_cmp;
694   cef_string_wide_to_utf8_ptr cef_string_wide_to_utf8;
695   cef_string_utf8_to_wide_ptr cef_string_utf8_to_wide;
696   cef_string_wide_to_utf16_ptr cef_string_wide_to_utf16;
697   cef_string_utf16_to_wide_ptr cef_string_utf16_to_wide;
698   cef_string_utf8_to_utf16_ptr cef_string_utf8_to_utf16;
699   cef_string_utf16_to_utf8_ptr cef_string_utf16_to_utf8;
700   cef_string_ascii_to_wide_ptr cef_string_ascii_to_wide;
701   cef_string_ascii_to_utf16_ptr cef_string_ascii_to_utf16;
702   cef_string_userfree_wide_alloc_ptr cef_string_userfree_wide_alloc;
703   cef_string_userfree_utf8_alloc_ptr cef_string_userfree_utf8_alloc;
704   cef_string_userfree_utf16_alloc_ptr cef_string_userfree_utf16_alloc;
705   cef_string_userfree_wide_free_ptr cef_string_userfree_wide_free;
706   cef_string_userfree_utf8_free_ptr cef_string_userfree_utf8_free;
707   cef_string_userfree_utf16_free_ptr cef_string_userfree_utf16_free;
708   cef_string_utf16_to_lower_ptr cef_string_utf16_to_lower;
709   cef_string_utf16_to_upper_ptr cef_string_utf16_to_upper;
710   cef_get_current_platform_thread_id_ptr cef_get_current_platform_thread_id;
711   cef_get_current_platform_thread_handle_ptr
712       cef_get_current_platform_thread_handle;
713   cef_time_to_timet_ptr cef_time_to_timet;
714   cef_time_from_timet_ptr cef_time_from_timet;
715   cef_time_to_doublet_ptr cef_time_to_doublet;
716   cef_time_from_doublet_ptr cef_time_from_doublet;
717   cef_time_now_ptr cef_time_now;
718   cef_time_delta_ptr cef_time_delta;
719   cef_trace_event_instant_ptr cef_trace_event_instant;
720   cef_trace_event_begin_ptr cef_trace_event_begin;
721   cef_trace_event_end_ptr cef_trace_event_end;
722   cef_trace_counter_ptr cef_trace_counter;
723   cef_trace_counter_id_ptr cef_trace_counter_id;
724   cef_trace_event_async_begin_ptr cef_trace_event_async_begin;
725   cef_trace_event_async_step_into_ptr cef_trace_event_async_step_into;
726   cef_trace_event_async_step_past_ptr cef_trace_event_async_step_past;
727   cef_trace_event_async_end_ptr cef_trace_event_async_end;
728 
729 } g_libcef_pointers = {0};
730 
731 #define INIT_ENTRY(name)                                            \
732   g_libcef_pointers.name = (name##_ptr)libcef_get_ptr(path, #name); \
733   if (!g_libcef_pointers.name) {                                    \
734     return 0;                                                       \
735   }
736 
libcef_init_pointers(const char * path)737 int libcef_init_pointers(const char* path) {
738   INIT_ENTRY(cef_execute_process);
739   INIT_ENTRY(cef_initialize);
740   INIT_ENTRY(cef_shutdown);
741   INIT_ENTRY(cef_do_message_loop_work);
742   INIT_ENTRY(cef_run_message_loop);
743   INIT_ENTRY(cef_quit_message_loop);
744   INIT_ENTRY(cef_set_osmodal_loop);
745   INIT_ENTRY(cef_enable_highdpi_support);
746   INIT_ENTRY(cef_crash_reporting_enabled);
747   INIT_ENTRY(cef_set_crash_key_value);
748   INIT_ENTRY(cef_create_directory);
749   INIT_ENTRY(cef_get_temp_directory);
750   INIT_ENTRY(cef_create_new_temp_directory);
751   INIT_ENTRY(cef_create_temp_directory_in_directory);
752   INIT_ENTRY(cef_directory_exists);
753   INIT_ENTRY(cef_delete_file);
754   INIT_ENTRY(cef_zip_directory);
755   INIT_ENTRY(cef_load_crlsets_file);
756   INIT_ENTRY(cef_is_rtl);
757   INIT_ENTRY(cef_add_cross_origin_whitelist_entry);
758   INIT_ENTRY(cef_remove_cross_origin_whitelist_entry);
759   INIT_ENTRY(cef_clear_cross_origin_whitelist);
760   INIT_ENTRY(cef_parse_url);
761   INIT_ENTRY(cef_create_url);
762   INIT_ENTRY(cef_format_url_for_security_display);
763   INIT_ENTRY(cef_get_mime_type);
764   INIT_ENTRY(cef_get_extensions_for_mime_type);
765   INIT_ENTRY(cef_base64encode);
766   INIT_ENTRY(cef_base64decode);
767   INIT_ENTRY(cef_uriencode);
768   INIT_ENTRY(cef_uridecode);
769   INIT_ENTRY(cef_parse_json);
770   INIT_ENTRY(cef_parse_json_buffer);
771   INIT_ENTRY(cef_parse_jsonand_return_error);
772   INIT_ENTRY(cef_write_json);
773   INIT_ENTRY(cef_get_path);
774   INIT_ENTRY(cef_launch_process);
775   INIT_ENTRY(cef_register_scheme_handler_factory);
776   INIT_ENTRY(cef_clear_scheme_handler_factories);
777   INIT_ENTRY(cef_is_cert_status_error);
778   INIT_ENTRY(cef_currently_on);
779   INIT_ENTRY(cef_post_task);
780   INIT_ENTRY(cef_post_delayed_task);
781   INIT_ENTRY(cef_begin_tracing);
782   INIT_ENTRY(cef_end_tracing);
783   INIT_ENTRY(cef_now_from_system_trace_time);
784   INIT_ENTRY(cef_register_extension);
785   INIT_ENTRY(cef_visit_web_plugin_info);
786   INIT_ENTRY(cef_refresh_web_plugins);
787   INIT_ENTRY(cef_unregister_internal_web_plugin);
788   INIT_ENTRY(cef_register_web_plugin_crash);
789   INIT_ENTRY(cef_is_web_plugin_unstable);
790   INIT_ENTRY(cef_execute_java_script_with_user_gesture_for_tests);
791   INIT_ENTRY(cef_browser_host_create_browser);
792   INIT_ENTRY(cef_browser_host_create_browser_sync);
793   INIT_ENTRY(cef_command_line_create);
794   INIT_ENTRY(cef_command_line_get_global);
795   INIT_ENTRY(cef_cookie_manager_get_global_manager);
796   INIT_ENTRY(cef_drag_data_create);
797   INIT_ENTRY(cef_image_create);
798   INIT_ENTRY(cef_media_router_get_global);
799   INIT_ENTRY(cef_menu_model_create);
800   INIT_ENTRY(cef_print_settings_create);
801   INIT_ENTRY(cef_process_message_create);
802   INIT_ENTRY(cef_request_create);
803   INIT_ENTRY(cef_post_data_create);
804   INIT_ENTRY(cef_post_data_element_create);
805   INIT_ENTRY(cef_request_context_get_global_context);
806   INIT_ENTRY(cef_request_context_create_context);
807   INIT_ENTRY(cef_create_context_shared);
808   INIT_ENTRY(cef_resource_bundle_get_global);
809   INIT_ENTRY(cef_response_create);
810   INIT_ENTRY(cef_server_create);
811   INIT_ENTRY(cef_stream_reader_create_for_file);
812   INIT_ENTRY(cef_stream_reader_create_for_data);
813   INIT_ENTRY(cef_stream_reader_create_for_handler);
814   INIT_ENTRY(cef_stream_writer_create_for_file);
815   INIT_ENTRY(cef_stream_writer_create_for_handler);
816   INIT_ENTRY(cef_task_runner_get_for_current_thread);
817   INIT_ENTRY(cef_task_runner_get_for_thread);
818   INIT_ENTRY(cef_thread_create);
819   INIT_ENTRY(cef_urlrequest_create);
820   INIT_ENTRY(cef_v8context_get_current_context);
821   INIT_ENTRY(cef_v8context_get_entered_context);
822   INIT_ENTRY(cef_v8context_in_context);
823   INIT_ENTRY(cef_v8value_create_undefined);
824   INIT_ENTRY(cef_v8value_create_null);
825   INIT_ENTRY(cef_v8value_create_bool);
826   INIT_ENTRY(cef_v8value_create_int);
827   INIT_ENTRY(cef_v8value_create_uint);
828   INIT_ENTRY(cef_v8value_create_double);
829   INIT_ENTRY(cef_v8value_create_date);
830   INIT_ENTRY(cef_v8value_create_string);
831   INIT_ENTRY(cef_v8value_create_object);
832   INIT_ENTRY(cef_v8value_create_array);
833   INIT_ENTRY(cef_v8value_create_array_buffer);
834   INIT_ENTRY(cef_v8value_create_function);
835   INIT_ENTRY(cef_v8stack_trace_get_current);
836   INIT_ENTRY(cef_value_create);
837   INIT_ENTRY(cef_binary_value_create);
838   INIT_ENTRY(cef_dictionary_value_create);
839   INIT_ENTRY(cef_list_value_create);
840   INIT_ENTRY(cef_waitable_event_create);
841   INIT_ENTRY(cef_xml_reader_create);
842   INIT_ENTRY(cef_zip_reader_create);
843   INIT_ENTRY(cef_translator_test_create);
844   INIT_ENTRY(cef_translator_test_ref_ptr_library_create);
845   INIT_ENTRY(cef_translator_test_ref_ptr_library_child_create);
846   INIT_ENTRY(cef_translator_test_ref_ptr_library_child_child_create);
847   INIT_ENTRY(cef_translator_test_scoped_library_create);
848   INIT_ENTRY(cef_translator_test_scoped_library_child_create);
849   INIT_ENTRY(cef_translator_test_scoped_library_child_child_create);
850   INIT_ENTRY(cef_browser_view_create);
851   INIT_ENTRY(cef_browser_view_get_for_browser);
852   INIT_ENTRY(cef_display_get_primary);
853   INIT_ENTRY(cef_display_get_nearest_point);
854   INIT_ENTRY(cef_display_get_matching_bounds);
855   INIT_ENTRY(cef_display_get_count);
856   INIT_ENTRY(cef_display_get_alls);
857   INIT_ENTRY(cef_label_button_create);
858   INIT_ENTRY(cef_menu_button_create);
859   INIT_ENTRY(cef_panel_create);
860   INIT_ENTRY(cef_scroll_view_create);
861   INIT_ENTRY(cef_textfield_create);
862   INIT_ENTRY(cef_window_create_top_level);
863   INIT_ENTRY(cef_api_hash);
864   INIT_ENTRY(cef_version_info);
865   INIT_ENTRY(cef_get_min_log_level);
866   INIT_ENTRY(cef_get_vlog_level);
867   INIT_ENTRY(cef_log);
868   INIT_ENTRY(cef_string_list_alloc);
869   INIT_ENTRY(cef_string_list_size);
870   INIT_ENTRY(cef_string_list_value);
871   INIT_ENTRY(cef_string_list_append);
872   INIT_ENTRY(cef_string_list_clear);
873   INIT_ENTRY(cef_string_list_free);
874   INIT_ENTRY(cef_string_list_copy);
875   INIT_ENTRY(cef_string_map_alloc);
876   INIT_ENTRY(cef_string_map_size);
877   INIT_ENTRY(cef_string_map_find);
878   INIT_ENTRY(cef_string_map_key);
879   INIT_ENTRY(cef_string_map_value);
880   INIT_ENTRY(cef_string_map_append);
881   INIT_ENTRY(cef_string_map_clear);
882   INIT_ENTRY(cef_string_map_free);
883   INIT_ENTRY(cef_string_multimap_alloc);
884   INIT_ENTRY(cef_string_multimap_size);
885   INIT_ENTRY(cef_string_multimap_find_count);
886   INIT_ENTRY(cef_string_multimap_enumerate);
887   INIT_ENTRY(cef_string_multimap_key);
888   INIT_ENTRY(cef_string_multimap_value);
889   INIT_ENTRY(cef_string_multimap_append);
890   INIT_ENTRY(cef_string_multimap_clear);
891   INIT_ENTRY(cef_string_multimap_free);
892   INIT_ENTRY(cef_string_wide_set);
893   INIT_ENTRY(cef_string_utf8_set);
894   INIT_ENTRY(cef_string_utf16_set);
895   INIT_ENTRY(cef_string_wide_clear);
896   INIT_ENTRY(cef_string_utf8_clear);
897   INIT_ENTRY(cef_string_utf16_clear);
898   INIT_ENTRY(cef_string_wide_cmp);
899   INIT_ENTRY(cef_string_utf8_cmp);
900   INIT_ENTRY(cef_string_utf16_cmp);
901   INIT_ENTRY(cef_string_wide_to_utf8);
902   INIT_ENTRY(cef_string_utf8_to_wide);
903   INIT_ENTRY(cef_string_wide_to_utf16);
904   INIT_ENTRY(cef_string_utf16_to_wide);
905   INIT_ENTRY(cef_string_utf8_to_utf16);
906   INIT_ENTRY(cef_string_utf16_to_utf8);
907   INIT_ENTRY(cef_string_ascii_to_wide);
908   INIT_ENTRY(cef_string_ascii_to_utf16);
909   INIT_ENTRY(cef_string_userfree_wide_alloc);
910   INIT_ENTRY(cef_string_userfree_utf8_alloc);
911   INIT_ENTRY(cef_string_userfree_utf16_alloc);
912   INIT_ENTRY(cef_string_userfree_wide_free);
913   INIT_ENTRY(cef_string_userfree_utf8_free);
914   INIT_ENTRY(cef_string_userfree_utf16_free);
915   INIT_ENTRY(cef_string_utf16_to_lower);
916   INIT_ENTRY(cef_string_utf16_to_upper);
917   INIT_ENTRY(cef_get_current_platform_thread_id);
918   INIT_ENTRY(cef_get_current_platform_thread_handle);
919   INIT_ENTRY(cef_time_to_timet);
920   INIT_ENTRY(cef_time_from_timet);
921   INIT_ENTRY(cef_time_to_doublet);
922   INIT_ENTRY(cef_time_from_doublet);
923   INIT_ENTRY(cef_time_now);
924   INIT_ENTRY(cef_time_delta);
925   INIT_ENTRY(cef_trace_event_instant);
926   INIT_ENTRY(cef_trace_event_begin);
927   INIT_ENTRY(cef_trace_event_end);
928   INIT_ENTRY(cef_trace_counter);
929   INIT_ENTRY(cef_trace_counter_id);
930   INIT_ENTRY(cef_trace_event_async_begin);
931   INIT_ENTRY(cef_trace_event_async_step_into);
932   INIT_ENTRY(cef_trace_event_async_step_past);
933   INIT_ENTRY(cef_trace_event_async_end);
934   return 1;
935 }
936 
937 }  // namespace
938 
cef_load_library(const char * path)939 int cef_load_library(const char* path) {
940   if (g_libcef_handle)
941     return 0;
942 
943   g_libcef_handle = dlopen(path, RTLD_LAZY | RTLD_LOCAL | RTLD_FIRST);
944   if (!g_libcef_handle) {
945     fprintf(stderr, "dlopen %s: %s\n", path, dlerror());
946     return 0;
947   }
948 
949   if (!libcef_init_pointers(path)) {
950     cef_unload_library();
951     return 0;
952   }
953 
954   return 1;
955 }
956 
cef_unload_library()957 int cef_unload_library() {
958   int result = 0;
959   if (g_libcef_handle) {
960     result = !dlclose(g_libcef_handle);
961     if (!result) {
962       fprintf(stderr, "dlclose: %s\n", dlerror());
963     }
964     g_libcef_handle = nullptr;
965   }
966   return result;
967 }
968 
969 NO_SANITIZE("cfi-icall")
cef_execute_process(const struct _cef_main_args_t * args,struct _cef_app_t * application,void * windows_sandbox_info)970 int cef_execute_process(const struct _cef_main_args_t* args,
971                         struct _cef_app_t* application,
972                         void* windows_sandbox_info) {
973   return g_libcef_pointers.cef_execute_process(args, application,
974                                                windows_sandbox_info);
975 }
976 
977 NO_SANITIZE("cfi-icall")
cef_initialize(const struct _cef_main_args_t * args,const struct _cef_settings_t * settings,struct _cef_app_t * application,void * windows_sandbox_info)978 int cef_initialize(const struct _cef_main_args_t* args,
979                    const struct _cef_settings_t* settings,
980                    struct _cef_app_t* application,
981                    void* windows_sandbox_info) {
982   return g_libcef_pointers.cef_initialize(args, settings, application,
983                                           windows_sandbox_info);
984 }
985 
cef_shutdown()986 NO_SANITIZE("cfi-icall") void cef_shutdown() {
987   g_libcef_pointers.cef_shutdown();
988 }
989 
cef_do_message_loop_work()990 NO_SANITIZE("cfi-icall") void cef_do_message_loop_work() {
991   g_libcef_pointers.cef_do_message_loop_work();
992 }
993 
cef_run_message_loop()994 NO_SANITIZE("cfi-icall") void cef_run_message_loop() {
995   g_libcef_pointers.cef_run_message_loop();
996 }
997 
cef_quit_message_loop()998 NO_SANITIZE("cfi-icall") void cef_quit_message_loop() {
999   g_libcef_pointers.cef_quit_message_loop();
1000 }
1001 
cef_set_osmodal_loop(int osModalLoop)1002 NO_SANITIZE("cfi-icall") void cef_set_osmodal_loop(int osModalLoop) {
1003   g_libcef_pointers.cef_set_osmodal_loop(osModalLoop);
1004 }
1005 
cef_enable_highdpi_support()1006 NO_SANITIZE("cfi-icall") void cef_enable_highdpi_support() {
1007   g_libcef_pointers.cef_enable_highdpi_support();
1008 }
1009 
cef_crash_reporting_enabled()1010 NO_SANITIZE("cfi-icall") int cef_crash_reporting_enabled() {
1011   return g_libcef_pointers.cef_crash_reporting_enabled();
1012 }
1013 
1014 NO_SANITIZE("cfi-icall")
cef_set_crash_key_value(const cef_string_t * key,const cef_string_t * value)1015 void cef_set_crash_key_value(const cef_string_t* key,
1016                              const cef_string_t* value) {
1017   g_libcef_pointers.cef_set_crash_key_value(key, value);
1018 }
1019 
1020 NO_SANITIZE("cfi-icall")
cef_create_directory(const cef_string_t * full_path)1021 int cef_create_directory(const cef_string_t* full_path) {
1022   return g_libcef_pointers.cef_create_directory(full_path);
1023 }
1024 
cef_get_temp_directory(cef_string_t * temp_dir)1025 NO_SANITIZE("cfi-icall") int cef_get_temp_directory(cef_string_t* temp_dir) {
1026   return g_libcef_pointers.cef_get_temp_directory(temp_dir);
1027 }
1028 
1029 NO_SANITIZE("cfi-icall")
cef_create_new_temp_directory(const cef_string_t * prefix,cef_string_t * new_temp_path)1030 int cef_create_new_temp_directory(const cef_string_t* prefix,
1031                                   cef_string_t* new_temp_path) {
1032   return g_libcef_pointers.cef_create_new_temp_directory(prefix, new_temp_path);
1033 }
1034 
1035 NO_SANITIZE("cfi-icall")
cef_create_temp_directory_in_directory(const cef_string_t * base_dir,const cef_string_t * prefix,cef_string_t * new_dir)1036 int cef_create_temp_directory_in_directory(const cef_string_t* base_dir,
1037                                            const cef_string_t* prefix,
1038                                            cef_string_t* new_dir) {
1039   return g_libcef_pointers.cef_create_temp_directory_in_directory(
1040       base_dir, prefix, new_dir);
1041 }
1042 
cef_directory_exists(const cef_string_t * path)1043 NO_SANITIZE("cfi-icall") int cef_directory_exists(const cef_string_t* path) {
1044   return g_libcef_pointers.cef_directory_exists(path);
1045 }
1046 
1047 NO_SANITIZE("cfi-icall")
cef_delete_file(const cef_string_t * path,int recursive)1048 int cef_delete_file(const cef_string_t* path, int recursive) {
1049   return g_libcef_pointers.cef_delete_file(path, recursive);
1050 }
1051 
1052 NO_SANITIZE("cfi-icall")
cef_zip_directory(const cef_string_t * src_dir,const cef_string_t * dest_file,int include_hidden_files)1053 int cef_zip_directory(const cef_string_t* src_dir,
1054                       const cef_string_t* dest_file,
1055                       int include_hidden_files) {
1056   return g_libcef_pointers.cef_zip_directory(src_dir, dest_file,
1057                                              include_hidden_files);
1058 }
1059 
cef_load_crlsets_file(const cef_string_t * path)1060 NO_SANITIZE("cfi-icall") void cef_load_crlsets_file(const cef_string_t* path) {
1061   g_libcef_pointers.cef_load_crlsets_file(path);
1062 }
1063 
cef_is_rtl()1064 NO_SANITIZE("cfi-icall") int cef_is_rtl() {
1065   return g_libcef_pointers.cef_is_rtl();
1066 }
1067 
1068 NO_SANITIZE("cfi-icall")
cef_add_cross_origin_whitelist_entry(const cef_string_t * source_origin,const cef_string_t * target_protocol,const cef_string_t * target_domain,int allow_target_subdomains)1069 int cef_add_cross_origin_whitelist_entry(const cef_string_t* source_origin,
1070                                          const cef_string_t* target_protocol,
1071                                          const cef_string_t* target_domain,
1072                                          int allow_target_subdomains) {
1073   return g_libcef_pointers.cef_add_cross_origin_whitelist_entry(
1074       source_origin, target_protocol, target_domain, allow_target_subdomains);
1075 }
1076 
1077 NO_SANITIZE("cfi-icall")
cef_remove_cross_origin_whitelist_entry(const cef_string_t * source_origin,const cef_string_t * target_protocol,const cef_string_t * target_domain,int allow_target_subdomains)1078 int cef_remove_cross_origin_whitelist_entry(const cef_string_t* source_origin,
1079                                             const cef_string_t* target_protocol,
1080                                             const cef_string_t* target_domain,
1081                                             int allow_target_subdomains) {
1082   return g_libcef_pointers.cef_remove_cross_origin_whitelist_entry(
1083       source_origin, target_protocol, target_domain, allow_target_subdomains);
1084 }
1085 
cef_clear_cross_origin_whitelist()1086 NO_SANITIZE("cfi-icall") int cef_clear_cross_origin_whitelist() {
1087   return g_libcef_pointers.cef_clear_cross_origin_whitelist();
1088 }
1089 
1090 NO_SANITIZE("cfi-icall")
cef_parse_url(const cef_string_t * url,struct _cef_urlparts_t * parts)1091 int cef_parse_url(const cef_string_t* url, struct _cef_urlparts_t* parts) {
1092   return g_libcef_pointers.cef_parse_url(url, parts);
1093 }
1094 
1095 NO_SANITIZE("cfi-icall")
cef_create_url(const struct _cef_urlparts_t * parts,cef_string_t * url)1096 int cef_create_url(const struct _cef_urlparts_t* parts, cef_string_t* url) {
1097   return g_libcef_pointers.cef_create_url(parts, url);
1098 }
1099 
1100 NO_SANITIZE("cfi-icall")
cef_format_url_for_security_display(const cef_string_t * origin_url)1101 cef_string_userfree_t cef_format_url_for_security_display(
1102     const cef_string_t* origin_url) {
1103   return g_libcef_pointers.cef_format_url_for_security_display(origin_url);
1104 }
1105 
1106 NO_SANITIZE("cfi-icall")
cef_get_mime_type(const cef_string_t * extension)1107 cef_string_userfree_t cef_get_mime_type(const cef_string_t* extension) {
1108   return g_libcef_pointers.cef_get_mime_type(extension);
1109 }
1110 
1111 NO_SANITIZE("cfi-icall")
cef_get_extensions_for_mime_type(const cef_string_t * mime_type,cef_string_list_t extensions)1112 void cef_get_extensions_for_mime_type(const cef_string_t* mime_type,
1113                                       cef_string_list_t extensions) {
1114   g_libcef_pointers.cef_get_extensions_for_mime_type(mime_type, extensions);
1115 }
1116 
1117 NO_SANITIZE("cfi-icall")
cef_base64encode(const void * data,size_t data_size)1118 cef_string_userfree_t cef_base64encode(const void* data, size_t data_size) {
1119   return g_libcef_pointers.cef_base64encode(data, data_size);
1120 }
1121 
1122 NO_SANITIZE("cfi-icall")
cef_base64decode(const cef_string_t * data)1123 struct _cef_binary_value_t* cef_base64decode(const cef_string_t* data) {
1124   return g_libcef_pointers.cef_base64decode(data);
1125 }
1126 
1127 NO_SANITIZE("cfi-icall")
cef_uriencode(const cef_string_t * text,int use_plus)1128 cef_string_userfree_t cef_uriencode(const cef_string_t* text, int use_plus) {
1129   return g_libcef_pointers.cef_uriencode(text, use_plus);
1130 }
1131 
1132 NO_SANITIZE("cfi-icall")
cef_uridecode(const cef_string_t * text,int convert_to_utf8,cef_uri_unescape_rule_t unescape_rule)1133 cef_string_userfree_t cef_uridecode(const cef_string_t* text,
1134                                     int convert_to_utf8,
1135                                     cef_uri_unescape_rule_t unescape_rule) {
1136   return g_libcef_pointers.cef_uridecode(text, convert_to_utf8, unescape_rule);
1137 }
1138 
1139 NO_SANITIZE("cfi-icall")
cef_parse_json(const cef_string_t * json_string,cef_json_parser_options_t options)1140 struct _cef_value_t* cef_parse_json(const cef_string_t* json_string,
1141                                     cef_json_parser_options_t options) {
1142   return g_libcef_pointers.cef_parse_json(json_string, options);
1143 }
1144 
1145 NO_SANITIZE("cfi-icall")
cef_parse_json_buffer(const void * json,size_t json_size,cef_json_parser_options_t options)1146 struct _cef_value_t* cef_parse_json_buffer(const void* json,
1147                                            size_t json_size,
1148                                            cef_json_parser_options_t options) {
1149   return g_libcef_pointers.cef_parse_json_buffer(json, json_size, options);
1150 }
1151 
1152 NO_SANITIZE("cfi-icall")
cef_parse_jsonand_return_error(const cef_string_t * json_string,cef_json_parser_options_t options,cef_string_t * error_msg_out)1153 struct _cef_value_t* cef_parse_jsonand_return_error(
1154     const cef_string_t* json_string,
1155     cef_json_parser_options_t options,
1156     cef_string_t* error_msg_out) {
1157   return g_libcef_pointers.cef_parse_jsonand_return_error(json_string, options,
1158                                                           error_msg_out);
1159 }
1160 
1161 NO_SANITIZE("cfi-icall")
cef_write_json(struct _cef_value_t * node,cef_json_writer_options_t options)1162 cef_string_userfree_t cef_write_json(struct _cef_value_t* node,
1163                                      cef_json_writer_options_t options) {
1164   return g_libcef_pointers.cef_write_json(node, options);
1165 }
1166 
1167 NO_SANITIZE("cfi-icall")
cef_get_path(cef_path_key_t key,cef_string_t * path)1168 int cef_get_path(cef_path_key_t key, cef_string_t* path) {
1169   return g_libcef_pointers.cef_get_path(key, path);
1170 }
1171 
1172 NO_SANITIZE("cfi-icall")
cef_launch_process(struct _cef_command_line_t * command_line)1173 int cef_launch_process(struct _cef_command_line_t* command_line) {
1174   return g_libcef_pointers.cef_launch_process(command_line);
1175 }
1176 
1177 NO_SANITIZE("cfi-icall")
cef_register_scheme_handler_factory(const cef_string_t * scheme_name,const cef_string_t * domain_name,struct _cef_scheme_handler_factory_t * factory)1178 int cef_register_scheme_handler_factory(
1179     const cef_string_t* scheme_name,
1180     const cef_string_t* domain_name,
1181     struct _cef_scheme_handler_factory_t* factory) {
1182   return g_libcef_pointers.cef_register_scheme_handler_factory(
1183       scheme_name, domain_name, factory);
1184 }
1185 
cef_clear_scheme_handler_factories()1186 NO_SANITIZE("cfi-icall") int cef_clear_scheme_handler_factories() {
1187   return g_libcef_pointers.cef_clear_scheme_handler_factories();
1188 }
1189 
1190 NO_SANITIZE("cfi-icall")
cef_is_cert_status_error(cef_cert_status_t status)1191 int cef_is_cert_status_error(cef_cert_status_t status) {
1192   return g_libcef_pointers.cef_is_cert_status_error(status);
1193 }
1194 
cef_currently_on(cef_thread_id_t threadId)1195 NO_SANITIZE("cfi-icall") int cef_currently_on(cef_thread_id_t threadId) {
1196   return g_libcef_pointers.cef_currently_on(threadId);
1197 }
1198 
1199 NO_SANITIZE("cfi-icall")
cef_post_task(cef_thread_id_t threadId,struct _cef_task_t * task)1200 int cef_post_task(cef_thread_id_t threadId, struct _cef_task_t* task) {
1201   return g_libcef_pointers.cef_post_task(threadId, task);
1202 }
1203 
1204 NO_SANITIZE("cfi-icall")
cef_post_delayed_task(cef_thread_id_t threadId,struct _cef_task_t * task,int64 delay_ms)1205 int cef_post_delayed_task(cef_thread_id_t threadId,
1206                           struct _cef_task_t* task,
1207                           int64 delay_ms) {
1208   return g_libcef_pointers.cef_post_delayed_task(threadId, task, delay_ms);
1209 }
1210 
1211 NO_SANITIZE("cfi-icall")
cef_begin_tracing(const cef_string_t * categories,struct _cef_completion_callback_t * callback)1212 int cef_begin_tracing(const cef_string_t* categories,
1213                       struct _cef_completion_callback_t* callback) {
1214   return g_libcef_pointers.cef_begin_tracing(categories, callback);
1215 }
1216 
1217 NO_SANITIZE("cfi-icall")
cef_end_tracing(const cef_string_t * tracing_file,struct _cef_end_tracing_callback_t * callback)1218 int cef_end_tracing(const cef_string_t* tracing_file,
1219                     struct _cef_end_tracing_callback_t* callback) {
1220   return g_libcef_pointers.cef_end_tracing(tracing_file, callback);
1221 }
1222 
cef_now_from_system_trace_time()1223 NO_SANITIZE("cfi-icall") int64 cef_now_from_system_trace_time() {
1224   return g_libcef_pointers.cef_now_from_system_trace_time();
1225 }
1226 
1227 NO_SANITIZE("cfi-icall")
cef_register_extension(const cef_string_t * extension_name,const cef_string_t * javascript_code,struct _cef_v8handler_t * handler)1228 int cef_register_extension(const cef_string_t* extension_name,
1229                            const cef_string_t* javascript_code,
1230                            struct _cef_v8handler_t* handler) {
1231   return g_libcef_pointers.cef_register_extension(extension_name,
1232                                                   javascript_code, handler);
1233 }
1234 
1235 NO_SANITIZE("cfi-icall")
cef_visit_web_plugin_info(struct _cef_web_plugin_info_visitor_t * visitor)1236 void cef_visit_web_plugin_info(struct _cef_web_plugin_info_visitor_t* visitor) {
1237   g_libcef_pointers.cef_visit_web_plugin_info(visitor);
1238 }
1239 
cef_refresh_web_plugins()1240 NO_SANITIZE("cfi-icall") void cef_refresh_web_plugins() {
1241   g_libcef_pointers.cef_refresh_web_plugins();
1242 }
1243 
1244 NO_SANITIZE("cfi-icall")
cef_unregister_internal_web_plugin(const cef_string_t * path)1245 void cef_unregister_internal_web_plugin(const cef_string_t* path) {
1246   g_libcef_pointers.cef_unregister_internal_web_plugin(path);
1247 }
1248 
1249 NO_SANITIZE("cfi-icall")
cef_register_web_plugin_crash(const cef_string_t * path)1250 void cef_register_web_plugin_crash(const cef_string_t* path) {
1251   g_libcef_pointers.cef_register_web_plugin_crash(path);
1252 }
1253 
1254 NO_SANITIZE("cfi-icall")
cef_is_web_plugin_unstable(const cef_string_t * path,struct _cef_web_plugin_unstable_callback_t * callback)1255 void cef_is_web_plugin_unstable(
1256     const cef_string_t* path,
1257     struct _cef_web_plugin_unstable_callback_t* callback) {
1258   g_libcef_pointers.cef_is_web_plugin_unstable(path, callback);
1259 }
1260 
1261 NO_SANITIZE("cfi-icall")
cef_execute_java_script_with_user_gesture_for_tests(struct _cef_frame_t * frame,const cef_string_t * javascript)1262 void cef_execute_java_script_with_user_gesture_for_tests(
1263     struct _cef_frame_t* frame,
1264     const cef_string_t* javascript) {
1265   g_libcef_pointers.cef_execute_java_script_with_user_gesture_for_tests(
1266       frame, javascript);
1267 }
1268 
1269 NO_SANITIZE("cfi-icall")
cef_browser_host_create_browser(const struct _cef_window_info_t * windowInfo,struct _cef_client_t * client,const cef_string_t * url,const struct _cef_browser_settings_t * settings,struct _cef_dictionary_value_t * extra_info,struct _cef_request_context_t * request_context)1270 int cef_browser_host_create_browser(
1271     const struct _cef_window_info_t* windowInfo,
1272     struct _cef_client_t* client,
1273     const cef_string_t* url,
1274     const struct _cef_browser_settings_t* settings,
1275     struct _cef_dictionary_value_t* extra_info,
1276     struct _cef_request_context_t* request_context) {
1277   return g_libcef_pointers.cef_browser_host_create_browser(
1278       windowInfo, client, url, settings, extra_info, request_context);
1279 }
1280 
1281 NO_SANITIZE("cfi-icall")
cef_browser_host_create_browser_sync(const struct _cef_window_info_t * windowInfo,struct _cef_client_t * client,const cef_string_t * url,const struct _cef_browser_settings_t * settings,struct _cef_dictionary_value_t * extra_info,struct _cef_request_context_t * request_context)1282 struct _cef_browser_t* cef_browser_host_create_browser_sync(
1283     const struct _cef_window_info_t* windowInfo,
1284     struct _cef_client_t* client,
1285     const cef_string_t* url,
1286     const struct _cef_browser_settings_t* settings,
1287     struct _cef_dictionary_value_t* extra_info,
1288     struct _cef_request_context_t* request_context) {
1289   return g_libcef_pointers.cef_browser_host_create_browser_sync(
1290       windowInfo, client, url, settings, extra_info, request_context);
1291 }
1292 
cef_command_line_create()1293 NO_SANITIZE("cfi-icall") struct _cef_command_line_t* cef_command_line_create() {
1294   return g_libcef_pointers.cef_command_line_create();
1295 }
1296 
1297 NO_SANITIZE("cfi-icall")
cef_command_line_get_global()1298 struct _cef_command_line_t* cef_command_line_get_global() {
1299   return g_libcef_pointers.cef_command_line_get_global();
1300 }
1301 
1302 NO_SANITIZE("cfi-icall")
cef_cookie_manager_get_global_manager(struct _cef_completion_callback_t * callback)1303 struct _cef_cookie_manager_t* cef_cookie_manager_get_global_manager(
1304     struct _cef_completion_callback_t* callback) {
1305   return g_libcef_pointers.cef_cookie_manager_get_global_manager(callback);
1306 }
1307 
cef_drag_data_create()1308 NO_SANITIZE("cfi-icall") struct _cef_drag_data_t* cef_drag_data_create() {
1309   return g_libcef_pointers.cef_drag_data_create();
1310 }
1311 
cef_image_create()1312 NO_SANITIZE("cfi-icall") struct _cef_image_t* cef_image_create() {
1313   return g_libcef_pointers.cef_image_create();
1314 }
1315 
1316 NO_SANITIZE("cfi-icall")
cef_media_router_get_global(struct _cef_completion_callback_t * callback)1317 struct _cef_media_router_t* cef_media_router_get_global(
1318     struct _cef_completion_callback_t* callback) {
1319   return g_libcef_pointers.cef_media_router_get_global(callback);
1320 }
1321 
1322 NO_SANITIZE("cfi-icall")
cef_menu_model_create(struct _cef_menu_model_delegate_t * delegate)1323 struct _cef_menu_model_t* cef_menu_model_create(
1324     struct _cef_menu_model_delegate_t* delegate) {
1325   return g_libcef_pointers.cef_menu_model_create(delegate);
1326 }
1327 
1328 NO_SANITIZE("cfi-icall")
cef_print_settings_create()1329 struct _cef_print_settings_t* cef_print_settings_create() {
1330   return g_libcef_pointers.cef_print_settings_create();
1331 }
1332 
1333 NO_SANITIZE("cfi-icall")
cef_process_message_create(const cef_string_t * name)1334 struct _cef_process_message_t* cef_process_message_create(
1335     const cef_string_t* name) {
1336   return g_libcef_pointers.cef_process_message_create(name);
1337 }
1338 
cef_request_create()1339 NO_SANITIZE("cfi-icall") struct _cef_request_t* cef_request_create() {
1340   return g_libcef_pointers.cef_request_create();
1341 }
1342 
cef_post_data_create()1343 NO_SANITIZE("cfi-icall") struct _cef_post_data_t* cef_post_data_create() {
1344   return g_libcef_pointers.cef_post_data_create();
1345 }
1346 
1347 NO_SANITIZE("cfi-icall")
cef_post_data_element_create()1348 struct _cef_post_data_element_t* cef_post_data_element_create() {
1349   return g_libcef_pointers.cef_post_data_element_create();
1350 }
1351 
1352 NO_SANITIZE("cfi-icall")
cef_request_context_get_global_context()1353 struct _cef_request_context_t* cef_request_context_get_global_context() {
1354   return g_libcef_pointers.cef_request_context_get_global_context();
1355 }
1356 
1357 NO_SANITIZE("cfi-icall")
cef_request_context_create_context(const struct _cef_request_context_settings_t * settings,struct _cef_request_context_handler_t * handler)1358 struct _cef_request_context_t* cef_request_context_create_context(
1359     const struct _cef_request_context_settings_t* settings,
1360     struct _cef_request_context_handler_t* handler) {
1361   return g_libcef_pointers.cef_request_context_create_context(settings,
1362                                                               handler);
1363 }
1364 
1365 NO_SANITIZE("cfi-icall")
cef_create_context_shared(struct _cef_request_context_t * other,struct _cef_request_context_handler_t * handler)1366 struct _cef_request_context_t* cef_create_context_shared(
1367     struct _cef_request_context_t* other,
1368     struct _cef_request_context_handler_t* handler) {
1369   return g_libcef_pointers.cef_create_context_shared(other, handler);
1370 }
1371 
1372 NO_SANITIZE("cfi-icall")
cef_resource_bundle_get_global()1373 struct _cef_resource_bundle_t* cef_resource_bundle_get_global() {
1374   return g_libcef_pointers.cef_resource_bundle_get_global();
1375 }
1376 
cef_response_create()1377 NO_SANITIZE("cfi-icall") struct _cef_response_t* cef_response_create() {
1378   return g_libcef_pointers.cef_response_create();
1379 }
1380 
1381 NO_SANITIZE("cfi-icall")
cef_server_create(const cef_string_t * address,uint16 port,int backlog,struct _cef_server_handler_t * handler)1382 void cef_server_create(const cef_string_t* address,
1383                        uint16 port,
1384                        int backlog,
1385                        struct _cef_server_handler_t* handler) {
1386   g_libcef_pointers.cef_server_create(address, port, backlog, handler);
1387 }
1388 
1389 NO_SANITIZE("cfi-icall")
cef_stream_reader_create_for_file(const cef_string_t * fileName)1390 struct _cef_stream_reader_t* cef_stream_reader_create_for_file(
1391     const cef_string_t* fileName) {
1392   return g_libcef_pointers.cef_stream_reader_create_for_file(fileName);
1393 }
1394 
1395 NO_SANITIZE("cfi-icall")
cef_stream_reader_create_for_data(void * data,size_t size)1396 struct _cef_stream_reader_t* cef_stream_reader_create_for_data(void* data,
1397                                                                size_t size) {
1398   return g_libcef_pointers.cef_stream_reader_create_for_data(data, size);
1399 }
1400 
1401 NO_SANITIZE("cfi-icall")
cef_stream_reader_create_for_handler(struct _cef_read_handler_t * handler)1402 struct _cef_stream_reader_t* cef_stream_reader_create_for_handler(
1403     struct _cef_read_handler_t* handler) {
1404   return g_libcef_pointers.cef_stream_reader_create_for_handler(handler);
1405 }
1406 
1407 NO_SANITIZE("cfi-icall")
cef_stream_writer_create_for_file(const cef_string_t * fileName)1408 struct _cef_stream_writer_t* cef_stream_writer_create_for_file(
1409     const cef_string_t* fileName) {
1410   return g_libcef_pointers.cef_stream_writer_create_for_file(fileName);
1411 }
1412 
1413 NO_SANITIZE("cfi-icall")
cef_stream_writer_create_for_handler(struct _cef_write_handler_t * handler)1414 struct _cef_stream_writer_t* cef_stream_writer_create_for_handler(
1415     struct _cef_write_handler_t* handler) {
1416   return g_libcef_pointers.cef_stream_writer_create_for_handler(handler);
1417 }
1418 
1419 NO_SANITIZE("cfi-icall")
cef_task_runner_get_for_current_thread()1420 struct _cef_task_runner_t* cef_task_runner_get_for_current_thread() {
1421   return g_libcef_pointers.cef_task_runner_get_for_current_thread();
1422 }
1423 
1424 NO_SANITIZE("cfi-icall")
cef_task_runner_get_for_thread(cef_thread_id_t threadId)1425 struct _cef_task_runner_t* cef_task_runner_get_for_thread(
1426     cef_thread_id_t threadId) {
1427   return g_libcef_pointers.cef_task_runner_get_for_thread(threadId);
1428 }
1429 
1430 NO_SANITIZE("cfi-icall")
cef_thread_create(const cef_string_t * display_name,cef_thread_priority_t priority,cef_message_loop_type_t message_loop_type,int stoppable,cef_com_init_mode_t com_init_mode)1431 struct _cef_thread_t* cef_thread_create(
1432     const cef_string_t* display_name,
1433     cef_thread_priority_t priority,
1434     cef_message_loop_type_t message_loop_type,
1435     int stoppable,
1436     cef_com_init_mode_t com_init_mode) {
1437   return g_libcef_pointers.cef_thread_create(
1438       display_name, priority, message_loop_type, stoppable, com_init_mode);
1439 }
1440 
1441 NO_SANITIZE("cfi-icall")
cef_urlrequest_create(struct _cef_request_t * request,struct _cef_urlrequest_client_t * client,struct _cef_request_context_t * request_context)1442 struct _cef_urlrequest_t* cef_urlrequest_create(
1443     struct _cef_request_t* request,
1444     struct _cef_urlrequest_client_t* client,
1445     struct _cef_request_context_t* request_context) {
1446   return g_libcef_pointers.cef_urlrequest_create(request, client,
1447                                                  request_context);
1448 }
1449 
1450 NO_SANITIZE("cfi-icall")
cef_v8context_get_current_context()1451 struct _cef_v8context_t* cef_v8context_get_current_context() {
1452   return g_libcef_pointers.cef_v8context_get_current_context();
1453 }
1454 
1455 NO_SANITIZE("cfi-icall")
cef_v8context_get_entered_context()1456 struct _cef_v8context_t* cef_v8context_get_entered_context() {
1457   return g_libcef_pointers.cef_v8context_get_entered_context();
1458 }
1459 
cef_v8context_in_context()1460 NO_SANITIZE("cfi-icall") int cef_v8context_in_context() {
1461   return g_libcef_pointers.cef_v8context_in_context();
1462 }
1463 
cef_v8value_create_undefined()1464 NO_SANITIZE("cfi-icall") struct _cef_v8value_t* cef_v8value_create_undefined() {
1465   return g_libcef_pointers.cef_v8value_create_undefined();
1466 }
1467 
cef_v8value_create_null()1468 NO_SANITIZE("cfi-icall") struct _cef_v8value_t* cef_v8value_create_null() {
1469   return g_libcef_pointers.cef_v8value_create_null();
1470 }
1471 
1472 NO_SANITIZE("cfi-icall")
cef_v8value_create_bool(int value)1473 struct _cef_v8value_t* cef_v8value_create_bool(int value) {
1474   return g_libcef_pointers.cef_v8value_create_bool(value);
1475 }
1476 
1477 NO_SANITIZE("cfi-icall")
cef_v8value_create_int(int32 value)1478 struct _cef_v8value_t* cef_v8value_create_int(int32 value) {
1479   return g_libcef_pointers.cef_v8value_create_int(value);
1480 }
1481 
1482 NO_SANITIZE("cfi-icall")
cef_v8value_create_uint(uint32 value)1483 struct _cef_v8value_t* cef_v8value_create_uint(uint32 value) {
1484   return g_libcef_pointers.cef_v8value_create_uint(value);
1485 }
1486 
1487 NO_SANITIZE("cfi-icall")
cef_v8value_create_double(double value)1488 struct _cef_v8value_t* cef_v8value_create_double(double value) {
1489   return g_libcef_pointers.cef_v8value_create_double(value);
1490 }
1491 
1492 NO_SANITIZE("cfi-icall")
cef_v8value_create_date(const cef_time_t * date)1493 struct _cef_v8value_t* cef_v8value_create_date(const cef_time_t* date) {
1494   return g_libcef_pointers.cef_v8value_create_date(date);
1495 }
1496 
1497 NO_SANITIZE("cfi-icall")
cef_v8value_create_string(const cef_string_t * value)1498 struct _cef_v8value_t* cef_v8value_create_string(const cef_string_t* value) {
1499   return g_libcef_pointers.cef_v8value_create_string(value);
1500 }
1501 
1502 NO_SANITIZE("cfi-icall")
cef_v8value_create_object(struct _cef_v8accessor_t * accessor,struct _cef_v8interceptor_t * interceptor)1503 struct _cef_v8value_t* cef_v8value_create_object(
1504     struct _cef_v8accessor_t* accessor,
1505     struct _cef_v8interceptor_t* interceptor) {
1506   return g_libcef_pointers.cef_v8value_create_object(accessor, interceptor);
1507 }
1508 
1509 NO_SANITIZE("cfi-icall")
cef_v8value_create_array(int length)1510 struct _cef_v8value_t* cef_v8value_create_array(int length) {
1511   return g_libcef_pointers.cef_v8value_create_array(length);
1512 }
1513 
1514 NO_SANITIZE("cfi-icall")
cef_v8value_create_array_buffer(void * buffer,size_t length,struct _cef_v8array_buffer_release_callback_t * release_callback)1515 struct _cef_v8value_t* cef_v8value_create_array_buffer(
1516     void* buffer,
1517     size_t length,
1518     struct _cef_v8array_buffer_release_callback_t* release_callback) {
1519   return g_libcef_pointers.cef_v8value_create_array_buffer(buffer, length,
1520                                                            release_callback);
1521 }
1522 
1523 NO_SANITIZE("cfi-icall")
cef_v8value_create_function(const cef_string_t * name,struct _cef_v8handler_t * handler)1524 struct _cef_v8value_t* cef_v8value_create_function(
1525     const cef_string_t* name,
1526     struct _cef_v8handler_t* handler) {
1527   return g_libcef_pointers.cef_v8value_create_function(name, handler);
1528 }
1529 
1530 NO_SANITIZE("cfi-icall")
cef_v8stack_trace_get_current(int frame_limit)1531 struct _cef_v8stack_trace_t* cef_v8stack_trace_get_current(int frame_limit) {
1532   return g_libcef_pointers.cef_v8stack_trace_get_current(frame_limit);
1533 }
1534 
cef_value_create()1535 NO_SANITIZE("cfi-icall") struct _cef_value_t* cef_value_create() {
1536   return g_libcef_pointers.cef_value_create();
1537 }
1538 
1539 NO_SANITIZE("cfi-icall")
cef_binary_value_create(const void * data,size_t data_size)1540 struct _cef_binary_value_t* cef_binary_value_create(const void* data,
1541                                                     size_t data_size) {
1542   return g_libcef_pointers.cef_binary_value_create(data, data_size);
1543 }
1544 
1545 NO_SANITIZE("cfi-icall")
cef_dictionary_value_create()1546 struct _cef_dictionary_value_t* cef_dictionary_value_create() {
1547   return g_libcef_pointers.cef_dictionary_value_create();
1548 }
1549 
cef_list_value_create()1550 NO_SANITIZE("cfi-icall") struct _cef_list_value_t* cef_list_value_create() {
1551   return g_libcef_pointers.cef_list_value_create();
1552 }
1553 
1554 NO_SANITIZE("cfi-icall")
cef_waitable_event_create(int automatic_reset,int initially_signaled)1555 struct _cef_waitable_event_t* cef_waitable_event_create(
1556     int automatic_reset,
1557     int initially_signaled) {
1558   return g_libcef_pointers.cef_waitable_event_create(automatic_reset,
1559                                                      initially_signaled);
1560 }
1561 
1562 NO_SANITIZE("cfi-icall")
cef_xml_reader_create(struct _cef_stream_reader_t * stream,cef_xml_encoding_type_t encodingType,const cef_string_t * URI)1563 struct _cef_xml_reader_t* cef_xml_reader_create(
1564     struct _cef_stream_reader_t* stream,
1565     cef_xml_encoding_type_t encodingType,
1566     const cef_string_t* URI) {
1567   return g_libcef_pointers.cef_xml_reader_create(stream, encodingType, URI);
1568 }
1569 
1570 NO_SANITIZE("cfi-icall")
cef_zip_reader_create(struct _cef_stream_reader_t * stream)1571 struct _cef_zip_reader_t* cef_zip_reader_create(
1572     struct _cef_stream_reader_t* stream) {
1573   return g_libcef_pointers.cef_zip_reader_create(stream);
1574 }
1575 
1576 NO_SANITIZE("cfi-icall")
cef_translator_test_create()1577 struct _cef_translator_test_t* cef_translator_test_create() {
1578   return g_libcef_pointers.cef_translator_test_create();
1579 }
1580 
1581 NO_SANITIZE("cfi-icall")
1582 struct _cef_translator_test_ref_ptr_library_t*
cef_translator_test_ref_ptr_library_create(int value)1583 cef_translator_test_ref_ptr_library_create(int value) {
1584   return g_libcef_pointers.cef_translator_test_ref_ptr_library_create(value);
1585 }
1586 
1587 NO_SANITIZE("cfi-icall")
1588 struct _cef_translator_test_ref_ptr_library_child_t*
cef_translator_test_ref_ptr_library_child_create(int value,int other_value)1589 cef_translator_test_ref_ptr_library_child_create(int value, int other_value) {
1590   return g_libcef_pointers.cef_translator_test_ref_ptr_library_child_create(
1591       value, other_value);
1592 }
1593 
1594 NO_SANITIZE("cfi-icall")
1595 struct _cef_translator_test_ref_ptr_library_child_child_t*
cef_translator_test_ref_ptr_library_child_child_create(int value,int other_value,int other_other_value)1596 cef_translator_test_ref_ptr_library_child_child_create(int value,
1597                                                        int other_value,
1598                                                        int other_other_value) {
1599   return g_libcef_pointers
1600       .cef_translator_test_ref_ptr_library_child_child_create(
1601           value, other_value, other_other_value);
1602 }
1603 
1604 NO_SANITIZE("cfi-icall")
1605 struct _cef_translator_test_scoped_library_t*
cef_translator_test_scoped_library_create(int value)1606 cef_translator_test_scoped_library_create(int value) {
1607   return g_libcef_pointers.cef_translator_test_scoped_library_create(value);
1608 }
1609 
1610 NO_SANITIZE("cfi-icall")
1611 struct _cef_translator_test_scoped_library_child_t*
cef_translator_test_scoped_library_child_create(int value,int other_value)1612 cef_translator_test_scoped_library_child_create(int value, int other_value) {
1613   return g_libcef_pointers.cef_translator_test_scoped_library_child_create(
1614       value, other_value);
1615 }
1616 
1617 NO_SANITIZE("cfi-icall")
1618 struct _cef_translator_test_scoped_library_child_child_t*
cef_translator_test_scoped_library_child_child_create(int value,int other_value,int other_other_value)1619 cef_translator_test_scoped_library_child_child_create(int value,
1620                                                       int other_value,
1621                                                       int other_other_value) {
1622   return g_libcef_pointers
1623       .cef_translator_test_scoped_library_child_child_create(value, other_value,
1624                                                              other_other_value);
1625 }
1626 
1627 NO_SANITIZE("cfi-icall")
cef_browser_view_create(struct _cef_client_t * client,const cef_string_t * url,const struct _cef_browser_settings_t * settings,struct _cef_dictionary_value_t * extra_info,struct _cef_request_context_t * request_context,struct _cef_browser_view_delegate_t * delegate)1628 struct _cef_browser_view_t* cef_browser_view_create(
1629     struct _cef_client_t* client,
1630     const cef_string_t* url,
1631     const struct _cef_browser_settings_t* settings,
1632     struct _cef_dictionary_value_t* extra_info,
1633     struct _cef_request_context_t* request_context,
1634     struct _cef_browser_view_delegate_t* delegate) {
1635   return g_libcef_pointers.cef_browser_view_create(
1636       client, url, settings, extra_info, request_context, delegate);
1637 }
1638 
1639 NO_SANITIZE("cfi-icall")
cef_browser_view_get_for_browser(struct _cef_browser_t * browser)1640 struct _cef_browser_view_t* cef_browser_view_get_for_browser(
1641     struct _cef_browser_t* browser) {
1642   return g_libcef_pointers.cef_browser_view_get_for_browser(browser);
1643 }
1644 
cef_display_get_primary()1645 NO_SANITIZE("cfi-icall") struct _cef_display_t* cef_display_get_primary() {
1646   return g_libcef_pointers.cef_display_get_primary();
1647 }
1648 
1649 NO_SANITIZE("cfi-icall")
cef_display_get_nearest_point(const cef_point_t * point,int input_pixel_coords)1650 struct _cef_display_t* cef_display_get_nearest_point(const cef_point_t* point,
1651                                                      int input_pixel_coords) {
1652   return g_libcef_pointers.cef_display_get_nearest_point(point,
1653                                                          input_pixel_coords);
1654 }
1655 
1656 NO_SANITIZE("cfi-icall")
cef_display_get_matching_bounds(const cef_rect_t * bounds,int input_pixel_coords)1657 struct _cef_display_t* cef_display_get_matching_bounds(const cef_rect_t* bounds,
1658                                                        int input_pixel_coords) {
1659   return g_libcef_pointers.cef_display_get_matching_bounds(bounds,
1660                                                            input_pixel_coords);
1661 }
1662 
cef_display_get_count()1663 NO_SANITIZE("cfi-icall") size_t cef_display_get_count() {
1664   return g_libcef_pointers.cef_display_get_count();
1665 }
1666 
1667 NO_SANITIZE("cfi-icall")
cef_display_get_alls(size_t * displaysCount,struct _cef_display_t ** displays)1668 void cef_display_get_alls(size_t* displaysCount,
1669                           struct _cef_display_t** displays) {
1670   g_libcef_pointers.cef_display_get_alls(displaysCount, displays);
1671 }
1672 
1673 NO_SANITIZE("cfi-icall")
cef_label_button_create(struct _cef_button_delegate_t * delegate,const cef_string_t * text)1674 struct _cef_label_button_t* cef_label_button_create(
1675     struct _cef_button_delegate_t* delegate,
1676     const cef_string_t* text) {
1677   return g_libcef_pointers.cef_label_button_create(delegate, text);
1678 }
1679 
1680 NO_SANITIZE("cfi-icall")
cef_menu_button_create(struct _cef_menu_button_delegate_t * delegate,const cef_string_t * text)1681 struct _cef_menu_button_t* cef_menu_button_create(
1682     struct _cef_menu_button_delegate_t* delegate,
1683     const cef_string_t* text) {
1684   return g_libcef_pointers.cef_menu_button_create(delegate, text);
1685 }
1686 
1687 NO_SANITIZE("cfi-icall")
cef_panel_create(struct _cef_panel_delegate_t * delegate)1688 struct _cef_panel_t* cef_panel_create(struct _cef_panel_delegate_t* delegate) {
1689   return g_libcef_pointers.cef_panel_create(delegate);
1690 }
1691 
1692 NO_SANITIZE("cfi-icall")
cef_scroll_view_create(struct _cef_view_delegate_t * delegate)1693 struct _cef_scroll_view_t* cef_scroll_view_create(
1694     struct _cef_view_delegate_t* delegate) {
1695   return g_libcef_pointers.cef_scroll_view_create(delegate);
1696 }
1697 
1698 NO_SANITIZE("cfi-icall")
cef_textfield_create(struct _cef_textfield_delegate_t * delegate)1699 struct _cef_textfield_t* cef_textfield_create(
1700     struct _cef_textfield_delegate_t* delegate) {
1701   return g_libcef_pointers.cef_textfield_create(delegate);
1702 }
1703 
1704 NO_SANITIZE("cfi-icall")
cef_window_create_top_level(struct _cef_window_delegate_t * delegate)1705 struct _cef_window_t* cef_window_create_top_level(
1706     struct _cef_window_delegate_t* delegate) {
1707   return g_libcef_pointers.cef_window_create_top_level(delegate);
1708 }
1709 
cef_api_hash(int entry)1710 NO_SANITIZE("cfi-icall") const char* cef_api_hash(int entry) {
1711   return g_libcef_pointers.cef_api_hash(entry);
1712 }
1713 
cef_version_info(int entry)1714 NO_SANITIZE("cfi-icall") int cef_version_info(int entry) {
1715   return g_libcef_pointers.cef_version_info(entry);
1716 }
1717 
cef_get_min_log_level()1718 NO_SANITIZE("cfi-icall") int cef_get_min_log_level() {
1719   return g_libcef_pointers.cef_get_min_log_level();
1720 }
1721 
1722 NO_SANITIZE("cfi-icall")
cef_get_vlog_level(const char * file_start,size_t N)1723 int cef_get_vlog_level(const char* file_start, size_t N) {
1724   return g_libcef_pointers.cef_get_vlog_level(file_start, N);
1725 }
1726 
1727 NO_SANITIZE("cfi-icall")
cef_log(const char * file,int line,int severity,const char * message)1728 void cef_log(const char* file, int line, int severity, const char* message) {
1729   g_libcef_pointers.cef_log(file, line, severity, message);
1730 }
1731 
cef_string_list_alloc()1732 NO_SANITIZE("cfi-icall") cef_string_list_t cef_string_list_alloc() {
1733   return g_libcef_pointers.cef_string_list_alloc();
1734 }
1735 
cef_string_list_size(cef_string_list_t list)1736 NO_SANITIZE("cfi-icall") size_t cef_string_list_size(cef_string_list_t list) {
1737   return g_libcef_pointers.cef_string_list_size(list);
1738 }
1739 
1740 NO_SANITIZE("cfi-icall")
cef_string_list_value(cef_string_list_t list,size_t index,cef_string_t * value)1741 int cef_string_list_value(cef_string_list_t list,
1742                           size_t index,
1743                           cef_string_t* value) {
1744   return g_libcef_pointers.cef_string_list_value(list, index, value);
1745 }
1746 
1747 NO_SANITIZE("cfi-icall")
cef_string_list_append(cef_string_list_t list,const cef_string_t * value)1748 void cef_string_list_append(cef_string_list_t list, const cef_string_t* value) {
1749   g_libcef_pointers.cef_string_list_append(list, value);
1750 }
1751 
cef_string_list_clear(cef_string_list_t list)1752 NO_SANITIZE("cfi-icall") void cef_string_list_clear(cef_string_list_t list) {
1753   g_libcef_pointers.cef_string_list_clear(list);
1754 }
1755 
cef_string_list_free(cef_string_list_t list)1756 NO_SANITIZE("cfi-icall") void cef_string_list_free(cef_string_list_t list) {
1757   g_libcef_pointers.cef_string_list_free(list);
1758 }
1759 
1760 NO_SANITIZE("cfi-icall")
cef_string_list_copy(cef_string_list_t list)1761 cef_string_list_t cef_string_list_copy(cef_string_list_t list) {
1762   return g_libcef_pointers.cef_string_list_copy(list);
1763 }
1764 
cef_string_map_alloc()1765 NO_SANITIZE("cfi-icall") cef_string_map_t cef_string_map_alloc() {
1766   return g_libcef_pointers.cef_string_map_alloc();
1767 }
1768 
cef_string_map_size(cef_string_map_t map)1769 NO_SANITIZE("cfi-icall") size_t cef_string_map_size(cef_string_map_t map) {
1770   return g_libcef_pointers.cef_string_map_size(map);
1771 }
1772 
1773 NO_SANITIZE("cfi-icall")
cef_string_map_find(cef_string_map_t map,const cef_string_t * key,cef_string_t * value)1774 int cef_string_map_find(cef_string_map_t map,
1775                         const cef_string_t* key,
1776                         cef_string_t* value) {
1777   return g_libcef_pointers.cef_string_map_find(map, key, value);
1778 }
1779 
1780 NO_SANITIZE("cfi-icall")
cef_string_map_key(cef_string_map_t map,size_t index,cef_string_t * key)1781 int cef_string_map_key(cef_string_map_t map, size_t index, cef_string_t* key) {
1782   return g_libcef_pointers.cef_string_map_key(map, index, key);
1783 }
1784 
1785 NO_SANITIZE("cfi-icall")
cef_string_map_value(cef_string_map_t map,size_t index,cef_string_t * value)1786 int cef_string_map_value(cef_string_map_t map,
1787                          size_t index,
1788                          cef_string_t* value) {
1789   return g_libcef_pointers.cef_string_map_value(map, index, value);
1790 }
1791 
1792 NO_SANITIZE("cfi-icall")
cef_string_map_append(cef_string_map_t map,const cef_string_t * key,const cef_string_t * value)1793 int cef_string_map_append(cef_string_map_t map,
1794                           const cef_string_t* key,
1795                           const cef_string_t* value) {
1796   return g_libcef_pointers.cef_string_map_append(map, key, value);
1797 }
1798 
cef_string_map_clear(cef_string_map_t map)1799 NO_SANITIZE("cfi-icall") void cef_string_map_clear(cef_string_map_t map) {
1800   g_libcef_pointers.cef_string_map_clear(map);
1801 }
1802 
cef_string_map_free(cef_string_map_t map)1803 NO_SANITIZE("cfi-icall") void cef_string_map_free(cef_string_map_t map) {
1804   g_libcef_pointers.cef_string_map_free(map);
1805 }
1806 
cef_string_multimap_alloc()1807 NO_SANITIZE("cfi-icall") cef_string_multimap_t cef_string_multimap_alloc() {
1808   return g_libcef_pointers.cef_string_multimap_alloc();
1809 }
1810 
1811 NO_SANITIZE("cfi-icall")
cef_string_multimap_size(cef_string_multimap_t map)1812 size_t cef_string_multimap_size(cef_string_multimap_t map) {
1813   return g_libcef_pointers.cef_string_multimap_size(map);
1814 }
1815 
1816 NO_SANITIZE("cfi-icall")
cef_string_multimap_find_count(cef_string_multimap_t map,const cef_string_t * key)1817 size_t cef_string_multimap_find_count(cef_string_multimap_t map,
1818                                       const cef_string_t* key) {
1819   return g_libcef_pointers.cef_string_multimap_find_count(map, key);
1820 }
1821 
1822 NO_SANITIZE("cfi-icall")
cef_string_multimap_enumerate(cef_string_multimap_t map,const cef_string_t * key,size_t value_index,cef_string_t * value)1823 int cef_string_multimap_enumerate(cef_string_multimap_t map,
1824                                   const cef_string_t* key,
1825                                   size_t value_index,
1826                                   cef_string_t* value) {
1827   return g_libcef_pointers.cef_string_multimap_enumerate(map, key, value_index,
1828                                                          value);
1829 }
1830 
1831 NO_SANITIZE("cfi-icall")
cef_string_multimap_key(cef_string_multimap_t map,size_t index,cef_string_t * key)1832 int cef_string_multimap_key(cef_string_multimap_t map,
1833                             size_t index,
1834                             cef_string_t* key) {
1835   return g_libcef_pointers.cef_string_multimap_key(map, index, key);
1836 }
1837 
1838 NO_SANITIZE("cfi-icall")
cef_string_multimap_value(cef_string_multimap_t map,size_t index,cef_string_t * value)1839 int cef_string_multimap_value(cef_string_multimap_t map,
1840                               size_t index,
1841                               cef_string_t* value) {
1842   return g_libcef_pointers.cef_string_multimap_value(map, index, value);
1843 }
1844 
1845 NO_SANITIZE("cfi-icall")
cef_string_multimap_append(cef_string_multimap_t map,const cef_string_t * key,const cef_string_t * value)1846 int cef_string_multimap_append(cef_string_multimap_t map,
1847                                const cef_string_t* key,
1848                                const cef_string_t* value) {
1849   return g_libcef_pointers.cef_string_multimap_append(map, key, value);
1850 }
1851 
1852 NO_SANITIZE("cfi-icall")
cef_string_multimap_clear(cef_string_multimap_t map)1853 void cef_string_multimap_clear(cef_string_multimap_t map) {
1854   g_libcef_pointers.cef_string_multimap_clear(map);
1855 }
1856 
1857 NO_SANITIZE("cfi-icall")
cef_string_multimap_free(cef_string_multimap_t map)1858 void cef_string_multimap_free(cef_string_multimap_t map) {
1859   g_libcef_pointers.cef_string_multimap_free(map);
1860 }
1861 
1862 NO_SANITIZE("cfi-icall")
cef_string_wide_set(const wchar_t * src,size_t src_len,cef_string_wide_t * output,int copy)1863 int cef_string_wide_set(const wchar_t* src,
1864                         size_t src_len,
1865                         cef_string_wide_t* output,
1866                         int copy) {
1867   return g_libcef_pointers.cef_string_wide_set(src, src_len, output, copy);
1868 }
1869 
1870 NO_SANITIZE("cfi-icall")
cef_string_utf8_set(const char * src,size_t src_len,cef_string_utf8_t * output,int copy)1871 int cef_string_utf8_set(const char* src,
1872                         size_t src_len,
1873                         cef_string_utf8_t* output,
1874                         int copy) {
1875   return g_libcef_pointers.cef_string_utf8_set(src, src_len, output, copy);
1876 }
1877 
1878 NO_SANITIZE("cfi-icall")
cef_string_utf16_set(const char16 * src,size_t src_len,cef_string_utf16_t * output,int copy)1879 int cef_string_utf16_set(const char16* src,
1880                          size_t src_len,
1881                          cef_string_utf16_t* output,
1882                          int copy) {
1883   return g_libcef_pointers.cef_string_utf16_set(src, src_len, output, copy);
1884 }
1885 
cef_string_wide_clear(cef_string_wide_t * str)1886 NO_SANITIZE("cfi-icall") void cef_string_wide_clear(cef_string_wide_t* str) {
1887   g_libcef_pointers.cef_string_wide_clear(str);
1888 }
1889 
cef_string_utf8_clear(cef_string_utf8_t * str)1890 NO_SANITIZE("cfi-icall") void cef_string_utf8_clear(cef_string_utf8_t* str) {
1891   g_libcef_pointers.cef_string_utf8_clear(str);
1892 }
1893 
cef_string_utf16_clear(cef_string_utf16_t * str)1894 NO_SANITIZE("cfi-icall") void cef_string_utf16_clear(cef_string_utf16_t* str) {
1895   g_libcef_pointers.cef_string_utf16_clear(str);
1896 }
1897 
1898 NO_SANITIZE("cfi-icall")
cef_string_wide_cmp(const cef_string_wide_t * str1,const cef_string_wide_t * str2)1899 int cef_string_wide_cmp(const cef_string_wide_t* str1,
1900                         const cef_string_wide_t* str2) {
1901   return g_libcef_pointers.cef_string_wide_cmp(str1, str2);
1902 }
1903 
1904 NO_SANITIZE("cfi-icall")
cef_string_utf8_cmp(const cef_string_utf8_t * str1,const cef_string_utf8_t * str2)1905 int cef_string_utf8_cmp(const cef_string_utf8_t* str1,
1906                         const cef_string_utf8_t* str2) {
1907   return g_libcef_pointers.cef_string_utf8_cmp(str1, str2);
1908 }
1909 
1910 NO_SANITIZE("cfi-icall")
cef_string_utf16_cmp(const cef_string_utf16_t * str1,const cef_string_utf16_t * str2)1911 int cef_string_utf16_cmp(const cef_string_utf16_t* str1,
1912                          const cef_string_utf16_t* str2) {
1913   return g_libcef_pointers.cef_string_utf16_cmp(str1, str2);
1914 }
1915 
1916 NO_SANITIZE("cfi-icall")
cef_string_wide_to_utf8(const wchar_t * src,size_t src_len,cef_string_utf8_t * output)1917 int cef_string_wide_to_utf8(const wchar_t* src,
1918                             size_t src_len,
1919                             cef_string_utf8_t* output) {
1920   return g_libcef_pointers.cef_string_wide_to_utf8(src, src_len, output);
1921 }
1922 
1923 NO_SANITIZE("cfi-icall")
cef_string_utf8_to_wide(const char * src,size_t src_len,cef_string_wide_t * output)1924 int cef_string_utf8_to_wide(const char* src,
1925                             size_t src_len,
1926                             cef_string_wide_t* output) {
1927   return g_libcef_pointers.cef_string_utf8_to_wide(src, src_len, output);
1928 }
1929 
1930 NO_SANITIZE("cfi-icall")
cef_string_wide_to_utf16(const wchar_t * src,size_t src_len,cef_string_utf16_t * output)1931 int cef_string_wide_to_utf16(const wchar_t* src,
1932                              size_t src_len,
1933                              cef_string_utf16_t* output) {
1934   return g_libcef_pointers.cef_string_wide_to_utf16(src, src_len, output);
1935 }
1936 
1937 NO_SANITIZE("cfi-icall")
cef_string_utf16_to_wide(const char16 * src,size_t src_len,cef_string_wide_t * output)1938 int cef_string_utf16_to_wide(const char16* src,
1939                              size_t src_len,
1940                              cef_string_wide_t* output) {
1941   return g_libcef_pointers.cef_string_utf16_to_wide(src, src_len, output);
1942 }
1943 
1944 NO_SANITIZE("cfi-icall")
cef_string_utf8_to_utf16(const char * src,size_t src_len,cef_string_utf16_t * output)1945 int cef_string_utf8_to_utf16(const char* src,
1946                              size_t src_len,
1947                              cef_string_utf16_t* output) {
1948   return g_libcef_pointers.cef_string_utf8_to_utf16(src, src_len, output);
1949 }
1950 
1951 NO_SANITIZE("cfi-icall")
cef_string_utf16_to_utf8(const char16 * src,size_t src_len,cef_string_utf8_t * output)1952 int cef_string_utf16_to_utf8(const char16* src,
1953                              size_t src_len,
1954                              cef_string_utf8_t* output) {
1955   return g_libcef_pointers.cef_string_utf16_to_utf8(src, src_len, output);
1956 }
1957 
1958 NO_SANITIZE("cfi-icall")
cef_string_ascii_to_wide(const char * src,size_t src_len,cef_string_wide_t * output)1959 int cef_string_ascii_to_wide(const char* src,
1960                              size_t src_len,
1961                              cef_string_wide_t* output) {
1962   return g_libcef_pointers.cef_string_ascii_to_wide(src, src_len, output);
1963 }
1964 
1965 NO_SANITIZE("cfi-icall")
cef_string_ascii_to_utf16(const char * src,size_t src_len,cef_string_utf16_t * output)1966 int cef_string_ascii_to_utf16(const char* src,
1967                               size_t src_len,
1968                               cef_string_utf16_t* output) {
1969   return g_libcef_pointers.cef_string_ascii_to_utf16(src, src_len, output);
1970 }
1971 
1972 NO_SANITIZE("cfi-icall")
cef_string_userfree_wide_alloc()1973 cef_string_userfree_wide_t cef_string_userfree_wide_alloc() {
1974   return g_libcef_pointers.cef_string_userfree_wide_alloc();
1975 }
1976 
1977 NO_SANITIZE("cfi-icall")
cef_string_userfree_utf8_alloc()1978 cef_string_userfree_utf8_t cef_string_userfree_utf8_alloc() {
1979   return g_libcef_pointers.cef_string_userfree_utf8_alloc();
1980 }
1981 
1982 NO_SANITIZE("cfi-icall")
cef_string_userfree_utf16_alloc()1983 cef_string_userfree_utf16_t cef_string_userfree_utf16_alloc() {
1984   return g_libcef_pointers.cef_string_userfree_utf16_alloc();
1985 }
1986 
1987 NO_SANITIZE("cfi-icall")
cef_string_userfree_wide_free(cef_string_userfree_wide_t str)1988 void cef_string_userfree_wide_free(cef_string_userfree_wide_t str) {
1989   g_libcef_pointers.cef_string_userfree_wide_free(str);
1990 }
1991 
1992 NO_SANITIZE("cfi-icall")
cef_string_userfree_utf8_free(cef_string_userfree_utf8_t str)1993 void cef_string_userfree_utf8_free(cef_string_userfree_utf8_t str) {
1994   g_libcef_pointers.cef_string_userfree_utf8_free(str);
1995 }
1996 
1997 NO_SANITIZE("cfi-icall")
cef_string_userfree_utf16_free(cef_string_userfree_utf16_t str)1998 void cef_string_userfree_utf16_free(cef_string_userfree_utf16_t str) {
1999   g_libcef_pointers.cef_string_userfree_utf16_free(str);
2000 }
2001 
2002 NO_SANITIZE("cfi-icall")
cef_string_utf16_to_lower(const char16 * src,size_t src_len,cef_string_utf16_t * output)2003 int cef_string_utf16_to_lower(const char16* src,
2004                               size_t src_len,
2005                               cef_string_utf16_t* output) {
2006   return g_libcef_pointers.cef_string_utf16_to_lower(src, src_len, output);
2007 }
2008 
2009 NO_SANITIZE("cfi-icall")
cef_string_utf16_to_upper(const char16 * src,size_t src_len,cef_string_utf16_t * output)2010 int cef_string_utf16_to_upper(const char16* src,
2011                               size_t src_len,
2012                               cef_string_utf16_t* output) {
2013   return g_libcef_pointers.cef_string_utf16_to_upper(src, src_len, output);
2014 }
2015 
2016 NO_SANITIZE("cfi-icall")
cef_get_current_platform_thread_id()2017 cef_platform_thread_id_t cef_get_current_platform_thread_id() {
2018   return g_libcef_pointers.cef_get_current_platform_thread_id();
2019 }
2020 
2021 NO_SANITIZE("cfi-icall")
cef_get_current_platform_thread_handle()2022 cef_platform_thread_handle_t cef_get_current_platform_thread_handle() {
2023   return g_libcef_pointers.cef_get_current_platform_thread_handle();
2024 }
2025 
2026 NO_SANITIZE("cfi-icall")
cef_time_to_timet(const cef_time_t * cef_time,time_t * time)2027 int cef_time_to_timet(const cef_time_t* cef_time, time_t* time) {
2028   return g_libcef_pointers.cef_time_to_timet(cef_time, time);
2029 }
2030 
2031 NO_SANITIZE("cfi-icall")
cef_time_from_timet(time_t time,cef_time_t * cef_time)2032 int cef_time_from_timet(time_t time, cef_time_t* cef_time) {
2033   return g_libcef_pointers.cef_time_from_timet(time, cef_time);
2034 }
2035 
2036 NO_SANITIZE("cfi-icall")
cef_time_to_doublet(const cef_time_t * cef_time,double * time)2037 int cef_time_to_doublet(const cef_time_t* cef_time, double* time) {
2038   return g_libcef_pointers.cef_time_to_doublet(cef_time, time);
2039 }
2040 
2041 NO_SANITIZE("cfi-icall")
cef_time_from_doublet(double time,cef_time_t * cef_time)2042 int cef_time_from_doublet(double time, cef_time_t* cef_time) {
2043   return g_libcef_pointers.cef_time_from_doublet(time, cef_time);
2044 }
2045 
cef_time_now(cef_time_t * cef_time)2046 NO_SANITIZE("cfi-icall") int cef_time_now(cef_time_t* cef_time) {
2047   return g_libcef_pointers.cef_time_now(cef_time);
2048 }
2049 
2050 NO_SANITIZE("cfi-icall")
cef_time_delta(const cef_time_t * cef_time1,const cef_time_t * cef_time2,long long * delta)2051 int cef_time_delta(const cef_time_t* cef_time1,
2052                    const cef_time_t* cef_time2,
2053                    long long* delta) {
2054   return g_libcef_pointers.cef_time_delta(cef_time1, cef_time2, delta);
2055 }
2056 
2057 NO_SANITIZE("cfi-icall")
cef_trace_event_instant(const char * category,const char * name,const char * arg1_name,uint64 arg1_val,const char * arg2_name,uint64 arg2_val,int copy)2058 void cef_trace_event_instant(const char* category,
2059                              const char* name,
2060                              const char* arg1_name,
2061                              uint64 arg1_val,
2062                              const char* arg2_name,
2063                              uint64 arg2_val,
2064                              int copy) {
2065   g_libcef_pointers.cef_trace_event_instant(category, name, arg1_name, arg1_val,
2066                                             arg2_name, arg2_val, copy);
2067 }
2068 
2069 NO_SANITIZE("cfi-icall")
cef_trace_event_begin(const char * category,const char * name,const char * arg1_name,uint64 arg1_val,const char * arg2_name,uint64 arg2_val,int copy)2070 void cef_trace_event_begin(const char* category,
2071                            const char* name,
2072                            const char* arg1_name,
2073                            uint64 arg1_val,
2074                            const char* arg2_name,
2075                            uint64 arg2_val,
2076                            int copy) {
2077   g_libcef_pointers.cef_trace_event_begin(category, name, arg1_name, arg1_val,
2078                                           arg2_name, arg2_val, copy);
2079 }
2080 
2081 NO_SANITIZE("cfi-icall")
cef_trace_event_end(const char * category,const char * name,const char * arg1_name,uint64 arg1_val,const char * arg2_name,uint64 arg2_val,int copy)2082 void cef_trace_event_end(const char* category,
2083                          const char* name,
2084                          const char* arg1_name,
2085                          uint64 arg1_val,
2086                          const char* arg2_name,
2087                          uint64 arg2_val,
2088                          int copy) {
2089   g_libcef_pointers.cef_trace_event_end(category, name, arg1_name, arg1_val,
2090                                         arg2_name, arg2_val, copy);
2091 }
2092 
2093 NO_SANITIZE("cfi-icall")
cef_trace_counter(const char * category,const char * name,const char * value1_name,uint64 value1_val,const char * value2_name,uint64 value2_val,int copy)2094 void cef_trace_counter(const char* category,
2095                        const char* name,
2096                        const char* value1_name,
2097                        uint64 value1_val,
2098                        const char* value2_name,
2099                        uint64 value2_val,
2100                        int copy) {
2101   g_libcef_pointers.cef_trace_counter(category, name, value1_name, value1_val,
2102                                       value2_name, value2_val, copy);
2103 }
2104 
2105 NO_SANITIZE("cfi-icall")
cef_trace_counter_id(const char * category,const char * name,uint64 id,const char * value1_name,uint64 value1_val,const char * value2_name,uint64 value2_val,int copy)2106 void cef_trace_counter_id(const char* category,
2107                           const char* name,
2108                           uint64 id,
2109                           const char* value1_name,
2110                           uint64 value1_val,
2111                           const char* value2_name,
2112                           uint64 value2_val,
2113                           int copy) {
2114   g_libcef_pointers.cef_trace_counter_id(category, name, id, value1_name,
2115                                          value1_val, value2_name, value2_val,
2116                                          copy);
2117 }
2118 
2119 NO_SANITIZE("cfi-icall")
cef_trace_event_async_begin(const char * category,const char * name,uint64 id,const char * arg1_name,uint64 arg1_val,const char * arg2_name,uint64 arg2_val,int copy)2120 void cef_trace_event_async_begin(const char* category,
2121                                  const char* name,
2122                                  uint64 id,
2123                                  const char* arg1_name,
2124                                  uint64 arg1_val,
2125                                  const char* arg2_name,
2126                                  uint64 arg2_val,
2127                                  int copy) {
2128   g_libcef_pointers.cef_trace_event_async_begin(
2129       category, name, id, arg1_name, arg1_val, arg2_name, arg2_val, copy);
2130 }
2131 
2132 NO_SANITIZE("cfi-icall")
cef_trace_event_async_step_into(const char * category,const char * name,uint64 id,uint64 step,const char * arg1_name,uint64 arg1_val,int copy)2133 void cef_trace_event_async_step_into(const char* category,
2134                                      const char* name,
2135                                      uint64 id,
2136                                      uint64 step,
2137                                      const char* arg1_name,
2138                                      uint64 arg1_val,
2139                                      int copy) {
2140   g_libcef_pointers.cef_trace_event_async_step_into(category, name, id, step,
2141                                                     arg1_name, arg1_val, copy);
2142 }
2143 
2144 NO_SANITIZE("cfi-icall")
cef_trace_event_async_step_past(const char * category,const char * name,uint64 id,uint64 step,const char * arg1_name,uint64 arg1_val,int copy)2145 void cef_trace_event_async_step_past(const char* category,
2146                                      const char* name,
2147                                      uint64 id,
2148                                      uint64 step,
2149                                      const char* arg1_name,
2150                                      uint64 arg1_val,
2151                                      int copy) {
2152   g_libcef_pointers.cef_trace_event_async_step_past(category, name, id, step,
2153                                                     arg1_name, arg1_val, copy);
2154 }
2155 
2156 NO_SANITIZE("cfi-icall")
cef_trace_event_async_end(const char * category,const char * name,uint64 id,const char * arg1_name,uint64 arg1_val,const char * arg2_name,uint64 arg2_val,int copy)2157 void cef_trace_event_async_end(const char* category,
2158                                const char* name,
2159                                uint64 id,
2160                                const char* arg1_name,
2161                                uint64 arg1_val,
2162                                const char* arg2_name,
2163                                uint64 arg2_val,
2164                                int copy) {
2165   g_libcef_pointers.cef_trace_event_async_end(
2166       category, name, id, arg1_name, arg1_val, arg2_name, arg2_val, copy);
2167 }
2168