Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
CFXJSE_Engine Class Referencefinal

#include <cfxjse_engine.h>

Inheritance diagram for CFXJSE_Engine:
Collaboration diagram for CFXJSE_Engine:

Classes

class  EventParamScope
class  ResolveResult

Public Member Functions

 CFXJSE_Engine (CXFA_Document *pDocument, CJS_Runtime *fxjs_runtime)
 ~CFXJSE_Engine () override
CXFA_NodeGetEventTarget () const
CXFA_EventParamGetEventParam () const
CFXJSE_Context::ExecutionResult RunScript (CXFA_Script::Type eScriptType, WideStringView wsScript, CXFA_Object *pThisObject)
std::optional< ResolveResultResolveObjects (CXFA_Object *refObject, WideStringView wsExpression, Mask< XFA_ResolveFlag > dwStyles)
std::optional< ResolveResultResolveObjectsWithBindNode (CXFA_Object *refObject, WideStringView wsExpression, Mask< XFA_ResolveFlag > dwStyles, CXFA_Node *bindNode)
v8::Local< v8::Object > GetOrCreateJSBindingFromMap (CXFA_Object *pObject)
CXFA_ObjectGetThisObject () const
CFXJSE_ClassGetJseNormalClass () const
CXFA_DocumentGetDocument () const
void SetNodesOfRunScript (std::vector< cppgc::Persistent< CXFA_Node > > *pArray)
void AddNodesOfRunScript (CXFA_Node *pNode)
void SetRunAtType (XFA_AttributeValue eRunAt)
bool IsRunAtClient ()
CXFA_Script::Type GetType ()
void AddObjectToUpArray (CXFA_Node *pNode)
CXFA_NodeLastObjectFromUpArray ()
CXFA_ObjectToXFAObject (v8::Local< v8::Value > obj)
v8::Local< v8::Object > NewNormalXFAObject (CXFA_Object *obj)
bool IsResolvingNodes () const
CFXJSE_ContextGetJseContextForTest () const
Public Member Functions inherited from CFX_V8
 CFX_V8 (v8::Isolate *pIsolate)
virtual ~CFX_V8 ()
v8::Isolate * GetIsolate () const
v8::Local< v8::Value > NewNull ()
v8::Local< v8::Value > NewUndefined ()
v8::Local< v8::Array > NewArray ()
v8::Local< v8::Object > NewObject ()
v8::Local< v8::Number > NewNumber (int number)
v8::Local< v8::Number > NewNumber (double number)
v8::Local< v8::Number > NewNumber (float number)
v8::Local< v8::Boolean > NewBoolean (bool b)
v8::Local< v8::String > NewString (ByteStringView str)
v8::Local< v8::String > NewString (WideStringView str)
v8::Local< v8::Date > NewDate (double d)
int ToInt32 (v8::Local< v8::Value > pValue)
bool ToBoolean (v8::Local< v8::Value > pValue)
double ToDouble (v8::Local< v8::Value > pValue)
WideString ToWideString (v8::Local< v8::Value > pValue)
ByteString ToByteString (v8::Local< v8::Value > pValue)
v8::Local< v8::Object > ToObject (v8::Local< v8::Value > pValue)
v8::Local< v8::Array > ToArray (v8::Local< v8::Value > pValue)
size_t GetArrayLength (v8::Local< v8::Array > pArray)
v8::Local< v8::Value > GetArrayElement (v8::Local< v8::Array > pArray, size_t index)
void PutArrayElement (v8::Local< v8::Array > pArray, size_t index, v8::Local< v8::Value > pValue)
std::vector< WideStringGetObjectPropertyNames (v8::Local< v8::Object > pObj)
v8::Local< v8::Value > GetObjectProperty (v8::Local< v8::Object > pObj, ByteStringView bsUTF8PropertyName)
void PutObjectProperty (v8::Local< v8::Object > pObj, ByteStringView bsUTF8PropertyName, v8::Local< v8::Value > pValue)

Static Public Member Functions

