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);