diff --git a/core/fpdfdoc/cpdf_variabletext.cpp b/core/fpdfdoc/cpdf_variabletext.cpp
index 7e87e5c..8ca72fc 100644
--- a/core/fpdfdoc/cpdf_variabletext.cpp
+++ b/core/fpdfdoc/cpdf_variabletext.cpp
@@ -576,12 +576,8 @@
   m_rcPlate = rect;
 }
 
-void CPDF_VariableText::SetContentRect(const CPVT_FloatRect& rect) {
-  m_rcContent = rect;
-}
-
 CFX_FloatRect CPDF_VariableText::GetContentRect() const {
-  return InToOut(CPVT_FloatRect(m_rcContent));
+  return InToOut(m_rcContent);
 }
 
 const CFX_FloatRect& CPDF_VariableText::GetPlateRect() const {
@@ -783,7 +779,7 @@
       rcRet = RearrangeSections(PlaceRange);
     }
   }
-  SetContentRect(rcRet);
+  m_rcContent = rcRet;
   return rcRet;
 }
 
diff --git a/core/fpdfdoc/cpdf_variabletext.h b/core/fpdfdoc/cpdf_variabletext.h
index 1d3fb59..6e371ec 100644
--- a/core/fpdfdoc/cpdf_variabletext.h
+++ b/core/fpdfdoc/cpdf_variabletext.h
@@ -72,7 +72,6 @@
   void SetProvider(CPDF_VariableText::Provider* pProvider);
   CPDF_VariableText::Iterator* GetIterator();
 
-  void SetContentRect(const CPVT_FloatRect& rect);
   CFX_FloatRect GetContentRect() const;
   void SetPlateRect(const CFX_FloatRect& rect);
   const CFX_FloatRect& GetPlateRect() const;
diff --git a/fpdfsdk/pwl/cpwl_list_ctrl.cpp b/fpdfsdk/pwl/cpwl_list_ctrl.cpp
index 9d17299..6dcfeef 100644
--- a/fpdfsdk/pwl/cpwl_list_ctrl.cpp
+++ b/fpdfsdk/pwl/cpwl_list_ctrl.cpp
@@ -498,7 +498,7 @@
         CFX_FloatRect(0.0f, fPosY + fListItemHeight, 0.0f, fPosY));
     fPosY += fListItemHeight;
   }
-  SetContentRect(CFX_FloatRect(0.0f, fPosY, 0.0f, 0.0f));
+  m_rcContent = CFX_FloatRect(0.0f, fPosY, 0.0f, 0.0f);
   SetScrollInfo();
 }
 
diff --git a/fpdfsdk/pwl/cpwl_list_ctrl.h b/fpdfsdk/pwl/cpwl_list_ctrl.h
index 3a5784e..72d40a6 100644
--- a/fpdfsdk/pwl/cpwl_list_ctrl.h
+++ b/fpdfsdk/pwl/cpwl_list_ctrl.h
@@ -55,7 +55,6 @@
   int32_t GetCaret() const { return m_nCaretIndex; }
   int32_t GetSelect() const { return m_nSelItem; }
   int32_t GetTopItem() const;
-  void SetContentRect(const CFX_FloatRect& rect) { m_rcContent = rect; }
   CFX_FloatRect GetContentRect() const;
 
   int32_t GetItemIndex(const CFX_PointF& point) const;
