diff --git a/fpdfsdk/fxedit/fxet_edit.cpp b/fpdfsdk/fxedit/fxet_edit.cpp
index a1ddc14..d00b4d6 100644
--- a/fpdfsdk/fxedit/fxet_edit.cpp
+++ b/fpdfsdk/fxedit/fxet_edit.cpp
@@ -843,7 +843,7 @@
   return swRet;
 }
 
-CFX_WideString CFX_Edit::GetSelText() const {
+CFX_WideString CFX_Edit::GetSelectedText() const {
   return GetRangeText(m_SelState.ConvertToWordRange());
 }
 
@@ -1737,7 +1737,8 @@
 
   CPVT_WordRange range = m_SelState.ConvertToWordRange();
   if (bAddUndo && m_bEnableUndo)
-    AddEditUndoItem(pdfium::MakeUnique<CFXEU_Clear>(this, range, GetSelText()));
+    AddEditUndoItem(
+        pdfium::MakeUnique<CFXEU_Clear>(this, range, GetSelectedText()));
 
   SelectNone();
   SetCaret(m_pVT->DeleteWords(range));
diff --git a/fpdfsdk/fxedit/fxet_edit.h b/fpdfsdk/fxedit/fxet_edit.h
index 4ae03e2..fb64e0a 100644
--- a/fpdfsdk/fxedit/fxet_edit.h
+++ b/fpdfsdk/fxedit/fxet_edit.h
@@ -351,7 +351,7 @@
   CPVT_WordPlace SearchWordPlace(const CFX_PointF& point) const;
   int32_t GetCaret() const;
   CPVT_WordPlace GetCaretWordPlace() const;
-  CFX_WideString GetSelText() const;
+  CFX_WideString GetSelectedText() const;
   CFX_WideString GetText() const;
   float GetFontSize() const;
   uint16_t GetPasswordChar() const;
diff --git a/fpdfsdk/pdfwindow/cpwl_edit_ctrl.cpp b/fpdfsdk/pdfwindow/cpwl_edit_ctrl.cpp
index 357b552..7262189 100644
--- a/fpdfsdk/pdfwindow/cpwl_edit_ctrl.cpp
+++ b/fpdfsdk/pdfwindow/cpwl_edit_ctrl.cpp
@@ -54,7 +54,7 @@
 
 CFX_WideString CPWL_EditCtrl::GetSelectedText() {
   if (m_pEdit)
-    return m_pEdit->GetSelText();
+    return m_pEdit->GetSelectedText();
 
   return CFX_WideString();
 }
