[Skia] Fix the black borders of small images

When using SkFilterMode::kLinear to smooth the image rendering result, switch SkMipmapMode to kNearest to avoid the unwanted black borders of small images.

Bug: pdfium:1818,pdfium:1896
Change-Id: I36edfa53cf21818b9c6ddb95320cab0c71a0f6c6
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/100174
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Nigi <nigi@chromium.org>
diff --git a/DEPS b/DEPS
index 701d352..10cce9b 100644
--- a/DEPS
+++ b/DEPS
@@ -130,7 +130,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling pdfium_tests
   # and whatever else without interference from each other.
-  'pdfium_tests_revision': '62ba3e144cf4c387e0fe043a2e9dc2ebfb4778f3',
+  'pdfium_tests_revision': 'ea69bc085138acda77fce4153ccd8b2260c05594',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling resultdb
   # and whatever else without interference from each other.
diff --git a/core/fxge/skia/fx_skia_device.cpp b/core/fxge/skia/fx_skia_device.cpp
index 6c39d80..680e1ec 100644
--- a/core/fxge/skia/fx_skia_device.cpp
+++ b/core/fxge/skia/fx_skia_device.cpp
@@ -2861,7 +2861,7 @@
           CStretchEngine::UseInterpolateBilinear(options, dest_width,
                                                  dest_height, width, height)) {
         sampling_options =
-            SkSamplingOptions(SkFilterMode::kLinear, SkMipmapMode::kLinear);
+            SkSamplingOptions(SkFilterMode::kLinear, SkMipmapMode::kNearest);
       }
       m_pCanvas->drawImageRect(skBitmap.asImage(),
                                SkRect::MakeWH(width, height), sampling_options,
diff --git a/fpdfsdk/fpdf_edit_embeddertest.cpp b/fpdfsdk/fpdf_edit_embeddertest.cpp
index 7b7f877..0e969dc 100644
--- a/fpdfsdk/fpdf_edit_embeddertest.cpp
+++ b/fpdfsdk/fpdf_edit_embeddertest.cpp
@@ -3856,7 +3856,7 @@
     EXPECT_EQ(FPDFBitmap_BGRA, FPDFBitmap_GetFormat(bitmap.get()));
     const char* checksum = []() {
       if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer())
-        return "3b51fc066ee18efbf70bab0501763603";
+        return "404d679bd7e735543b001565cdbe3bf2";
       return "582ca300e003f512d7b552c7b5b45d2e";
     }();
     CompareBitmap(bitmap.get(), 53, 43, checksum);
@@ -3893,7 +3893,7 @@
     EXPECT_EQ(FPDFBitmap_BGRA, FPDFBitmap_GetFormat(bitmap.get()));
     const char* checksum = []() {
       if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer())
-        return "74081c2a48c2fd4f1fde544f056e956b";
+        return "2aec37e653af0780bc5903c34781588c";
       return "0824c16dcf2dfcef44b45d88db1fddce";
     }();
     CompareBitmap(bitmap.get(), 120, 43, checksum);
diff --git a/testing/SUPPRESSIONS b/testing/SUPPRESSIONS
index 762eec9..741541c 100644
--- a/testing/SUPPRESSIONS
+++ b/testing/SUPPRESSIONS
@@ -276,10 +276,6 @@
 example_060.pdf mac * * *
 example_061.pdf mac * * *
 example_062.pdf mac * * *
-
-# TODO(pdfium:1896): Remove after associated bug is fixed
-example_062.pdf * * * skia,skiapaths
-
 example_063.pdf mac * * *
 example_064.pdf mac * * *
 example_065.pdf mac * * *
@@ -364,13 +360,6 @@
 
 new_signature1.pdf mac * * *
 new_signature2.pdf mac * * *
-
-# TODO(pdfium:1818): Remove after associated bug is fixed
-new_stamp2.pdf * * * skia
-
-# TODO(pdfium:1818): Remove after associated bug is fixed
-new_stamp3.pdf * * * skia
-
 new_stamp4.pdf mac * * *
 new_stamp5.pdf mac * * *
 new_textmarkup1.pdf mac * * *
diff --git a/testing/resources/pixel/bug_1015233_expected_skia.pdf.0.png b/testing/resources/pixel/bug_1015233_expected_skia.pdf.0.png
index 1a2a736..8e1a456 100644
--- a/testing/resources/pixel/bug_1015233_expected_skia.pdf.0.png
+++ b/testing/resources/pixel/bug_1015233_expected_skia.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/xfa_specific/resolve_nodes_0_expected_skia.pdf.0.png b/testing/resources/pixel/xfa_specific/resolve_nodes_0_expected_skia.pdf.0.png
index e454dfd..c5fa501 100644
--- a/testing/resources/pixel/xfa_specific/resolve_nodes_0_expected_skia.pdf.0.png
+++ b/testing/resources/pixel/xfa_specific/resolve_nodes_0_expected_skia.pdf.0.png
Binary files differ
diff --git a/xfa/fwl/cfwl_edit_embeddertest.cpp b/xfa/fwl/cfwl_edit_embeddertest.cpp
index 12bbafa..3381ed5 100644
--- a/xfa/fwl/cfwl_edit_embeddertest.cpp
+++ b/xfa/fwl/cfwl_edit_embeddertest.cpp
@@ -255,7 +255,7 @@
   FORM_OnLButtonDown(form_handle(), page(), 0, 115, 58);
   const char* filled_checksum = []() {
     if (CFX_DefaultRenderDevice::SkiaIsDefaultRenderer())
-      return "062ad65614888e4f114b99f3396be3e8";
+      return "40c1877a7ac5d71e61cc5dbc567576f6";
     return "101cf6223fa2403fba4c413a8310ab02";
   }();
   ScopedFPDFBitmap page_bitmap = RenderLoadedPageWithFlags(page(), FPDF_ANNOT);