1 // Copyright (c) 2022 The Chromium Embedded Framework Authors. All rights
2 // reserved. Use of this source code is governed by a BSD-style license that
3 // can be found in the LICENSE file.
4 //
5 // ---------------------------------------------------------------------------
6 //
7 // This file was generated by the CEF translator tool. If making changes by
8 // hand only do so within the body of existing method and function
9 // implementations. See the translator.README.txt file in the tools directory
10 // for more information.
11 //
12 // $hash=76e8ba6d6c7860c2a1b630dd632f5c647391f564$
13 //
14
15 #include "libcef_dll/ctocpp/resource_request_handler_ctocpp.h"
16 #include "libcef_dll/cpptoc/browser_cpptoc.h"
17 #include "libcef_dll/cpptoc/callback_cpptoc.h"
18 #include "libcef_dll/cpptoc/frame_cpptoc.h"
19 #include "libcef_dll/cpptoc/request_cpptoc.h"
20 #include "libcef_dll/cpptoc/response_cpptoc.h"
21 #include "libcef_dll/ctocpp/cookie_access_filter_ctocpp.h"
22 #include "libcef_dll/ctocpp/resource_handler_ctocpp.h"
23 #include "libcef_dll/ctocpp/response_filter_ctocpp.h"
24
25 // VIRTUAL METHODS - Body may be edited by hand.
26
27 NO_SANITIZE("cfi-icall")
28 CefRefPtr<CefCookieAccessFilter>
GetCookieAccessFilter(CefRefPtr<CefBrowser> browser,CefRefPtr<CefFrame> frame,CefRefPtr<CefRequest> request)29 CefResourceRequestHandlerCToCpp::GetCookieAccessFilter(
30 CefRefPtr<CefBrowser> browser,
31 CefRefPtr<CefFrame> frame,
32 CefRefPtr<CefRequest> request) {
33 cef_resource_request_handler_t* _struct = GetStruct();
34 if (CEF_MEMBER_MISSING(_struct, get_cookie_access_filter))
35 return nullptr;
36
37 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
38
39 // Verify param: request; type: refptr_diff
40 DCHECK(request.get());
41 if (!request.get())
42 return nullptr;
43 // Unverified params: browser, frame
44
45 // Execute
46 cef_cookie_access_filter_t* _retval = _struct->get_cookie_access_filter(
47 _struct, CefBrowserCppToC::Wrap(browser), CefFrameCppToC::Wrap(frame),
48 CefRequestCppToC::Wrap(request));
49
50 // Return type: refptr_same
51 return CefCookieAccessFilterCToCpp::Wrap(_retval);
52 }
53
54 NO_SANITIZE("cfi-icall")
55 CefResourceRequestHandler::ReturnValue
OnBeforeResourceLoad(CefRefPtr<CefBrowser> browser,CefRefPtr<CefFrame> frame,CefRefPtr<CefRequest> request,CefRefPtr<CefCallback> callback)56 CefResourceRequestHandlerCToCpp::OnBeforeResourceLoad(
57 CefRefPtr<CefBrowser> browser,
58 CefRefPtr<CefFrame> frame,
59 CefRefPtr<CefRequest> request,
60 CefRefPtr<CefCallback> callback) {
61 cef_resource_request_handler_t* _struct = GetStruct();
62 if (CEF_MEMBER_MISSING(_struct, on_before_resource_load))
63 return RV_CONTINUE;
64
65 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
66
67 // Verify param: request; type: refptr_diff
68 DCHECK(request.get());
69 if (!request.get())
70 return RV_CONTINUE;
71 // Verify param: callback; type: refptr_diff
72 DCHECK(callback.get());
73 if (!callback.get())
74 return RV_CONTINUE;
75 // Unverified params: browser, frame
76
77 // Execute
78 cef_return_value_t _retval = _struct->on_before_resource_load(
79 _struct, CefBrowserCppToC::Wrap(browser), CefFrameCppToC::Wrap(frame),
80 CefRequestCppToC::Wrap(request), CefCallbackCppToC::Wrap(callback));
81
82 // Return type: simple
83 return _retval;
84 }
85
86 NO_SANITIZE("cfi-icall")
87 CefRefPtr<CefResourceHandler>
GetResourceHandler(CefRefPtr<CefBrowser> browser,CefRefPtr<CefFrame> frame,CefRefPtr<CefRequest> request)88 CefResourceRequestHandlerCToCpp::GetResourceHandler(
89 CefRefPtr<CefBrowser> browser,
90 CefRefPtr<CefFrame> frame,
91 CefRefPtr<CefRequest> request) {
92 cef_resource_request_handler_t* _struct = GetStruct();
93 if (CEF_MEMBER_MISSING(_struct, get_resource_handler))
94 return nullptr;
95
96 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
97
98 // Verify param: request; type: refptr_diff
99 DCHECK(request.get());
100 if (!request.get())
101 return nullptr;
102 // Unverified params: browser, frame
103
104 // Execute
105 cef_resource_handler_t* _retval = _struct->get_resource_handler(
106 _struct, CefBrowserCppToC::Wrap(browser), CefFrameCppToC::Wrap(frame),
107 CefRequestCppToC::Wrap(request));
108
109 // Return type: refptr_same
110 return CefResourceHandlerCToCpp::Wrap(_retval);
111 }
112
113 NO_SANITIZE("cfi-icall")
OnResourceRedirect(CefRefPtr<CefBrowser> browser,CefRefPtr<CefFrame> frame,CefRefPtr<CefRequest> request,CefRefPtr<CefResponse> response,CefString & new_url)114 void CefResourceRequestHandlerCToCpp::OnResourceRedirect(
115 CefRefPtr<CefBrowser> browser,
116 CefRefPtr<CefFrame> frame,
117 CefRefPtr<CefRequest> request,
118 CefRefPtr<CefResponse> response,
119 CefString& new_url) {
120 cef_resource_request_handler_t* _struct = GetStruct();
121 if (CEF_MEMBER_MISSING(_struct, on_resource_redirect))
122 return;
123
124 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
125
126 // Verify param: request; type: refptr_diff
127 DCHECK(request.get());
128 if (!request.get())
129 return;
130 // Verify param: response; type: refptr_diff
131 DCHECK(response.get());
132 if (!response.get())
133 return;
134 // Unverified params: browser, frame
135
136 // Execute
137 _struct->on_resource_redirect(
138 _struct, CefBrowserCppToC::Wrap(browser), CefFrameCppToC::Wrap(frame),
139 CefRequestCppToC::Wrap(request), CefResponseCppToC::Wrap(response),
140 new_url.GetWritableStruct());
141 }
142
143 NO_SANITIZE("cfi-icall")
OnResourceResponse(CefRefPtr<CefBrowser> browser,CefRefPtr<CefFrame> frame,CefRefPtr<CefRequest> request,CefRefPtr<CefResponse> response)144 bool CefResourceRequestHandlerCToCpp::OnResourceResponse(
145 CefRefPtr<CefBrowser> browser,
146 CefRefPtr<CefFrame> frame,
147 CefRefPtr<CefRequest> request,
148 CefRefPtr<CefResponse> response) {
149 cef_resource_request_handler_t* _struct = GetStruct();
150 if (CEF_MEMBER_MISSING(_struct, on_resource_response))
151 return false;
152
153 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
154
155 // Verify param: request; type: refptr_diff
156 DCHECK(request.get());
157 if (!request.get())
158 return false;
159 // Verify param: response; type: refptr_diff
160 DCHECK(response.get());
161 if (!response.get())
162 return false;
163 // Unverified params: browser, frame
164
165 // Execute
166 int _retval = _struct->on_resource_response(
167 _struct, CefBrowserCppToC::Wrap(browser), CefFrameCppToC::Wrap(frame),
168 CefRequestCppToC::Wrap(request), CefResponseCppToC::Wrap(response));
169
170 // Return type: bool
171 return _retval ? true : false;
172 }
173
174 NO_SANITIZE("cfi-icall")
175 CefRefPtr<CefResponseFilter>
GetResourceResponseFilter(CefRefPtr<CefBrowser> browser,CefRefPtr<CefFrame> frame,CefRefPtr<CefRequest> request,CefRefPtr<CefResponse> response)176 CefResourceRequestHandlerCToCpp::GetResourceResponseFilter(
177 CefRefPtr<CefBrowser> browser,
178 CefRefPtr<CefFrame> frame,
179 CefRefPtr<CefRequest> request,
180 CefRefPtr<CefResponse> response) {
181 cef_resource_request_handler_t* _struct = GetStruct();
182 if (CEF_MEMBER_MISSING(_struct, get_resource_response_filter))
183 return nullptr;
184
185 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
186
187 // Verify param: request; type: refptr_diff
188 DCHECK(request.get());
189 if (!request.get())
190 return nullptr;
191 // Verify param: response; type: refptr_diff
192 DCHECK(response.get());
193 if (!response.get())
194 return nullptr;
195 // Unverified params: browser, frame
196
197 // Execute
198 cef_response_filter_t* _retval = _struct->get_resource_response_filter(
199 _struct, CefBrowserCppToC::Wrap(browser), CefFrameCppToC::Wrap(frame),
200 CefRequestCppToC::Wrap(request), CefResponseCppToC::Wrap(response));
201
202 // Return type: refptr_same
203 return CefResponseFilterCToCpp::Wrap(_retval);
204 }
205
206 NO_SANITIZE("cfi-icall")
OnResourceLoadComplete(CefRefPtr<CefBrowser> browser,CefRefPtr<CefFrame> frame,CefRefPtr<CefRequest> request,CefRefPtr<CefResponse> response,URLRequestStatus status,int64 received_content_length)207 void CefResourceRequestHandlerCToCpp::OnResourceLoadComplete(
208 CefRefPtr<CefBrowser> browser,
209 CefRefPtr<CefFrame> frame,
210 CefRefPtr<CefRequest> request,
211 CefRefPtr<CefResponse> response,
212 URLRequestStatus status,
213 int64 received_content_length) {
214 cef_resource_request_handler_t* _struct = GetStruct();
215 if (CEF_MEMBER_MISSING(_struct, on_resource_load_complete))
216 return;
217
218 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
219
220 // Verify param: request; type: refptr_diff
221 DCHECK(request.get());
222 if (!request.get())
223 return;
224 // Verify param: response; type: refptr_diff
225 DCHECK(response.get());
226 if (!response.get())
227 return;
228 // Unverified params: browser, frame
229
230 // Execute
231 _struct->on_resource_load_complete(
232 _struct, CefBrowserCppToC::Wrap(browser), CefFrameCppToC::Wrap(frame),
233 CefRequestCppToC::Wrap(request), CefResponseCppToC::Wrap(response),
234 status, received_content_length);
235 }
236
237 NO_SANITIZE("cfi-icall")
OnProtocolExecution(CefRefPtr<CefBrowser> browser,CefRefPtr<CefFrame> frame,CefRefPtr<CefRequest> request,bool & allow_os_execution)238 void CefResourceRequestHandlerCToCpp::OnProtocolExecution(
239 CefRefPtr<CefBrowser> browser,
240 CefRefPtr<CefFrame> frame,
241 CefRefPtr<CefRequest> request,
242 bool& allow_os_execution) {
243 cef_resource_request_handler_t* _struct = GetStruct();
244 if (CEF_MEMBER_MISSING(_struct, on_protocol_execution))
245 return;
246
247 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
248
249 // Verify param: request; type: refptr_diff
250 DCHECK(request.get());
251 if (!request.get())
252 return;
253 // Unverified params: browser, frame
254
255 // Translate param: allow_os_execution; type: bool_byref
256 int allow_os_executionInt = allow_os_execution;
257
258 // Execute
259 _struct->on_protocol_execution(
260 _struct, CefBrowserCppToC::Wrap(browser), CefFrameCppToC::Wrap(frame),
261 CefRequestCppToC::Wrap(request), &allow_os_executionInt);
262
263 // Restore param:allow_os_execution; type: bool_byref
264 allow_os_execution = allow_os_executionInt ? true : false;
265 }
266
267 // CONSTRUCTOR - Do not edit by hand.
268
CefResourceRequestHandlerCToCpp()269 CefResourceRequestHandlerCToCpp::CefResourceRequestHandlerCToCpp() {}
270
271 // DESTRUCTOR - Do not edit by hand.
272
~CefResourceRequestHandlerCToCpp()273 CefResourceRequestHandlerCToCpp::~CefResourceRequestHandlerCToCpp() {}
274
275 template <>
276 cef_resource_request_handler_t* CefCToCppRefCounted<
277 CefResourceRequestHandlerCToCpp,
278 CefResourceRequestHandler,
UnwrapDerived(CefWrapperType type,CefResourceRequestHandler * c)279 cef_resource_request_handler_t>::UnwrapDerived(CefWrapperType type,
280 CefResourceRequestHandler*
281 c) {
282 NOTREACHED() << "Unexpected class type: " << type;
283 return nullptr;
284 }
285
286 template <>
287 CefWrapperType
288 CefCToCppRefCounted<CefResourceRequestHandlerCToCpp,
289 CefResourceRequestHandler,
290 cef_resource_request_handler_t>::kWrapperType =
291 WT_RESOURCE_REQUEST_HANDLER;
292