static CXFA_ObjectToObject (const v8::FunctionCallbackInfo< v8::Value > &info)
static CXFA_ObjectToObject (v8::Isolate *pIsolate, v8::Local< v8::Value > value)
static CXFA_ObjectToObject (v8::Isolate *pIsolate, CFXJSE_Value *pValue)
static CXFA_ObjectToObject (CFXJSE_HostObject *pHostObj)
static v8::Local< v8::Value > GlobalPropertyGetter (v8::Isolate *pIsolate, v8::Local< v8::Object > pObject, ByteStringView szPropName)
static void GlobalPropertySetter (v8::Isolate *pIsolate, v8::Local< v8::Object > pObject, ByteStringView szPropName, v8::Local< v8::Value > pValue)
static v8::Local< v8::Value > NormalPropertyGetter (v8::Isolate *pIsolate, v8::Local< v8::Object > pObject, ByteStringView szPropName)
static void NormalPropertySetter (v8::Isolate *pIsolate, v8::Local< v8::Object > pObject, ByteStringView szPropName, v8::Local< v8::Value > pValue)
static CJS_Result NormalMethodCall (const v8::FunctionCallbackInfo< v8::Value > &info, const WideString &functionName)
static FXJSE_ClassPropType NormalPropTypeGetter (v8::Isolate *pIsolate, v8::Local< v8::Object > pObject, ByteStringView szPropName, bool bQueryIn)
static FXJSE_ClassPropType GlobalPropTypeGetter (v8::Isolate *pIsolate, v8::Local< v8::Object > pObject, ByteStringView szPropName, bool bQueryIn)

Friends

class EventParamScope

Additional Inherited Members

Protected Member Functions inherited from CFX_V8
void SetIsolate (v8::Isolate *pIsolate)
void DisposeIsolate ()

Detailed Description

Definition at line 49 of file cfxjse_engine.h.

Constructor & Destructor Documentation

◆ CFXJSE_Engine()

CFXJSE_Engine::CFXJSE_Engine ( CXFA_Document * pDocument,
CJS_Runtime * fxjs_runtime )

Definition at line 120 of file cfxjse_engine.cpp.

References CFXJSE_Engine().

Referenced by CFXJSE_Engine().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~CFXJSE_Engine()

CFXJSE_Engine::~CFXJSE_Engine ( )
override

Definition at line 141 of file cfxjse_engine.cpp.

References CFXJSE_ScopeUtil_IsolateHandleContext::CFXJSE_ScopeUtil_IsolateHandleContext().

Here is the call graph for this function:

Member Function Documentation

◆ AddNodesOfRunScript()

void CFXJSE_Engine::AddNodesOfRunScript ( CXFA_Node * pNode)

Definition at line 892 of file cfxjse_engine.cpp.

Referenced by CJX_Object::TryContent().

Here is the caller graph for this function:

◆ AddObjectToUpArray()

void CFXJSE_Engine::AddObjectToUpArray ( CXFA_Node * pNode)

Definition at line 560 of file cfxjse_engine.cpp.

◆ GetDocument()

CXFA_Document * CFXJSE_Engine::GetDocument ( ) const
inline

Definition at line 150 of file cfxjse_engine.h.

Referenced by GlobalPropertyGetter(), and NormalPropertyGetter().

Here is the caller graph for this function:

◆ GetEventParam()

CXFA_EventParam * CFXJSE_Engine::GetEventParam ( ) const
inline

Definition at line 130 of file cfxjse_engine.h.

◆ GetEventTarget()

CXFA_Node * CFXJSE_Engine::GetEventTarget ( ) const
inline

Definition at line 129 of file cfxjse_engine.h.

◆ GetJseContextForTest()

CFXJSE_Context * CFXJSE_Engine::GetJseContextForTest ( ) const
inline

Definition at line 168 of file cfxjse_engine.h.

Referenced by XFAJSEmbedderTest::Execute(), and XFAJSEmbedderTest::ExecuteSilenceFailure().

Here is the caller graph for this function:

◆ GetJseNormalClass()

CFXJSE_Class * CFXJSE_Engine::GetJseNormalClass ( ) const
inline

Definition at line 149 of file cfxjse_engine.h.

◆ GetOrCreateJSBindingFromMap()

v8::Local< v8::Object > CFXJSE_Engine::GetOrCreateJSBindingFromMap ( CXFA_Object * pObject)

Definition at line 871 of file cfxjse_engine.cpp.

References CXFA_Object::AsNode(), CXFA_Script::FromNode(), and CXFA_Object::JSObject().

Here is the call graph for this function:

◆ GetThisObject()

CXFA_Object * CFXJSE_Engine::GetThisObject ( ) const
inline

Definition at line 148 of file cfxjse_engine.h.

Referenced by CFXJSE_FormCalcContext::Format(), GlobalPropertyGetter(), GlobalPropertySetter(), NormalPropertyGetter(), CFXJSE_FormCalcContext::Parse(), and CFXJSE_FormCalcContext::Time2Num().

