diff --git a/README.md b/README.md
index 4db2bd1..657cfda 100644
--- a/README.md
+++ b/README.md
@@ -83,8 +83,6 @@
 
 # Set true to enable experimental Skia backend.
 pdf_use_skia = false
-# Set true to enable experimental Skia backend (paths only).
-pdf_use_skia_paths = false
 
 pdf_enable_xfa = true  # Set false to remove XFA support (implies JS support).
 pdf_enable_v8 = true  # Set false to remove Javascript support.
diff --git a/core/fpdfapi/page/BUILD.gn b/core/fpdfapi/page/BUILD.gn
index 151b76d..79aeda5 100644
--- a/core/fpdfapi/page/BUILD.gn
+++ b/core/fpdfapi/page/BUILD.gn
@@ -117,7 +117,7 @@
     "../parser",
   ]
   allow_circular_includes_from = []
-  if (pdf_use_skia || pdf_use_skia_paths) {
+  if (pdf_use_skia) {
     allow_circular_includes_from += [ "../../fxge" ]
   }
   visibility = [ "../../../*" ]
diff --git a/core/fpdfapi/parser/BUILD.gn b/core/fpdfapi/parser/BUILD.gn
index c3cf003..bdc2e86 100644
--- a/core/fpdfapi/parser/BUILD.gn
+++ b/core/fpdfapi/parser/BUILD.gn
@@ -90,7 +90,7 @@
       "cpdf_seekablemultistream.h",
     ]
   }
-  if (pdf_use_skia || pdf_use_skia_paths) {
+  if (pdf_use_skia) {
     deps += [ "../../fxge" ]
     allow_circular_includes_from += [ "../../fxge" ]
   }
diff --git a/core/fxge/cfx_renderdevice.cpp b/core/fxge/cfx_renderdevice.cpp
index fa61c9d..d144ee0 100644
--- a/core/fxge/cfx_renderdevice.cpp
+++ b/core/fxge/cfx_renderdevice.cpp
@@ -1034,7 +1034,7 @@
                                       const CFX_Matrix& mtText2Device,
                                       uint32_t fill_color,
                                       const CFX_TextRenderOptions& options) {
-  // |anti_alias| and |normalize| don't affect Skia/SkiaPaths rendering.
+  // `anti_alias` and `normalize` don't affect Skia rendering.
   int anti_alias = FT_RENDER_MODE_MONO;
   bool normalize = false;
   const bool is_text_smooth = options.IsSmooth();
diff --git a/fpdfsdk/BUILD.gn b/fpdfsdk/BUILD.gn
index a1fc16b..b97d881 100644
--- a/fpdfsdk/BUILD.gn
+++ b/fpdfsdk/BUILD.gn
@@ -98,7 +98,7 @@
     allow_circular_includes_from += [ "fpdfxfa" ]
   }
 
-  if (pdf_use_skia || pdf_use_skia_paths) {
+  if (pdf_use_skia) {
     deps += [ "//skia" ]
   }
 }
@@ -163,7 +163,7 @@
   ]
   pdfium_root_dir = "../"
 
-  if (pdf_use_skia || pdf_use_skia_paths) {
+  if (pdf_use_skia) {
     deps += [ "//skia" ]
   }
 }
diff --git a/fpdfsdk/fpdf_view_embeddertest.cpp b/fpdfsdk/fpdf_view_embeddertest.cpp
index 40a6f5a..bc7a506 100644
--- a/fpdfsdk/fpdf_view_embeddertest.cpp
+++ b/fpdfsdk/fpdf_view_embeddertest.cpp
@@ -1415,8 +1415,8 @@
 }
 
 TEST_F(FPDFViewEmbedderTest, RenderBug664284WithNoNativeText) {
-  // For Skia/SkiaPaths, since the font used in bug_664284.pdf is not a CID
-  // font, ShouldDrawDeviceText() will always return true. Therefore
+  // For Skia, since the font used in bug_664284.pdf is not a CID font,
+  // ShouldDrawDeviceText() will always return true. Therefore
   // FPDF_NO_NATIVETEXT and the font widths defined in the PDF determines
   // whether to go through the rendering path in
   // CFX_SkiaDeviceDriver::DrawDeviceText(). In this case, it returns false and
@@ -1524,8 +1524,8 @@
     return "b561c11edc44dc3972125a9b8744fa2f";
   }();
 
-  // TODO(crbug.com/pdfium/1489): Add a test for FPDFBitmap_BGR in
-  // Skia/SkiaPaths modes once Skia provides support for BGR24 format.
+  // TODO(crbug.com/pdfium/1489): Add a test for FPDFBitmap_BGR in Skia modes
+  // once Skia provides support for BGR24 format.
   if (!CFX_DefaultRenderDevice::SkiaIsDefaultRenderer()) {
     static const char kBgrChecksum[] = "ab6312e04c0d3f4e46fb302a45173d05";
 
diff --git a/pdfium.gni b/pdfium.gni
index 83864b6..acbc334 100644
--- a/pdfium.gni
+++ b/pdfium.gni
@@ -44,11 +44,6 @@
   # renderer is selectable at runtime.
   pdf_use_skia = pdf_use_skia_override
 
-  # Build PDFium against Skia (experimental) rather than AGG. Use Skia to draw
-  # paths.
-  # TODO(crbug.com/pdfium/1941): Remove all support for this.
-  pdf_use_skia_paths = false
-
   # Build PDFium standalone
   pdf_is_standalone = false
 
@@ -74,9 +69,5 @@
   msvc_use_sse2 = true
 }
 
-if (pdf_use_skia && pdf_use_skia_paths) {
-  assert(false, "Enable at most ONE of pdf_use_skia and pdf_use_skia_paths")
-}
-
 assert(!pdf_is_complete_lib || !is_component_build,
        "pdf_is_complete_lib=true requires is_component_build=false")
diff --git a/samples/BUILD.gn b/samples/BUILD.gn
index 46be506..7203f05 100644
--- a/samples/BUILD.gn
+++ b/samples/BUILD.gn
@@ -60,7 +60,7 @@
     include_dirs = [ "//v8" ]
     configs += [ "//v8:external_startup_data" ]
   }
-  if (pdf_use_skia || pdf_use_skia_paths) {
+  if (pdf_use_skia) {
     deps += [ "//skia" ]
   }
 }
diff --git a/third_party/BUILD.gn b/third_party/BUILD.gn
index 44a28b5..94dba84 100644
--- a/third_party/BUILD.gn
+++ b/third_party/BUILD.gn
@@ -195,7 +195,7 @@
       "//third_party/freetype/src/src/truetype/truetype.c",
       "//third_party/freetype/src/src/type1/type1.c",
     ]
-    if (pdf_use_skia || pdf_use_skia_paths) {
+    if (pdf_use_skia) {
       sources += [
         "//third_party/freetype/src/include/freetype/ftsynth.h",
         "//third_party/freetype/src/src/base/fttype1.c",
