Add support for native creation and resolution of Promises (fixes issue #3305)

This commit is contained in:
VodBox
2022-10-11 14:54:32 -04:00
committed by Marshall Greenblatt
parent 60ee4a34aa
commit fa643b269e
10 changed files with 609 additions and 9 deletions

View File

@@ -9,7 +9,7 @@
// implementations. See the translator.README.txt file in the tools directory
// for more information.
//
// $hash=1dd04012b442aa3ceae8d56653dc499aed1e181f$
// $hash=17fe0420a1c56309ff2156c9d7f7a4def484bd15$
//
#include "libcef_dll/ctocpp/v8value_ctocpp.h"
@@ -188,6 +188,16 @@ CefRefPtr<CefV8Value> CefV8Value::CreateFunction(
return CefV8ValueCToCpp::Wrap(_retval);
}
NO_SANITIZE("cfi-icall") CefRefPtr<CefV8Value> CefV8Value::CreatePromise() {
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
cef_v8value_t* _retval = cef_v8value_create_promise();
// Return type: refptr_same
return CefV8ValueCToCpp::Wrap(_retval);
}
// VIRTUAL METHODS - Body may be edited by hand.
NO_SANITIZE("cfi-icall") bool CefV8ValueCToCpp::IsValid() {
@@ -372,6 +382,20 @@ NO_SANITIZE("cfi-icall") bool CefV8ValueCToCpp::IsFunction() {
return _retval ? true : false;
}
NO_SANITIZE("cfi-icall") bool CefV8ValueCToCpp::IsPromise() {
cef_v8value_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, is_promise))
return false;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
int _retval = _struct->is_promise(_struct);
// Return type: bool
return _retval ? true : false;
}
NO_SANITIZE("cfi-icall")
bool CefV8ValueCToCpp::IsSame(CefRefPtr<CefV8Value> that) {
cef_v8value_t* _struct = GetStruct();
@@ -988,6 +1012,44 @@ CefRefPtr<CefV8Value> CefV8ValueCToCpp::ExecuteFunctionWithContext(
return CefV8ValueCToCpp::Wrap(_retval);
}
NO_SANITIZE("cfi-icall")
bool CefV8ValueCToCpp::ResolvePromise(CefRefPtr<CefV8Value> arg) {
cef_v8value_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, resolve_promise))
return false;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Unverified params: arg
// Execute
int _retval =
_struct->resolve_promise(_struct, CefV8ValueCToCpp::Unwrap(arg));
// Return type: bool
return _retval ? true : false;
}
NO_SANITIZE("cfi-icall")
bool CefV8ValueCToCpp::RejectPromise(const CefString& errorMsg) {
cef_v8value_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, reject_promise))
return false;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Verify param: errorMsg; type: string_byref_const
DCHECK(!errorMsg.empty());
if (errorMsg.empty())
return false;
// Execute
int _retval = _struct->reject_promise(_struct, errorMsg.GetStruct());
// Return type: bool
return _retval ? true : false;
}
// CONSTRUCTOR - Do not edit by hand.
CefV8ValueCToCpp::CefV8ValueCToCpp() {}