Remove some deprecated RenderPage method usage.

Do some additional checks in test cases where pages were rendered but
the resulting bitmap was immediately destroyed.

Change-Id: I2f4678140cdc672ab4ced70f748135464447ff59
Reviewed-on: https://pdfium-review.googlesource.com/25510
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfapi/edit/cpdf_creator_embeddertest.cpp b/core/fpdfapi/edit/cpdf_creator_embeddertest.cpp
index 7d1fb30..86cd67b 100644
--- a/core/fpdfapi/edit/cpdf_creator_embeddertest.cpp
+++ b/core/fpdfapi/edit/cpdf_creator_embeddertest.cpp
@@ -25,11 +25,12 @@
   {
     // Do some read only operations.
     ASSERT_GE(1, FPDF_GetPageCount(document()));
-    FPDF_PAGE page = FPDF_LoadPage(document(), 0);
+    FPDF_PAGE page = LoadPage(0);
     ASSERT_TRUE(page);
-    FPDF_BITMAP new_bitmap =
-        RenderPageWithFlagsDeprecated(page, form_handle(), FPDF_ANNOT);
-    FPDFBitmap_Destroy(new_bitmap);
+    std::unique_ptr<void, FPDFBitmapDeleter> bitmap =
+        RenderLoadedPageWithFlags(page, FPDF_ANNOT);
+    EXPECT_EQ(595, FPDFBitmap_GetWidth(bitmap.get()));
+    EXPECT_EQ(842, FPDFBitmap_GetHeight(bitmap.get()));
     UnloadPage(page);
   }
 
diff --git a/core/fpdfapi/parser/cpdf_security_handler_embeddertest.cpp b/core/fpdfapi/parser/cpdf_security_handler_embeddertest.cpp
index 6c1a0e9..df7b5b6 100644
--- a/core/fpdfapi/parser/cpdf_security_handler_embeddertest.cpp
+++ b/core/fpdfapi/parser/cpdf_security_handler_embeddertest.cpp
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <memory>
 #include <string>
 
 #include "core/fxcrt/fx_system.h"
@@ -58,9 +59,8 @@
     EXPECT_TRUE(FPDFPath_SetFillColor(red_rect, 255, 0, 0, 255));
     EXPECT_TRUE(FPDFPath_SetDrawMode(red_rect, FPDF_FILLMODE_ALTERNATE, 0));
     FPDFPage_InsertObject(page, red_rect);
-    FPDF_BITMAP page_bitmap = RenderPageDeprecated(page);
-    CompareBitmap(page_bitmap, 612, 792, md5);
-    FPDFBitmap_Destroy(page_bitmap);
+    std::unique_ptr<void, FPDFBitmapDeleter> bitmap = RenderLoadedPage(page);
+    CompareBitmap(bitmap.get(), 612, 792, md5);
     EXPECT_TRUE(FPDFPage_GenerateContent(page));
     SetWholeFileAvailable();
     EXPECT_TRUE(FPDF_SaveAsCopy(document(), this, 0));
diff --git a/core/fxcodec/codec/fx_codec_embeddertest.cpp b/core/fxcodec/codec/fx_codec_embeddertest.cpp
index 50a15c3..40a1662 100644
--- a/core/fxcodec/codec/fx_codec_embeddertest.cpp
+++ b/core/fxcodec/codec/fx_codec_embeddertest.cpp
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <memory>
+
 #include "testing/embedder_test.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -12,9 +14,8 @@
   // Should not crash.
   EXPECT_TRUE(OpenDocument("bug_631912.pdf"));
   FPDF_PAGE page = LoadPage(0);
-  EXPECT_NE(nullptr, page);
-  FPDF_BITMAP bitmap = RenderPageDeprecated(page);
-  CompareBitmap(bitmap, 691, 432, "24d75af646f8772c5ee7ced260452ae4");
-  FPDFBitmap_Destroy(bitmap);
+  ASSERT_TRUE(page);
+  std::unique_ptr<void, FPDFBitmapDeleter> bitmap = RenderLoadedPage(page);
+  CompareBitmap(bitmap.get(), 691, 432, "24d75af646f8772c5ee7ced260452ae4");
   UnloadPage(page);
 }
diff --git a/core/fxge/fx_ge_text_embeddertest.cpp b/core/fxge/fx_ge_text_embeddertest.cpp
index 7aeb3f3..362ccf5 100644
--- a/core/fxge/fx_ge_text_embeddertest.cpp
+++ b/core/fxge/fx_ge_text_embeddertest.cpp
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <memory>
+
 #include "testing/embedder_test.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -11,8 +13,9 @@
   // Shouldn't crash.
   EXPECT_TRUE(OpenDocument("bug_601362.pdf"));
   FPDF_PAGE page = LoadPage(0);
-  EXPECT_NE(nullptr, page);
-  FPDF_BITMAP bitmap = RenderPageDeprecated(page);
-  FPDFBitmap_Destroy(bitmap);
+  ASSERT_TRUE(page);
+  std::unique_ptr<void, FPDFBitmapDeleter> bitmap = RenderLoadedPage(page);
+  EXPECT_EQ(612, FPDFBitmap_GetWidth(bitmap.get()));
+  EXPECT_EQ(792, FPDFBitmap_GetHeight(bitmap.get()));
   UnloadPage(page);
 }
diff --git a/fpdfsdk/fpdfsave_embeddertest.cpp b/fpdfsdk/fpdfsave_embeddertest.cpp
index bbf7566..e753ba0 100644
--- a/fpdfsdk/fpdfsave_embeddertest.cpp
+++ b/fpdfsdk/fpdfsave_embeddertest.cpp
@@ -66,11 +66,11 @@
   EXPECT_TRUE(OpenDocument("linearized.pdf"));
   for (int i = 0; i < kPageCount; ++i) {
     FPDF_PAGE page = LoadPage(i);
-    FPDF_BITMAP bitmap = RenderPageDeprecated(page);
-    EXPECT_EQ(612, FPDFBitmap_GetWidth(bitmap));
-    EXPECT_EQ(792, FPDFBitmap_GetHeight(bitmap));
-    original_md5[i] = HashBitmap(bitmap);
-    FPDFBitmap_Destroy(bitmap);
+    ASSERT_TRUE(page);
+    std::unique_ptr<void, FPDFBitmapDeleter> bitmap = RenderLoadedPage(page);
+    EXPECT_EQ(612, FPDFBitmap_GetWidth(bitmap.get()));
+    EXPECT_EQ(792, FPDFBitmap_GetHeight(bitmap.get()));
+    original_md5[i] = HashBitmap(bitmap.get());
     UnloadPage(page);
   }