Refactor edit embedder tests for runtime renderer selection

Update tests to include expectation values for both Skia and AGG
renderers in a build, and choose the appropriate values for comparison
based upon a runtime check of the active renderer being used.

Bug: pdfium:1878
Change-Id: I4f5f71de8e3ad57fa3e9992d79747f23a0d8fd59
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/96751
Reviewed-by: Nigi <nigi@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Alan Screen <awscreen@chromium.org>
diff --git a/fpdfsdk/fpdf_edit_embeddertest.cpp b/fpdfsdk/fpdf_edit_embeddertest.cpp
index 7875425..bbcfcd5 100644
--- a/fpdfsdk/fpdf_edit_embeddertest.cpp
+++ b/fpdfsdk/fpdf_edit_embeddertest.cpp
@@ -19,6 +19,7 @@
 #include "core/fpdfapi/parser/cpdf_stream_acc.h"
 #include "core/fxcrt/fx_codepage.h"
 #include "core/fxcrt/fx_system.h"
+#include "core/fxge/cfx_defaultrenderdevice.h"
 #include "core/fxge/fx_font.h"
 #include "fpdfsdk/cpdfsdk_helpers.h"
 #include "public/cpp/fpdf_scopers.h"
@@ -44,46 +45,37 @@
 const wchar_t kBottomText[] = L"I'm at the bottom of the page";
 
 const char* BottomTextChecksum() {
-#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
-    !defined(_SKIA_SUPPORT_PATHS_)
-  static constexpr char kBottomTextChecksum[] =
-      "81636489006a31fcb00cf29efcdf7909";
-#else
-  static constexpr char kBottomTextChecksum[] =
-      "891dcb6e914c8360998055f1f47c9727";
+#if BUILDFLAG(IS_APPLE)
+  if (!CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() &&
+      !CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+    return "81636489006a31fcb00cf29efcdf7909";
+  }
 #endif
-
-  return kBottomTextChecksum;
+  return "891dcb6e914c8360998055f1f47c9727";
 }
 
 const char* FirstRemovedChecksum() {
-#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
-    !defined(_SKIA_SUPPORT_PATHS_)
-  static constexpr char kFirstRemovedChecksum[] =
-      "a1dc2812692fcc7ee4f01ca77435df9d";
-#else
-  static constexpr char kFirstRemovedChecksum[] =
-      "e1477dc3b5b3b9c560814c4d1135a02b";
+#if BUILDFLAG(IS_APPLE)
+  if (!CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() &&
+      !CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+    return "a1dc2812692fcc7ee4f01ca77435df9d";
+  }
 #endif
-
-  return kFirstRemovedChecksum;
+  return "e1477dc3b5b3b9c560814c4d1135a02b";
 }
 
 const wchar_t kLoadedFontText[] = L"I am testing my loaded font, WEE.";
 
 const char* LoadedFontTextChecksum() {
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
-  static constexpr char kLoadedFontTextChecksum[] =
-      "d58570cc045dfb818b92cbabbd1a364c";
-#elif BUILDFLAG(IS_APPLE)
-  static constexpr char kLoadedFontTextChecksum[] =
-      "0f3e4a7d71f9e7eb8a1a0d69403b9848";
+  if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() ||
+      CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+    return "d58570cc045dfb818b92cbabbd1a364c";
+  }
+#if BUILDFLAG(IS_APPLE)
+  return "0f3e4a7d71f9e7eb8a1a0d69403b9848";
 #else
-  static constexpr char kLoadedFontTextChecksum[] =
-      "d58570cc045dfb818b92cbabbd1a364c";
+  return "d58570cc045dfb818b92cbabbd1a364c";
 #endif
-
-  return kLoadedFontTextChecksum;
 }
 
 const char kRedRectangleChecksum[] = "66d02eaa6181e2c069ce2ea99beda497";
@@ -335,7 +327,7 @@
 
 // Regression test for https://crbug.com/667012
 TEST_F(FPDFEditEmbedderTest, RasterizePDF) {
-  const char kAllBlackMd5sum[] = "5708fc5c4a8bd0abde99c8e8f0390615";
+  const char kAllBlackChecksum[] = "5708fc5c4a8bd0abde99c8e8f0390615";
 
   // Get the bitmap for the original document.
   ScopedFPDFBitmap orig_bitmap;
@@ -344,7 +336,7 @@
     FPDF_PAGE orig_page = LoadPage(0);
     ASSERT_TRUE(orig_page);
     orig_bitmap = RenderLoadedPage(orig_page);
-    CompareBitmap(orig_bitmap.get(), 612, 792, kAllBlackMd5sum);
+    CompareBitmap(orig_bitmap.get(), 612, 792, kAllBlackChecksum);
     UnloadPage(orig_page);
   }
 
