Enable some embeddertests in FPDFProgressiveRenderEmbedderTest suite for Skia/SkiaPaths.

In test suite FPDFProgressiveRenderEmbedderTest, due to the reasons
stated in https://pdfium-review.googlesource.com/76030, Skia's text
rendering results may have small but acceptable discrepancies compared to
AGG's for following tests: RenderTextWithColorScheme,
RenderStampWithColorScheme, and RenderInkWithColorScheme (SkiaPaths only).

Also due to Skia's hairline rendering method for drawing rectangles at
small scales, RenderPathWithColorSchemeAndConvertFillToStroke,
RenderPathWithColorScheme and RenderFormWithColorScheme can fail because
of some acceptable discrepancies.

This CL updates these tests mentioned above in
FPDFProgressiveRenderEmbedderTest suite so that they can be enabled for
Skia/SkiaPaths.

Bug: pdfium: 1500
Change-Id: I35fdefb71024d80b4bd4b3ff33948946b2848c1d
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/76670
Reviewed-by: Daniel Hosseinian <dhoss@chromium.org>
Commit-Queue: Hui Yingst <nigi@chromium.org>
diff --git a/core/fpdfapi/render/fpdf_progressive_render_embeddertest.cpp b/core/fpdfapi/render/fpdf_progressive_render_embeddertest.cpp
index 32dd7ac..1e77928 100644
--- a/core/fpdfapi/render/fpdf_progressive_render_embeddertest.cpp
+++ b/core/fpdfapi/render/fpdf_progressive_render_embeddertest.cpp
@@ -318,69 +318,71 @@
   UnloadPage(page);
 }
 
-// TODO(crbug.com/pdfium/11): Fix this test and enable.
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
-#define MAYBE_RenderTextWithColorScheme DISABLED_RenderTextWithColorScheme
-#else
-#define MAYBE_RenderTextWithColorScheme RenderTextWithColorScheme
-#endif
-TEST_F(FPDFProgressiveRenderEmbedderTest, MAYBE_RenderTextWithColorScheme) {
+TEST_F(FPDFProgressiveRenderEmbedderTest, RenderTextWithColorScheme) {
 // Test rendering of text with forced color scheme on.
+#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
 #if defined(OS_WIN)
-  static constexpr char kMD5ContentWithText[] =
+  static constexpr char kContentWithTextChecksum[] =
+      "b018d045f83513a47b03b742d091ca4c";
+#else
+  static constexpr char kContentWithTextChecksum[] =
+      "f6d0e8b9e508d4e993bae678f5f3baa7";
+#endif  // defined(OS_WIN)
+#else
+#if defined(OS_WIN)
+  static constexpr char kContentWithTextChecksum[] =
       "4245f32cc11748a00fd69852a5e5808d";
 #elif defined(OS_APPLE)
-  static constexpr char kMD5ContentWithText[] =
+  static constexpr char kContentWithTextChecksum[] =
       "754a742f10ce0926b766dc3dd47d1f64";
 #else
-  static constexpr char kMD5ContentWithText[] =
+  static constexpr char kContentWithTextChecksum[] =
       "f14d3caba5a973a28be8653aac9e4df3";
 #endif
+#endif  // defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
 
   ASSERT_TRUE(OpenDocument("hello_world.pdf"));
 
   FPDF_COLORSCHEME color_scheme{kBlack, kWhite, kWhite, kWhite};
   VerifyRenderingWithColorScheme(/*page_num=*/0, /*flags=*/0, &color_scheme,
-                                 kBlack, 200, 200, kMD5ContentWithText);
+                                 kBlack, 200, 200, kContentWithTextChecksum);
 }
 