Here is the caller graph for this function:

◆ GetType()

CXFA_Script::Type CFXJSE_Engine::GetType ( )

Definition at line 556 of file cfxjse_engine.cpp.

Referenced by GlobalPropertyGetter(), and NormalPropertyGetter().

Here is the caller graph for this function:

◆ GlobalPropertyGetter()

v8::Local< v8::Value > CFXJSE_Engine::GlobalPropertyGetter ( v8::Isolate * pIsolate,
v8::Local< v8::Object > pObject,
ByteStringView szPropName )
static

◆ GlobalPropertySetter()

void CFXJSE_Engine::GlobalPropertySetter ( v8::Isolate * pIsolate,
v8::Local< v8::Object > pObject,
ByteStringView szPropName,
v8::Local< v8::Value > pValue )
static

Definition at line 252 of file cfxjse_engine.cpp.

References EventParamScope, fxcrt::WideString::FromUTF8(), CXFA_Object::GetDocument(), CXFA_FFNotify::GetFFDoc(), CXFA_FFDoc::GetIJSRuntime(), CXFA_Document::GetNotify(), CXFA_Document::GetScriptContext(), GetThisObject(), CXFA_Object::IsThisProxy(), fxv8::IsUndefined(), kAttributes, kChildren, kParent, kProperties, kSiblings, and ToNode().

Here is the call graph for this function:

◆ GlobalPropTypeGetter()

FXJSE_ClassPropType CFXJSE_Engine::GlobalPropTypeGetter ( v8::Isolate * pIsolate,
v8::Local< v8::Object > pObject,
ByteStringView szPropName,
bool bQueryIn )
static

Definition at line 360 of file cfxjse_engine.cpp.

References EventParamScope, fxcrt::WideString::FromUTF8(), CXFA_Object::GetDocument(), CXFA_Document::GetScriptContext(), CJX_Object::HasMethod(), CXFA_Object::JSObject(), kMethod, kNone, and kProperty.

Here is the call graph for this function:

◆ IsResolvingNodes()

bool CFXJSE_Engine::IsResolvingNodes ( ) const
inline

Definition at line 166 of file cfxjse_engine.h.

Referenced by NormalPropertySetter().

Here is the caller graph for this function:

◆ IsRunAtClient()

bool CFXJSE_Engine::IsRunAtClient ( )
inline

Definition at line 156 of file cfxjse_engine.h.

◆ LastObjectFromUpArray()

CXFA_Node * CFXJSE_Engine::LastObjectFromUpArray ( )

Definition at line 564 of file cfxjse_engine.cpp.

◆ NewNormalXFAObject()

v8::Local< v8::Object > CFXJSE_Engine::NewNormalXFAObject ( CXFA_Object * obj)

Definition at line 910 of file cfxjse_engine.cpp.

◆ NormalMethodCall()

CJS_Result CFXJSE_Engine::NormalMethodCall ( const v8::FunctionCallbackInfo< v8::Value > & info,
const WideString & functionName )
static

Definition at line 534 of file cfxjse_engine.cpp.

References EventParamScope, fxcrt::WideString::FromASCII(), CXFA_Object::GetDocument(), and CXFA_Document::GetScriptContext().

Here is the call graph for this function:

◆ NormalPropertyGetter()

v8::Local< v8::Value > CFXJSE_Engine::NormalPropertyGetter ( v8::Isolate * pIsolate,
v8::Local< v8::Object > pObject,
ByteStringView szPropName )
static

◆ NormalPropertySetter()

void CFXJSE_Engine::NormalPropertySetter ( v8::Isolate * pIsolate,
v8::Local< v8::Object > pObject,
ByteStringView szPropName,
v8::Local< v8::Value > pValue )
static

Definition at line 451 of file cfxjse_engine.cpp.

References CXFA_Object::AsNode(), EventParamScope, CXFA_Script::FromNode(), fxcrt::WideString::FromUTF8(), CXFA_Object::GetDocument(), CXFA_Object::GetElementType(), CXFA_Document::GetScriptContext(), CXFA_Object::IsNode(), IsResolvingNodes(), CXFA_Object::JSObject(), ToNode(), and Unknown.

Here is the call graph for this function:

◆ NormalPropTypeGetter()

FXJSE_ClassPropType CFXJSE_Engine::NormalPropTypeGetter ( v8::Isolate * pIsolate,
v8::Local< v8::Object > pObject,
ByteStringView szPropName,
bool bQueryIn )
static