@@ -370,7 +362,7 @@
   // Get the generated content. Make sure it is at least as big as the original
   // PDF.
   EXPECT_GT(GetString().size(), 923u);
-  VerifySavedDocument(612, 792, kAllBlackMd5sum);
+  VerifySavedDocument(612, 792, kAllBlackChecksum);
 }
 
 TEST_F(FPDFEditEmbedderTest, AddPaths) {
@@ -531,14 +523,16 @@
   EXPECT_TRUE(FPDFPath_BezierTo(blue_path, 375, 330, 390, 360, 400, 400));
   EXPECT_TRUE(FPDFPath_Close(blue_path));
   FPDFPage_InsertObject(page, blue_path);
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
-  static constexpr char kLastChecksum[] = "ed14c60702b1489c597c7d46ece7f86d";
-#else
-  static constexpr char kLastChecksum[] = "9823e1a21bd9b72b6a442ba4f12af946";
-#endif
+  const char* last_checksum = []() {
+    if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() ||
+        CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+      return "ed14c60702b1489c597c7d46ece7f86d";
+    }
+    return "9823e1a21bd9b72b6a442ba4f12af946";
+  }();
   {
     ScopedFPDFBitmap page_bitmap = RenderPage(page);
-    CompareBitmap(page_bitmap.get(), 612, 792, kLastChecksum);
+    CompareBitmap(page_bitmap.get(), 612, 792, last_checksum);
   }
 
   // Now save the result, closing the page and document
@@ -547,7 +541,7 @@
   FPDF_ClosePage(page);
 
   // Render the saved result
