Index: xfa/src/fxfa/src/fm2js/xfa_fm2jscontext.cpp |
diff --git a/xfa/src/fxfa/src/fm2js/xfa_fm2jscontext.cpp b/xfa/src/fxfa/src/fm2js/xfa_fm2jscontext.cpp |
index 49ab94fd60303197268deb2dde225d902da313d7..529474f5eb1e06fade97bc77196ad88b80505782 100644 |
--- a/xfa/src/fxfa/src/fm2js/xfa_fm2jscontext.cpp |
+++ b/xfa/src/fxfa/src/fm2js/xfa_fm2jscontext.cpp |
@@ -1549,9 +1549,10 @@ void CXFA_FM2JSContext::Time2Num(FXJSE_HOBJECT hThis, |
IFX_LocaleMgr* pMgr = (IFX_LocaleMgr*)pDoc->GetLocalMgr(); |
IFX_Locale* pLocale = NULL; |
if (localString.IsEmpty()) { |
- CXFA_Object* pThisNode = pDoc->GetScriptContext()->GetThisObject(); |
- FXSYS_assert(pThisNode->IsNode()); |
- CXFA_WidgetData widgetData((CXFA_Node*)pThisNode); |
+ CXFA_Node* pThisNode = |
+ ToNode(pDoc->GetScriptContext()->GetThisObject()); |
+ FXSYS_assert(pThisNode); |
+ CXFA_WidgetData widgetData(pThisNode); |
pLocale = widgetData.GetLocal(); |
} else { |
pLocale = pMgr->GetLocaleByName( |
@@ -1998,9 +1999,9 @@ FX_BOOL CXFA_FM2JSContext::Local2IsoDate(FXJSE_HOBJECT hThis, |
IFX_LocaleMgr* pMgr = (IFX_LocaleMgr*)pDoc->GetLocalMgr(); |
IFX_Locale* pLocale = NULL; |
if (szLocale.IsEmpty()) { |
- CXFA_Object* pThisNode = pDoc->GetScriptContext()->GetThisObject(); |
- FXSYS_assert(pThisNode->IsNode()); |
- CXFA_WidgetData widgetData((CXFA_Node*)pThisNode); |
+ CXFA_Node* pThisNode = ToNode(pDoc->GetScriptContext()->GetThisObject()); |
+ FXSYS_assert(pThisNode); |
+ CXFA_WidgetData widgetData(pThisNode); |
pLocale = widgetData.GetLocal(); |
} else { |
pLocale = pMgr->GetLocaleByName( |
@@ -2038,9 +2039,9 @@ FX_BOOL CXFA_FM2JSContext::Local2IsoTime(FXJSE_HOBJECT hThis, |
IFX_LocaleMgr* pMgr = (IFX_LocaleMgr*)pDoc->GetLocalMgr(); |
IFX_Locale* pLocale = NULL; |
if (szLocale.IsEmpty()) { |
- CXFA_Object* pThisNode = pDoc->GetScriptContext()->GetThisObject(); |
- FXSYS_assert(pThisNode->IsNode()); |
- CXFA_WidgetData widgetData((CXFA_Node*)pThisNode); |
+ CXFA_Node* pThisNode = ToNode(pDoc->GetScriptContext()->GetThisObject()); |
+ FXSYS_assert(pThisNode); |
+ CXFA_WidgetData widgetData(pThisNode); |
pLocale = widgetData.GetLocal(); |
} else { |
pLocale = pMgr->GetLocaleByName( |
@@ -2081,9 +2082,9 @@ FX_BOOL CXFA_FM2JSContext::IsoDate2Local(FXJSE_HOBJECT hThis, |
IFX_LocaleMgr* pMgr = (IFX_LocaleMgr*)pDoc->GetLocalMgr(); |
IFX_Locale* pLocale = NULL; |
if (szLocale.IsEmpty()) { |
- CXFA_Object* pThisNode = pDoc->GetScriptContext()->GetThisObject(); |
- FXSYS_assert(pThisNode->IsNode()); |
- CXFA_WidgetData widgetData((CXFA_Node*)pThisNode); |
+ CXFA_Node* pThisNode = ToNode(pDoc->GetScriptContext()->GetThisObject()); |
+ FXSYS_assert(pThisNode); |
+ CXFA_WidgetData widgetData(pThisNode); |
pLocale = widgetData.GetLocal(); |
} else { |
pLocale = pMgr->GetLocaleByName( |
@@ -2123,9 +2124,9 @@ FX_BOOL CXFA_FM2JSContext::IsoTime2Local(FXJSE_HOBJECT hThis, |
IFX_LocaleMgr* pMgr = (IFX_LocaleMgr*)pDoc->GetLocalMgr(); |
IFX_Locale* pLocale = NULL; |
if (szLocale.IsEmpty()) { |
- CXFA_Object* pThisNode = pDoc->GetScriptContext()->GetThisObject(); |
- FXSYS_assert(pThisNode->IsNode()); |
- CXFA_WidgetData widgetData((CXFA_Node*)pThisNode); |
+ CXFA_Node* pThisNode = ToNode(pDoc->GetScriptContext()->GetThisObject()); |
+ FXSYS_assert(pThisNode); |
+ CXFA_WidgetData widgetData(pThisNode); |
pLocale = widgetData.GetLocal(); |
} else { |
pLocale = pMgr->GetLocaleByName( |
@@ -2167,9 +2168,9 @@ FX_BOOL CXFA_FM2JSContext::GetGMTTime(FXJSE_HOBJECT hThis, |
IFX_LocaleMgr* pMgr = (IFX_LocaleMgr*)pDoc->GetLocalMgr(); |
IFX_Locale* pLocale = NULL; |
if (szLocale.IsEmpty()) { |
- CXFA_Object* pThisNode = pDoc->GetScriptContext()->GetThisObject(); |
- FXSYS_assert(pThisNode->IsNode()); |
- CXFA_WidgetData widgetData((CXFA_Node*)pThisNode); |
+ CXFA_Node* pThisNode = ToNode(pDoc->GetScriptContext()->GetThisObject()); |
+ FXSYS_assert(pThisNode); |
+ CXFA_WidgetData widgetData(pThisNode); |
pLocale = widgetData.GetLocal(); |
} else { |
pLocale = pMgr->GetLocaleByName( |
@@ -2352,9 +2353,9 @@ void CXFA_FM2JSContext::GetLocalDateFormat(FXJSE_HOBJECT hThis, |
IFX_LocaleMgr* pMgr = (IFX_LocaleMgr*)pDoc->GetLocalMgr(); |
IFX_Locale* pLocale = NULL; |
if (szLocalStr.IsEmpty()) { |
- CXFA_Object* pThisNode = pDoc->GetScriptContext()->GetThisObject(); |
- FXSYS_assert(pThisNode->IsNode()); |
- CXFA_WidgetData widgetData((CXFA_Node*)pThisNode); |
+ CXFA_Node* pThisNode = ToNode(pDoc->GetScriptContext()->GetThisObject()); |
+ FXSYS_assert(pThisNode); |
+ CXFA_WidgetData widgetData(pThisNode); |
pLocale = widgetData.GetLocal(); |
} else { |
pLocale = pMgr->GetLocaleByName( |
@@ -2407,9 +2408,8 @@ void CXFA_FM2JSContext::GetLocalTimeFormat(FXJSE_HOBJECT hThis, |
IFX_LocaleMgr* pMgr = (IFX_LocaleMgr*)pDoc->GetLocalMgr(); |
IFX_Locale* pLocale = NULL; |
if (szLocalStr.IsEmpty()) { |
- CXFA_Object* pThisObject = pDoc->GetScriptContext()->GetThisObject(); |
- FXSYS_assert(pThisObject->IsNode()); |
- CXFA_Node* pThisNode = (CXFA_Node*)pThisObject; |
+ CXFA_Node* pThisNode = ToNode(pDoc->GetScriptContext()->GetThisObject()); |
+ FXSYS_assert(pThisNode); |
CXFA_WidgetData widgetData(pThisNode); |
pLocale = widgetData.GetLocal(); |
} else { |
@@ -4359,9 +4359,9 @@ void CXFA_FM2JSContext::Format(FXJSE_HOBJECT hThis, |
HValueToUTF8String(argTwo, szValue); |
CXFA_Document* pDoc = pContext->GetDocument(); |
IFX_LocaleMgr* pMgr = (IFX_LocaleMgr*)pDoc->GetLocalMgr(); |
- CXFA_Object* pThisNode = pDoc->GetScriptContext()->GetThisObject(); |
- FXSYS_assert(pThisNode->IsNode()); |
- CXFA_WidgetData widgetData((CXFA_Node*)pThisNode); |
+ CXFA_Node* pThisNode = ToNode(pDoc->GetScriptContext()->GetThisObject()); |
+ FXSYS_assert(pThisNode); |
+ CXFA_WidgetData widgetData(pThisNode); |
IFX_Locale* pLocale = widgetData.GetLocal(); |
FX_DWORD patternType; |
FX_BOOL bCompelte = XFA_PATTERN_STRING_Type(szPattern, patternType); |
@@ -4571,9 +4571,9 @@ void CXFA_FM2JSContext::Parse(FXJSE_HOBJECT hThis, |
HValueToUTF8String(argTwo, szValue); |
CXFA_Document* pDoc = pContext->GetDocument(); |
IFX_LocaleMgr* pMgr = (IFX_LocaleMgr*)pDoc->GetLocalMgr(); |
- CXFA_Object* pThisNode = pDoc->GetScriptContext()->GetThisObject(); |
- FXSYS_assert(pThisNode->IsNode()); |
- CXFA_WidgetData widgetData((CXFA_Node*)pThisNode); |
+ CXFA_Node* pThisNode = ToNode(pDoc->GetScriptContext()->GetThisObject()); |
+ FXSYS_assert(pThisNode); |
+ CXFA_WidgetData widgetData(pThisNode); |
IFX_Locale* pLocale = widgetData.GetLocal(); |
FX_DWORD patternType; |
FX_BOOL bCompletePattern = |
@@ -6753,24 +6753,23 @@ void CXFA_FM2JSContext::unfoldArgs(FXJSE_HOBJECT hThis, |
} |
void CXFA_FM2JSContext::GetObjectDefaultValue(FXJSE_HVALUE hObjectValue, |
FXJSE_HVALUE hDefaultValue) { |
- CXFA_Object* pNode = (CXFA_Object*)FXJSE_Value_ToObject(hObjectValue, NULL); |
- if (pNode && pNode->IsNode()) { |
- ((CXFA_Node*)pNode) |
- ->Script_Som_DefaultValue(hDefaultValue, FALSE, (XFA_ATTRIBUTE)-1); |
+ CXFA_Node* pNode = |
+ ToNode((CXFA_Object*)FXJSE_Value_ToObject(hObjectValue, NULL)); |
+ if (pNode) { |
+ pNode->Script_Som_DefaultValue(hDefaultValue, FALSE, (XFA_ATTRIBUTE)-1); |
} else { |
FXJSE_Value_SetNull(hDefaultValue); |
} |
} |
FX_BOOL CXFA_FM2JSContext::SetObjectDefaultValue(FXJSE_HVALUE hObjectValue, |
FXJSE_HVALUE hNewValue) { |
- FX_BOOL bSuccess = FALSE; |
- CXFA_Object* pNode = (CXFA_Object*)FXJSE_Value_ToObject(hObjectValue, NULL); |
- if (pNode && pNode->IsNode()) { |
- ((CXFA_Node*)pNode) |
- ->Script_Som_DefaultValue(hNewValue, TRUE, (XFA_ATTRIBUTE)-1); |
- bSuccess = TRUE; |
+ CXFA_Node* pNode = |
+ ToNode((CXFA_Object*)FXJSE_Value_ToObject(hObjectValue, NULL)); |
+ if (pNode) { |
+ pNode->Script_Som_DefaultValue(hNewValue, TRUE, (XFA_ATTRIBUTE)-1); |
+ return TRUE; |
} |
- return bSuccess; |
+ return FALSE; |
} |
void CXFA_FM2JSContext::GenerateSomExpression(const CFX_ByteStringC& szName, |
int32_t iIndexFlags, |
@@ -6855,8 +6854,7 @@ int32_t CXFA_FM2JSContext::ResolveObjects(FXJSE_HOBJECT hThis, |
FXSYS_assert(pNode); |
if (bHasNoResolveName) { |
CFX_WideString wsName; |
- if (pNode->IsNode()) { |
- CXFA_Node* pXFANode = (CXFA_Node*)pNode; |
+ if (CXFA_Node* pXFANode = pNode->AsNode()) { |
pXFANode->GetAttribute(XFA_ATTRIBUTE_Name, wsName, FALSE); |
} |
if (wsName.IsEmpty()) { |