-// TODO(crbug.com/pdfium/11): Fix this test and enable.
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
-#define MAYBE_RenderPathWithColorScheme DISABLED_RenderPathWithColorScheme
-#else
-#define MAYBE_RenderPathWithColorScheme RenderPathWithColorScheme
-#endif
-TEST_F(FPDFProgressiveRenderEmbedderTest, MAYBE_RenderPathWithColorScheme) {
+TEST_F(FPDFProgressiveRenderEmbedderTest, RenderPathWithColorScheme) {
   // Test rendering of paths with forced color scheme on.
-  static const char kMD5Rectangles[] = "249f59b0d066c4f6bd89782a80822219";
+#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
+  static constexpr char kRectanglesChecksum[] =
+      "4b0f850a94698d07b6cd2814d1b4ccb7";
+#else
+  static constexpr char kRectanglesChecksum[] =
+      "249f59b0d066c4f6bd89782a80822219";
+#endif
 
   ASSERT_TRUE(OpenDocument("rectangles.pdf"));
 
   FPDF_COLORSCHEME color_scheme{kWhite, kRed, kBlue, kBlue};
   VerifyRenderingWithColorScheme(/*page_num=*/0, /*flags=*/0, &color_scheme,
-                                 kBlack, 200, 300, kMD5Rectangles);
+                                 kBlack, 200, 300, kRectanglesChecksum);
 }
 
-// TODO(crbug.com/pdfium/11): Fix this test and enable.
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
-#define MAYBE_RenderPathWithColorSchemeAndConvertFillToStroke \
-  DISABLED_RenderPathWithColorSchemeAndConvertFillToStroke
-#else
-#define MAYBE_RenderPathWithColorSchemeAndConvertFillToStroke \
-  RenderPathWithColorSchemeAndConvertFillToStroke
-#endif
 TEST_F(FPDFProgressiveRenderEmbedderTest,
-       MAYBE_RenderPathWithColorSchemeAndConvertFillToStroke) {
+       RenderPathWithColorSchemeAndConvertFillToStroke) {
   // Test rendering of paths with forced color scheme on and conversion from
   // fill to stroke enabled. The fill paths should be rendered as stroke.
-  static const char kMD5Rectangles[] = "0ebcc11e617635eca1fa9ce475383a80";
+#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
+  static constexpr char kRectanglesChecksum[] =
+      "c1cbbd2ce6921f608a3c55140592419b";
+#else
+  static constexpr char kRectanglesChecksum[] =
+      "0ebcc11e617635eca1fa9ce475383a80";
+#endif
 
   ASSERT_TRUE(OpenDocument("rectangles.pdf"));
 
   FPDF_COLORSCHEME color_scheme{kWhite, kRed, kBlue, kBlue};
   VerifyRenderingWithColorScheme(/*page_num=*/0, FPDF_CONVERT_FILL_TO_STROKE,
                                  &color_scheme, kBlack, 200, 300,
-                                 kMD5Rectangles);
+                                 kRectanglesChecksum);
 }
 
 // TODO(crbug.com/pdfium/11): Fix this test and enable.
@@ -444,74 +446,89 @@
       kBlue, 612, 792, kMD5ContentWithHighlight);
 }
 
-// TODO(crbug.com/pdfium/11): Fix this test and enable.
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
+// TODO(crbug.com/pdfium/1500): When Skia is enabled, the rendering result is
+// acceptable but the test fails due to assertion failure. Fix the assertion
+// failure for Skia and enable this test.
+#if defined(_SKIA_SUPPORT_)
 #define MAYBE_RenderInkWithColorScheme DISABLED_RenderInkWithColorScheme
 #else
 #define MAYBE_RenderInkWithColorScheme RenderInkWithColorScheme
 #endif
 TEST_F(FPDFProgressiveRenderEmbedderTest, MAYBE_RenderInkWithColorScheme) {
 // Test rendering of multiple ink with forced color scheme on.
+#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
+#if defined(OS_APPLE)
+  static constexpr char kContentWithInkChecksum[] =
+      "ebc57721e4c8da34156e09b9b2e62fb0";
+#else
+  static constexpr char kContentWithInkChecksum[] =
+      "b39d9f68ff71963d82c43eb20caa8f4d";
+#endif  // defined(OS_APPLE)
+#else
 #if defined(OS_WIN)
-  static constexpr char kMD5ContentWithInk[] =
+  static constexpr char kContentWithInkChecksum[] =
       "1933e4ab19b9108ddcecd1a6abb20c85";
 #else
-  static constexpr char kMD5ContentWithInk[] =
+  static constexpr char kContentWithInkChecksum[] =
       "797bce7dc6c50ee86b095405df9fe5aa";
-#endif
+#endif  // defined(OS_WIN)
+#endif  // defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
 
   ASSERT_TRUE(OpenDocument("annotation_ink_multiple.pdf"));
 
   FPDF_COLORSCHEME color_scheme{kBlack, kGreen, kRed, kRed};
   VerifyRenderingWithColorScheme(/*page_num=*/0, FPDF_ANNOT, &color_scheme,
-                                 kBlack, 612, 792, kMD5ContentWithInk);
+                                 kBlack, 612, 792, kContentWithInkChecksum);
 }
 