-  VerifySavedDocument(612, 792, kLastChecksum);
+  VerifySavedDocument(612, 792, last_checksum);
 }
 
 TEST_F(FPDFEditEmbedderTest, ClipPath) {
@@ -732,15 +726,18 @@
   // now displayed.
   ASSERT_EQ(2, FPDFPage_CountObjects(page));
 
-#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
-    !defined(_SKIA_SUPPORT_PATHS_)
-  const char kChangedChecksum[] = "b720e83476fd6819d47c533f1f43c728";
-#else
-  const char kChangedChecksum[] = "9a85b9354a69c61772ed24151c140f46";
+  const char* changed_checksum = []() {
+#if BUILDFLAG(IS_APPLE)
+    if (!CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() &&
+        !CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+      return "b720e83476fd6819d47c533f1f43c728";
+    }
 #endif
+    return "9a85b9354a69c61772ed24151c140f46";
+  }();
   {
     ScopedFPDFBitmap page_bitmap = RenderPage(page);
-    CompareBitmap(page_bitmap.get(), 200, 200, kChangedChecksum);
+    CompareBitmap(page_bitmap.get(), 200, 200, changed_checksum);
   }
 
   // Now save the result.
@@ -756,7 +753,7 @@
   EXPECT_EQ(2, FPDFPage_CountObjects(saved_page));
   {
     ScopedFPDFBitmap page_bitmap = RenderPage(saved_page);
-    CompareBitmap(page_bitmap.get(), 200, 200, kChangedChecksum);
+    CompareBitmap(page_bitmap.get(), 200, 200, changed_checksum);
   }
 
   CloseSavedPage(saved_page);
@@ -788,18 +785,19 @@
   FPDF_PAGE page = LoadPage(0);
   ASSERT_TRUE(page);
 
-#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
-    !defined(_SKIA_SUPPORT_PATHS_)
-  static constexpr char kOriginalChecksum[] =
-      "ae7a25c85e0e2dd0c5cb9dd5cd37f6df";
-#else
-  static constexpr char kOriginalChecksum[] =
-      "7af7fe5b281298261eb66ac2d22f5054";
+  const char* original_checksum = []() {
+#if BUILDFLAG(IS_APPLE)
+    if (!CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() &&
+        !CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+      return "ae7a25c85e0e2dd0c5cb9dd5cd37f6df";
+    }
 #endif
+    return "7af7fe5b281298261eb66ac2d22f5054";
+  }();
   {
     // When opened before any editing and saving, the clipping path is rendered.
     ScopedFPDFBitmap original_bitmap = RenderPage(page);
-    CompareBitmap(original_bitmap.get(), 200, 200, kOriginalChecksum);
+    CompareBitmap(original_bitmap.get(), 200, 200, original_checksum);
   }
 
   // "Change" the text in the objects to their current values to force them to
@@ -826,7 +824,7 @@
   {
     // After editing but before saving, the clipping path is retained.
     ScopedFPDFBitmap edited_bitmap = RenderPage(page);
-    CompareBitmap(edited_bitmap.get(), 200, 200, kOriginalChecksum);
+    CompareBitmap(edited_bitmap.get(), 200, 200, original_checksum);
   }
 
   // Save the file.
@@ -841,7 +839,7 @@
 
   {
     ScopedFPDFBitmap saved_bitmap = RenderSavedPage(saved_page);
-    CompareBitmap(saved_bitmap.get(), 200, 200, kOriginalChecksum);
+    CompareBitmap(saved_bitmap.get(), 200, 200, original_checksum);
   }
 
   CloseSavedPage(saved_page);
@@ -854,18 +852,19 @@
   FPDF_PAGE page = LoadPage(0);
   ASSERT_TRUE(page);
 
-#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
-    !defined(_SKIA_SUPPORT_PATHS_)
-  static constexpr char kOriginalChecksum[] =
-      "1226bc2b8072622eb28f52321876e814";
-#else
-  static constexpr char kOriginalChecksum[] =
-      "c5241eef60b9eac68ed1f2a5fd002703";
+  const char* original_checksum = []() {
+#if BUILDFLAG(IS_APPLE)
+    if (!CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() &&
+        !CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+      return "1226bc2b8072622eb28f52321876e814";
+    }
 #endif
+    return "c5241eef60b9eac68ed1f2a5fd002703";
+  }();
   {
     // When opened before any editing and saving, the text object is rendered.
     ScopedFPDFBitmap original_bitmap = RenderPage(page);
-    CompareBitmap(original_bitmap.get(), 200, 300, kOriginalChecksum);
+    CompareBitmap(original_bitmap.get(), 200, 300, original_checksum);
   }
 
   // "Change" the text in the objects to their current values to force them to
@@ -899,7 +898,7 @@
 
   {
     ScopedFPDFBitmap saved_bitmap = RenderSavedPage(saved_page);
-    CompareBitmap(saved_bitmap.get(), 200, 300, kOriginalChecksum);
+    CompareBitmap(saved_bitmap.get(), 200, 300, original_checksum);
   }
 
   CloseSavedPage(saved_page);
@@ -1056,18 +1055,17 @@
 
   // Show what the original file looks like.
   {
-#if defined(_SKIA_SUPPORT_)
-    static constexpr char kOriginalChecksum[] =
-        "34ac4e0f3ba510760be09d0e19c1b43e";
-#elif BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_PATHS_)
-    static constexpr char kOriginalChecksum[] =
-        "966579fb98206858ce2f0a1f94a74d05";
-#else
-    static constexpr char kOriginalChecksum[] =
-        "3d5a3de53d5866044c2b6bf339742c97";
+    const char* original_checksum = []() {
+      if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer())
+        return "34ac4e0f3ba510760be09d0e19c1b43e";
+#if BUILDFLAG(IS_APPLE)
+      if (!CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer())
+        return "966579fb98206858ce2f0a1f94a74d05";
 #endif
+      return "3d5a3de53d5866044c2b6bf339742c97";
+    }();
     ScopedFPDFBitmap page_bitmap = RenderPage(page);
-    CompareBitmap(page_bitmap.get(), 200, 200, kOriginalChecksum);
+    CompareBitmap(page_bitmap.get(), 200, 200, original_checksum);
   }
 
   constexpr int expected_object_count = 19;
@@ -1103,25 +1101,27 @@
   }
 
   EXPECT_EQ(11, FPDFPage_CountObjects(page));
-#if defined(_SKIA_SUPPORT_)
-  static constexpr char kNonPrimesChecksum[] =
-      "c671fa07b63e85c4201b9926e880fda8";
-  static constexpr char kNonPrimesAfterSaveChecksum[] =
-      "c671fa07b63e85c4201b9926e880fda8";
-#elif BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_PATHS_)
-  static constexpr char kNonPrimesChecksum[] =
-      "6e19a4dd674b522cd39cf41956559bd6";
-  static constexpr char kNonPrimesAfterSaveChecksum[] =
-      "3cb35c681f8fb5a43a49146ac7caa818";
-#else
-  static constexpr char kNonPrimesChecksum[] =
-      "bc8623c052f12376c3d8dd09a6cd27df";
-  static constexpr char kNonPrimesAfterSaveChecksum[] =
-      "bc8623c052f12376c3d8dd09a6cd27df";
+  const char* non_primes_checksum = []() {
+    if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer())
+      return "c671fa07b63e85c4201b9926e880fda8";
+#if BUILDFLAG(IS_APPLE)
+    if (!CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer())
+      return "6e19a4dd674b522cd39cf41956559bd6";
 #endif
