Enable Skia PNG encoder

Enables the Skia PNG encoder, which is required for SkPictureRecorder to
record rasterized images in the final SkPicture.

Bug: pdfium:1929
Change-Id: I816513ef01514a008851b7e08b361f73a3a748da
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/101450
Auto-Submit: K. Moon <kmoon@chromium.org>
Commit-Queue: K. Moon <kmoon@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/skia/BUILD.gn b/skia/BUILD.gn
index eb93a7a..4bbef90 100644
--- a/skia/BUILD.gn
+++ b/skia/BUILD.gn
@@ -23,7 +23,10 @@
 config("skia_config") {
   include_dirs = [ "//third_party/skia" ]
 
-  defines = [ "SK_USER_CONFIG_HEADER=\"../../skia/config/SkPdfiumUserConfig.h\"" ]
+  defines = [
+    "SK_ENCODE_PNG",
+    "SK_USER_CONFIG_HEADER=\"../../skia/config/SkPdfiumUserConfig.h\"",
+  ]
 
   if (is_win) {
     defines += [ "SK_FREETYPE_MINIMUM_RUNTIME_VERSION=(((FREETYPE_MAJOR) * 0x01000000) | ((FREETYPE_MINOR) * 0x00010000) | ((FREETYPE_PATCH) * 0x00000100))" ]
@@ -191,6 +194,7 @@
     "//third_party/skia/src/fonts/SkFontMgr_indirect.cpp",
     "//third_party/skia/src/fonts/SkRemotableFontMgr.cpp",
     "//third_party/skia/src/images/SkImageEncoder.cpp",
+    "//third_party/skia/src/images/SkPngEncoder.cpp",
     "//third_party/skia/src/ports/SkGlobalInitialization_default.cpp",
     "//third_party/skia/src/ports/SkImageGenerator_none.cpp",
     "//third_party/skia/src/ports/SkOSFile_stdio.cpp",
@@ -329,6 +333,7 @@
   deps = [
     ":skcms",
     ":skia_opts",
+    "../third_party:png",
     "../third_party:zlib",
     "//:freetype_common",
   ]