diff --git a/core/fxcrt/css/cfx_csscomputedstyle.cpp b/core/fxcrt/css/cfx_csscomputedstyle.cpp
index f369b68..dcd7cc1 100644
--- a/core/fxcrt/css/cfx_csscomputedstyle.cpp
+++ b/core/fxcrt/css/cfx_csscomputedstyle.cpp
@@ -25,14 +25,14 @@
   return false;
 }
 
-size_t CFX_CSSComputedStyle::CountFontFamilies() const {
-  return m_InheritedData.m_pFontFamily
-             ? m_InheritedData.m_pFontFamily->values().size()
-             : 0;
-}
+Optional<WideString> CFX_CSSComputedStyle::GetLastFontFamily() const {
+  if (!m_InheritedData.m_pFontFamily ||
+      m_InheritedData.m_pFontFamily->values().empty()) {
+    return pdfium::nullopt;
+  }
 
-const WideString CFX_CSSComputedStyle::GetFontFamily(size_t index) const {
-  return m_InheritedData.m_pFontFamily->values()[index]
+  return m_InheritedData.m_pFontFamily->values()
+      .back()
       .As<CFX_CSSStringValue>()
       ->Value();
 }
diff --git a/core/fxcrt/css/cfx_csscomputedstyle.h b/core/fxcrt/css/cfx_csscomputedstyle.h
index 70848f3..41fcd67 100644
--- a/core/fxcrt/css/cfx_csscomputedstyle.h
+++ b/core/fxcrt/css/cfx_csscomputedstyle.h
@@ -13,6 +13,7 @@
 #include "core/fxcrt/css/cfx_csscustomproperty.h"
 #include "core/fxcrt/fx_string.h"
 #include "core/fxge/fx_dib.h"
+#include "third_party/base/optional.h"
 
 class CFX_CSSValueList;
 
@@ -58,8 +59,7 @@
 
   CONSTRUCT_VIA_MAKE_RETAIN;
 
-  size_t CountFontFamilies() const;
-  const WideString GetFontFamily(size_t index) const;
+  Optional<WideString> GetLastFontFamily() const;
   uint16_t GetFontWeight() const;
   CFX_CSSFontVariant GetFontVariant() const;
   CFX_CSSFontStyle GetFontStyle() const;
diff --git a/xfa/fxfa/cxfa_textparser.cpp b/xfa/fxfa/cxfa_textparser.cpp
index eb01fa8..fdbb3cb 100644
--- a/xfa/fxfa/cxfa_textparser.cpp
+++ b/xfa/fxfa/cxfa_textparser.cpp
@@ -350,9 +350,9 @@
   }
 
   if (pStyle) {
-    size_t count = pStyle->CountFontFamilies();
-    if (count > 0)
-      wsFamily = pStyle->GetFontFamily(count - 1).AsStringView();
+    Optional<WideString> last_family = pStyle->GetLastFontFamily();
+    if (last_family.has_value())
+      wsFamily = last_family.value();
 
     dwStyle = 0;
     if (pStyle->GetFontWeight() > FXFONT_FW_NORMAL)