+    return "bc8623c052f12376c3d8dd09a6cd27df";
+  }();
+  const char* non_primes_after_save_checksum = []() {
+    if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer())
+      return "c671fa07b63e85c4201b9926e880fda8";
+#if BUILDFLAG(IS_APPLE)
+    if (!CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer())
+      return "3cb35c681f8fb5a43a49146ac7caa818";
+#endif
+    return "bc8623c052f12376c3d8dd09a6cd27df";
+  }();
   {
     ScopedFPDFBitmap page_bitmap = RenderPage(page);
-    CompareBitmap(page_bitmap.get(), 200, 200, kNonPrimesChecksum);
+    CompareBitmap(page_bitmap.get(), 200, 200, non_primes_checksum);
   }
 
   // Save the file.
@@ -1137,7 +1137,7 @@
 
   {
     ScopedFPDFBitmap page_bitmap = RenderPage(saved_page);
-    CompareBitmap(page_bitmap.get(), 200, 200, kNonPrimesAfterSaveChecksum);
+    CompareBitmap(page_bitmap.get(), 200, 200, non_primes_after_save_checksum);
   }
 
   CloseSavedPage(saved_page);
@@ -1392,15 +1392,18 @@
 
   // Verify the "Hello, world!" text is gone.
   ASSERT_EQ(2, FPDFPage_CountObjects(page));
-#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
-    !defined(_SKIA_SUPPORT_PATHS_)
-  const char kHelloRemovedChecksum[] = "5508c2f06d104050f74f655693e38c2c";
-#else
-  const char kHelloRemovedChecksum[] = "a8cd82499cf744e0862ca468c9d4ceb8";
+  const char* hello_removed_checksum = []() {
+#if BUILDFLAG(IS_APPLE)
+    if (!CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() &&
+        !CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+      return "5508c2f06d104050f74f655693e38c2c";
+    }
 #endif
+    return "a8cd82499cf744e0862ca468c9d4ceb8";
+  }();
   {
     ScopedFPDFBitmap page_bitmap = RenderPage(page);
-    CompareBitmap(page_bitmap.get(), 200, 200, kHelloRemovedChecksum);
+    CompareBitmap(page_bitmap.get(), 200, 200, hello_removed_checksum);
   }
 
   // Save the file
@@ -1417,7 +1420,7 @@
   EXPECT_EQ(2, FPDFPage_CountObjects(saved_page));
   {
     ScopedFPDFBitmap page_bitmap = RenderPage(saved_page);
-    CompareBitmap(page_bitmap.get(), 200, 200, kHelloRemovedChecksum);
+    CompareBitmap(page_bitmap.get(), 200, 200, hello_removed_checksum);
   }
 
   CloseSavedPage(saved_page);
@@ -1549,16 +1552,18 @@
       EXPECT_EQ(1, cpdf_page_object->GetContentStream()) << i;
   }
 
-#if defined(_SKIA_SUPPORT_)
-  const char kStream1RemovedChecksum[] = "b9bb0acfdba4bb5d2e578e7b73341baf";
-#elif BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_PATHS_)
-  const char kStream1RemovedChecksum[] = "3cdc75af44c15bed80998facd6e674c9";
-#else
-  const char kStream1RemovedChecksum[] = "b474826df1acedb05c7b82e1e49e64a6";
+  const char* stream1_removed_checksum = []() {
+    if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer())
+      return "b9bb0acfdba4bb5d2e578e7b73341baf";
+#if BUILDFLAG(IS_APPLE)
+    if (!CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer())
+      return "3cdc75af44c15bed80998facd6e674c9";
 #endif
+    return "b474826df1acedb05c7b82e1e49e64a6";
+  }();
   {
     ScopedFPDFBitmap page_bitmap = RenderPage(page);
-    CompareBitmap(page_bitmap.get(), 200, 200, kStream1RemovedChecksum);
+    CompareBitmap(page_bitmap.get(), 200, 200, stream1_removed_checksum);
   }
 
   // Save the file
@@ -1587,7 +1592,7 @@
 
   {
     ScopedFPDFBitmap page_bitmap = RenderPage(saved_page);
-    CompareBitmap(page_bitmap.get(), 200, 200, kStream1RemovedChecksum);
+    CompareBitmap(page_bitmap.get(), 200, 200, stream1_removed_checksum);
   }
 
   CloseSavedPage(saved_page);
@@ -1912,14 +1917,16 @@
 
   // Verify the black rectangle was added.
   ASSERT_EQ(kOriginalObjectCount + 1, FPDFPage_CountObjects(page));
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
-  const char kPlusRectangleMD5[] = "0d3715fcfb9bd0dd25dcce60800bff47";
-#else
-  const char kPlusRectangleMD5[] = "6b9396ab570754b32b04ca629e902f77";
-#endif
+  const char* plus_rectangle_checksum = []() {
+    if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() ||
+        CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+      return "0d3715fcfb9bd0dd25dcce60800bff47";
+    }
+    return "6b9396ab570754b32b04ca629e902f77";
+  }();
   {
     ScopedFPDFBitmap page_bitmap = RenderPage(page);
-    CompareBitmap(page_bitmap.get(), 200, 300, kPlusRectangleMD5);
+    CompareBitmap(page_bitmap.get(), 200, 300, plus_rectangle_checksum);
   }
 
   // Save the file.
