diff --git a/fpdfsdk/fpdf_edit_embeddertest.cpp b/fpdfsdk/fpdf_edit_embeddertest.cpp
index 8cff133..3f918fb 100644
--- a/fpdfsdk/fpdf_edit_embeddertest.cpp
+++ b/fpdfsdk/fpdf_edit_embeddertest.cpp
@@ -44,14 +44,13 @@
 #include "testing/utils/path_service.h"
 
 using pdfium::HelloWorldChecksum;
+using pdfium::kBlankPage200By200Checksum;
 using testing::HasSubstr;
 using testing::Not;
 using testing::UnorderedElementsAreArray;
 
 namespace {
 
-const char kAllRemovedChecksum[] = "eee4600ac08b458ac7ac2320e225674c";
-
 const wchar_t kBottomText[] = L"I'm at the bottom of the page";
 
 const char* BottomTextChecksum() {
@@ -2045,7 +2044,7 @@
 
   {
     ScopedFPDFBitmap page_bitmap = RenderPage(page.get());
-    CompareBitmap(page_bitmap.get(), 200, 200, kAllRemovedChecksum);
+    CompareBitmap(page_bitmap.get(), 200, 200, kBlankPage200By200Checksum);
   }
 
   // Save the file
@@ -2059,7 +2058,7 @@
   EXPECT_EQ(0, FPDFPage_CountObjects(saved_page));
   {
     ScopedFPDFBitmap page_bitmap = RenderPage(saved_page);
-    CompareBitmap(page_bitmap.get(), 200, 200, kAllRemovedChecksum);
+    CompareBitmap(page_bitmap.get(), 200, 200, kBlankPage200By200Checksum);
   }
 
   CloseSavedPage(saved_page);
@@ -2219,7 +2218,7 @@
 
   {
     ScopedFPDFBitmap page_bitmap = RenderPage(page.get());
-    CompareBitmap(page_bitmap.get(), 200, 200, kAllRemovedChecksum);
+    CompareBitmap(page_bitmap.get(), 200, 200, kBlankPage200By200Checksum);
   }
 
   // Save the file
@@ -2233,7 +2232,7 @@
   EXPECT_EQ(0, FPDFPage_CountObjects(saved_page));
   {
     ScopedFPDFBitmap page_bitmap = RenderPage(saved_page);
-    CompareBitmap(page_bitmap.get(), 200, 200, kAllRemovedChecksum);
+    CompareBitmap(page_bitmap.get(), 200, 200, kBlankPage200By200Checksum);
   }
 
   CloseSavedPage(saved_page);
diff --git a/fpdfsdk/fpdf_view_embeddertest.cpp b/fpdfsdk/fpdf_view_embeddertest.cpp
index 34ae475..896010a 100644
--- a/fpdfsdk/fpdf_view_embeddertest.cpp
+++ b/fpdfsdk/fpdf_view_embeddertest.cpp
@@ -2139,7 +2139,7 @@
                         /*start_y=*/0, kWidth, kHeight, /*rotate=*/0,
                         /*flags=*/0);
   // TODO(crbug.com/1302355): This page should not render blank.
-  EXPECT_EQ("eee4600ac08b458ac7ac2320e225674c", HashBitmap(bitmap.get()));
+  EXPECT_EQ(pdfium::kBlankPage200By200Checksum, HashBitmap(bitmap.get()));
 }
 
 TEST_F(FPDFViewEmbedderTest, Bug2112) {
diff --git a/testing/embedder_test_constants.cpp b/testing/embedder_test_constants.cpp
index f0279ae..0ba3410 100644
--- a/testing/embedder_test_constants.cpp
+++ b/testing/embedder_test_constants.cpp
@@ -26,6 +26,8 @@
 #endif
 }
 
+const char kBlankPage200By200Checksum[] = "eee4600ac08b458ac7ac2320e225674c";
+
 const char kBlankPage612By792Checksum[] = "1940568c9ba33bac5d0b1ee9558c76b3";
 
 const char* Bug890322Checksum() {
diff --git a/testing/embedder_test_constants.h b/testing/embedder_test_constants.h
index 306880b..cff011a 100644
--- a/testing/embedder_test_constants.h
+++ b/testing/embedder_test_constants.h
@@ -10,6 +10,9 @@
 // MD5 hash for rendering annotation_stamp_with_ap.pdf with annotations.
 const char* AnnotationStampWithApChecksum();
 
+// MD5 hash for rendering a 200x200 blank page.
+extern const char kBlankPage200By200Checksum[];
+
 // MD5 hash for rendering a 612x792 blank page.
 extern const char kBlankPage612By792Checksum[];
 
