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=b573d2840558cbf17908a16d3e92c3196c84b1c7$
13 //
14
15 #include "libcef_dll/cpptoc/browser_cpptoc.h"
16 #include <algorithm>
17 #include "libcef_dll/cpptoc/browser_host_cpptoc.h"
18 #include "libcef_dll/cpptoc/frame_cpptoc.h"
19 #include "libcef_dll/shutdown_checker.h"
20 #include "libcef_dll/transfer_util.h"
21
22 namespace {
23
24 // MEMBER FUNCTIONS - Body may be edited by hand.
25
26 struct _cef_browser_host_t* CEF_CALLBACK
browser_get_host(struct _cef_browser_t * self)27 browser_get_host(struct _cef_browser_t* self) {
28 shutdown_checker::AssertNotShutdown();
29
30 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
31
32 DCHECK(self);
33 if (!self)
34 return NULL;
35
36 // Execute
37 CefRefPtr<CefBrowserHost> _retval = CefBrowserCppToC::Get(self)->GetHost();
38
39 // Return type: refptr_same
40 return CefBrowserHostCppToC::Wrap(_retval);
41 }
42
browser_can_go_back(struct _cef_browser_t * self)43 int CEF_CALLBACK browser_can_go_back(struct _cef_browser_t* self) {
44 shutdown_checker::AssertNotShutdown();
45
46 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
47
48 DCHECK(self);
49 if (!self)
50 return 0;
51
52 // Execute
53 bool _retval = CefBrowserCppToC::Get(self)->CanGoBack();
54
55 // Return type: bool
56 return _retval;
57 }
58
browser_go_back(struct _cef_browser_t * self)59 void CEF_CALLBACK browser_go_back(struct _cef_browser_t* self) {
60 shutdown_checker::AssertNotShutdown();
61
62 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
63
64 DCHECK(self);
65 if (!self)
66 return;
67
68 // Execute
69 CefBrowserCppToC::Get(self)->GoBack();
70 }
71
browser_can_go_forward(struct _cef_browser_t * self)72 int CEF_CALLBACK browser_can_go_forward(struct _cef_browser_t* self) {
73 shutdown_checker::AssertNotShutdown();
74
75 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
76
77 DCHECK(self);
78 if (!self)
79 return 0;
80
81 // Execute
82 bool _retval = CefBrowserCppToC::Get(self)->CanGoForward();
83
84 // Return type: bool
85 return _retval;
86 }
87
browser_go_forward(struct _cef_browser_t * self)88 void CEF_CALLBACK browser_go_forward(struct _cef_browser_t* self) {
89 shutdown_checker::AssertNotShutdown();
90
91 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
92
93 DCHECK(self);
94 if (!self)
95 return;
96
97 // Execute
98 CefBrowserCppToC::Get(self)->GoForward();
99 }
100
browser_is_loading(struct _cef_browser_t * self)101 int CEF_CALLBACK browser_is_loading(struct _cef_browser_t* self) {
102 shutdown_checker::AssertNotShutdown();
103
104 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
105
106 DCHECK(self);
107 if (!self)
108 return 0;
109
110 // Execute
111 bool _retval = CefBrowserCppToC::Get(self)->IsLoading();
112
113 // Return type: bool
114 return _retval;
115 }
116
browser_reload(struct _cef_browser_t * self)117 void CEF_CALLBACK browser_reload(struct _cef_browser_t* self) {
118 shutdown_checker::AssertNotShutdown();
119
120 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
121
122 DCHECK(self);
123 if (!self)
124 return;
125
126 // Execute
127 CefBrowserCppToC::Get(self)->Reload();
128 }
129
browser_reload_ignore_cache(struct _cef_browser_t * self)130 void CEF_CALLBACK browser_reload_ignore_cache(struct _cef_browser_t* self) {
131 shutdown_checker::AssertNotShutdown();
132
133 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
134
135 DCHECK(self);
136 if (!self)
137 return;
138
139 // Execute
140 CefBrowserCppToC::Get(self)->ReloadIgnoreCache();
141 }
142
browser_stop_load(struct _cef_browser_t * self)143 void CEF_CALLBACK browser_stop_load(struct _cef_browser_t* self) {
144 shutdown_checker::AssertNotShutdown();
145
146 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
147
148 DCHECK(self);
149 if (!self)
150 return;
151
152 // Execute
153 CefBrowserCppToC::Get(self)->StopLoad();
154 }
155
browser_get_identifier(struct _cef_browser_t * self)156 int CEF_CALLBACK browser_get_identifier(struct _cef_browser_t* self) {
157 shutdown_checker::AssertNotShutdown();
158
159 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
160
161 DCHECK(self);
162 if (!self)
163 return 0;
164
165 // Execute
166 int _retval = CefBrowserCppToC::Get(self)->GetIdentifier();
167
168 // Return type: simple
169 return _retval;
170 }
171
browser_is_same(struct _cef_browser_t * self,struct _cef_browser_t * that)172 int CEF_CALLBACK browser_is_same(struct _cef_browser_t* self,
173 struct _cef_browser_t* that) {
174 shutdown_checker::AssertNotShutdown();
175
176 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
177
178 DCHECK(self);
179 if (!self)
180 return 0;
181 // Verify param: that; type: refptr_same
182 DCHECK(that);
183 if (!that)
184 return 0;
185
186 // Execute
187 bool _retval =
188 CefBrowserCppToC::Get(self)->IsSame(CefBrowserCppToC::Unwrap(that));
189
190 // Return type: bool
191 return _retval;
192 }
193
browser_is_popup(struct _cef_browser_t * self)194 int CEF_CALLBACK browser_is_popup(struct _cef_browser_t* self) {
195 shutdown_checker::AssertNotShutdown();
196
197 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
198
199 DCHECK(self);
200 if (!self)
201 return 0;
202
203 // Execute
204 bool _retval = CefBrowserCppToC::Get(self)->IsPopup();
205
206 // Return type: bool
207 return _retval;
208 }
209
browser_has_document(struct _cef_browser_t * self)210 int CEF_CALLBACK browser_has_document(struct _cef_browser_t* self) {
211 shutdown_checker::AssertNotShutdown();
212
213 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
214
215 DCHECK(self);
216 if (!self)
217 return 0;
218
219 // Execute
220 bool _retval = CefBrowserCppToC::Get(self)->HasDocument();
221
222 // Return type: bool
223 return _retval;
224 }
225
226 struct _cef_frame_t* CEF_CALLBACK
browser_get_main_frame(struct _cef_browser_t * self)227 browser_get_main_frame(struct _cef_browser_t* self) {
228 shutdown_checker::AssertNotShutdown();
229
230 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
231
232 DCHECK(self);
233 if (!self)
234 return NULL;
235
236 // Execute
237 CefRefPtr<CefFrame> _retval = CefBrowserCppToC::Get(self)->GetMainFrame();
238
239 // Return type: refptr_same
240 return CefFrameCppToC::Wrap(_retval);
241 }
242
243 struct _cef_frame_t* CEF_CALLBACK
browser_get_focused_frame(struct _cef_browser_t * self)244 browser_get_focused_frame(struct _cef_browser_t* self) {
245 shutdown_checker::AssertNotShutdown();
246
247 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
248
249 DCHECK(self);
250 if (!self)
251 return NULL;
252
253 // Execute
254 CefRefPtr<CefFrame> _retval = CefBrowserCppToC::Get(self)->GetFocusedFrame();
255
256 // Return type: refptr_same
257 return CefFrameCppToC::Wrap(_retval);
258 }
259
260 struct _cef_frame_t* CEF_CALLBACK
browser_get_frame_byident(struct _cef_browser_t * self,int64 identifier)261 browser_get_frame_byident(struct _cef_browser_t* self, int64 identifier) {
262 shutdown_checker::AssertNotShutdown();
263
264 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
265
266 DCHECK(self);
267 if (!self)
268 return NULL;
269
270 // Execute
271 CefRefPtr<CefFrame> _retval =
272 CefBrowserCppToC::Get(self)->GetFrame(identifier);
273
274 // Return type: refptr_same
275 return CefFrameCppToC::Wrap(_retval);
276 }
277
browser_get_frame(struct _cef_browser_t * self,const cef_string_t * name)278 struct _cef_frame_t* CEF_CALLBACK browser_get_frame(struct _cef_browser_t* self,
279 const cef_string_t* name) {
280 shutdown_checker::AssertNotShutdown();
281
282 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
283
284 DCHECK(self);
285 if (!self)
286 return NULL;
287 // Unverified params: name
288
289 // Execute
290 CefRefPtr<CefFrame> _retval =
291 CefBrowserCppToC::Get(self)->GetFrame(CefString(name));
292
293 // Return type: refptr_same
294 return CefFrameCppToC::Wrap(_retval);
295 }
296
browser_get_frame_count(struct _cef_browser_t * self)297 size_t CEF_CALLBACK browser_get_frame_count(struct _cef_browser_t* self) {
298 shutdown_checker::AssertNotShutdown();
299
300 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
301
302 DCHECK(self);
303 if (!self)
304 return 0;
305
306 // Execute
307 size_t _retval = CefBrowserCppToC::Get(self)->GetFrameCount();
308
309 // Return type: simple
310 return _retval;
311 }
312
browser_get_frame_identifiers(struct _cef_browser_t * self,size_t * identifiersCount,int64 * identifiers)313 void CEF_CALLBACK browser_get_frame_identifiers(struct _cef_browser_t* self,
314 size_t* identifiersCount,
315 int64* identifiers) {
316 shutdown_checker::AssertNotShutdown();
317
318 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
319
320 DCHECK(self);
321 if (!self)
322 return;
323 // Verify param: identifiers; type: simple_vec_byref
324 DCHECK(identifiersCount && (*identifiersCount == 0 || identifiers));
325 if (!identifiersCount || (*identifiersCount > 0 && !identifiers))
326 return;
327
328 // Translate param: identifiers; type: simple_vec_byref
329 std::vector<int64> identifiersList;
330 if (identifiersCount && *identifiersCount > 0 && identifiers) {
331 for (size_t i = 0; i < *identifiersCount; ++i) {
332 identifiersList.push_back(identifiers[i]);
333 }
334 }
335
336 // Execute
337 CefBrowserCppToC::Get(self)->GetFrameIdentifiers(identifiersList);
338
339 // Restore param: identifiers; type: simple_vec_byref
340 if (identifiersCount && identifiers) {
341 *identifiersCount = std::min(identifiersList.size(), *identifiersCount);
342 if (*identifiersCount > 0) {
343 for (size_t i = 0; i < *identifiersCount; ++i) {
344 identifiers[i] = identifiersList[i];
345 }
346 }
347 }
348 }
349
browser_get_frame_names(struct _cef_browser_t * self,cef_string_list_t names)350 void CEF_CALLBACK browser_get_frame_names(struct _cef_browser_t* self,
351 cef_string_list_t names) {
352 shutdown_checker::AssertNotShutdown();
353
354 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
355
356 DCHECK(self);
357 if (!self)
358 return;
359 // Verify param: names; type: string_vec_byref
360 DCHECK(names);
361 if (!names)
362 return;
363
364 // Translate param: names; type: string_vec_byref
365 std::vector<CefString> namesList;
366 transfer_string_list_contents(names, namesList);
367
368 // Execute
369 CefBrowserCppToC::Get(self)->GetFrameNames(namesList);
370
371 // Restore param: names; type: string_vec_byref
372 cef_string_list_clear(names);
373 transfer_string_list_contents(namesList, names);
374 }
375
376 } // namespace
377
378 // CONSTRUCTOR - Do not edit by hand.
379
CefBrowserCppToC()380 CefBrowserCppToC::CefBrowserCppToC() {
381 GetStruct()->get_host = browser_get_host;
382 GetStruct()->can_go_back = browser_can_go_back;
383 GetStruct()->go_back = browser_go_back;
384 GetStruct()->can_go_forward = browser_can_go_forward;
385 GetStruct()->go_forward = browser_go_forward;
386 GetStruct()->is_loading = browser_is_loading;
387 GetStruct()->reload = browser_reload;
388 GetStruct()->reload_ignore_cache = browser_reload_ignore_cache;
389 GetStruct()->stop_load = browser_stop_load;
390 GetStruct()->get_identifier = browser_get_identifier;
391 GetStruct()->is_same = browser_is_same;
392 GetStruct()->is_popup = browser_is_popup;
393 GetStruct()->has_document = browser_has_document;
394 GetStruct()->get_main_frame = browser_get_main_frame;
395 GetStruct()->get_focused_frame = browser_get_focused_frame;
396 GetStruct()->get_frame_byident = browser_get_frame_byident;
397 GetStruct()->get_frame = browser_get_frame;
398 GetStruct()->get_frame_count = browser_get_frame_count;
399 GetStruct()->get_frame_identifiers = browser_get_frame_identifiers;
400 GetStruct()->get_frame_names = browser_get_frame_names;
401 }
402
403 // DESTRUCTOR - Do not edit by hand.
404
~CefBrowserCppToC()405 CefBrowserCppToC::~CefBrowserCppToC() {
406 shutdown_checker::AssertNotShutdown();
407 }
408
409 template <>
410 CefRefPtr<CefBrowser>
UnwrapDerived(CefWrapperType type,cef_browser_t * s)411 CefCppToCRefCounted<CefBrowserCppToC, CefBrowser, cef_browser_t>::UnwrapDerived(
412 CefWrapperType type,
413 cef_browser_t* s) {
414 NOTREACHED() << "Unexpected class type: " << type;
415 return nullptr;
416 }
417
418 template <>
419 CefWrapperType CefCppToCRefCounted<CefBrowserCppToC,
420 CefBrowser,
421 cef_browser_t>::kWrapperType = WT_BROWSER;
422