@@ -1934,7 +1941,7 @@
   EXPECT_EQ(kOriginalObjectCount + 1, FPDFPage_CountObjects(saved_page));
   {
     ScopedFPDFBitmap page_bitmap = RenderPage(saved_page);
-    CompareBitmap(page_bitmap.get(), 200, 300, kPlusRectangleMD5);
+    CompareBitmap(page_bitmap.get(), 200, 300, plus_rectangle_checksum);
   }
 
   // Remove the added rectangle.
@@ -2061,14 +2068,18 @@
 
   // Render and check the result.
   ScopedFPDFBitmap bitmap = RenderLoadedPage(page);
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
-  const char kChecksum[] = "8a48b019826492331454f2809990aba8";
-#elif BUILDFLAG(IS_APPLE)
-  const char kChecksum[] = "279693baca9f48da2d75a8e289aed58e";
+  const char* checksum = []() {
+    if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() ||
+        CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+      return "8a48b019826492331454f2809990aba8";
+    }
+#if BUILDFLAG(IS_APPLE)
+    return "279693baca9f48da2d75a8e289aed58e";
 #else
-  const char kChecksum[] = "fe415d47945c10b9cc8e9ca08887369e";
+    return "fe415d47945c10b9cc8e9ca08887369e";
 #endif
-  CompareBitmap(bitmap.get(), 200, 200, kChecksum);
+  }();
+  CompareBitmap(bitmap.get(), 200, 200, checksum);
   UnloadPage(page);
 }
 
@@ -2090,13 +2101,15 @@
   EXPECT_TRUE(FPDFPath_SetDrawMode(red_rect, FPDF_FILLMODE_ALTERNATE, 0));
   FPDFPage_InsertObject(page, red_rect);
 
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
-  const char kOriginalChecksum[] = "1e82fbdd21490cee9d3479fe6125af67";
-#else
-  const char kOriginalChecksum[] = "ad04e5bd0f471a9a564fb034bd0fb073";
-#endif
+  const char* original_checksum = []() {
+    if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() ||
+        CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+      return "1e82fbdd21490cee9d3479fe6125af67";
+    }
+    return "ad04e5bd0f471a9a564fb034bd0fb073";
+  }();
   ScopedFPDFBitmap bitmap = RenderLoadedPage(page);
-  CompareBitmap(bitmap.get(), 612, 792, kOriginalChecksum);
+  CompareBitmap(bitmap.get(), 612, 792, original_checksum);
   EXPECT_TRUE(FPDFPage_GenerateContent(page));
 
   // Now save the result, closing the page and document
@@ -2106,7 +2119,7 @@
   ASSERT_TRUE(OpenSavedDocument());
   FPDF_PAGE saved_page = LoadSavedPage(0);
   ASSERT_TRUE(saved_page);
-  VerifySavedRendering(saved_page, 612, 792, kOriginalChecksum);
+  VerifySavedRendering(saved_page, 612, 792, original_checksum);
 
   ClearString();
   // Add another opaque rectangle on top of the existing content
@@ -2120,14 +2133,16 @@
   EXPECT_TRUE(FPDFPageObj_SetFillColor(green_rect2, 0, 255, 0, 100));
   EXPECT_TRUE(FPDFPath_SetDrawMode(green_rect2, FPDF_FILLMODE_ALTERNATE, 0));
   FPDFPage_InsertObject(saved_page, green_rect2);
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
-  const char kLastChecksum[] = "8705d023e5fec3499d1e30cf2bcc5dc1";
-#else
-  const char kLastChecksum[] = "4b5b00f824620f8c9b8801ebb98e1cdd";
-#endif
+  const char* last_checksum = []() {
+    if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() ||
+        CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+      return "8705d023e5fec3499d1e30cf2bcc5dc1";
+    }
+    return "4b5b00f824620f8c9b8801ebb98e1cdd";
+  }();
   {
     ScopedFPDFBitmap new_bitmap = RenderSavedPage(saved_page);
-    CompareBitmap(new_bitmap.get(), 612, 792, kLastChecksum);
+    CompareBitmap(new_bitmap.get(), 612, 792, last_checksum);
   }
   EXPECT_TRUE(FPDFPage_GenerateContent(saved_page));
 
@@ -2138,7 +2153,7 @@
   CloseSavedDocument();
 
   // Render the saved result