-// TODO(crbug.com/pdfium/11): Fix this test and enable.
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
-#define MAYBE_RenderStampWithColorScheme DISABLED_RenderStampWithColorScheme
-#else
-#define MAYBE_RenderStampWithColorScheme RenderStampWithColorScheme
-#endif
-TEST_F(FPDFProgressiveRenderEmbedderTest, MAYBE_RenderStampWithColorScheme) {
+TEST_F(FPDFProgressiveRenderEmbedderTest, RenderStampWithColorScheme) {
 // Test rendering of static annotation with forced color scheme on.
+#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
+#if defined(OS_WIN) || defined(OS_APPLE)
+  static constexpr char kContentWithStampChecksum[] =
+      "77cd4865c3780d69a61d4225ee10c41f";
+#else
+  static constexpr char kContentWithStampChecksum[] =
+      "6d8cb124dee49ebda757f8872a7bbef2";
+#endif  // defined(OS_WIN) || defined(OS_APPLE)
+#else
 #if defined(OS_WIN)
-  static constexpr char kMD5ContentWithStamp[] =
+  static constexpr char kContentWithStampChecksum[] =
       "71dce8f1221e1d2fe59d74258c3afd54";
 #elif defined(OS_APPLE)
-  static constexpr char kMD5ContentWithStamp[] =
+  static constexpr char kContentWithStampChecksum[] =
       "e2d9bef817d366021e5727d9350bde43";
 #else
-  static constexpr char kMD5ContentWithStamp[] =
+  static constexpr char kContentWithStampChecksum[] =
       "d5518b1d9765fa62897a24d12244080f";
 #endif
+#endif  // defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
 
   ASSERT_TRUE(OpenDocument("annotation_stamp_with_ap.pdf"));
 
   FPDF_COLORSCHEME color_scheme{kBlue, kGreen, kRed, kRed};
   VerifyRenderingWithColorScheme(/*page_num=*/0, FPDF_ANNOT, &color_scheme,
-                                 kWhite, 595, 842, kMD5ContentWithStamp);
+                                 kWhite, 595, 842, kContentWithStampChecksum);
 }
 
-// TODO(crbug.com/pdfium/11): Fix this test and enable.
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
-#define MAYBE_RenderFormWithColorScheme DISABLED_RenderFormWithColorScheme
-#else
-#define MAYBE_RenderFormWithColorScheme RenderFormWithColorScheme
-#endif
-TEST_F(FPDFProgressiveRenderEmbedderTest, MAYBE_RenderFormWithColorScheme) {
+TEST_F(FPDFProgressiveRenderEmbedderTest, RenderFormWithColorScheme) {
   // Test rendering of form does not change with forced color scheme on.
-  static constexpr char kMD5ContentWithForm[] =
+#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
+  static constexpr char kContentWithFormChecksum[] =
+      "9f75d98afc6d6313bd87e6562ea6df15";
+#else
+  static constexpr char kContentWithFormChecksum[] =
       "080f7a4381606659301440e1b14dca35";
+#endif
 
   ASSERT_TRUE(OpenDocument("annotiter.pdf"));
 
   FPDF_COLORSCHEME color_scheme{kGreen, kGreen, kRed, kRed};
   VerifyRenderingWithColorScheme(/*page_num=*/0, FPDF_ANNOT, &color_scheme,
-                                 kWhite, 612, 792, kMD5ContentWithForm);
+                                 kWhite, 612, 792, kContentWithFormChecksum);
 
   // Verify that the MD5 hash matches when rendered without |color_scheme|.
   VerifyRenderingWithColorScheme(/*page_num=*/0, FPDF_ANNOT,
                                  /*color_scheme=*/nullptr, kWhite, 612, 792,
-                                 kMD5ContentWithForm);
+                                 kContentWithFormChecksum);
 }