Definition at line 509 of file cfxjse_engine.cpp.

References EventParamScope, fxcrt::WideString::FromUTF8(), CXFA_Object::GetDocument(), CXFA_Object::GetElementType(), CXFA_Document::GetScriptContext(), CJX_Object::HasMethod(), CXFA_Object::JSObject(), kMethod, kNone, and kProperty.

Here is the call graph for this function:

◆ ResolveObjects()

std::optional< CFXJSE_Engine::ResolveResult > CFXJSE_Engine::ResolveObjects ( CXFA_Object * refObject,
WideStringView wsExpression,
Mask< XFA_ResolveFlag > dwStyles )

Definition at line 685 of file cfxjse_engine.cpp.

References ResolveObjectsWithBindNode().

Here is the call graph for this function:

◆ ResolveObjectsWithBindNode()

std::optional< CFXJSE_Engine::ResolveResult > CFXJSE_Engine::ResolveObjectsWithBindNode ( CXFA_Object * refObject,
WideStringView wsExpression,
Mask< XFA_ResolveFlag > dwStyles,
CXFA_Node * bindNode )

Definition at line 693 of file cfxjse_engine.cpp.

References CFXJSE_ScopeUtil_IsolateHandleContext::CFXJSE_ScopeUtil_IsolateHandleContext(), XFA_SCRIPTATTRIBUTEINFO::callback, CFXJSE_Engine::ResolveResult::kAttribute, kBind, kBindNew, kCreateNode, CFXJSE_Engine::ResolveResult::kCreateNodeMidAll, CFXJSE_Engine::ResolveResult::kCreateNodeOne, CFXJSE_Engine::ResolveResult::kExistNodes, CFXJSE_Engine::ResolveResult::kNodes, kParent, kSiblings, CFXJSE_ResolveProcessor::NodeData::m_nLevel, CFXJSE_ResolveProcessor::NodeData::m_Result, CFXJSE_Engine::ResolveResult::script_attribute, and CFXJSE_Engine::ResolveResult::type.

Referenced by ResolveObjects().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RunScript()

CFXJSE_Context::ExecutionResult CFXJSE_Engine::RunScript ( CXFA_Script::Type eScriptType,
WideStringView wsScript,
CXFA_Object * pThisObject )

Definition at line 166 of file cfxjse_engine.cpp.

References CFXJSE_ScopeUtil_IsolateHandleContext::CFXJSE_ScopeUtil_IsolateHandleContext(), and CXFA_Script::Formcalc.

Referenced by CXFA_Node::ExecuteBoolScript().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetNodesOfRunScript()

void CFXJSE_Engine::SetNodesOfRunScript ( std::vector< cppgc::Persistent< CXFA_Node > > * pArray)

Definition at line 887 of file cfxjse_engine.cpp.

◆ SetRunAtType()

void CFXJSE_Engine::SetRunAtType ( XFA_AttributeValue eRunAt)
inline

Definition at line 155 of file cfxjse_engine.h.

Referenced by CXFA_Node::ExecuteBoolScript().

Here is the caller graph for this function:

◆ ToObject() [1/4]

CXFA_Object * CFXJSE_Engine::ToObject ( CFXJSE_HostObject * pHostObj)
static

Definition at line 112 of file cfxjse_engine.cpp.

References CFXJSE_HostObject::AsCJXObject(), and CJX_Object::GetXFAObject().

Referenced by ToObject().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ToObject() [2/4]

CXFA_Object * CFXJSE_Engine::ToObject ( const v8::FunctionCallbackInfo< v8::Value > & info)
static

Definition at line 91 of file cfxjse_engine.cpp.

◆ ToObject() [3/4]

CXFA_Object * CFXJSE_Engine::ToObject ( v8::Isolate * pIsolate,
CFXJSE_Value * pValue )
static

Definition at line 106 of file cfxjse_engine.cpp.

References ToObject().

Here is the call graph for this function:

◆ ToObject() [4/4]

CXFA_Object * CFXJSE_Engine::ToObject ( v8::Isolate * pIsolate,
v8::Local< v8::Value > value )
static

Definition at line 97 of file cfxjse_engine.cpp.

◆ ToXFAObject()

CXFA_Object * CFXJSE_Engine::ToXFAObject ( v8::Local< v8::Value > obj)

Definition at line 897 of file cfxjse_engine.cpp.

◆ EventParamScope


The documentation for this class was generated from the following files: