diff --git a/fpdfsdk/fpdfxfa/cxfa_fwladaptertimermgr.cpp b/fpdfsdk/fpdfxfa/cxfa_fwladaptertimermgr.cpp
index 36c8b03..6e4137b 100644
--- a/fpdfsdk/fpdfxfa/cxfa_fwladaptertimermgr.cpp
+++ b/fpdfsdk/fpdfxfa/cxfa_fwladaptertimermgr.cpp
@@ -35,7 +35,7 @@
   for (const auto& info : *g_TimerArray) {
     auto* pInfo = static_cast<CFWL_FWLAdapterTimerInfo*>(info.get());
     if (pInfo->idEvent == idEvent) {
-      pInfo->pTimer->Run(pInfo);
+      pInfo->pTimer->OnTimerFired();
       break;
     }
   }
diff --git a/xfa/fwl/cfwl_caret.cpp b/xfa/fwl/cfwl_caret.cpp
index 4dfcb02..ee38cac 100644
--- a/xfa/fwl/cfwl_caret.cpp
+++ b/xfa/fwl/cfwl_caret.cpp
@@ -103,7 +103,7 @@
 
 CFWL_Caret::Timer::Timer(CFWL_Caret* pCaret) : CFWL_Timer(pCaret) {}
 
-void CFWL_Caret::Timer::Run(CFWL_TimerInfo* pTimerInfo) {
+void CFWL_Caret::Timer::OnTimerFired() {
   CFWL_Caret* pCaret = static_cast<CFWL_Caret*>(m_pWidget.Get());
   if (!(pCaret->GetStates() & kStateHighlight))
     pCaret->SetStates(kStateHighlight);
diff --git a/xfa/fwl/cfwl_caret.h b/xfa/fwl/cfwl_caret.h
index 88bec75..3889f66 100644
--- a/xfa/fwl/cfwl_caret.h
+++ b/xfa/fwl/cfwl_caret.h
@@ -40,7 +40,7 @@
     explicit Timer(CFWL_Caret* pCaret);
     ~Timer() override {}
 
-    void Run(CFWL_TimerInfo* hTimer) override;
+    void OnTimerFired() override;
   };
   friend class CFWL_Caret::Timer;
 
diff --git a/xfa/fwl/cfwl_scrollbar.cpp b/xfa/fwl/cfwl_scrollbar.cpp
index dc911f2..2cfa1ad 100644
--- a/xfa/fwl/cfwl_scrollbar.cpp
+++ b/xfa/fwl/cfwl_scrollbar.cpp
@@ -464,7 +464,7 @@
 
 CFWL_ScrollBar::Timer::Timer(CFWL_ScrollBar* pToolTip) : CFWL_Timer(pToolTip) {}
 
-void CFWL_ScrollBar::Timer::Run(CFWL_TimerInfo* pTimerInfo) {
+void CFWL_ScrollBar::Timer::OnTimerFired() {
   CFWL_ScrollBar* pScrollBar = static_cast<CFWL_ScrollBar*>(m_pWidget.Get());
   if (pScrollBar->m_pTimerInfo) {
     pScrollBar->m_pTimerInfo->StopTimer();
diff --git a/xfa/fwl/cfwl_scrollbar.h b/xfa/fwl/cfwl_scrollbar.h
index c3df6bb..af35bc8 100644
--- a/xfa/fwl/cfwl_scrollbar.h
+++ b/xfa/fwl/cfwl_scrollbar.h
@@ -60,7 +60,7 @@
     explicit Timer(CFWL_ScrollBar* pToolTip);
     ~Timer() override {}
 
-    void Run(CFWL_TimerInfo* pTimerInfo) override;
+    void OnTimerFired() override;
   };
   friend class CFWL_ScrollBar::Timer;
 
diff --git a/xfa/fwl/cfwl_timer.h b/xfa/fwl/cfwl_timer.h
index 49a1328..47f7254 100644
--- a/xfa/fwl/cfwl_timer.h
+++ b/xfa/fwl/cfwl_timer.h
@@ -21,7 +21,7 @@
   explicit CFWL_Timer(CFWL_Widget* parent);
   virtual ~CFWL_Timer();
 
-  virtual void Run(CFWL_TimerInfo* hTimer) = 0;
+  virtual void OnTimerFired() = 0;
   CFWL_TimerInfo* StartTimer(uint32_t dwElapse);
 
  protected:
