| 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()) {
|
|
|