Convert XFA_GetLocaleValue to accept a CXFA_Node
This CL changes XFA_GetLocaleValue to accept a CXFA_Node instead of a
CXFA_WidgetAcc.
Change-Id: Id304fd8dafcc6e644058230289e497525702fa79
Reviewed-on: https://pdfium-review.googlesource.com/22470
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
diff --git a/xfa/fxfa/cxfa_ffdatetimeedit.cpp b/xfa/fxfa/cxfa_ffdatetimeedit.cpp
index 05d20b2..c064e0f 100644
--- a/xfa/fxfa/cxfa_ffdatetimeedit.cpp
+++ b/xfa/fxfa/cxfa_ffdatetimeedit.cpp
@@ -58,8 +58,7 @@
switch (value->GetChildValueClassID()) {
case XFA_Element::Date: {
if (!wsText.IsEmpty()) {
- CXFA_LocaleValue lcValue =
- XFA_GetLocaleValue(m_pNode->GetWidgetAcc());
+ CXFA_LocaleValue lcValue = XFA_GetLocaleValue(m_pNode.Get());
CFX_DateTime date = lcValue.GetDate();
if (date.IsSet())
pWidget->SetCurSel(date.GetYear(), date.GetMonth(), date.GetDay());
@@ -160,7 +159,7 @@
auto* normalWidget = static_cast<CFWL_DateTimePicker*>(m_pNormalWidget.get());
normalWidget->SetEditText(wsText);
if (IsFocused() && !wsText.IsEmpty()) {
- CXFA_LocaleValue lcValue = XFA_GetLocaleValue(m_pNode->GetWidgetAcc());
+ CXFA_LocaleValue lcValue = XFA_GetLocaleValue(m_pNode.Get());
CFX_DateTime date = lcValue.GetDate();
if (lcValue.IsValid()) {
if (date.IsSet())
diff --git a/xfa/fxfa/cxfa_ffnumericedit.cpp b/xfa/fxfa/cxfa_ffnumericedit.cpp
index 666f3c0..b437bc2 100644
--- a/xfa/fxfa/cxfa_ffnumericedit.cpp
+++ b/xfa/fxfa/cxfa_ffnumericedit.cpp
@@ -82,7 +82,7 @@
return true;
WideString wsFormat;
- CXFA_LocaleValue widgetValue = XFA_GetLocaleValue(m_pNode->GetWidgetAcc());
+ CXFA_LocaleValue widgetValue = XFA_GetLocaleValue(m_pNode.Get());
widgetValue.GetNumericFormat(wsFormat,
m_pNode->GetWidgetAcc()->GetLeadDigits(),
m_pNode->GetWidgetAcc()->GetFracDigits());
diff --git a/xfa/fxfa/cxfa_widgetacc.cpp b/xfa/fxfa/cxfa_widgetacc.cpp
index f3caea4..da552e1 100644
--- a/xfa/fxfa/cxfa_widgetacc.cpp
+++ b/xfa/fxfa/cxfa_widgetacc.cpp
@@ -580,7 +580,7 @@
if (!pLocale)
return XFA_EVENTERROR_NotExist;
- CXFA_LocaleValue lcValue = XFA_GetLocaleValue(this);
+ CXFA_LocaleValue lcValue = XFA_GetLocaleValue(GetNode());
if (!lcValue.ValidateValue(lcValue.GetValue(), wsPicture, pLocale,
nullptr)) {
IXFA_AppProvider* pAppProvider =
@@ -2745,7 +2745,7 @@
if (!wsPicture.IsEmpty()) {
CXFA_LocaleMgr* pLocalMgr = m_pNode->GetDocument()->GetLocalMgr();
IFX_Locale* pLocale = GetLocale();
- CXFA_LocaleValue widgetValue = XFA_GetLocaleValue(this);
+ CXFA_LocaleValue widgetValue = XFA_GetLocaleValue(GetNode());
bValidate =
widgetValue.ValidateValue(wsValue, wsPicture, pLocale, &wsPicture);
if (bValidate) {
@@ -2777,7 +2777,7 @@
if (ePicture == XFA_VALUEPICTURE_Raw)
return L"";
- CXFA_LocaleValue widgetValue = XFA_GetLocaleValue(this);
+ CXFA_LocaleValue widgetValue = XFA_GetLocaleValue(GetNode());
switch (ePicture) {
case XFA_VALUEPICTURE_Display: {
if (CXFA_Format* pFormat =
@@ -2892,7 +2892,7 @@
return wsValue;
if (IFX_Locale* pLocale = GetLocale()) {
- CXFA_LocaleValue widgetValue = XFA_GetLocaleValue(this);
+ CXFA_LocaleValue widgetValue = XFA_GetLocaleValue(GetNode());
CXFA_LocaleMgr* pLocalMgr = m_pNode->GetDocument()->GetLocalMgr();
switch (widgetValue.GetType()) {
case XFA_VT_DATE: {
@@ -2932,7 +2932,7 @@
ASSERT(GetNode());
CXFA_LocaleMgr* pLocalMgr = GetNode()->GetDocument()->GetLocalMgr();
IFX_Locale* pLocale = GetLocale();
- CXFA_LocaleValue widgetValue = XFA_GetLocaleValue(this);
+ CXFA_LocaleValue widgetValue = XFA_GetLocaleValue(GetNode());
if (widgetValue.ValidateValue(wsValue, wsPicture, pLocale, &wsPicture)) {
widgetValue = CXFA_LocaleValue(widgetValue.GetType(), wsValue, wsPicture,
pLocale, pLocalMgr);
diff --git a/xfa/fxfa/parser/xfa_utils.cpp b/xfa/fxfa/parser/xfa_utils.cpp
index 3342776..bc181b5 100644
--- a/xfa/fxfa/parser/xfa_utils.cpp
+++ b/xfa/fxfa/parser/xfa_utils.cpp
@@ -144,8 +144,7 @@
if (pGrandParentNode->GetBindData())
return false;
- CXFA_WidgetAcc* pWidgetAcc = pGrandParentNode->GetWidgetAcc();
- XFA_Element eUIType = pWidgetAcc->GetUIType();
+ XFA_Element eUIType = pGrandParentNode->GetWidgetAcc()->GetUIType();
if (eUIType == XFA_Element::PasswordEdit)
return false;
return true;
@@ -417,9 +416,9 @@
return FX_ArraySize(fraction_scales);
}
-CXFA_LocaleValue XFA_GetLocaleValue(CXFA_WidgetAcc* pWidgetAcc) {
+CXFA_LocaleValue XFA_GetLocaleValue(CXFA_Node* pNode) {
CXFA_Value* pNodeValue =
- pWidgetAcc->GetNode()->GetChild<CXFA_Value>(0, XFA_Element::Value, false);
+ pNode->GetChild<CXFA_Value>(0, XFA_Element::Value, false);
if (!pNodeValue)
return CXFA_LocaleValue();
@@ -457,8 +456,8 @@
iVTType = XFA_VT_NULL;
break;
}
- return CXFA_LocaleValue(iVTType, pWidgetAcc->GetNode()->GetRawValue(),
- pWidgetAcc->GetNode()->GetDocument()->GetLocalMgr());
+ return CXFA_LocaleValue(iVTType, pNode->GetRawValue(),
+ pNode->GetDocument()->GetLocalMgr());
}
bool XFA_FDEExtension_ResolveNamespaceQualifier(CFX_XMLElement* pNode,
diff --git a/xfa/fxfa/parser/xfa_utils.h b/xfa/fxfa/parser/xfa_utils.h
index 9317a78..9308157b 100644
--- a/xfa/fxfa/parser/xfa_utils.h
+++ b/xfa/fxfa/parser/xfa_utils.h
@@ -23,7 +23,7 @@
const WideString& wsQualifier,
WideString* wsNamespaceURI);
-CXFA_LocaleValue XFA_GetLocaleValue(CXFA_WidgetAcc* pWidgetAcc);
+CXFA_LocaleValue XFA_GetLocaleValue(CXFA_Node* pNode);
int32_t XFA_MapRotation(int32_t nRotation);
bool XFA_RecognizeRichText(CFX_XMLElement* pRichTextXMLNode);