• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2021 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=e53c3c194d40a9bdee41a348a1c9fd65822e4ba9$
13 //
14 
15 #include "libcef_dll/ctocpp/browser_host_ctocpp.h"
16 #include "libcef_dll/cpptoc/client_cpptoc.h"
17 #include "libcef_dll/cpptoc/dev_tools_message_observer_cpptoc.h"
18 #include "libcef_dll/cpptoc/download_image_callback_cpptoc.h"
19 #include "libcef_dll/cpptoc/navigation_entry_visitor_cpptoc.h"
20 #include "libcef_dll/cpptoc/pdf_print_callback_cpptoc.h"
21 #include "libcef_dll/cpptoc/run_file_dialog_callback_cpptoc.h"
22 #include "libcef_dll/ctocpp/browser_ctocpp.h"
23 #include "libcef_dll/ctocpp/dictionary_value_ctocpp.h"
24 #include "libcef_dll/ctocpp/drag_data_ctocpp.h"
25 #include "libcef_dll/ctocpp/extension_ctocpp.h"
26 #include "libcef_dll/ctocpp/navigation_entry_ctocpp.h"
27 #include "libcef_dll/ctocpp/registration_ctocpp.h"
28 #include "libcef_dll/ctocpp/request_context_ctocpp.h"
29 #include "libcef_dll/shutdown_checker.h"
30 #include "libcef_dll/transfer_util.h"
31 
32 // STATIC METHODS - Body may be edited by hand.
33 
34 NO_SANITIZE("cfi-icall")
CreateBrowser(const CefWindowInfo & windowInfo,CefRefPtr<CefClient> client,const CefString & url,const CefBrowserSettings & settings,CefRefPtr<CefDictionaryValue> extra_info,CefRefPtr<CefRequestContext> request_context)35 bool CefBrowserHost::CreateBrowser(
36     const CefWindowInfo& windowInfo,
37     CefRefPtr<CefClient> client,
38     const CefString& url,
39     const CefBrowserSettings& settings,
40     CefRefPtr<CefDictionaryValue> extra_info,
41     CefRefPtr<CefRequestContext> request_context) {
42   shutdown_checker::AssertNotShutdown();
43 
44   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
45 
46   // Unverified params: client, url, extra_info, request_context
47 
48   // Execute
49   int _retval = cef_browser_host_create_browser(
50       &windowInfo, CefClientCppToC::Wrap(client), url.GetStruct(), &settings,
51       CefDictionaryValueCToCpp::Unwrap(extra_info),
52       CefRequestContextCToCpp::Unwrap(request_context));
53 
54   // Return type: bool
55   return _retval ? true : false;
56 }
57 
58 NO_SANITIZE("cfi-icall")
CreateBrowserSync(const CefWindowInfo & windowInfo,CefRefPtr<CefClient> client,const CefString & url,const CefBrowserSettings & settings,CefRefPtr<CefDictionaryValue> extra_info,CefRefPtr<CefRequestContext> request_context)59 CefRefPtr<CefBrowser> CefBrowserHost::CreateBrowserSync(
60     const CefWindowInfo& windowInfo,
61     CefRefPtr<CefClient> client,
62     const CefString& url,
63     const CefBrowserSettings& settings,
64     CefRefPtr<CefDictionaryValue> extra_info,
65     CefRefPtr<CefRequestContext> request_context) {
66   shutdown_checker::AssertNotShutdown();
67 
68   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
69 
70   // Unverified params: client, url, extra_info, request_context
71 
72   // Execute
73   cef_browser_t* _retval = cef_browser_host_create_browser_sync(
74       &windowInfo, CefClientCppToC::Wrap(client), url.GetStruct(), &settings,
75       CefDictionaryValueCToCpp::Unwrap(extra_info),
76       CefRequestContextCToCpp::Unwrap(request_context));
77 
78   // Return type: refptr_same
79   return CefBrowserCToCpp::Wrap(_retval);
80 }
81 
82 // VIRTUAL METHODS - Body may be edited by hand.
83 
84 NO_SANITIZE("cfi-icall")
GetBrowser()85 CefRefPtr<CefBrowser> CefBrowserHostCToCpp::GetBrowser() {
86   shutdown_checker::AssertNotShutdown();
87 
88   cef_browser_host_t* _struct = GetStruct();
89   if (CEF_MEMBER_MISSING(_struct, get_browser))
90     return nullptr;
91 
92   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
93 
94   // Execute
95   cef_browser_t* _retval = _struct->get_browser(_struct);
96 
97   // Return type: refptr_same
98   return CefBrowserCToCpp::Wrap(_retval);
99 }
100 
101 NO_SANITIZE("cfi-icall")
CloseBrowser(bool force_close)102 void CefBrowserHostCToCpp::CloseBrowser(bool force_close) {
103   shutdown_checker::AssertNotShutdown();
104 
105   cef_browser_host_t* _struct = GetStruct();
106   if (CEF_MEMBER_MISSING(_struct, close_browser))
107     return;
108 
109   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
110 
111   // Execute
112   _struct->close_browser(_struct, force_close);
113 }
114 
TryCloseBrowser()115 NO_SANITIZE("cfi-icall") bool CefBrowserHostCToCpp::TryCloseBrowser() {
116   shutdown_checker::AssertNotShutdown();
117 
118   cef_browser_host_t* _struct = GetStruct();
119   if (CEF_MEMBER_MISSING(_struct, try_close_browser))
120     return false;
121 
122   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
123 
124   // Execute
125   int _retval = _struct->try_close_browser(_struct);
126 
127   // Return type: bool
128   return _retval ? true : false;
129 }
130 
SetFocus(bool focus)131 NO_SANITIZE("cfi-icall") void CefBrowserHostCToCpp::SetFocus(bool focus) {
132   shutdown_checker::AssertNotShutdown();
133 
134   cef_browser_host_t* _struct = GetStruct();
135   if (CEF_MEMBER_MISSING(_struct, set_focus))
136     return;
137 
138   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
139 
140   // Execute
141   _struct->set_focus(_struct, focus);
142 }
143 
144 NO_SANITIZE("cfi-icall")
GetWindowHandle()145 CefWindowHandle CefBrowserHostCToCpp::GetWindowHandle() {
146   shutdown_checker::AssertNotShutdown();
147 
148   cef_browser_host_t* _struct = GetStruct();
149   if (CEF_MEMBER_MISSING(_struct, get_window_handle))
150     return kNullWindowHandle;
151 
152   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
153 
154   // Execute
155   cef_window_handle_t _retval = _struct->get_window_handle(_struct);
156 
157   // Return type: simple
158   return _retval;
159 }
160 
161 NO_SANITIZE("cfi-icall")
GetOpenerWindowHandle()162 CefWindowHandle CefBrowserHostCToCpp::GetOpenerWindowHandle() {
163   shutdown_checker::AssertNotShutdown();
164 
165   cef_browser_host_t* _struct = GetStruct();
166   if (CEF_MEMBER_MISSING(_struct, get_opener_window_handle))
167     return kNullWindowHandle;
168 
169   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
170 
171   // Execute
172   cef_window_handle_t _retval = _struct->get_opener_window_handle(_struct);
173 
174   // Return type: simple
175   return _retval;
176 }
177 
HasView()178 NO_SANITIZE("cfi-icall") bool CefBrowserHostCToCpp::HasView() {
179   shutdown_checker::AssertNotShutdown();
180 
181   cef_browser_host_t* _struct = GetStruct();
182   if (CEF_MEMBER_MISSING(_struct, has_view))
183     return false;
184 
185   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
186 
187   // Execute
188   int _retval = _struct->has_view(_struct);
189 
190   // Return type: bool
191   return _retval ? true : false;
192 }
193 
194 NO_SANITIZE("cfi-icall")
GetClient()195 CefRefPtr<CefClient> CefBrowserHostCToCpp::GetClient() {
196   shutdown_checker::AssertNotShutdown();
197 
198   cef_browser_host_t* _struct = GetStruct();
199   if (CEF_MEMBER_MISSING(_struct, get_client))
200     return nullptr;
201 
202   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
203 
204   // Execute
205   cef_client_t* _retval = _struct->get_client(_struct);
206 
207   // Return type: refptr_diff
208   return CefClientCppToC::Unwrap(_retval);
209 }
210 
211 NO_SANITIZE("cfi-icall")
GetRequestContext()212 CefRefPtr<CefRequestContext> CefBrowserHostCToCpp::GetRequestContext() {
213   shutdown_checker::AssertNotShutdown();
214 
215   cef_browser_host_t* _struct = GetStruct();
216   if (CEF_MEMBER_MISSING(_struct, get_request_context))
217     return nullptr;
218 
219   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
220 
221   // Execute
222   cef_request_context_t* _retval = _struct->get_request_context(_struct);
223 
224   // Return type: refptr_same
225   return CefRequestContextCToCpp::Wrap(_retval);
226 }
227 
GetZoomLevel()228 NO_SANITIZE("cfi-icall") double CefBrowserHostCToCpp::GetZoomLevel() {
229   shutdown_checker::AssertNotShutdown();
230 
231   cef_browser_host_t* _struct = GetStruct();
232   if (CEF_MEMBER_MISSING(_struct, get_zoom_level))
233     return 0;
234 
235   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
236 
237   // Execute
238   double _retval = _struct->get_zoom_level(_struct);
239 
240   // Return type: simple
241   return _retval;
242 }
243 
244 NO_SANITIZE("cfi-icall")
SetZoomLevel(double zoomLevel)245 void CefBrowserHostCToCpp::SetZoomLevel(double zoomLevel) {
246   shutdown_checker::AssertNotShutdown();
247 
248   cef_browser_host_t* _struct = GetStruct();
249   if (CEF_MEMBER_MISSING(_struct, set_zoom_level))
250     return;
251 
252   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
253 
254   // Execute
255   _struct->set_zoom_level(_struct, zoomLevel);
256 }
257 
258 NO_SANITIZE("cfi-icall")
RunFileDialog(FileDialogMode mode,const CefString & title,const CefString & default_file_path,const std::vector<CefString> & accept_filters,int selected_accept_filter,CefRefPtr<CefRunFileDialogCallback> callback)259 void CefBrowserHostCToCpp::RunFileDialog(
260     FileDialogMode mode,
261     const CefString& title,
262     const CefString& default_file_path,
263     const std::vector<CefString>& accept_filters,
264     int selected_accept_filter,
265     CefRefPtr<CefRunFileDialogCallback> callback) {
266   shutdown_checker::AssertNotShutdown();
267 
268   cef_browser_host_t* _struct = GetStruct();
269   if (CEF_MEMBER_MISSING(_struct, run_file_dialog))
270     return;
271 
272   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
273 
274   // Verify param: selected_accept_filter; type: simple_byval
275   DCHECK_GE(selected_accept_filter, 0);
276   if (selected_accept_filter < 0)
277     return;
278   // Verify param: callback; type: refptr_diff
279   DCHECK(callback.get());
280   if (!callback.get())
281     return;
282   // Unverified params: title, default_file_path, accept_filters
283 
284   // Translate param: accept_filters; type: string_vec_byref_const
285   cef_string_list_t accept_filtersList = cef_string_list_alloc();
286   DCHECK(accept_filtersList);
287   if (accept_filtersList)
288     transfer_string_list_contents(accept_filters, accept_filtersList);
289 
290   // Execute
291   _struct->run_file_dialog(_struct, mode, title.GetStruct(),
292                            default_file_path.GetStruct(), accept_filtersList,
293                            selected_accept_filter,
294                            CefRunFileDialogCallbackCppToC::Wrap(callback));
295 
296   // Restore param:accept_filters; type: string_vec_byref_const
297   if (accept_filtersList)
298     cef_string_list_free(accept_filtersList);
299 }
300 
301 NO_SANITIZE("cfi-icall")
StartDownload(const CefString & url)302 void CefBrowserHostCToCpp::StartDownload(const CefString& url) {
303   shutdown_checker::AssertNotShutdown();
304 
305   cef_browser_host_t* _struct = GetStruct();
306   if (CEF_MEMBER_MISSING(_struct, start_download))
307     return;
308 
309   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
310 
311   // Verify param: url; type: string_byref_const
312   DCHECK(!url.empty());
313   if (url.empty())
314     return;
315 
316   // Execute
317   _struct->start_download(_struct, url.GetStruct());
318 }
319 
320 NO_SANITIZE("cfi-icall")
DownloadImage(const CefString & image_url,bool is_favicon,uint32 max_image_size,bool bypass_cache,CefRefPtr<CefDownloadImageCallback> callback)321 void CefBrowserHostCToCpp::DownloadImage(
322     const CefString& image_url,
323     bool is_favicon,
324     uint32 max_image_size,
325     bool bypass_cache,
326     CefRefPtr<CefDownloadImageCallback> callback) {
327   shutdown_checker::AssertNotShutdown();
328 
329   cef_browser_host_t* _struct = GetStruct();
330   if (CEF_MEMBER_MISSING(_struct, download_image))
331     return;
332 
333   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
334 
335   // Verify param: image_url; type: string_byref_const
336   DCHECK(!image_url.empty());
337   if (image_url.empty())
338     return;
339   // Verify param: callback; type: refptr_diff
340   DCHECK(callback.get());
341   if (!callback.get())
342     return;
343 
344   // Execute
345   _struct->download_image(_struct, image_url.GetStruct(), is_favicon,
346                           max_image_size, bypass_cache,
347                           CefDownloadImageCallbackCppToC::Wrap(callback));
348 }
349 
Print()350 NO_SANITIZE("cfi-icall") void CefBrowserHostCToCpp::Print() {
351   shutdown_checker::AssertNotShutdown();
352 
353   cef_browser_host_t* _struct = GetStruct();
354   if (CEF_MEMBER_MISSING(_struct, print))
355     return;
356 
357   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
358 
359   // Execute
360   _struct->print(_struct);
361 }
362 
363 NO_SANITIZE("cfi-icall")
PrintToPDF(const CefString & path,const CefPdfPrintSettings & settings,CefRefPtr<CefPdfPrintCallback> callback)364 void CefBrowserHostCToCpp::PrintToPDF(const CefString& path,
365                                       const CefPdfPrintSettings& settings,
366                                       CefRefPtr<CefPdfPrintCallback> callback) {
367   shutdown_checker::AssertNotShutdown();
368 
369   cef_browser_host_t* _struct = GetStruct();
370   if (CEF_MEMBER_MISSING(_struct, print_to_pdf))
371     return;
372 
373   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
374 
375   // Verify param: path; type: string_byref_const
376   DCHECK(!path.empty());
377   if (path.empty())
378     return;
379   // Unverified params: callback
380 
381   // Execute
382   _struct->print_to_pdf(_struct, path.GetStruct(), &settings,
383                         CefPdfPrintCallbackCppToC::Wrap(callback));
384 }
385 
386 NO_SANITIZE("cfi-icall")
Find(int identifier,const CefString & searchText,bool forward,bool matchCase,bool findNext)387 void CefBrowserHostCToCpp::Find(int identifier,
388                                 const CefString& searchText,
389                                 bool forward,
390                                 bool matchCase,
391                                 bool findNext) {
392   shutdown_checker::AssertNotShutdown();
393 
394   cef_browser_host_t* _struct = GetStruct();
395   if (CEF_MEMBER_MISSING(_struct, find))
396     return;
397 
398   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
399 
400   // Verify param: searchText; type: string_byref_const
401   DCHECK(!searchText.empty());
402   if (searchText.empty())
403     return;
404 
405   // Execute
406   _struct->find(_struct, identifier, searchText.GetStruct(), forward, matchCase,
407                 findNext);
408 }
409 
410 NO_SANITIZE("cfi-icall")
StopFinding(bool clearSelection)411 void CefBrowserHostCToCpp::StopFinding(bool clearSelection) {
412   shutdown_checker::AssertNotShutdown();
413 
414   cef_browser_host_t* _struct = GetStruct();
415   if (CEF_MEMBER_MISSING(_struct, stop_finding))
416     return;
417 
418   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
419 
420   // Execute
421   _struct->stop_finding(_struct, clearSelection);
422 }
423 
424 NO_SANITIZE("cfi-icall")
ShowDevTools(const CefWindowInfo & windowInfo,CefRefPtr<CefClient> client,const CefBrowserSettings & settings,const CefPoint & inspect_element_at)425 void CefBrowserHostCToCpp::ShowDevTools(const CefWindowInfo& windowInfo,
426                                         CefRefPtr<CefClient> client,
427                                         const CefBrowserSettings& settings,
428                                         const CefPoint& inspect_element_at) {
429   shutdown_checker::AssertNotShutdown();
430 
431   cef_browser_host_t* _struct = GetStruct();
432   if (CEF_MEMBER_MISSING(_struct, show_dev_tools))
433     return;
434 
435   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
436 
437   // Unverified params: windowInfo, client, settings, inspect_element_at
438 
439   // Execute
440   _struct->show_dev_tools(_struct, &windowInfo, CefClientCppToC::Wrap(client),
441                           &settings, &inspect_element_at);
442 }
443 
CloseDevTools()444 NO_SANITIZE("cfi-icall") void CefBrowserHostCToCpp::CloseDevTools() {
445   shutdown_checker::AssertNotShutdown();
446 
447   cef_browser_host_t* _struct = GetStruct();
448   if (CEF_MEMBER_MISSING(_struct, close_dev_tools))
449     return;
450 
451   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
452 
453   // Execute
454   _struct->close_dev_tools(_struct);
455 }
456 
HasDevTools()457 NO_SANITIZE("cfi-icall") bool CefBrowserHostCToCpp::HasDevTools() {
458   shutdown_checker::AssertNotShutdown();
459 
460   cef_browser_host_t* _struct = GetStruct();
461   if (CEF_MEMBER_MISSING(_struct, has_dev_tools))
462     return false;
463 
464   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
465 
466   // Execute
467   int _retval = _struct->has_dev_tools(_struct);
468 
469   // Return type: bool
470   return _retval ? true : false;
471 }
472 
473 NO_SANITIZE("cfi-icall")
SendDevToolsMessage(const void * message,size_t message_size)474 bool CefBrowserHostCToCpp::SendDevToolsMessage(const void* message,
475                                                size_t message_size) {
476   shutdown_checker::AssertNotShutdown();
477 
478   cef_browser_host_t* _struct = GetStruct();
479   if (CEF_MEMBER_MISSING(_struct, send_dev_tools_message))
480     return false;
481 
482   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
483 
484   // Verify param: message; type: simple_byaddr
485   DCHECK(message);
486   if (!message)
487     return false;
488 
489   // Execute
490   int _retval = _struct->send_dev_tools_message(_struct, message, message_size);
491 
492   // Return type: bool
493   return _retval ? true : false;
494 }
495 
496 NO_SANITIZE("cfi-icall")
ExecuteDevToolsMethod(int message_id,const CefString & method,CefRefPtr<CefDictionaryValue> params)497 int CefBrowserHostCToCpp::ExecuteDevToolsMethod(
498     int message_id,
499     const CefString& method,
500     CefRefPtr<CefDictionaryValue> params) {
501   shutdown_checker::AssertNotShutdown();
502 
503   cef_browser_host_t* _struct = GetStruct();
504   if (CEF_MEMBER_MISSING(_struct, execute_dev_tools_method))
505     return 0;
506 
507   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
508 
509   // Verify param: method; type: string_byref_const
510   DCHECK(!method.empty());
511   if (method.empty())
512     return 0;
513   // Unverified params: params
514 
515   // Execute
516   int _retval = _struct->execute_dev_tools_method(
517       _struct, message_id, method.GetStruct(),
518       CefDictionaryValueCToCpp::Unwrap(params));
519 
520   // Return type: simple
521   return _retval;
522 }
523 
524 NO_SANITIZE("cfi-icall")
AddDevToolsMessageObserver(CefRefPtr<CefDevToolsMessageObserver> observer)525 CefRefPtr<CefRegistration> CefBrowserHostCToCpp::AddDevToolsMessageObserver(
526     CefRefPtr<CefDevToolsMessageObserver> observer) {
527   shutdown_checker::AssertNotShutdown();
528 
529   cef_browser_host_t* _struct = GetStruct();
530   if (CEF_MEMBER_MISSING(_struct, add_dev_tools_message_observer))
531     return nullptr;
532 
533   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
534 
535   // Verify param: observer; type: refptr_diff
536   DCHECK(observer.get());
537   if (!observer.get())
538     return nullptr;
539 
540   // Execute
541   cef_registration_t* _retval = _struct->add_dev_tools_message_observer(
542       _struct, CefDevToolsMessageObserverCppToC::Wrap(observer));
543 
544   // Return type: refptr_same
545   return CefRegistrationCToCpp::Wrap(_retval);
546 }
547 
548 NO_SANITIZE("cfi-icall")
GetNavigationEntries(CefRefPtr<CefNavigationEntryVisitor> visitor,bool current_only)549 void CefBrowserHostCToCpp::GetNavigationEntries(
550     CefRefPtr<CefNavigationEntryVisitor> visitor,
551     bool current_only) {
552   shutdown_checker::AssertNotShutdown();
553 
554   cef_browser_host_t* _struct = GetStruct();
555   if (CEF_MEMBER_MISSING(_struct, get_navigation_entries))
556     return;
557 
558   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
559 
560   // Verify param: visitor; type: refptr_diff
561   DCHECK(visitor.get());
562   if (!visitor.get())
563     return;
564 
565   // Execute
566   _struct->get_navigation_entries(
567       _struct, CefNavigationEntryVisitorCppToC::Wrap(visitor), current_only);
568 }
569 
570 NO_SANITIZE("cfi-icall")
ReplaceMisspelling(const CefString & word)571 void CefBrowserHostCToCpp::ReplaceMisspelling(const CefString& word) {
572   shutdown_checker::AssertNotShutdown();
573 
574   cef_browser_host_t* _struct = GetStruct();
575   if (CEF_MEMBER_MISSING(_struct, replace_misspelling))
576     return;
577 
578   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
579 
580   // Verify param: word; type: string_byref_const
581   DCHECK(!word.empty());
582   if (word.empty())
583     return;
584 
585   // Execute
586   _struct->replace_misspelling(_struct, word.GetStruct());
587 }
588 
589 NO_SANITIZE("cfi-icall")
AddWordToDictionary(const CefString & word)590 void CefBrowserHostCToCpp::AddWordToDictionary(const CefString& word) {
591   shutdown_checker::AssertNotShutdown();
592 
593   cef_browser_host_t* _struct = GetStruct();
594   if (CEF_MEMBER_MISSING(_struct, add_word_to_dictionary))
595     return;
596 
597   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
598 
599   // Verify param: word; type: string_byref_const
600   DCHECK(!word.empty());
601   if (word.empty())
602     return;
603 
604   // Execute
605   _struct->add_word_to_dictionary(_struct, word.GetStruct());
606 }
607 
608 NO_SANITIZE("cfi-icall")
IsWindowRenderingDisabled()609 bool CefBrowserHostCToCpp::IsWindowRenderingDisabled() {
610   shutdown_checker::AssertNotShutdown();
611 
612   cef_browser_host_t* _struct = GetStruct();
613   if (CEF_MEMBER_MISSING(_struct, is_window_rendering_disabled))
614     return false;
615 
616   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
617 
618   // Execute
619   int _retval = _struct->is_window_rendering_disabled(_struct);
620 
621   // Return type: bool
622   return _retval ? true : false;
623 }
624 
WasResized()625 NO_SANITIZE("cfi-icall") void CefBrowserHostCToCpp::WasResized() {
626   shutdown_checker::AssertNotShutdown();
627 
628   cef_browser_host_t* _struct = GetStruct();
629   if (CEF_MEMBER_MISSING(_struct, was_resized))
630     return;
631 
632   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
633 
634   // Execute
635   _struct->was_resized(_struct);
636 }
637 
WasHidden(bool hidden)638 NO_SANITIZE("cfi-icall") void CefBrowserHostCToCpp::WasHidden(bool hidden) {
639   shutdown_checker::AssertNotShutdown();
640 
641   cef_browser_host_t* _struct = GetStruct();
642   if (CEF_MEMBER_MISSING(_struct, was_hidden))
643     return;
644 
645   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
646 
647   // Execute
648   _struct->was_hidden(_struct, hidden);
649 }
650 
NotifyScreenInfoChanged()651 NO_SANITIZE("cfi-icall") void CefBrowserHostCToCpp::NotifyScreenInfoChanged() {
652   shutdown_checker::AssertNotShutdown();
653 
654   cef_browser_host_t* _struct = GetStruct();
655   if (CEF_MEMBER_MISSING(_struct, notify_screen_info_changed))
656     return;
657 
658   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
659 
660   // Execute
661   _struct->notify_screen_info_changed(_struct);
662 }
663 
664 NO_SANITIZE("cfi-icall")
Invalidate(PaintElementType type)665 void CefBrowserHostCToCpp::Invalidate(PaintElementType type) {
666   shutdown_checker::AssertNotShutdown();
667 
668   cef_browser_host_t* _struct = GetStruct();
669   if (CEF_MEMBER_MISSING(_struct, invalidate))
670     return;
671 
672   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
673 
674   // Execute
675   _struct->invalidate(_struct, type);
676 }
677 
SendExternalBeginFrame()678 NO_SANITIZE("cfi-icall") void CefBrowserHostCToCpp::SendExternalBeginFrame() {
679   shutdown_checker::AssertNotShutdown();
680 
681   cef_browser_host_t* _struct = GetStruct();
682   if (CEF_MEMBER_MISSING(_struct, send_external_begin_frame))
683     return;
684 
685   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
686 
687   // Execute
688   _struct->send_external_begin_frame(_struct);
689 }
690 
691 NO_SANITIZE("cfi-icall")
SendKeyEvent(const CefKeyEvent & event)692 void CefBrowserHostCToCpp::SendKeyEvent(const CefKeyEvent& event) {
693   shutdown_checker::AssertNotShutdown();
694 
695   cef_browser_host_t* _struct = GetStruct();
696   if (CEF_MEMBER_MISSING(_struct, send_key_event))
697     return;
698 
699   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
700 
701   // Execute
702   _struct->send_key_event(_struct, &event);
703 }
704 
705 NO_SANITIZE("cfi-icall")
SendMouseClickEvent(const CefMouseEvent & event,MouseButtonType type,bool mouseUp,int clickCount)706 void CefBrowserHostCToCpp::SendMouseClickEvent(const CefMouseEvent& event,
707                                                MouseButtonType type,
708                                                bool mouseUp,
709                                                int clickCount) {
710   shutdown_checker::AssertNotShutdown();
711 
712   cef_browser_host_t* _struct = GetStruct();
713   if (CEF_MEMBER_MISSING(_struct, send_mouse_click_event))
714     return;
715 
716   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
717 
718   // Execute
719   _struct->send_mouse_click_event(_struct, &event, type, mouseUp, clickCount);
720 }
721 
722 NO_SANITIZE("cfi-icall")
SendMouseMoveEvent(const CefMouseEvent & event,bool mouseLeave)723 void CefBrowserHostCToCpp::SendMouseMoveEvent(const CefMouseEvent& event,
724                                               bool mouseLeave) {
725   shutdown_checker::AssertNotShutdown();
726 
727   cef_browser_host_t* _struct = GetStruct();
728   if (CEF_MEMBER_MISSING(_struct, send_mouse_move_event))
729     return;
730 
731   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
732 
733   // Execute
734   _struct->send_mouse_move_event(_struct, &event, mouseLeave);
735 }
736 
737 NO_SANITIZE("cfi-icall")
SendMouseWheelEvent(const CefMouseEvent & event,int deltaX,int deltaY)738 void CefBrowserHostCToCpp::SendMouseWheelEvent(const CefMouseEvent& event,
739                                                int deltaX,
740                                                int deltaY) {
741   shutdown_checker::AssertNotShutdown();
742 
743   cef_browser_host_t* _struct = GetStruct();
744   if (CEF_MEMBER_MISSING(_struct, send_mouse_wheel_event))
745     return;
746 
747   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
748 
749   // Execute
750   _struct->send_mouse_wheel_event(_struct, &event, deltaX, deltaY);
751 }
752 
753 NO_SANITIZE("cfi-icall")
SendTouchEvent(const CefTouchEvent & event)754 void CefBrowserHostCToCpp::SendTouchEvent(const CefTouchEvent& event) {
755   shutdown_checker::AssertNotShutdown();
756 
757   cef_browser_host_t* _struct = GetStruct();
758   if (CEF_MEMBER_MISSING(_struct, send_touch_event))
759     return;
760 
761   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
762 
763   // Execute
764   _struct->send_touch_event(_struct, &event);
765 }
766 
767 NO_SANITIZE("cfi-icall")
SendFocusEvent(bool setFocus)768 void CefBrowserHostCToCpp::SendFocusEvent(bool setFocus) {
769   shutdown_checker::AssertNotShutdown();
770 
771   cef_browser_host_t* _struct = GetStruct();
772   if (CEF_MEMBER_MISSING(_struct, send_focus_event))
773     return;
774 
775   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
776 
777   // Execute
778   _struct->send_focus_event(_struct, setFocus);
779 }
780 
SendCaptureLostEvent()781 NO_SANITIZE("cfi-icall") void CefBrowserHostCToCpp::SendCaptureLostEvent() {
782   shutdown_checker::AssertNotShutdown();
783 
784   cef_browser_host_t* _struct = GetStruct();
785   if (CEF_MEMBER_MISSING(_struct, send_capture_lost_event))
786     return;
787 
788   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
789 
790   // Execute
791   _struct->send_capture_lost_event(_struct);
792 }
793 
794 NO_SANITIZE("cfi-icall")
NotifyMoveOrResizeStarted()795 void CefBrowserHostCToCpp::NotifyMoveOrResizeStarted() {
796   shutdown_checker::AssertNotShutdown();
797 
798   cef_browser_host_t* _struct = GetStruct();
799   if (CEF_MEMBER_MISSING(_struct, notify_move_or_resize_started))
800     return;
801 
802   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
803 
804   // Execute
805   _struct->notify_move_or_resize_started(_struct);
806 }
807 
GetWindowlessFrameRate()808 NO_SANITIZE("cfi-icall") int CefBrowserHostCToCpp::GetWindowlessFrameRate() {
809   shutdown_checker::AssertNotShutdown();
810 
811   cef_browser_host_t* _struct = GetStruct();
812   if (CEF_MEMBER_MISSING(_struct, get_windowless_frame_rate))
813     return 0;
814 
815   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
816 
817   // Execute
818   int _retval = _struct->get_windowless_frame_rate(_struct);
819 
820   // Return type: simple
821   return _retval;
822 }
823 
824 NO_SANITIZE("cfi-icall")
SetWindowlessFrameRate(int frame_rate)825 void CefBrowserHostCToCpp::SetWindowlessFrameRate(int frame_rate) {
826   shutdown_checker::AssertNotShutdown();
827 
828   cef_browser_host_t* _struct = GetStruct();
829   if (CEF_MEMBER_MISSING(_struct, set_windowless_frame_rate))
830     return;
831 
832   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
833 
834   // Execute
835   _struct->set_windowless_frame_rate(_struct, frame_rate);
836 }
837 
838 NO_SANITIZE("cfi-icall")
ImeSetComposition(const CefString & text,const std::vector<CefCompositionUnderline> & underlines,const CefRange & replacement_range,const CefRange & selection_range)839 void CefBrowserHostCToCpp::ImeSetComposition(
840     const CefString& text,
841     const std::vector<CefCompositionUnderline>& underlines,
842     const CefRange& replacement_range,
843     const CefRange& selection_range) {
844   shutdown_checker::AssertNotShutdown();
845 
846   cef_browser_host_t* _struct = GetStruct();
847   if (CEF_MEMBER_MISSING(_struct, ime_set_composition))
848     return;
849 
850   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
851 
852   // Unverified params: text, underlines
853 
854   // Translate param: underlines; type: simple_vec_byref_const
855   const size_t underlinesCount = underlines.size();
856   cef_composition_underline_t* underlinesList = NULL;
857   if (underlinesCount > 0) {
858     underlinesList = new cef_composition_underline_t[underlinesCount];
859     DCHECK(underlinesList);
860     if (underlinesList) {
861       for (size_t i = 0; i < underlinesCount; ++i) {
862         underlinesList[i] = underlines[i];
863       }
864     }
865   }
866 
867   // Execute
868   _struct->ime_set_composition(_struct, text.GetStruct(), underlinesCount,
869                                underlinesList, &replacement_range,
870                                &selection_range);
871 
872   // Restore param:underlines; type: simple_vec_byref_const
873   if (underlinesList)
874     delete[] underlinesList;
875 }
876 
877 NO_SANITIZE("cfi-icall")
ImeCommitText(const CefString & text,const CefRange & replacement_range,int relative_cursor_pos)878 void CefBrowserHostCToCpp::ImeCommitText(const CefString& text,
879                                          const CefRange& replacement_range,
880                                          int relative_cursor_pos) {
881   shutdown_checker::AssertNotShutdown();
882 
883   cef_browser_host_t* _struct = GetStruct();
884   if (CEF_MEMBER_MISSING(_struct, ime_commit_text))
885     return;
886 
887   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
888 
889   // Unverified params: text
890 
891   // Execute
892   _struct->ime_commit_text(_struct, text.GetStruct(), &replacement_range,
893                            relative_cursor_pos);
894 }
895 
896 NO_SANITIZE("cfi-icall")
ImeFinishComposingText(bool keep_selection)897 void CefBrowserHostCToCpp::ImeFinishComposingText(bool keep_selection) {
898   shutdown_checker::AssertNotShutdown();
899 
900   cef_browser_host_t* _struct = GetStruct();
901   if (CEF_MEMBER_MISSING(_struct, ime_finish_composing_text))
902     return;
903 
904   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
905 
906   // Execute
907   _struct->ime_finish_composing_text(_struct, keep_selection);
908 }
909 
ImeCancelComposition()910 NO_SANITIZE("cfi-icall") void CefBrowserHostCToCpp::ImeCancelComposition() {
911   shutdown_checker::AssertNotShutdown();
912 
913   cef_browser_host_t* _struct = GetStruct();
914   if (CEF_MEMBER_MISSING(_struct, ime_cancel_composition))
915     return;
916 
917   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
918 
919   // Execute
920   _struct->ime_cancel_composition(_struct);
921 }
922 
923 NO_SANITIZE("cfi-icall")
DragTargetDragEnter(CefRefPtr<CefDragData> drag_data,const CefMouseEvent & event,DragOperationsMask allowed_ops)924 void CefBrowserHostCToCpp::DragTargetDragEnter(CefRefPtr<CefDragData> drag_data,
925                                                const CefMouseEvent& event,
926                                                DragOperationsMask allowed_ops) {
927   shutdown_checker::AssertNotShutdown();
928 
929   cef_browser_host_t* _struct = GetStruct();
930   if (CEF_MEMBER_MISSING(_struct, drag_target_drag_enter))
931     return;
932 
933   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
934 
935   // Verify param: drag_data; type: refptr_same
936   DCHECK(drag_data.get());
937   if (!drag_data.get())
938     return;
939 
940   // Execute
941   _struct->drag_target_drag_enter(_struct, CefDragDataCToCpp::Unwrap(drag_data),
942                                   &event, allowed_ops);
943 }
944 
945 NO_SANITIZE("cfi-icall")
DragTargetDragOver(const CefMouseEvent & event,DragOperationsMask allowed_ops)946 void CefBrowserHostCToCpp::DragTargetDragOver(const CefMouseEvent& event,
947                                               DragOperationsMask allowed_ops) {
948   shutdown_checker::AssertNotShutdown();
949 
950   cef_browser_host_t* _struct = GetStruct();
951   if (CEF_MEMBER_MISSING(_struct, drag_target_drag_over))
952     return;
953 
954   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
955 
956   // Execute
957   _struct->drag_target_drag_over(_struct, &event, allowed_ops);
958 }
959 
DragTargetDragLeave()960 NO_SANITIZE("cfi-icall") void CefBrowserHostCToCpp::DragTargetDragLeave() {
961   shutdown_checker::AssertNotShutdown();
962 
963   cef_browser_host_t* _struct = GetStruct();
964   if (CEF_MEMBER_MISSING(_struct, drag_target_drag_leave))
965     return;
966 
967   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
968 
969   // Execute
970   _struct->drag_target_drag_leave(_struct);
971 }
972 
973 NO_SANITIZE("cfi-icall")
DragTargetDrop(const CefMouseEvent & event)974 void CefBrowserHostCToCpp::DragTargetDrop(const CefMouseEvent& event) {
975   shutdown_checker::AssertNotShutdown();
976 
977   cef_browser_host_t* _struct = GetStruct();
978   if (CEF_MEMBER_MISSING(_struct, drag_target_drop))
979     return;
980 
981   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
982 
983   // Execute
984   _struct->drag_target_drop(_struct, &event);
985 }
986 
987 NO_SANITIZE("cfi-icall")
DragSourceEndedAt(int x,int y,DragOperationsMask op)988 void CefBrowserHostCToCpp::DragSourceEndedAt(int x,
989                                              int y,
990                                              DragOperationsMask op) {
991   shutdown_checker::AssertNotShutdown();
992 
993   cef_browser_host_t* _struct = GetStruct();
994   if (CEF_MEMBER_MISSING(_struct, drag_source_ended_at))
995     return;
996 
997   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
998 
999   // Execute
1000   _struct->drag_source_ended_at(_struct, x, y, op);
1001 }
1002 
1003 NO_SANITIZE("cfi-icall")
DragSourceSystemDragEnded()1004 void CefBrowserHostCToCpp::DragSourceSystemDragEnded() {
1005   shutdown_checker::AssertNotShutdown();
1006 
1007   cef_browser_host_t* _struct = GetStruct();
1008   if (CEF_MEMBER_MISSING(_struct, drag_source_system_drag_ended))
1009     return;
1010 
1011   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
1012 
1013   // Execute
1014   _struct->drag_source_system_drag_ended(_struct);
1015 }
1016 
1017 NO_SANITIZE("cfi-icall")
1018 CefRefPtr<
GetVisibleNavigationEntry()1019     CefNavigationEntry> CefBrowserHostCToCpp::GetVisibleNavigationEntry() {
1020   shutdown_checker::AssertNotShutdown();
1021 
1022   cef_browser_host_t* _struct = GetStruct();
1023   if (CEF_MEMBER_MISSING(_struct, get_visible_navigation_entry))
1024     return nullptr;
1025 
1026   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
1027 
1028   // Execute
1029   cef_navigation_entry_t* _retval =
1030       _struct->get_visible_navigation_entry(_struct);
1031 
1032   // Return type: refptr_same
1033   return CefNavigationEntryCToCpp::Wrap(_retval);
1034 }
1035 
1036 NO_SANITIZE("cfi-icall")
SetAccessibilityState(cef_state_t accessibility_state)1037 void CefBrowserHostCToCpp::SetAccessibilityState(
1038     cef_state_t accessibility_state) {
1039   shutdown_checker::AssertNotShutdown();
1040 
1041   cef_browser_host_t* _struct = GetStruct();
1042   if (CEF_MEMBER_MISSING(_struct, set_accessibility_state))
1043     return;
1044 
1045   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
1046 
1047   // Execute
1048   _struct->set_accessibility_state(_struct, accessibility_state);
1049 }
1050 
1051 NO_SANITIZE("cfi-icall")
SetAutoResizeEnabled(bool enabled,const CefSize & min_size,const CefSize & max_size)1052 void CefBrowserHostCToCpp::SetAutoResizeEnabled(bool enabled,
1053                                                 const CefSize& min_size,
1054                                                 const CefSize& max_size) {
1055   shutdown_checker::AssertNotShutdown();
1056 
1057   cef_browser_host_t* _struct = GetStruct();
1058   if (CEF_MEMBER_MISSING(_struct, set_auto_resize_enabled))
1059     return;
1060 
1061   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
1062 
1063   // Execute
1064   _struct->set_auto_resize_enabled(_struct, enabled, &min_size, &max_size);
1065 }
1066 
1067 NO_SANITIZE("cfi-icall")
GetExtension()1068 CefRefPtr<CefExtension> CefBrowserHostCToCpp::GetExtension() {
1069   shutdown_checker::AssertNotShutdown();
1070 
1071   cef_browser_host_t* _struct = GetStruct();
1072   if (CEF_MEMBER_MISSING(_struct, get_extension))
1073     return nullptr;
1074 
1075   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
1076 
1077   // Execute
1078   cef_extension_t* _retval = _struct->get_extension(_struct);
1079 
1080   // Return type: refptr_same
1081   return CefExtensionCToCpp::Wrap(_retval);
1082 }
1083 
IsBackgroundHost()1084 NO_SANITIZE("cfi-icall") bool CefBrowserHostCToCpp::IsBackgroundHost() {
1085   shutdown_checker::AssertNotShutdown();
1086 
1087   cef_browser_host_t* _struct = GetStruct();
1088   if (CEF_MEMBER_MISSING(_struct, is_background_host))
1089     return false;
1090 
1091   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
1092 
1093   // Execute
1094   int _retval = _struct->is_background_host(_struct);
1095 
1096   // Return type: bool
1097   return _retval ? true : false;
1098 }
1099 
SetAudioMuted(bool mute)1100 NO_SANITIZE("cfi-icall") void CefBrowserHostCToCpp::SetAudioMuted(bool mute) {
1101   shutdown_checker::AssertNotShutdown();
1102 
1103   cef_browser_host_t* _struct = GetStruct();
1104   if (CEF_MEMBER_MISSING(_struct, set_audio_muted))
1105     return;
1106 
1107   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
1108 
1109   // Execute
1110   _struct->set_audio_muted(_struct, mute);
1111 }
1112 
IsAudioMuted()1113 NO_SANITIZE("cfi-icall") bool CefBrowserHostCToCpp::IsAudioMuted() {
1114   shutdown_checker::AssertNotShutdown();
1115 
1116   cef_browser_host_t* _struct = GetStruct();
1117   if (CEF_MEMBER_MISSING(_struct, is_audio_muted))
1118     return false;
1119 
1120   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
1121 
1122   // Execute
1123   int _retval = _struct->is_audio_muted(_struct);
1124 
1125   // Return type: bool
1126   return _retval ? true : false;
1127 }
1128 
1129 // CONSTRUCTOR - Do not edit by hand.
1130 
CefBrowserHostCToCpp()1131 CefBrowserHostCToCpp::CefBrowserHostCToCpp() {}
1132 
1133 // DESTRUCTOR - Do not edit by hand.
1134 
~CefBrowserHostCToCpp()1135 CefBrowserHostCToCpp::~CefBrowserHostCToCpp() {
1136   shutdown_checker::AssertNotShutdown();
1137 }
1138 
1139 template <>
1140 cef_browser_host_t*
1141 CefCToCppRefCounted<CefBrowserHostCToCpp, CefBrowserHost, cef_browser_host_t>::
UnwrapDerived(CefWrapperType type,CefBrowserHost * c)1142     UnwrapDerived(CefWrapperType type, CefBrowserHost* c) {
1143   NOTREACHED() << "Unexpected class type: " << type;
1144   return nullptr;
1145 }
1146 
1147 template <>
1148 CefWrapperType CefCToCppRefCounted<CefBrowserHostCToCpp,
1149                                    CefBrowserHost,
1150                                    cef_browser_host_t>::kWrapperType =
1151     WT_BROWSER_HOST;
1152