-  VerifySavedDocument(612, 792, kLastChecksum);
+  VerifySavedDocument(612, 792, last_checksum);
 }
 
 // TODO(crbug.com/pdfium/1651): Fix this issue and enable the test for Skia.
@@ -2165,12 +2180,14 @@
   FPDFPage_InsertObject(page, rect);
   {
     ScopedFPDFBitmap page_bitmap = RenderPage(page);
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
-    static constexpr char kChecksum_1[] = "1469acf60e7647ebeb8e1fb08c5d6c7a";
-#else
-    static constexpr char kChecksum_1[] = "64bd31f862a89e0a9e505a5af6efd506";
-#endif
-    CompareBitmap(page_bitmap.get(), 612, 792, kChecksum_1);
+    const char* checksum_1 = []() {
+      if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() ||
+          CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+        return "1469acf60e7647ebeb8e1fb08c5d6c7a";
+      }
+      return "64bd31f862a89e0a9e505a5af6efd506";
+    }();
+    CompareBitmap(page_bitmap.get(), 612, 792, checksum_1);
   }
 
   // Add crossed-checkmark
@@ -2185,12 +2202,14 @@
   FPDFPage_InsertObject(page, check);
   {
     ScopedFPDFBitmap page_bitmap = RenderPage(page);
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
-    static constexpr char kChecksum_2[] = "68b3194f74abd9d471695ce1415be43f";
-#else
-    static constexpr char kChecksum_2[] = "4b6f3b9d25c4e194821217d5016c3724";
-#endif
-    CompareBitmap(page_bitmap.get(), 612, 792, kChecksum_2);
+    const char* checksum_2 = []() {
+      if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() ||
+          CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+        return "68b3194f74abd9d471695ce1415be43f";
+      }
+      return "4b6f3b9d25c4e194821217d5016c3724";
+    }();
+    CompareBitmap(page_bitmap.get(), 612, 792, checksum_2);
   }
 
   // Add stroked and filled oval-ish path.
@@ -2206,12 +2225,14 @@
   FPDFPage_InsertObject(page, path);
   {
     ScopedFPDFBitmap page_bitmap = RenderPage(page);
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
-    static constexpr char kChecksum_3[] = "ea784068651df2b9ba132ce9215e6780";
-#else
-    static constexpr char kChecksum_3[] = "ff3e6a22326754944cc6e56609acd73b";
-#endif
-    CompareBitmap(page_bitmap.get(), 612, 792, kChecksum_3);
+    const char* checksum_3 = []() {
+      if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() ||
+          CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+        return "ea784068651df2b9ba132ce9215e6780";
+      }
+      return "ff3e6a22326754944cc6e56609acd73b";
+    }();
+    CompareBitmap(page_bitmap.get(), 612, 792, checksum_3);
   }
   FPDF_ClosePage(page);
 }
@@ -2251,16 +2272,19 @@
   EXPECT_TRUE(FPDFPage_GenerateContent(page.get()));
   {
     ScopedFPDFBitmap page_bitmap = RenderPage(page.get());
-#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
-    !defined(_SKIA_SUPPORT_PATHS_)
-    static constexpr char md5[] = "983baaa1f688eff7a14b1bf91c171a1a";
-#else
-    static constexpr char md5[] = "161523e196eb5341604cd73e12c97922";
+    const char* checksum = []() {
+#if BUILDFLAG(IS_APPLE)
+      if (!CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() &&
+          !CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+        return "983baaa1f688eff7a14b1bf91c171a1a";
+      }
 #endif
-    CompareBitmap(page_bitmap.get(), 612, 792, md5);
+      return "161523e196eb5341604cd73e12c97922";
+    }();
+    CompareBitmap(page_bitmap.get(), 612, 792, checksum);
 
     EXPECT_TRUE(FPDF_SaveAsCopy(document(), this, 0));
-    VerifySavedDocument(612, 792, md5);
+    VerifySavedDocument(612, 792, checksum);
   }
 
   // And some randomly transformed text
@@ -2274,16 +2298,19 @@
   EXPECT_TRUE(FPDFPage_GenerateContent(page.get()));
   {
     ScopedFPDFBitmap page_bitmap = RenderPage(page.get());
-#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
-    !defined(_SKIA_SUPPORT_PATHS_)
-    static constexpr char md5[] = "e0b3493c5c16e41d0d892ffb48e63fba";
-#else
-    static constexpr char md5[] = "1fbf772dca8d82b960631e6683934964";
+    const char* checksum = []() {
+#if BUILDFLAG(IS_APPLE)
+      if (!CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() &&
+          !CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+        return "e0b3493c5c16e41d0d892ffb48e63fba";
+      }
 #endif
-    CompareBitmap(page_bitmap.get(), 612, 792, md5);
+      return "1fbf772dca8d82b960631e6683934964";
+    }();
+    CompareBitmap(page_bitmap.get(), 612, 792, checksum);
 
     EXPECT_TRUE(FPDF_SaveAsCopy(document(), this, 0));
-    VerifySavedDocument(612, 792, md5);
+    VerifySavedDocument(612, 792, checksum);
   }
 
   FS_MATRIX matrix;
