summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fxjs/cfxjse_engine.cpp2
-rw-r--r--fxjs/cjx_node.cpp16
-rw-r--r--fxjs/cjx_node.h2
-rw-r--r--xfa/fxfa/parser/cxfa_event.cpp3
-rw-r--r--xfa/fxfa/parser/cxfa_fill.cpp15
-rw-r--r--xfa/fxfa/parser/cxfa_font.cpp2
-rw-r--r--xfa/fxfa/parser/cxfa_layoutpagemgr.cpp2
-rw-r--r--xfa/fxfa/parser/cxfa_stroke.cpp3
-rw-r--r--xfa/fxfa/parser/xfa_document_datamerger_imp.cpp9
9 files changed, 30 insertions, 24 deletions
diff --git a/fxjs/cfxjse_engine.cpp b/fxjs/cfxjse_engine.cpp
index 125ddc7cea..5fa0a11e21 100644
--- a/fxjs/cfxjse_engine.cpp
+++ b/fxjs/cfxjse_engine.cpp
@@ -349,7 +349,7 @@ void CFXJSE_Engine::NormalPropertySetter(CFXJSE_Value* pOriginalValue,
CXFA_Node* pPropOrChild = nullptr;
XFA_Element eType = XFA_GetElementTypeForName(wsPropName.AsStringView());
if (eType != XFA_Element::Unknown)
- pPropOrChild = pNode->JSNode()->GetProperty(0, eType);
+ pPropOrChild = pNode->JSNode()->GetProperty(0, eType, true);
else
pPropOrChild = pNode->GetFirstChildByName(wsPropName.AsStringView());
diff --git a/fxjs/cjx_node.cpp b/fxjs/cjx_node.cpp
index 59ddab5db0..0c78f99551 100644
--- a/fxjs/cjx_node.cpp
+++ b/fxjs/cjx_node.cpp
@@ -684,7 +684,7 @@ void CJX_Node::Script_NodeClass_GetElement(CFXJSE_Arguments* pArguments) {
if (iLength >= 2)
iValue = pArguments->GetInt32(1);
CXFA_Node* pNode = GetProperty(
- iValue, XFA_GetElementTypeForName(wsExpression.AsStringView()));
+ iValue, XFA_GetElementTypeForName(wsExpression.AsStringView()), true);
pArguments->GetReturnValue()->Assign(
GetDocument()->GetScriptContext()->GetJSValueFromMap(pNode));
}
@@ -710,14 +710,12 @@ void CJX_Node::Script_NodeClass_IsPropertySpecified(
bool bParent = iLength < 2 || pArguments->GetInt32(1);
int32_t iIndex = iLength == 3 ? pArguments->GetInt32(2) : 0;
XFA_Element eType = XFA_GetElementTypeForName(wsExpression.AsStringView());
- bHas = !!GetProperty(iIndex, eType);
+ bHas = !!GetProperty(iIndex, eType, true);
if (!bHas && bParent && GetXFANode()->GetParent()) {
// Also check on the parent.
- bHas = GetXFANode()->GetParent()->JSNode()->HasAttribute(
- pAttributeInfo->eName);
- if (!bHas)
- bHas =
- !!GetXFANode()->GetParent()->JSNode()->GetProperty(iIndex, eType);
+ auto* jsnode = GetXFANode()->GetParent()->JSNode();
+ bHas = jsnode->HasAttribute(pAttributeInfo->eName) ||
+ !!jsnode->GetProperty(iIndex, eType, true);
}
}
pValue->SetBoolean(bHas);
@@ -3331,7 +3329,7 @@ bool CJX_Node::SetScriptContent(const WideString& wsContent,
switch (GetXFANode()->GetObjectType()) {
case XFA_ObjectType::ContainerNode: {
if (XFA_FieldIsMultiListBox(GetXFANode())) {
- CXFA_Node* pValue = GetProperty(0, XFA_Element::Value);
+ CXFA_Node* pValue = GetProperty(0, XFA_Element::Value, true);
if (!pValue)
break;
@@ -3412,7 +3410,7 @@ bool CJX_Node::SetScriptContent(const WideString& wsContent,
if (GetXFANode()->GetElementType() == XFA_Element::ExclGroup) {
pNode = GetXFANode();
} else {
- CXFA_Node* pValue = GetProperty(0, XFA_Element::Value);
+ CXFA_Node* pValue = GetProperty(0, XFA_Element::Value, true);
if (!pValue)
break;
diff --git a/fxjs/cjx_node.h b/fxjs/cjx_node.h
index 1b8ad5c079..b9a41deaf4 100644
--- a/fxjs/cjx_node.h
+++ b/fxjs/cjx_node.h
@@ -71,7 +71,7 @@ class CJX_Node : public CJX_Object {
CXFA_Node* GetProperty(int32_t index,
XFA_Element eType,
- bool bCreateProperty = true);
+ bool bCreateProperty);
bool SetContent(const WideString& wsContent,
const WideString& wsXMLValue,
diff --git a/xfa/fxfa/parser/cxfa_event.cpp b/xfa/fxfa/parser/cxfa_event.cpp
index 4d7c27d80f..822baf8ce7 100644
--- a/xfa/fxfa/parser/cxfa_event.cpp
+++ b/xfa/fxfa/parser/cxfa_event.cpp
@@ -39,7 +39,8 @@ CXFA_Submit CXFA_Event::GetSubmit() const {
}
void CXFA_Event::GetSignDataTarget(WideString& wsTarget) {
- CXFA_Node* pNode = m_pNode->JSNode()->GetProperty(0, XFA_Element::SignData);
+ CXFA_Node* pNode =
+ m_pNode->JSNode()->GetProperty(0, XFA_Element::SignData, true);
if (!pNode)
return;
diff --git a/xfa/fxfa/parser/cxfa_fill.cpp b/xfa/fxfa/parser/cxfa_fill.cpp
index f3d045ad30..4cce86fd43 100644
--- a/xfa/fxfa/parser/cxfa_fill.cpp
+++ b/xfa/fxfa/parser/cxfa_fill.cpp
@@ -17,7 +17,8 @@ int32_t CXFA_Fill::GetPresence() {
}
void CXFA_Fill::SetColor(FX_ARGB color) {
- CXFA_Node* pNode = m_pNode->JSNode()->GetProperty(0, XFA_Element::Color);
+ CXFA_Node* pNode =
+ m_pNode->JSNode()->GetProperty(0, XFA_Element::Color, true);
WideString wsColor;
int a;
int r;
@@ -52,7 +53,8 @@ XFA_Element CXFA_Fill::GetFillType() {
}
int32_t CXFA_Fill::GetPattern(FX_ARGB& foreColor) {
- CXFA_Node* pNode = m_pNode->JSNode()->GetProperty(0, XFA_Element::Pattern);
+ CXFA_Node* pNode =
+ m_pNode->JSNode()->GetProperty(0, XFA_Element::Pattern, true);
if (CXFA_Node* pColor = pNode->GetChild(0, XFA_Element::Color)) {
WideStringView wsColor;
pColor->JSNode()->TryCData(XFA_ATTRIBUTE_Value, wsColor, false);
@@ -64,7 +66,8 @@ int32_t CXFA_Fill::GetPattern(FX_ARGB& foreColor) {
}
int32_t CXFA_Fill::GetStipple(FX_ARGB& stippleColor) {
- CXFA_Node* pNode = m_pNode->JSNode()->GetProperty(0, XFA_Element::Stipple);
+ CXFA_Node* pNode =
+ m_pNode->JSNode()->GetProperty(0, XFA_Element::Stipple, true);
int32_t eAttr = 50;
pNode->JSNode()->TryInteger(XFA_ATTRIBUTE_Rate, eAttr);
if (CXFA_Node* pColor = pNode->GetChild(0, XFA_Element::Color)) {
@@ -78,7 +81,8 @@ int32_t CXFA_Fill::GetStipple(FX_ARGB& stippleColor) {
}
int32_t CXFA_Fill::GetLinear(FX_ARGB& endColor) {
- CXFA_Node* pNode = m_pNode->JSNode()->GetProperty(0, XFA_Element::Linear);
+ CXFA_Node* pNode =
+ m_pNode->JSNode()->GetProperty(0, XFA_Element::Linear, true);
XFA_ATTRIBUTEENUM eAttr = XFA_ATTRIBUTEENUM_ToRight;
pNode->JSNode()->TryEnum(XFA_ATTRIBUTE_Type, eAttr);
if (CXFA_Node* pColor = pNode->GetChild(0, XFA_Element::Color)) {
@@ -92,7 +96,8 @@ int32_t CXFA_Fill::GetLinear(FX_ARGB& endColor) {
}
int32_t CXFA_Fill::GetRadial(FX_ARGB& endColor) {
- CXFA_Node* pNode = m_pNode->JSNode()->GetProperty(0, XFA_Element::Radial);
+ CXFA_Node* pNode =
+ m_pNode->JSNode()->GetProperty(0, XFA_Element::Radial, true);
XFA_ATTRIBUTEENUM eAttr = XFA_ATTRIBUTEENUM_ToEdge;
pNode->JSNode()->TryEnum(XFA_ATTRIBUTE_Type, eAttr);
if (CXFA_Node* pColor = pNode->GetChild(0, XFA_Element::Color)) {
diff --git a/xfa/fxfa/parser/cxfa_font.cpp b/xfa/fxfa/parser/cxfa_font.cpp
index 023a34b387..0e24064ae8 100644
--- a/xfa/fxfa/parser/cxfa_font.cpp
+++ b/xfa/fxfa/parser/cxfa_font.cpp
@@ -85,7 +85,7 @@ bool CXFA_Font::IsItalic() {
}
void CXFA_Font::SetColor(FX_ARGB color) {
- CXFA_Fill fill(m_pNode->JSNode()->GetProperty(0, XFA_Element::Fill));
+ CXFA_Fill fill(m_pNode->JSNode()->GetProperty(0, XFA_Element::Fill, true));
fill.SetColor(color);
}
diff --git a/xfa/fxfa/parser/cxfa_layoutpagemgr.cpp b/xfa/fxfa/parser/cxfa_layoutpagemgr.cpp
index f7b2910db2..d3a33e7de9 100644
--- a/xfa/fxfa/parser/cxfa_layoutpagemgr.cpp
+++ b/xfa/fxfa/parser/cxfa_layoutpagemgr.cpp
@@ -273,7 +273,7 @@ bool CXFA_LayoutPageMgr::InitLayoutPage(CXFA_Node* pFormNode) {
return false;
m_pTemplatePageSetRoot =
- pTemplateNode->JSNode()->GetProperty(0, XFA_Element::PageSet);
+ pTemplateNode->JSNode()->GetProperty(0, XFA_Element::PageSet, true);
ASSERT(m_pTemplatePageSetRoot);
if (m_pPageSetLayoutItemRoot) {
m_pPageSetLayoutItemRoot->m_pParent = nullptr;
diff --git a/xfa/fxfa/parser/cxfa_stroke.cpp b/xfa/fxfa/parser/cxfa_stroke.cpp
index 7cf0b2c5fd..15ff71313e 100644
--- a/xfa/fxfa/parser/cxfa_stroke.cpp
+++ b/xfa/fxfa/parser/cxfa_stroke.cpp
@@ -61,7 +61,8 @@ void CXFA_Stroke::SetColor(FX_ARGB argb) {
if (!m_pNode)
return;
- CXFA_Node* pNode = m_pNode->JSNode()->GetProperty(0, XFA_Element::Color);
+ CXFA_Node* pNode =
+ m_pNode->JSNode()->GetProperty(0, XFA_Element::Color, true);
WideString wsColor;
int a;
int r;
diff --git a/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp b/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp
index be052ebce5..a259432dfb 100644
--- a/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp
+++ b/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp
@@ -61,7 +61,7 @@ CXFA_Node* FormValueNode_CreateChild(CXFA_Node* pValueNode, XFA_Element iType) {
if (!pChildNode) {
if (iType == XFA_Element::Unknown)
return nullptr;
- pChildNode = pValueNode->JSNode()->GetProperty(0, iType);
+ pChildNode = pValueNode->JSNode()->GetProperty(0, iType, true);
}
return pChildNode;
}
@@ -129,7 +129,8 @@ void CreateDataBinding(CXFA_Node* pFormNode,
CXFA_WidgetData* pWidgetData = pFormNode->GetWidgetData();
ASSERT(pWidgetData);
XFA_Element eUIType = pWidgetData->GetUIType();
- CXFA_Value defValue(pFormNode->JSNode()->GetProperty(0, XFA_Element::Value));
+ CXFA_Value defValue(
+ pFormNode->JSNode()->GetProperty(0, XFA_Element::Value, true));
if (!bDataToForm) {
WideString wsValue;
WideString wsFormattedValue;
@@ -236,7 +237,7 @@ void CreateDataBinding(CXFA_Node* pFormNode,
continue;
CXFA_Node* pValue =
- pChild->JSNode()->GetProperty(0, XFA_Element::Value);
+ pChild->JSNode()->GetProperty(0, XFA_Element::Value, true);
CXFA_Node* pItems = pChild->GetChild(0, XFA_Element::Items);
CXFA_Node* pText =
pItems ? pItems->GetNodeItem(XFA_NODEITEM_FirstChild) : nullptr;
@@ -263,7 +264,7 @@ void CreateDataBinding(CXFA_Node* pFormNode,
pDataNode->JSNode()->SetAttributeValue(wsValue, wsFormattedValue, false,
false);
CXFA_Node* pValue =
- pFormNode->JSNode()->GetProperty(0, XFA_Element::Value);
+ pFormNode->JSNode()->GetProperty(0, XFA_Element::Value, true);
FormValueNode_SetChildContent(pValue, wsValue, XFA_Element::Float);
break;
}