Add FPDFViewEmbedderTest.RenderAnnotsGrayScale

Add test coverage for 8-bpp to 24-bpp bitmap conversion code.

Change-Id: I55a482bc702202216ab2a947f8affe6b7d19f40e
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/122771
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Tom Sepez <tsepez@google.com>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/fpdfsdk/fpdf_view_embeddertest.cpp b/fpdfsdk/fpdf_view_embeddertest.cpp
index 86711ba..eb8830f 100644
--- a/fpdfsdk/fpdf_view_embeddertest.cpp
+++ b/fpdfsdk/fpdf_view_embeddertest.cpp
@@ -275,7 +275,7 @@
     EXPECT_EQ(bitmap_height, static_cast<int>(FPDF_GetPageHeight(page)));
     FPDFBitmap_FillRect(bitmap, 0, 0, bitmap_width, bitmap_height, 0xFFFFFFFF);
     FPDF_RenderPageBitmap(bitmap, page, 0, 0, bitmap_width, bitmap_height, 0,
-                          0);
+                          FPDF_ANNOT);
     CompareBitmap(bitmap, bitmap_width, bitmap_height, expected_checksum);
   }
 };
@@ -2174,3 +2174,25 @@
                                               vec.data(), kStride));
   EXPECT_EQ(FPDFBitmap_BGR, FPDFBitmap_GetFormat(bitmap.get()));
 }
+
+TEST_F(FPDFViewEmbedderTest, RenderAnnotsGrayScale) {
+  ASSERT_TRUE(OpenDocument("annotation_highlight_square_with_ap.pdf"));
+  ScopedEmbedderTestPage page = LoadScopedPage(0);
+  ASSERT_TRUE(page);
+
+  const char* const gray_checksum = []() {
+    if (CFX_DefaultRenderDevice::UseSkiaRenderer()) {
+#if BUILDFLAG(IS_WIN)
+      return "c18c1b7ee995f16dfb18e6da73a3c2d3";
+#elif BUILDFLAG(IS_APPLE)
+      return "92e96cad5e6b93fee3e2017ea27e2497";
+#else
+      return "b73df08d5252615ad6ed2fe7d6c73883";
+#endif
+    }
+    return "c02f449666bf2633d06b909c76bc1c1d";
+  }();
+
+  TestRenderPageBitmapWithInternalMemory(page.get(), FPDFBitmap_Gray,
+                                         gray_checksum);
+}