@@ -2353,16 +2380,24 @@
 }
 
 TEST_F(FPDFEditEmbedderTest, SetTextRenderMode) {
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
-  const char kOriginalChecksum[] = "39a4ac8f1fdc6653edd3b91862ea7b75";
-  const char kStrokeChecksum[] = "d16eb1bb4748eeb5fb801594da70d519";
-#elif BUILDFLAG(IS_APPLE)
-  const char kOriginalChecksum[] = "c488514ce0fc949069ff560407edacd2";
-  const char kStrokeChecksum[] = "e06ee84aeebe926e8c980b7822027e8a";
+  const char* original_checksum = []() {
+    if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() ||
+        CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+      return "39a4ac8f1fdc6653edd3b91862ea7b75";
+    }
+#if BUILDFLAG(IS_APPLE)
+    return "c488514ce0fc949069ff560407edacd2";
 #else
-  const char kOriginalChecksum[] = "97a4fcf3c9581e19917895631af31d41";
-  const char kStrokeChecksum[] = "e06ee84aeebe926e8c980b7822027e8a";
+    return "97a4fcf3c9581e19917895631af31d41";
 #endif
+  }();
+  const char* stroke_checksum = []() {
+    if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() ||
+        CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+      return "d16eb1bb4748eeb5fb801594da70d519";
+    }
+    return "e06ee84aeebe926e8c980b7822027e8a";
+  }();
 
   {
     ASSERT_TRUE(OpenDocument("text_render_mode.pdf"));
@@ -2373,7 +2408,7 @@
     // Check the bitmap
     {
       ScopedFPDFBitmap page_bitmap = RenderPage(page);
-      CompareBitmap(page_bitmap.get(), 612, 446, kOriginalChecksum);
+      CompareBitmap(page_bitmap.get(), 612, 446, original_checksum);
     }
 
     // Cannot set on a null object.
@@ -2399,7 +2434,7 @@
     // Check that bitmap displays changed content
     {
       ScopedFPDFBitmap page_bitmap = RenderPage(page);
-      CompareBitmap(page_bitmap.get(), 612, 446, kStrokeChecksum);
+      CompareBitmap(page_bitmap.get(), 612, 446, stroke_checksum);
     }
 
     // Save a copy.
@@ -2422,7 +2457,7 @@
               FPDFTextObj_GetTextRenderMode(page_object));
 
     ScopedFPDFBitmap bitmap = RenderSavedPage(saved_page);
-    CompareBitmap(bitmap.get(), 612, 446, kStrokeChecksum);
+    CompareBitmap(bitmap.get(), 612, 446, stroke_checksum);
 
     CloseSavedPage(saved_page);
     CloseSavedDocument();
@@ -2674,14 +2709,24 @@
 }
 
 TEST_F(FPDFEditEmbedderTest, ModifyFormObject) {
-#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
-    !defined(_SKIA_SUPPORT_PATHS_)
-  const char kOrigChecksum[] = "a637057185f50aac1aa5490f726aef95";
-  const char kNewChecksum[] = "8ad9d79b02b609ff734e2a2195c96e2d";
-#else
-  const char kOrigChecksum[] = "34a9ec0a9581a7970e073c0bcc4ca676";
-  const char kNewChecksum[] = "609b5632a21c886fa93182dbc290bf7a";
+  const char* orig_checksum = []() {
+#if BUILDFLAG(IS_APPLE)
+    if (!CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() &&
+        !CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+      return "a637057185f50aac1aa5490f726aef95";
+    }
 #endif
+    return "34a9ec0a9581a7970e073c0bcc4ca676";
+  }();
+  const char* new_checksum = []() {
+#if BUILDFLAG(IS_APPLE)
+    if (!CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() &&
+        !CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+      return "8ad9d79b02b609ff734e2a2195c96e2d";
+    }
+#endif
+    return "609b5632a21c886fa93182dbc290bf7a";
+  }();
 
   ASSERT_TRUE(OpenDocument("form_object.pdf"));
   FPDF_PAGE page = LoadPage(0);
@@ -2690,7 +2735,7 @@
 
   {
     ScopedFPDFBitmap bitmap = RenderLoadedPage(page);
-    CompareBitmap(bitmap.get(), 62, 69, kOrigChecksum);
+    CompareBitmap(bitmap.get(), 62, 69, orig_checksum);
   }
 
   FPDF_PAGEOBJECT form = FPDFPage_GetObject(page, 0);
@@ -2701,11 +2746,11 @@
 
   {
     ScopedFPDFBitmap bitmap = RenderLoadedPage(page);
-    CompareBitmap(bitmap.get(), 62, 69, kNewChecksum);
+    CompareBitmap(bitmap.get(), 62, 69, new_checksum);
   }
 
   EXPECT_TRUE(FPDF_SaveAsCopy(document(), this, 0));
-  VerifySavedDocument(62, 69, kNewChecksum);
+  VerifySavedDocument(62, 69, new_checksum);
 
   UnloadPage(page);
 }
