#include "libcef_dll/ctocpp/extension_ctocpp.h"
#include "libcef_dll/cpptoc/extension_handler_cpptoc.h"
#include "libcef_dll/ctocpp/dictionary_value_ctocpp.h"
#include "libcef_dll/ctocpp/request_context_ctocpp.h"
#include "libcef_dll/shutdown_checker.h"
NO_SANITIZE("cfi-icall") CefString CefExtensionCToCpp::GetIdentifier() {
shutdown_checker::AssertNotShutdown();
cef_extension_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_identifier))
return CefString();
cef_string_userfree_t _retval = _struct->get_identifier(_struct);
CefString _retvalStr;
_retvalStr.AttachToUserFree(_retval);
return _retvalStr;
}
NO_SANITIZE("cfi-icall") CefString CefExtensionCToCpp::GetPath() {
shutdown_checker::AssertNotShutdown();
cef_extension_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_path))
return CefString();
cef_string_userfree_t _retval = _struct->get_path(_struct);
CefString _retvalStr;
_retvalStr.AttachToUserFree(_retval);
return _retvalStr;
}
NO_SANITIZE("cfi-icall")
CefRefPtr<CefDictionaryValue> CefExtensionCToCpp::GetManifest() {
shutdown_checker::AssertNotShutdown();
cef_extension_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_manifest))
return nullptr;
cef_dictionary_value_t* _retval = _struct->get_manifest(_struct);
return CefDictionaryValueCToCpp::Wrap(_retval);
}
NO_SANITIZE("cfi-icall")
bool CefExtensionCToCpp::IsSame(CefRefPtr<CefExtension> that) {
shutdown_checker::AssertNotShutdown();
cef_extension_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, is_same))
return false;
DCHECK(that.get());
if (!that.get())
return false;
int _retval = _struct->is_same(_struct, CefExtensionCToCpp::Unwrap(that));
return _retval ? true : false;
}
NO_SANITIZE("cfi-icall")
CefRefPtr<CefExtensionHandler> CefExtensionCToCpp::GetHandler() {
shutdown_checker::AssertNotShutdown();
cef_extension_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_handler))
return nullptr;
cef_extension_handler_t* _retval = _struct->get_handler(_struct);
return CefExtensionHandlerCppToC::Unwrap(_retval);
}
NO_SANITIZE("cfi-icall")
CefRefPtr<CefRequestContext> CefExtensionCToCpp::GetLoaderContext() {
shutdown_checker::AssertNotShutdown();
cef_extension_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_loader_context))
return nullptr;
cef_request_context_t* _retval = _struct->get_loader_context(_struct);
return CefRequestContextCToCpp::Wrap(_retval);
}
NO_SANITIZE("cfi-icall") bool CefExtensionCToCpp::IsLoaded() {
shutdown_checker::AssertNotShutdown();
cef_extension_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, is_loaded))
return false;
int _retval = _struct->is_loaded(_struct);
return _retval ? true : false;
}
NO_SANITIZE("cfi-icall") void CefExtensionCToCpp::Unload() {
shutdown_checker::AssertNotShutdown();
cef_extension_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, unload))
return;
_struct->unload(_struct);
}
CefExtensionCToCpp::CefExtensionCToCpp() {}
CefExtensionCToCpp::~CefExtensionCToCpp() {
shutdown_checker::AssertNotShutdown();
}
template <>
cef_extension_t*
CefCToCppRefCounted<CefExtensionCToCpp, CefExtension, cef_extension_t>::
UnwrapDerived(CefWrapperType type, CefExtension* c) {
NOTREACHED() << "Unexpected class type: " << type;
return nullptr;
}
template <>
CefWrapperType CefCToCppRefCounted<CefExtensionCToCpp,
CefExtension,
cef_extension_t>::kWrapperType =
WT_EXTENSION;