#include "libcef_dll/ctocpp/urlrequest_client_ctocpp.h"
#include "libcef_dll/cpptoc/auth_callback_cpptoc.h"
#include "libcef_dll/cpptoc/urlrequest_cpptoc.h"
#include "libcef_dll/shutdown_checker.h"
NO_SANITIZE("cfi-icall")
void CefURLRequestClientCToCpp::OnRequestComplete(
CefRefPtr<CefURLRequest> request) {
shutdown_checker::AssertNotShutdown();
cef_urlrequest_client_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, on_request_complete))
return;
DCHECK(request.get());
if (!request.get())
return;
_struct->on_request_complete(_struct, CefURLRequestCppToC::Wrap(request));
}
NO_SANITIZE("cfi-icall")
void CefURLRequestClientCToCpp::OnUploadProgress(
CefRefPtr<CefURLRequest> request,
int64 current,
int64 total) {
shutdown_checker::AssertNotShutdown();
cef_urlrequest_client_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, on_upload_progress))
return;
DCHECK(request.get());
if (!request.get())
return;
_struct->on_upload_progress(_struct, CefURLRequestCppToC::Wrap(request),
current, total);
}
NO_SANITIZE("cfi-icall")
void CefURLRequestClientCToCpp::OnDownloadProgress(
CefRefPtr<CefURLRequest> request,
int64 current,
int64 total) {
shutdown_checker::AssertNotShutdown();
cef_urlrequest_client_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, on_download_progress))
return;
DCHECK(request.get());
if (!request.get())
return;
_struct->on_download_progress(_struct, CefURLRequestCppToC::Wrap(request),
current, total);
}
NO_SANITIZE("cfi-icall")
void CefURLRequestClientCToCpp::OnDownloadData(CefRefPtr<CefURLRequest> request,
const void* data,
size_t data_length) {
shutdown_checker::AssertNotShutdown();
cef_urlrequest_client_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, on_download_data))
return;
DCHECK(request.get());
if (!request.get())
return;
DCHECK(data);
if (!data)
return;
_struct->on_download_data(_struct, CefURLRequestCppToC::Wrap(request), data,
data_length);
}
NO_SANITIZE("cfi-icall")
bool CefURLRequestClientCToCpp::GetAuthCredentials(
bool isProxy,
const CefString& host,
int port,
const CefString& realm,
const CefString& scheme,
CefRefPtr<CefAuthCallback> callback) {
shutdown_checker::AssertNotShutdown();
cef_urlrequest_client_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_auth_credentials))
return false;
DCHECK(!host.empty());
if (host.empty())
return false;
DCHECK(!scheme.empty());
if (scheme.empty())
return false;
DCHECK(callback.get());
if (!callback.get())
return false;
int _retval = _struct->get_auth_credentials(
_struct, isProxy, host.GetStruct(), port, realm.GetStruct(),
scheme.GetStruct(), CefAuthCallbackCppToC::Wrap(callback));
return _retval ? true : false;
}
CefURLRequestClientCToCpp::CefURLRequestClientCToCpp() {}
CefURLRequestClientCToCpp::~CefURLRequestClientCToCpp() {
shutdown_checker::AssertNotShutdown();
}
template <>
cef_urlrequest_client_t* CefCToCppRefCounted<
CefURLRequestClientCToCpp,
CefURLRequestClient,
cef_urlrequest_client_t>::UnwrapDerived(CefWrapperType type,
CefURLRequestClient* c) {
NOTREACHED() << "Unexpected class type: " << type;
return nullptr;
}
template <>
CefWrapperType CefCToCppRefCounted<CefURLRequestClientCToCpp,
CefURLRequestClient,
cef_urlrequest_client_t>::kWrapperType =
WT_URLREQUEST_CLIENT;