1#![allow(dead_code)]
2
3use std::os::raw::c_char;
4
5#[repr(C)]
6pub struct CbfBridgeClientHandle {
7 _private: [u8; 0],
8}
9
10pub const CBF_EVENT_NONE: u8 = 0;
11pub const CBF_EVENT_SURFACE_HANDLE_UPDATED: u8 = 1;
12pub const CBF_EVENT_WEB_PAGE_CREATED: u8 = 2;
13pub const CBF_EVENT_IME_BOUNDS_UPDATED: u8 = 3;
14pub const CBF_EVENT_SHUTDOWN_BLOCKED: u8 = 4;
15pub const CBF_EVENT_SHUTDOWN_PROCEEDING: u8 = 5;
16pub const CBF_EVENT_SHUTDOWN_CANCELLED: u8 = 6;
17pub const CBF_EVENT_CONTEXT_MENU_REQUESTED: u8 = 7;
18pub const CBF_EVENT_NEW_WEB_PAGE_REQUESTED: u8 = 8;
19pub const CBF_EVENT_BEFOREUNLOAD_DIALOG_REQUESTED: u8 = 9;
20pub const CBF_EVENT_WEB_PAGE_CLOSED: u8 = 10;
21pub const CBF_EVENT_NAVIGATION_STATE_CHANGED: u8 = 11;
22pub const CBF_EVENT_WEB_PAGE_RESIZE_ACKNOWLEDGED: u8 = 12;
23pub const CBF_EVENT_CURSOR_CHANGED: u8 = 13;
24pub const CBF_EVENT_WEB_PAGE_DOM_HTML_READ: u8 = 14;
25pub const CBF_EVENT_DRAG_START_REQUESTED: u8 = 15;
26pub const CBF_EVENT_TITLE_UPDATED: u8 = 16;
27pub const CBF_EVENT_FAVICON_URL_UPDATED: u8 = 17;
28pub const CBF_EVENT_DEVTOOLS_OPENED: u8 = 18;
29pub const CBF_EVENT_EXTENSIONS_LISTED: u8 = 19;
30pub const CBF_EVENT_AUXILIARY_WINDOW_OPEN_REQUESTED: u8 = 20;
31pub const CBF_EVENT_AUXILIARY_WINDOW_RESOLVED: u8 = 21;
32pub const CBF_EVENT_EXTENSION_RUNTIME_WARNING: u8 = 22;
33pub const CBF_EVENT_AUXILIARY_WINDOW_OPENED: u8 = 23;
34pub const CBF_EVENT_AUXILIARY_WINDOW_CLOSED: u8 = 24;
35pub const CBF_EVENT_TAB_OPEN_REQUESTED: u8 = 25;
36pub const CBF_EVENT_TAB_OPEN_RESOLVED: u8 = 26;
37pub const CBF_EVENT_PROMPT_UI_REQUESTED: u8 = 27;
38pub const CBF_EVENT_PROMPT_UI_RESOLVED: u8 = 28;
39pub const CBF_EVENT_DOWNLOAD_CREATED: u8 = 29;
40pub const CBF_EVENT_DOWNLOAD_UPDATED: u8 = 30;
41pub const CBF_EVENT_DOWNLOAD_COMPLETED: u8 = 31;
42pub const CBF_EVENT_EXTENSION_POPUP_OPENED: u8 = 32;
43pub const CBF_EVENT_EXTENSION_POPUP_SURFACE_HANDLE_UPDATED: u8 = 33;
44pub const CBF_EVENT_EXTENSION_POPUP_PREFERRED_SIZE_CHANGED: u8 = 34;
45pub const CBF_EVENT_EXTENSION_POPUP_CLOSED: u8 = 35;
46pub const CBF_EVENT_EXTENSION_POPUP_IME_BOUNDS_UPDATED: u8 = 36;
47pub const CBF_EVENT_EXTENSION_POPUP_CONTEXT_MENU_REQUESTED: u8 = 37;
48pub const CBF_EVENT_EXTENSION_POPUP_CURSOR_CHANGED: u8 = 38;
49pub const CBF_EVENT_EXTENSION_POPUP_TITLE_UPDATED: u8 = 39;
50pub const CBF_EVENT_EXTENSION_POPUP_JAVASCRIPT_DIALOG_REQUESTED: u8 = 40;
51pub const CBF_EVENT_EXTENSION_POPUP_CLOSE_REQUESTED: u8 = 41;
52pub const CBF_EVENT_EXTENSION_POPUP_RENDER_PROCESS_GONE: u8 = 42;
53pub const CBF_EVENT_JAVASCRIPT_DIALOG_REQUESTED: u8 = 43;
54pub const CBF_EVENT_CHOICE_MENU_REQUESTED: u8 = 44;
55pub const CBF_EVENT_EXTENSION_POPUP_CHOICE_MENU_REQUESTED: u8 = 45;
56
57pub const CBF_BRIDGE_EVENT_WAIT_STATUS_EVENT_AVAILABLE: i32 = 0;
58pub const CBF_BRIDGE_EVENT_WAIT_STATUS_TIMED_OUT: i32 = 1;
59pub const CBF_BRIDGE_EVENT_WAIT_STATUS_DISCONNECTED: i32 = 2;
60pub const CBF_BRIDGE_EVENT_WAIT_STATUS_CLOSED: i32 = 3;
61
62pub const CBF_EVENT_PROMPT_UI_OPEN_REQUESTED: u8 = CBF_EVENT_PROMPT_UI_REQUESTED;
63pub const CBF_EVENT_PROMPT_UI_OPENED: u8 = CBF_EVENT_AUXILIARY_WINDOW_OPENED;
64pub const CBF_EVENT_PROMPT_UI_CLOSED: u8 = CBF_EVENT_AUXILIARY_WINDOW_CLOSED;
65pub const CBF_EVENT_TAB_CREATED: u8 = CBF_EVENT_WEB_PAGE_CREATED;
66pub const CBF_EVENT_NEW_TAB_REQUESTED: u8 = CBF_EVENT_NEW_WEB_PAGE_REQUESTED;
67pub const CBF_EVENT_TAB_CLOSED: u8 = CBF_EVENT_WEB_PAGE_CLOSED;
68pub const CBF_EVENT_TAB_RESIZE_ACKNOWLEDGED: u8 = CBF_EVENT_WEB_PAGE_RESIZE_ACKNOWLEDGED;
69pub const CBF_EVENT_TAB_DOM_HTML_READ: u8 = CBF_EVENT_WEB_PAGE_DOM_HTML_READ;
70
71pub const CBF_PROMPT_UI_REQUESTED: u8 = CBF_EVENT_PROMPT_UI_REQUESTED;
72pub const CBF_PROMPT_UI_RESOLVED: u8 = CBF_EVENT_PROMPT_UI_RESOLVED;
73
74pub const CBF_PROMPT_UI_EXTENSION_INSTALL_RESULT_ACCEPTED: u8 = 0;
75pub const CBF_PROMPT_UI_EXTENSION_INSTALL_RESULT_ACCEPTED_WITH_WITHHELD_PERMISSIONS: u8 = 1;
76pub const CBF_PROMPT_UI_EXTENSION_INSTALL_RESULT_USER_CANCELED: u8 = 2;
77pub const CBF_PROMPT_UI_EXTENSION_INSTALL_RESULT_ABORTED: u8 = 3;
78pub const CBF_PROMPT_UI_EXTENSION_UNINSTALL_RESULT_ACCEPTED: u8 = 0;
79pub const CBF_PROMPT_UI_EXTENSION_UNINSTALL_RESULT_USER_CANCELED: u8 = 1;
80pub const CBF_PROMPT_UI_EXTENSION_UNINSTALL_RESULT_ABORTED: u8 = 2;
81pub const CBF_PROMPT_UI_EXTENSION_UNINSTALL_RESULT_FAILED: u8 = 3;
82pub const CBF_EXTENSION_INSTALL_PROMPT_RESULT_ACCEPTED: u8 =
83 CBF_PROMPT_UI_EXTENSION_INSTALL_RESULT_ACCEPTED;
84pub const CBF_EXTENSION_INSTALL_PROMPT_RESULT_ACCEPTED_WITH_WITHHELD_PERMISSIONS: u8 =
85 CBF_PROMPT_UI_EXTENSION_INSTALL_RESULT_ACCEPTED_WITH_WITHHELD_PERMISSIONS;
86pub const CBF_EXTENSION_INSTALL_PROMPT_RESULT_USER_CANCELED: u8 =
87 CBF_PROMPT_UI_EXTENSION_INSTALL_RESULT_USER_CANCELED;
88pub const CBF_EXTENSION_INSTALL_PROMPT_RESULT_ABORTED: u8 =
89 CBF_PROMPT_UI_EXTENSION_INSTALL_RESULT_ABORTED;
90pub const CBF_EXTENSION_UNINSTALL_PROMPT_RESULT_ACCEPTED: u8 =
91 CBF_PROMPT_UI_EXTENSION_UNINSTALL_RESULT_ACCEPTED;
92pub const CBF_EXTENSION_UNINSTALL_PROMPT_RESULT_USER_CANCELED: u8 =
93 CBF_PROMPT_UI_EXTENSION_UNINSTALL_RESULT_USER_CANCELED;
94pub const CBF_EXTENSION_UNINSTALL_PROMPT_RESULT_ABORTED: u8 =
95 CBF_PROMPT_UI_EXTENSION_UNINSTALL_RESULT_ABORTED;
96pub const CBF_EXTENSION_UNINSTALL_PROMPT_RESULT_FAILED: u8 =
97 CBF_PROMPT_UI_EXTENSION_UNINSTALL_RESULT_FAILED;
98
99pub const CBF_AUXILIARY_WINDOW_KIND_UNKNOWN: u8 = 0;
100pub const CBF_AUXILIARY_WINDOW_KIND_EXTENSION_INSTALL_PROMPT: u8 = 1;
101pub const CBF_AUXILIARY_WINDOW_KIND_EXTENSION_UNINSTALL_PROMPT: u8 = 2;
102pub const CBF_AUXILIARY_WINDOW_KIND_PRINT_PREVIEW_DIALOG: u8 = 3;
103
104pub const CBF_PROMPT_UI_KIND_UNKNOWN: u8 = 0;
105pub const CBF_PROMPT_UI_KIND_PERMISSION_PROMPT: u8 = 1;
106pub const CBF_PROMPT_UI_KIND_DOWNLOAD_PROMPT: u8 = 2;
107pub const CBF_PROMPT_UI_KIND_EXTENSION_INSTALL_PROMPT: u8 = 3;
109pub const CBF_PROMPT_UI_KIND_EXTENSION_UNINSTALL_PROMPT: u8 = 4;
110pub const CBF_PROMPT_UI_KIND_PRINT_PREVIEW_DIALOG: u8 = 5;
111
112pub const CBF_PROMPT_UI_CLOSE_REASON_UNKNOWN: u8 = 0;
113pub const CBF_PROMPT_UI_CLOSE_REASON_USER_CANCELED: u8 = 1;
114pub const CBF_PROMPT_UI_CLOSE_REASON_HOST_FORCED: u8 = 2;
115pub const CBF_PROMPT_UI_CLOSE_REASON_SYSTEM_DISMISSED: u8 = 3;
116pub const CBF_AUXILIARY_WINDOW_CLOSE_REASON_UNKNOWN: u8 = CBF_PROMPT_UI_CLOSE_REASON_UNKNOWN;
117pub const CBF_AUXILIARY_WINDOW_CLOSE_REASON_USER_CANCELED: u8 =
118 CBF_PROMPT_UI_CLOSE_REASON_USER_CANCELED;
119pub const CBF_AUXILIARY_WINDOW_CLOSE_REASON_HOST_FORCED: u8 =
120 CBF_PROMPT_UI_CLOSE_REASON_HOST_FORCED;
121pub const CBF_AUXILIARY_WINDOW_CLOSE_REASON_SYSTEM_DISMISSED: u8 =
122 CBF_PROMPT_UI_CLOSE_REASON_SYSTEM_DISMISSED;
123
124pub const CBF_PROMPT_UI_PERMISSION_TYPE_UNKNOWN: u8 = 0;
125pub const CBF_PROMPT_UI_PERMISSION_TYPE_GEOLOCATION: u8 = 1;
126pub const CBF_PROMPT_UI_PERMISSION_TYPE_NOTIFICATIONS: u8 = 2;
127pub const CBF_PROMPT_UI_PERMISSION_TYPE_AUDIO_CAPTURE: u8 = 3;
128pub const CBF_PROMPT_UI_PERMISSION_TYPE_VIDEO_CAPTURE: u8 = 4;
129
130pub const CBF_PROMPT_UI_RESOLUTION_RESULT_UNKNOWN: u8 = 0;
131pub const CBF_PROMPT_UI_RESOLUTION_RESULT_ALLOWED: u8 = 1;
132pub const CBF_PROMPT_UI_RESOLUTION_RESULT_DENIED: u8 = 2;
133pub const CBF_PROMPT_UI_RESOLUTION_RESULT_ABORTED: u8 = 3;
134
135pub const CBF_PROMPT_UI_DIALOG_RESULT_UNKNOWN: u8 = 0;
136pub const CBF_PROMPT_UI_DIALOG_RESULT_PROCEEDED: u8 = 1;
137pub const CBF_PROMPT_UI_DIALOG_RESULT_CANCELED: u8 = 2;
138pub const CBF_PROMPT_UI_DIALOG_RESULT_ABORTED: u8 = 3;
139
140pub const CBF_DOWNLOAD_PROMPT_RESULT_ALLOWED: u8 = 1;
141pub const CBF_DOWNLOAD_PROMPT_RESULT_DENIED: u8 = 2;
142pub const CBF_DOWNLOAD_PROMPT_RESULT_ABORTED: u8 = 3;
143
144pub const CBF_DOWNLOAD_PROMPT_REASON_NONE: u8 = 0;
145pub const CBF_DOWNLOAD_PROMPT_REASON_UNEXPECTED: u8 = 1;
146pub const CBF_DOWNLOAD_PROMPT_REASON_SAVE_AS: u8 = 2;
147pub const CBF_DOWNLOAD_PROMPT_REASON_PREFERENCE: u8 = 3;
148pub const CBF_DOWNLOAD_PROMPT_REASON_NAME_TOO_LONG: u8 = 4;
149pub const CBF_DOWNLOAD_PROMPT_REASON_TARGET_CONFLICT: u8 = 5;
150pub const CBF_DOWNLOAD_PROMPT_REASON_TARGET_PATH_NOT_WRITEABLE: u8 = 6;
151pub const CBF_DOWNLOAD_PROMPT_REASON_TARGET_NO_SPACE: u8 = 7;
152pub const CBF_DOWNLOAD_PROMPT_REASON_DLP_BLOCKED: u8 = 8;
153pub const CBF_DOWNLOAD_PROMPT_REASON_UNKNOWN: u8 = 255;
154
155pub const CBF_ICON_DATA_KIND_NONE: u8 = 0;
156pub const CBF_ICON_DATA_KIND_URL: u8 = 1;
157pub const CBF_ICON_DATA_KIND_PNG: u8 = 2;
158pub const CBF_ICON_DATA_KIND_BINARY: u8 = 3;
159
160pub const CBF_DOWNLOAD_STATE_UNKNOWN: u8 = 0;
161pub const CBF_DOWNLOAD_STATE_IN_PROGRESS: u8 = 1;
162pub const CBF_DOWNLOAD_STATE_PAUSED: u8 = 2;
163pub const CBF_DOWNLOAD_STATE_COMPLETED: u8 = 3;
164pub const CBF_DOWNLOAD_STATE_CANCELLED: u8 = 4;
165pub const CBF_DOWNLOAD_STATE_INTERRUPTED: u8 = 5;
166
167pub const CBF_DOWNLOAD_OUTCOME_UNKNOWN: u8 = 0;
168pub const CBF_DOWNLOAD_OUTCOME_SUCCEEDED: u8 = 1;
169pub const CBF_DOWNLOAD_OUTCOME_CANCELLED: u8 = 2;
170pub const CBF_DOWNLOAD_OUTCOME_INTERRUPTED: u8 = 3;
171
172pub const CBF_TAB_OPEN_HINT_UNKNOWN: u8 = 0;
173pub const CBF_TAB_OPEN_HINT_CURRENT_CONTEXT: u8 = 1;
174pub const CBF_TAB_OPEN_HINT_NEW_FOREGROUND_CONTEXT: u8 = 2;
175pub const CBF_TAB_OPEN_HINT_NEW_BACKGROUND_CONTEXT: u8 = 3;
176pub const CBF_TAB_OPEN_HINT_NEW_WINDOW: u8 = 4;
177pub const CBF_TAB_OPEN_HINT_POPUP: u8 = 5;
178
179pub const CBF_TAB_OPEN_RESPONSE_ALLOW_NEW_CONTEXT: u8 = 0;
180pub const CBF_TAB_OPEN_RESPONSE_ALLOW_EXISTING_CONTEXT: u8 = 1;
181pub const CBF_TAB_OPEN_RESPONSE_DENY: u8 = 2;
182
183pub const CBF_TAB_OPEN_RESULT_OPENED_NEW_CONTEXT: u8 = 0;
184pub const CBF_TAB_OPEN_RESULT_OPENED_EXISTING_CONTEXT: u8 = 1;
185pub const CBF_TAB_OPEN_RESULT_DENIED: u8 = 2;
186pub const CBF_TAB_OPEN_RESULT_ABORTED: u8 = 3;
187
188pub const CBF_SURFACE_HANDLE_NONE: u8 = 0;
189pub const CBF_SURFACE_HANDLE_MAC_CA_CONTEXT_ID: u8 = 1;
190pub const CBF_SURFACE_HANDLE_WINDOWS_HWND: u8 = 2;
191
192pub const CBF_KEY_EVENT_RAW_KEY_DOWN: u8 = 0;
193pub const CBF_KEY_EVENT_KEY_DOWN: u8 = 1;
194pub const CBF_KEY_EVENT_KEY_UP: u8 = 2;
195pub const CBF_KEY_EVENT_CHAR: u8 = 3;
196
197pub const CBF_MOUSE_EVENT_DOWN: u8 = 0;
198pub const CBF_MOUSE_EVENT_UP: u8 = 1;
199pub const CBF_MOUSE_EVENT_MOVE: u8 = 2;
200pub const CBF_MOUSE_EVENT_ENTER: u8 = 3;
201pub const CBF_MOUSE_EVENT_LEAVE: u8 = 4;
202
203pub const CBF_MOUSE_BUTTON_NONE: u8 = 0;
204pub const CBF_MOUSE_BUTTON_LEFT: u8 = 1;
205pub const CBF_MOUSE_BUTTON_MIDDLE: u8 = 2;
206pub const CBF_MOUSE_BUTTON_RIGHT: u8 = 3;
207pub const CBF_MOUSE_BUTTON_BACK: u8 = 4;
208pub const CBF_MOUSE_BUTTON_FORWARD: u8 = 5;
209
210pub const CBF_POINTER_TYPE_UNKNOWN: u8 = 0;
211pub const CBF_POINTER_TYPE_MOUSE: u8 = 1;
212pub const CBF_POINTER_TYPE_PEN: u8 = 2;
213pub const CBF_POINTER_TYPE_TOUCH: u8 = 3;
214pub const CBF_POINTER_TYPE_ERASER: u8 = 4;
215
216pub const CBF_SCROLL_BY_PRECISE_PIXEL: u8 = 0;
217pub const CBF_SCROLL_BY_PIXEL: u8 = 1;
218pub const CBF_SCROLL_BY_LINE: u8 = 2;
219pub const CBF_SCROLL_BY_PAGE: u8 = 3;
220pub const CBF_SCROLL_BY_DOCUMENT: u8 = 4;
221
222pub const CBF_IME_TEXT_SPAN_TYPE_COMPOSITION: u8 = 0;
223pub const CBF_IME_TEXT_SPAN_TYPE_SUGGESTION: u8 = 1;
224pub const CBF_IME_TEXT_SPAN_TYPE_MISSPELLING_SUGGESTION: u8 = 2;
225pub const CBF_IME_TEXT_SPAN_TYPE_AUTOCORRECT: u8 = 3;
226pub const CBF_IME_TEXT_SPAN_TYPE_GRAMMAR_SUGGESTION: u8 = 4;
227
228pub const CBF_IME_TEXT_SPAN_THICKNESS_NONE: u8 = 0;
229pub const CBF_IME_TEXT_SPAN_THICKNESS_THIN: u8 = 1;
230pub const CBF_IME_TEXT_SPAN_THICKNESS_THICK: u8 = 2;
231
232pub const CBF_IME_TEXT_SPAN_UNDERLINE_STYLE_NONE: u8 = 0;
233pub const CBF_IME_TEXT_SPAN_UNDERLINE_STYLE_SOLID: u8 = 1;
234pub const CBF_IME_TEXT_SPAN_UNDERLINE_STYLE_DOT: u8 = 2;
235pub const CBF_IME_TEXT_SPAN_UNDERLINE_STYLE_DASH: u8 = 3;
236pub const CBF_IME_TEXT_SPAN_UNDERLINE_STYLE_SQUIGGLE: u8 = 4;
237
238pub const CBF_IME_CONFIRM_DO_NOT_KEEP_SELECTION: u8 = 0;
239pub const CBF_IME_CONFIRM_KEEP_SELECTION: u8 = 1;
240pub const CBF_EDIT_ACTION_UNDO: u8 = 0;
241pub const CBF_EDIT_ACTION_REDO: u8 = 1;
242pub const CBF_EDIT_ACTION_CUT: u8 = 2;
243pub const CBF_EDIT_ACTION_COPY: u8 = 3;
244pub const CBF_EDIT_ACTION_PASTE: u8 = 4;
245pub const CBF_EDIT_ACTION_SELECT_ALL: u8 = 5;
246
247pub const CBF_BEFOREUNLOAD_REASON_UNKNOWN: u8 = 0;
248pub const CBF_BEFOREUNLOAD_REASON_CLOSE_WEB_PAGE: u8 = 1;
249pub const CBF_BEFOREUNLOAD_REASON_NAVIGATE: u8 = 2;
250pub const CBF_BEFOREUNLOAD_REASON_RELOAD: u8 = 3;
251pub const CBF_BEFOREUNLOAD_REASON_WINDOW_CLOSE: u8 = 4;
252
253pub const CBF_JAVASCRIPT_DIALOG_ALERT: u8 = 0;
254pub const CBF_JAVASCRIPT_DIALOG_CONFIRM: u8 = 1;
255pub const CBF_JAVASCRIPT_DIALOG_PROMPT: u8 = 2;
256pub const CBF_JAVASCRIPT_DIALOG_BEFOREUNLOAD: u8 = 3;
257pub const CBF_BEFOREUNLOAD_REASON_CLOSE_TAB: u8 = CBF_BEFOREUNLOAD_REASON_CLOSE_WEB_PAGE;
258
259pub const CBF_CURSOR_DEFAULT: u8 = 0;
260pub const CBF_CURSOR_CROSSHAIR: u8 = 1;
261pub const CBF_CURSOR_POINTER: u8 = 2;
262pub const CBF_CURSOR_MOVE: u8 = 3;
263pub const CBF_CURSOR_TEXT: u8 = 4;
264pub const CBF_CURSOR_WAIT: u8 = 5;
265pub const CBF_CURSOR_HELP: u8 = 6;
266pub const CBF_CURSOR_PROGRESS: u8 = 7;
267pub const CBF_CURSOR_NOT_ALLOWED: u8 = 8;
268pub const CBF_CURSOR_CONTEXT_MENU: u8 = 9;
269pub const CBF_CURSOR_CELL: u8 = 10;
270pub const CBF_CURSOR_VERTICAL_TEXT: u8 = 11;
271pub const CBF_CURSOR_ALIAS: u8 = 12;
272pub const CBF_CURSOR_COPY: u8 = 13;
273pub const CBF_CURSOR_NO_DROP: u8 = 14;
274pub const CBF_CURSOR_GRAB: u8 = 15;
275pub const CBF_CURSOR_GRABBING: u8 = 16;
276pub const CBF_CURSOR_ALL_SCROLL: u8 = 17;
277pub const CBF_CURSOR_ZOOM_IN: u8 = 18;
278pub const CBF_CURSOR_ZOOM_OUT: u8 = 19;
279pub const CBF_CURSOR_E_RESIZE: u8 = 20;
280pub const CBF_CURSOR_N_RESIZE: u8 = 21;
281pub const CBF_CURSOR_NE_RESIZE: u8 = 22;
282pub const CBF_CURSOR_NW_RESIZE: u8 = 23;
283pub const CBF_CURSOR_S_RESIZE: u8 = 24;
284pub const CBF_CURSOR_SE_RESIZE: u8 = 25;
285pub const CBF_CURSOR_SW_RESIZE: u8 = 26;
286pub const CBF_CURSOR_W_RESIZE: u8 = 27;
287pub const CBF_CURSOR_EW_RESIZE: u8 = 28;
288pub const CBF_CURSOR_NS_RESIZE: u8 = 29;
289pub const CBF_CURSOR_NESW_RESIZE: u8 = 30;
290pub const CBF_CURSOR_NWSE_RESIZE: u8 = 31;
291pub const CBF_CURSOR_COL_RESIZE: u8 = 32;
292pub const CBF_CURSOR_ROW_RESIZE: u8 = 33;
293
294pub const CBF_MENU_ITEM_COMMAND: u8 = 0;
295pub const CBF_MENU_ITEM_CHECK: u8 = 1;
296pub const CBF_MENU_ITEM_RADIO: u8 = 2;
297pub const CBF_MENU_ITEM_SEPARATOR: u8 = 3;
298pub const CBF_MENU_ITEM_BUTTON_ITEM: u8 = 4;
299pub const CBF_MENU_ITEM_SUBMENU: u8 = 5;
300pub const CBF_MENU_ITEM_ACTIONABLE_SUBMENU: u8 = 6;
301pub const CBF_MENU_ITEM_HIGHLIGHTED: u8 = 7;
302pub const CBF_MENU_ITEM_TITLE: u8 = 8;
303pub const CBF_CHOICE_MENU_ITEM_OPTION: u8 = 0;
304pub const CBF_CHOICE_MENU_ITEM_CHECKABLE_OPTION: u8 = 1;
305pub const CBF_CHOICE_MENU_ITEM_GROUP: u8 = 2;
306pub const CBF_CHOICE_MENU_ITEM_SEPARATOR: u8 = 3;
307pub const CBF_CHOICE_MENU_ITEM_SUB_MENU: u8 = 4;
308pub const CBF_CHOICE_MENU_TEXT_DIRECTION_LEFT_TO_RIGHT: u8 = 0;
309pub const CBF_CHOICE_MENU_TEXT_DIRECTION_RIGHT_TO_LEFT: u8 = 1;
310
311#[repr(C)]
312#[derive(Debug, Copy, Clone, Default)]
313pub struct CbfSurfaceHandle {
314 pub kind: u8,
315 pub ca_context_id: u32,
316 pub win_hwnd: u64,
317}
318
319#[repr(C)]
320#[derive(Debug, Copy, Clone, Default)]
321pub struct CbfBridgeEvent {
322 pub kind: u8,
323 pub tab_id: u64,
324 pub inspected_tab_id: u64,
325 pub request_id: u64,
326 pub extension_popup_id: u64,
327 pub width: u32,
328 pub height: u32,
329 pub beforeunload_reason: u8,
330 pub javascript_dialog_type: u8,
331 pub cursor_type: u8,
332 pub profile_id: *mut c_char,
333 pub surface_handle: CbfSurfaceHandle,
334 pub ime_bounds: CbfImeBoundsUpdate,
335 pub dirty_tab_ids: CbfTabIdList,
336 pub context_menu: CbfContextMenu,
337 pub choice_menu: CbfChoiceMenu,
338 pub target_url: *mut c_char,
339 pub url: *mut c_char,
340 pub is_popup: bool,
341 pub can_go_back: bool,
342 pub can_go_forward: bool,
343 pub is_loading: bool,
344 pub dom_html: *mut c_char,
345 pub message: *mut c_char,
346 pub default_prompt_text: *mut c_char,
347 pub title: *mut c_char,
348 pub favicon_url: *mut c_char,
349 pub crashed: bool,
350 pub drag_start_request: CbfDragStartRequest,
351 pub extensions: CbfExtensionInfoList,
352 pub extension_id: *mut c_char,
353 pub extension_name: *mut c_char,
354 pub triggering_extension_name: *mut c_char,
355 pub permission_names: CbfStringList,
356 pub prompt_ui_extension_install_result: u8,
357 pub prompt_ui_extension_install_detail: *mut c_char,
358 pub prompt_ui_extension_uninstall_result: u8,
359 pub prompt_ui_extension_uninstall_detail: *mut c_char,
360 pub extension_runtime_warning: *mut c_char,
361 pub auxiliary_window_id: u64,
362 pub auxiliary_window_kind: u8,
363 pub auxiliary_window_close_reason: u8,
364 pub auxiliary_window_title: *mut c_char,
365 pub auxiliary_window_modal: bool,
366 pub prompt_ui_kind: u8,
367 pub prompt_ui_has_source_tab_id: bool,
368 pub prompt_ui_source_tab_id: u64,
369 pub prompt_ui_can_report_abuse: bool,
370 pub prompt_ui_report_abuse: bool,
371 pub prompt_ui_permission: u8,
372 pub prompt_ui_result: u8,
373 pub prompt_ui_permission_key: *mut c_char,
374 pub download_reason: u8,
375 pub download_id: u64,
376 pub download_has_source_tab_id: bool,
377 pub download_source_tab_id: u64,
378 pub download_file_name: *mut c_char,
379 pub download_target_path: *mut c_char,
380 pub download_suggested_path: *mut c_char,
381 pub download_destination_path: *mut c_char,
382 pub download_total_bytes: u64,
383 pub download_has_total_bytes: bool,
384 pub download_received_bytes: u64,
385 pub download_can_resume: bool,
386 pub download_is_paused: bool,
387 pub download_state: u8,
388 pub download_outcome: u8,
389 pub tab_open_hint: u8,
390 pub tab_open_user_gesture: bool,
391 pub tab_open_has_source: bool,
392 pub tab_open_source_tab_id: u64,
393 pub tab_open_result_kind: u8,
394 pub tab_open_has_target: bool,
395 pub tab_open_target_tab_id: u64,
396}
397
398#[repr(C)]
399#[derive(Debug, Copy, Clone, Default)]
400pub struct CbfChoiceMenuItemList {
401 pub items: *const CbfChoiceMenuItem,
402 pub len: u32,
403}
404
405#[repr(C)]
406#[derive(Debug, Copy, Clone, Default)]
407pub struct CbfChoiceMenuItem {
408 pub type_: u8,
409 pub label: *mut c_char,
410 pub tool_tip: *mut c_char,
411 pub action: u32,
412 pub text_direction: u8,
413 pub has_text_direction_override: bool,
414 pub enabled: bool,
415 pub checked: bool,
416 pub children: CbfChoiceMenuItemList,
417}
418
419#[repr(C)]
420#[derive(Debug, Copy, Clone, Default)]
421pub struct CbfChoiceMenu {
422 pub request_id: u64,
423 pub x: i32,
424 pub y: i32,
425 pub width: i32,
426 pub height: i32,
427 pub item_font_size: f64,
428 pub selected_item: i32,
429 pub right_aligned: bool,
430 pub allow_multiple_selection: bool,
431 pub items: CbfChoiceMenuItemList,
432}
433
434#[repr(C)]
435#[derive(Debug, Copy, Clone, Default)]
436pub struct CbfChoiceMenuSelectedIndices {
437 pub items: *const i32,
438 pub len: u32,
439}
440
441#[repr(C)]
442#[derive(Debug, Copy, Clone)]
443pub struct CbfProfileInfo {
444 pub profile_id: *mut c_char,
445 pub profile_path: *mut c_char,
446 pub display_name: *mut c_char,
447 pub is_default: bool,
448}
449
450#[repr(C)]
451#[derive(Debug, Copy, Clone, Default)]
452pub struct CbfProfileList {
453 pub profiles: *mut CbfProfileInfo,
454 pub len: u32,
455}
456
457#[repr(C)]
458#[derive(Debug, Copy, Clone, Default)]
459pub struct CbfCommandList {
460 pub items: *const *const c_char,
461 pub len: u32,
462}
463
464#[repr(C)]
465#[derive(Debug, Copy, Clone, Default)]
466pub struct CbfKeyEvent {
467 pub tab_id: u64,
468 pub type_: u8,
469 pub modifiers: u32,
470 pub windows_key_code: i32,
471 pub native_key_code: i32,
472 pub dom_code: *const c_char,
473 pub dom_key: *const c_char,
474 pub text: *const c_char,
475 pub unmodified_text: *const c_char,
476 pub auto_repeat: bool,
477 pub is_keypad: bool,
478 pub is_system_key: bool,
479 pub location: i32,
480}
481
482#[repr(C)]
483#[derive(Debug, Copy, Clone, Default)]
484pub struct CbfMouseEvent {
485 pub tab_id: u64,
486 pub type_: u8,
487 pub modifiers: u32,
488 pub button: u8,
489 pub click_count: i32,
490 pub position_in_widget_x: f32,
491 pub position_in_widget_y: f32,
492 pub position_in_screen_x: f32,
493 pub position_in_screen_y: f32,
494 pub movement_x: f32,
495 pub movement_y: f32,
496 pub is_raw_movement_event: bool,
497 pub pointer_type: u8,
498}
499
500#[repr(C)]
501#[derive(Debug, Copy, Clone, Default)]
502pub struct CbfMouseWheelEvent {
503 pub tab_id: u64,
504 pub modifiers: u32,
505 pub position_in_widget_x: f32,
506 pub position_in_widget_y: f32,
507 pub position_in_screen_x: f32,
508 pub position_in_screen_y: f32,
509 pub movement_x: f32,
510 pub movement_y: f32,
511 pub is_raw_movement_event: bool,
512 pub delta_x: f32,
513 pub delta_y: f32,
514 pub wheel_ticks_x: f32,
515 pub wheel_ticks_y: f32,
516 pub phase: u32,
517 pub momentum_phase: u32,
518 pub delta_units: u8,
519}
520
521#[repr(C)]
522#[derive(Debug, Copy, Clone, Default)]
523pub struct CbfDragUrlInfo {
524 pub url: *mut c_char,
525 pub title: *mut c_char,
526}
527
528#[repr(C)]
529#[derive(Debug, Copy, Clone, Default)]
530pub struct CbfDragUrlInfoList {
531 pub items: *const CbfDragUrlInfo,
532 pub len: u32,
533}
534
535#[repr(C)]
536#[derive(Debug, Copy, Clone, Default)]
537pub struct CbfStringList {
538 pub items: *mut *mut c_char,
539 pub len: u32,
540}
541
542#[repr(C)]
543#[derive(Debug, Copy, Clone, Default)]
544pub struct CbfIconData {
545 pub kind: u8,
546 pub url: *mut c_char,
547 pub bytes: *const u8,
548 pub len: u32,
549 pub media_type: *mut c_char,
550}
551
552#[repr(C)]
553#[derive(Debug, Copy, Clone, Default)]
554pub struct CbfExtensionInfo {
555 pub id: *mut c_char,
556 pub name: *mut c_char,
557 pub version: *mut c_char,
558 pub enabled: bool,
559 pub permission_names: CbfStringList,
560 pub icon: CbfIconData,
561}
562
563#[repr(C)]
564#[derive(Debug, Copy, Clone, Default)]
565pub struct CbfExtensionInfoList {
566 pub items: *mut CbfExtensionInfo,
567 pub len: u32,
568}
569
570#[repr(C)]
571#[derive(Debug, Copy, Clone, Default)]
572pub struct CbfStringPair {
573 pub key: *mut c_char,
574 pub value: *mut c_char,
575}
576
577#[repr(C)]
578#[derive(Debug, Copy, Clone, Default)]
579pub struct CbfStringPairList {
580 pub items: *mut CbfStringPair,
581 pub len: u32,
582}
583
584#[repr(C)]
585#[derive(Debug, Copy, Clone, Default)]
586pub struct CbfDragData {
587 pub text: *mut c_char,
588 pub html: *mut c_char,
589 pub html_base_url: *mut c_char,
590 pub url_infos: CbfDragUrlInfoList,
591 pub filenames: CbfStringList,
592 pub file_mime_types: CbfStringList,
593 pub custom_data: CbfStringPairList,
594}
595
596#[repr(C)]
597#[derive(Debug, Copy, Clone, Default)]
598pub struct CbfDragImage {
599 pub png_bytes: *const u8,
600 pub png_len: u32,
601 pub pixel_width: u32,
602 pub pixel_height: u32,
603 pub scale: f32,
604 pub cursor_offset_x: i32,
605 pub cursor_offset_y: i32,
606}
607
608#[repr(C)]
609#[derive(Debug, Copy, Clone, Default)]
610pub struct CbfDragStartRequest {
611 pub session_id: u64,
612 pub tab_id: u64,
613 pub allowed_operations: u32,
614 pub source_origin: *mut c_char,
615 pub data: CbfDragData,
616 pub image: CbfDragImage,
617}
618
619#[repr(C)]
620#[derive(Debug, Copy, Clone, Default)]
621pub struct CbfDragUpdate {
622 pub session_id: u64,
623 pub tab_id: u64,
624 pub allowed_operations: u32,
625 pub modifiers: u32,
626 pub position_in_widget_x: f32,
627 pub position_in_widget_y: f32,
628 pub position_in_screen_x: f32,
629 pub position_in_screen_y: f32,
630}
631
632#[repr(C)]
633#[derive(Debug, Copy, Clone, Default)]
634pub struct CbfDragDrop {
635 pub session_id: u64,
636 pub tab_id: u64,
637 pub modifiers: u32,
638 pub position_in_widget_x: f32,
639 pub position_in_widget_y: f32,
640 pub position_in_screen_x: f32,
641 pub position_in_screen_y: f32,
642}
643
644#[repr(C)]
645#[derive(Debug, Copy, Clone, Default)]
646pub struct CbfRect {
647 pub x: i32,
648 pub y: i32,
649 pub width: i32,
650 pub height: i32,
651}
652
653#[repr(C)]
654#[derive(Debug, Copy, Clone, Default)]
655pub struct CbfRectList {
656 pub items: *const CbfRect,
657 pub len: u32,
658}
659
660#[repr(C)]
661#[derive(Debug, Copy, Clone, Default)]
662pub struct CbfImeCompositionBounds {
663 pub range_start: i32,
664 pub range_end: i32,
665 pub character_bounds: CbfRectList,
666}
667
668#[repr(C)]
669#[derive(Debug, Copy, Clone, Default)]
670pub struct CbfTextSelectionBounds {
671 pub range_start: i32,
672 pub range_end: i32,
673 pub caret_rect: CbfRect,
674 pub first_selection_rect: CbfRect,
675}
676
677#[repr(C)]
678#[derive(Debug, Copy, Clone, Default)]
679pub struct CbfImeBoundsUpdate {
680 pub has_composition: bool,
681 pub composition: CbfImeCompositionBounds,
682 pub has_selection: bool,
683 pub selection: CbfTextSelectionBounds,
684}
685
686#[repr(C)]
687#[derive(Debug, Copy, Clone, Default)]
688pub struct CbfTabIdList {
689 pub items: *const u64,
690 pub len: u32,
691}
692
693#[repr(C)]
694#[derive(Debug, Copy, Clone, Default)]
695pub struct CbfImeTextSpan {
696 pub type_: u8,
697 pub start_offset: u32,
698 pub end_offset: u32,
699 pub underline_color: u32,
700 pub thickness: u8,
701 pub underline_style: u8,
702 pub text_color: u32,
703 pub background_color: u32,
704 pub suggestion_highlight_color: u32,
705 pub remove_on_finish_composing: bool,
706 pub interim_char_selection: bool,
707 pub should_hide_suggestion_menu: bool,
708}
709
710#[repr(C)]
711#[derive(Debug, Copy, Clone, Default)]
712pub struct CbfImeTextSpanList {
713 pub items: *const CbfImeTextSpan,
714 pub len: u32,
715}
716
717#[repr(C)]
718#[derive(Debug, Copy, Clone, Default)]
719pub struct CbfImeComposition {
720 pub tab_id: u64,
721 pub text: *const c_char,
722 pub selection_start: i32,
723 pub selection_end: i32,
724 pub replacement_range_start: i32,
725 pub replacement_range_end: i32,
726 pub spans: CbfImeTextSpanList,
727}
728
729#[repr(C)]
730#[derive(Debug, Copy, Clone, Default)]
731pub struct CbfImeCommitText {
732 pub tab_id: u64,
733 pub text: *const c_char,
734 pub relative_caret_position: i32,
735 pub replacement_range_start: i32,
736 pub replacement_range_end: i32,
737 pub spans: CbfImeTextSpanList,
738}
739
740#[repr(C)]
741#[derive(Debug, Copy, Clone, Default)]
742pub struct CbfContextMenuIcon {
743 pub png_bytes: *const u8,
744 pub len: u32,
745 pub width: u32,
746 pub height: u32,
747}
748
749#[repr(C)]
750#[derive(Debug, Copy, Clone, Default)]
751pub struct CbfContextMenuItemList {
752 pub items: *const CbfContextMenuItem,
753 pub len: u32,
754}
755
756#[repr(C)]
757#[derive(Debug, Copy, Clone, Default)]
758pub struct CbfContextMenuItem {
759 pub type_: u8,
760 pub command_id: i32,
761 pub label: *mut c_char,
762 pub secondary_label: *mut c_char,
763 pub minor_text: *mut c_char,
764 pub accessible_name: *mut c_char,
765 pub enabled: bool,
766 pub visible: bool,
767 pub checked: bool,
768 pub group_id: i32,
769 pub is_new_feature: bool,
770 pub is_alerted: bool,
771 pub may_have_mnemonics: bool,
772 pub has_accelerator: bool,
773 pub accelerator_key_equivalent: *mut c_char,
774 pub accelerator_modifier_mask: u32,
775 pub icon: CbfContextMenuIcon,
776 pub minor_icon: CbfContextMenuIcon,
777 pub submenu: CbfContextMenuItemList,
778}
779
780#[repr(C)]
781#[derive(Debug, Copy, Clone, Default)]
782pub struct CbfContextMenu {
783 pub menu_id: u64,
784 pub x: i32,
785 pub y: i32,
786 pub source_type: u32,
787 pub items: CbfContextMenuItemList,
788}
789
790unsafe extern "C" {
791 pub fn cbf_bridge_client_create() -> *mut CbfBridgeClientHandle;
792 pub fn cbf_bridge_client_destroy(client: *mut CbfBridgeClientHandle);
793 pub fn cbf_bridge_init();
794 pub fn cbf_bridge_prepare_channel(out_switch_arg: *mut c_char, out_arg_len: i32) -> i32;
795 pub fn cbf_bridge_pass_child_pid(child_pid: i64);
796 pub fn cbf_bridge_client_connect_inherited(client: *mut CbfBridgeClientHandle) -> bool;
797 pub fn cbf_bridge_client_authenticate(
798 client: *mut CbfBridgeClientHandle,
799 token: *const c_char,
800 ) -> bool;
801 pub fn cbf_bridge_client_wait_for_event(
802 client: *mut CbfBridgeClientHandle,
803 timeout_ms: i64,
804 ) -> i32;
805 pub fn cbf_bridge_client_poll_event(
806 client: *mut CbfBridgeClientHandle,
807 out_event: *mut CbfBridgeEvent,
808 ) -> bool;
809 pub fn cbf_bridge_event_free(event: *mut CbfBridgeEvent);
810 pub fn cbf_bridge_client_get_profiles(
811 client: *mut CbfBridgeClientHandle,
812 out_list: *mut CbfProfileList,
813 ) -> bool;
814 pub fn cbf_bridge_profile_list_free(list: *mut CbfProfileList);
815 pub fn cbf_bridge_client_list_extensions(
816 client: *mut CbfBridgeClientHandle,
817 profile_id: *const c_char,
818 out_list: *mut CbfExtensionInfoList,
819 ) -> bool;
820 pub fn cbf_bridge_extension_list_free(list: *mut CbfExtensionInfoList);
821 pub fn cbf_bridge_client_create_web_page(
822 client: *mut CbfBridgeClientHandle,
823 request_id: u64,
824 initial_url: *const c_char,
825 profile_id: *const c_char,
826 ) -> bool;
827 pub fn cbf_bridge_client_create_tab(
828 client: *mut CbfBridgeClientHandle,
829 request_id: u64,
830 initial_url: *const c_char,
831 profile_id: *const c_char,
832 ) -> bool;
833 pub fn cbf_bridge_client_request_close_web_page(
834 client: *mut CbfBridgeClientHandle,
835 tab_id: u64,
836 ) -> bool;
837 pub fn cbf_bridge_client_request_close_tab(
838 client: *mut CbfBridgeClientHandle,
839 tab_id: u64,
840 ) -> bool;
841 pub fn cbf_bridge_client_set_web_page_size(
842 client: *mut CbfBridgeClientHandle,
843 tab_id: u64,
844 width: u32,
845 height: u32,
846 ) -> bool;
847 pub fn cbf_bridge_client_set_tab_size(
848 client: *mut CbfBridgeClientHandle,
849 tab_id: u64,
850 width: u32,
851 height: u32,
852 ) -> bool;
853 pub fn cbf_bridge_client_set_extension_popup_size(
854 client: *mut CbfBridgeClientHandle,
855 popup_id: u64,
856 width: u32,
857 height: u32,
858 ) -> bool;
859 pub fn cbf_bridge_client_set_web_page_focus(
860 client: *mut CbfBridgeClientHandle,
861 tab_id: u64,
862 focused: bool,
863 ) -> bool;
864 pub fn cbf_bridge_client_set_tab_focus(
865 client: *mut CbfBridgeClientHandle,
866 tab_id: u64,
867 focused: bool,
868 ) -> bool;
869 pub fn cbf_bridge_client_set_extension_popup_focus(
870 client: *mut CbfBridgeClientHandle,
871 popup_id: u64,
872 focused: bool,
873 ) -> bool;
874 pub fn cbf_bridge_client_send_key_event(
875 client: *mut CbfBridgeClientHandle,
876 event: *const CbfKeyEvent,
877 commands: *const CbfCommandList,
878 ) -> bool;
879 pub fn cbf_bridge_client_send_extension_popup_key_event(
880 client: *mut CbfBridgeClientHandle,
881 popup_id: u64,
882 event: *const CbfKeyEvent,
883 commands: *const CbfCommandList,
884 ) -> bool;
885 pub fn cbf_bridge_client_send_mouse_event(
886 client: *mut CbfBridgeClientHandle,
887 event: *const CbfMouseEvent,
888 ) -> bool;
889 pub fn cbf_bridge_client_send_extension_popup_mouse_event(
890 client: *mut CbfBridgeClientHandle,
891 popup_id: u64,
892 event: *const CbfMouseEvent,
893 ) -> bool;
894 pub fn cbf_bridge_client_send_mouse_wheel_event(
895 client: *mut CbfBridgeClientHandle,
896 event: *const CbfMouseWheelEvent,
897 ) -> bool;
898 pub fn cbf_bridge_client_send_extension_popup_mouse_wheel_event(
899 client: *mut CbfBridgeClientHandle,
900 popup_id: u64,
901 event: *const CbfMouseWheelEvent,
902 ) -> bool;
903 pub fn cbf_bridge_client_send_drag_update(
904 client: *mut CbfBridgeClientHandle,
905 update: *const CbfDragUpdate,
906 ) -> bool;
907 pub fn cbf_bridge_client_send_drag_drop(
908 client: *mut CbfBridgeClientHandle,
909 drop: *const CbfDragDrop,
910 ) -> bool;
911 pub fn cbf_bridge_client_send_drag_cancel(
912 client: *mut CbfBridgeClientHandle,
913 session_id: u64,
914 tab_id: u64,
915 ) -> bool;
916 pub fn cbf_bridge_convert_nsevent(
917 nsevent: *mut std::ffi::c_void,
918 tab_id: u64,
919 out_event: *mut CbfKeyEvent,
920 );
921 pub fn cbf_bridge_free_converted_key_event(event: *mut CbfKeyEvent);
922 pub fn cbf_bridge_convert_nsevent_to_mouse_event(
923 nsevent: *mut std::ffi::c_void,
924 nsview: *mut std::ffi::c_void,
925 tab_id: u64,
926 pointer_type: u8,
927 unaccelerated_movement: bool,
928 out_event: *mut CbfMouseEvent,
929 );
930 pub fn cbf_bridge_convert_nsevent_to_mouse_wheel_event(
931 nsevent: *mut std::ffi::c_void,
932 nsview: *mut std::ffi::c_void,
933 tab_id: u64,
934 out_event: *mut CbfMouseWheelEvent,
935 );
936 pub fn cbf_bridge_convert_nspasteboard_to_drag_data(
937 nspasteboard: *mut std::ffi::c_void,
938 out_data: *mut CbfDragData,
939 );
940 pub fn cbf_bridge_free_converted_drag_data(data: *mut CbfDragData);
941 pub fn cbf_bridge_client_set_composition(
942 client: *mut CbfBridgeClientHandle,
943 composition: *const CbfImeComposition,
944 ) -> bool;
945 pub fn cbf_bridge_client_set_extension_popup_composition(
946 client: *mut CbfBridgeClientHandle,
947 popup_id: u64,
948 composition: *const CbfImeComposition,
949 ) -> bool;
950 pub fn cbf_bridge_client_commit_text(
951 client: *mut CbfBridgeClientHandle,
952 commit: *const CbfImeCommitText,
953 ) -> bool;
954 pub fn cbf_bridge_client_commit_extension_popup_text(
955 client: *mut CbfBridgeClientHandle,
956 popup_id: u64,
957 commit: *const CbfImeCommitText,
958 ) -> bool;
959 pub fn cbf_bridge_client_finish_composing_text(
960 client: *mut CbfBridgeClientHandle,
961 tab_id: u64,
962 behavior: u8,
963 ) -> bool;
964 pub fn cbf_bridge_client_finish_extension_popup_composing_text(
965 client: *mut CbfBridgeClientHandle,
966 popup_id: u64,
967 behavior: u8,
968 ) -> bool;
969 pub fn cbf_bridge_client_execute_edit_action(
970 client: *mut CbfBridgeClientHandle,
971 tab_id: u64,
972 action: u8,
973 ) -> bool;
974 pub fn cbf_bridge_client_execute_extension_popup_edit_action(
975 client: *mut CbfBridgeClientHandle,
976 popup_id: u64,
977 action: u8,
978 ) -> bool;
979 pub fn cbf_bridge_client_execute_context_menu_command(
980 client: *mut CbfBridgeClientHandle,
981 menu_id: u64,
982 command_id: i32,
983 event_flags: i32,
984 ) -> bool;
985 pub fn cbf_bridge_client_dismiss_context_menu(
986 client: *mut CbfBridgeClientHandle,
987 menu_id: u64,
988 ) -> bool;
989 pub fn cbf_bridge_client_accept_choice_menu_selection(
990 client: *mut CbfBridgeClientHandle,
991 request_id: u64,
992 indices: *const CbfChoiceMenuSelectedIndices,
993 ) -> bool;
994 pub fn cbf_bridge_client_dismiss_choice_menu(
995 client: *mut CbfBridgeClientHandle,
996 request_id: u64,
997 ) -> bool;
998 pub fn cbf_bridge_client_confirm_beforeunload(
999 client: *mut CbfBridgeClientHandle,
1000 tab_id: u64,
1001 request_id: u64,
1002 proceed: bool,
1003 ) -> bool;
1004 pub fn cbf_bridge_client_respond_javascript_dialog(
1005 client: *mut CbfBridgeClientHandle,
1006 tab_id: u64,
1007 request_id: u64,
1008 accept: bool,
1009 prompt_text: *const c_char,
1010 ) -> bool;
1011 pub fn cbf_bridge_client_respond_extension_popup_javascript_dialog(
1012 client: *mut CbfBridgeClientHandle,
1013 popup_id: u64,
1014 request_id: u64,
1015 accept: bool,
1016 prompt_text: *const c_char,
1017 ) -> bool;
1018 pub fn cbf_bridge_client_navigate(
1019 client: *mut CbfBridgeClientHandle,
1020 tab_id: u64,
1021 url: *const c_char,
1022 ) -> bool;
1023 pub fn cbf_bridge_client_go_back(client: *mut CbfBridgeClientHandle, tab_id: u64) -> bool;
1024 pub fn cbf_bridge_client_go_forward(client: *mut CbfBridgeClientHandle, tab_id: u64) -> bool;
1025 pub fn cbf_bridge_client_reload(
1026 client: *mut CbfBridgeClientHandle,
1027 tab_id: u64,
1028 ignore_cache: bool,
1029 ) -> bool;
1030 pub fn cbf_bridge_client_print_preview(client: *mut CbfBridgeClientHandle, tab_id: u64)
1031 -> bool;
1032 pub fn cbf_bridge_client_activate_extension_action(
1033 client: *mut CbfBridgeClientHandle,
1034 tab_id: u64,
1035 extension_id: *const c_char,
1036 ) -> bool;
1037 pub fn cbf_bridge_client_close_extension_popup(
1038 client: *mut CbfBridgeClientHandle,
1039 popup_id: u64,
1040 ) -> bool;
1041 pub fn cbf_bridge_client_open_dev_tools(
1042 client: *mut CbfBridgeClientHandle,
1043 tab_id: u64,
1044 ) -> bool;
1045 pub fn cbf_bridge_client_inspect_element(
1046 client: *mut CbfBridgeClientHandle,
1047 tab_id: u64,
1048 x: i32,
1049 y: i32,
1050 ) -> bool;
1051 pub fn cbf_bridge_client_get_web_page_dom_html(
1052 client: *mut CbfBridgeClientHandle,
1053 tab_id: u64,
1054 request_id: u64,
1055 ) -> bool;
1056 pub fn cbf_bridge_client_get_tab_dom_html(
1057 client: *mut CbfBridgeClientHandle,
1058 tab_id: u64,
1059 request_id: u64,
1060 ) -> bool;
1061 pub fn cbf_bridge_client_open_default_prompt_ui(
1062 client: *mut CbfBridgeClientHandle,
1063 profile_id: *const c_char,
1064 request_id: u64,
1065 ) -> bool;
1066 pub fn cbf_bridge_client_respond_prompt_ui(
1067 client: *mut CbfBridgeClientHandle,
1068 profile_id: *const c_char,
1069 request_id: u64,
1070 prompt_ui_kind: u8,
1071 proceed: bool,
1072 report_abuse: bool,
1073 destination_path: *const c_char,
1074 ) -> bool;
1075 pub fn cbf_bridge_client_respond_prompt_ui_for_tab(
1076 client: *mut CbfBridgeClientHandle,
1077 tab_id: u64,
1078 request_id: u64,
1079 prompt_ui_kind: u8,
1080 proceed: bool,
1081 report_abuse: bool,
1082 destination_path: *const c_char,
1083 ) -> bool;
1084 pub fn cbf_bridge_client_pause_download(
1085 client: *mut CbfBridgeClientHandle,
1086 download_id: u64,
1087 ) -> bool;
1088 pub fn cbf_bridge_client_resume_download(
1089 client: *mut CbfBridgeClientHandle,
1090 download_id: u64,
1091 ) -> bool;
1092 pub fn cbf_bridge_client_cancel_download(
1093 client: *mut CbfBridgeClientHandle,
1094 download_id: u64,
1095 ) -> bool;
1096 pub fn cbf_bridge_client_close_prompt_ui(
1097 client: *mut CbfBridgeClientHandle,
1098 profile_id: *const c_char,
1099 prompt_ui_id: u64,
1100 ) -> bool;
1101 pub fn cbf_bridge_client_respond_tab_open(
1102 client: *mut CbfBridgeClientHandle,
1103 request_id: u64,
1104 response_kind: u8,
1105 target_tab_id: u64,
1106 activate: bool,
1107 ) -> bool;
1108 pub fn cbf_bridge_client_shutdown(client: *mut CbfBridgeClientHandle);
1109 pub fn cbf_bridge_client_request_shutdown(
1110 client: *mut CbfBridgeClientHandle,
1111 request_id: u64,
1112 ) -> bool;
1113 pub fn cbf_bridge_client_confirm_shutdown(
1114 client: *mut CbfBridgeClientHandle,
1115 request_id: u64,
1116 proceed: bool,
1117 ) -> bool;
1118 pub fn cbf_bridge_client_force_shutdown(client: *mut CbfBridgeClientHandle) -> bool;
1119}