@@ -3080,20 +3125,24 @@
     FPDFPage_InsertObject(page, text_object2);
   }
   ScopedFPDFBitmap page_bitmap2 = RenderPage(page);
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
-  const char kInsertTrueTypeChecksum[] = "683f4a385a891494100192cb338b11f0";
-#elif BUILDFLAG(IS_APPLE)
-  const char kInsertTrueTypeChecksum[] = "c7e2271a7f30e5b919a13ead47cea105";
+  const char* insert_true_type_checksum = []() {
+    if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() ||
+        CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+      return "683f4a385a891494100192cb338b11f0";
+    }
+#if BUILDFLAG(IS_APPLE)
+    return "c7e2271a7f30e5b919a13ead47cea105";
 #else
-  const char kInsertTrueTypeChecksum[] = "683f4a385a891494100192cb338b11f0";
+    return "683f4a385a891494100192cb338b11f0";
 #endif
-  CompareBitmap(page_bitmap2.get(), 612, 792, kInsertTrueTypeChecksum);
+  }();
+  CompareBitmap(page_bitmap2.get(), 612, 792, insert_true_type_checksum);
 
   EXPECT_TRUE(FPDFPage_GenerateContent(page));
   EXPECT_TRUE(FPDF_SaveAsCopy(document(), this, 0));
   FPDF_ClosePage(page);
 
-  VerifySavedDocument(612, 792, kInsertTrueTypeChecksum);
+  VerifySavedDocument(612, 792, insert_true_type_checksum);
 }
 
 TEST_F(FPDFEditEmbedderTest, TransformAnnot) {
@@ -3157,10 +3206,10 @@
   }
 
   // Check that the text renders properly.
-  static constexpr char md5[] = "84d31d11b76845423a2cfc1879c0fbb9";
+  static constexpr char kChecksum[] = "84d31d11b76845423a2cfc1879c0fbb9";
   {
     ScopedFPDFBitmap page_bitmap = RenderPage(page);
-    CompareBitmap(page_bitmap.get(), 612, 792, md5);
+    CompareBitmap(page_bitmap.get(), 612, 792, kChecksum);
   }
 
   // Save the document, close the page.
@@ -3168,7 +3217,7 @@
   EXPECT_TRUE(FPDF_SaveAsCopy(document(), this, 0));
   FPDF_ClosePage(page);
 
-  VerifySavedDocument(612, 792, md5);
+  VerifySavedDocument(612, 792, kChecksum);
 }
 #endif  // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
 
@@ -3179,11 +3228,13 @@
 #define MAYBE_SaveAndRender SaveAndRender
 #endif
 TEST_F(FPDFEditEmbedderTest, MAYBE_SaveAndRender) {
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
-  static constexpr char kChecksum[] = "0e8b079e349e34f64211c495845a3529";
-#else
-  static constexpr char kChecksum[] = "3c20472b0552c0c22b88ab1ed8c6202b";
-#endif
+  const char* checksum = []() {
+    if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer() ||
+        CFX_DefaultRenderDevice::SkiaPathsIsDefaultRenderer()) {
+      return "0e8b079e349e34f64211c495845a3529";
+    }
+    return "3c20472b0552c0c22b88ab1ed8c6202b";
+  }();
   {
     ASSERT_TRUE(OpenDocument("bug_779.pdf"));
     FPDF_PAGE page = LoadPage(0);
@@ -3202,7 +3253,7 @@
     EXPECT_TRUE(FPDFPath_Close(green_path));
     FPDFPage_InsertObject(page, green_path);
     ScopedFPDFBitmap page_bitmap = RenderLoadedPage(page);
-    CompareBitmap(page_bitmap.get(), 612, 792, kChecksum);
+    CompareBitmap(page_bitmap.get(), 612, 792, checksum);
 
     // Now save the result, closing the page and document
     EXPECT_TRUE(FPDFPage_GenerateContent(page));
@@ -3210,7 +3261,7 @@
     UnloadPage(page);
   }
 
-  VerifySavedDocument(612, 792, kChecksum);
+  VerifySavedDocument(612, 792, checksum);
 }
 
 TEST_F(FPDFEditEmbedderTest, AddMark) {