diff --git a/xfa/fwl/core/fwl_formimp.cpp b/xfa/fwl/core/fwl_formimp.cpp
index 747e5e8..0f4b89a 100644
--- a/xfa/fwl/core/fwl_formimp.cpp
+++ b/xfa/fwl/core/fwl_formimp.cpp
@@ -757,8 +757,7 @@
   CFWL_WidgetMgr* pWidgetMgr = CFWL_WidgetMgr::GetInstance();
   if (!pWidgetMgr)
     return;
-  IFWL_FormDP* pData =
-      static_cast<IFWL_FormDP*>(m_pProperties->m_pDataProvider);
+  IFWL_DataProvider* pData = m_pProperties->m_pDataProvider;
   if (!pData)
     return;
   CFX_WideString text;
diff --git a/xfa/fwl/core/fwl_widgetimp.cpp b/xfa/fwl/core/fwl_widgetimp.cpp
index b59fd27..890f0da 100644
--- a/xfa/fwl/core/fwl_widgetimp.cpp
+++ b/xfa/fwl/core/fwl_widgetimp.cpp
@@ -156,9 +156,6 @@
 FWL_Error IFWL_Widget::SetThemeProvider(IFWL_ThemeProvider* pThemeProvider) {
   return GetImpl()->SetThemeProvider(pThemeProvider);
 }
-FWL_Error IFWL_Widget::SetDataProvider(IFWL_DataProvider* pDataProvider) {
-  return GetImpl()->SetDataProvider(pDataProvider);
-}
 IFWL_WidgetDelegate* IFWL_Widget::SetDelegate(IFWL_WidgetDelegate* pDelegate) {
   return GetImpl()->SetDelegate(pDelegate);
 }
@@ -474,10 +471,6 @@
   m_pProperties->m_pThemeProvider = pThemeProvider;
   return FWL_Error::Succeeded;
 }
-FWL_Error CFWL_WidgetImp::SetDataProvider(IFWL_DataProvider* pDataProvider) {
-  m_pProperties->m_pDataProvider = pDataProvider;
-  return FWL_Error::Succeeded;
-}
 IFWL_WidgetDelegate* CFWL_WidgetImp::SetDelegate(
     IFWL_WidgetDelegate* pDelegate) {
   if (!m_pCurDelegate) {
diff --git a/xfa/fwl/core/fwl_widgetimp.h b/xfa/fwl/core/fwl_widgetimp.h
index dfbfc5b..10f7880 100644
--- a/xfa/fwl/core/fwl_widgetimp.h
+++ b/xfa/fwl/core/fwl_widgetimp.h
@@ -68,7 +68,6 @@
                                const CFX_Matrix* pMatrix = nullptr);
   virtual IFWL_ThemeProvider* GetThemeProvider();
   virtual FWL_Error SetThemeProvider(IFWL_ThemeProvider* pThemeProvider);
-  virtual FWL_Error SetDataProvider(IFWL_DataProvider* pDataProvider);
   virtual IFWL_WidgetDelegate* SetDelegate(IFWL_WidgetDelegate* pDelegate);
   virtual IFWL_App* GetOwnerApp() const;
 
diff --git a/xfa/fwl/core/ifwl_widget.h b/xfa/fwl/core/ifwl_widget.h
index ac213fe..6d7d53c 100644
--- a/xfa/fwl/core/ifwl_widget.h
+++ b/xfa/fwl/core/ifwl_widget.h
@@ -96,7 +96,6 @@
                        const CFX_Matrix* pMatrix = nullptr);
   IFWL_ThemeProvider* GetThemeProvider();
   FWL_Error SetThemeProvider(IFWL_ThemeProvider* pThemeProvider);
-  FWL_Error SetDataProvider(IFWL_DataProvider* pDataProvider);
   IFWL_WidgetDelegate* SetDelegate(IFWL_WidgetDelegate* pDelegate);
   IFWL_App* GetOwnerApp() const;
   CFX_SizeF GetOffsetFromParent(IFWL_Widget* pParent);
