Moving extra options/parameters into PDFMetadata

Bug: skia:
Change-Id: I29aa69e5765a7f8ba05b0361912d1f5276d77de3
Reviewed-on: https://skia-review.googlesource.com/84501
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Mike Reed <reed@google.com>
diff --git a/tests/PDFDocumentTest.cpp b/tests/PDFDocumentTest.cpp
index 82dafa3..d92929e 100644
--- a/tests/PDFDocumentTest.cpp
+++ b/tests/PDFDocumentTest.cpp
@@ -56,7 +56,8 @@
 
     // Make sure doc's destructor is called to flush.
     {
-        sk_sp<SkDocument> doc(SkDocument::MakePDF(path.c_str()));
+        SkFILEWStream stream(path.c_str());
+        sk_sp<SkDocument> doc = SkDocument::MakePDF(&stream);
 
         SkCanvas* canvas = doc->beginPage(100, 100);
         canvas->drawColor(SK_ColorRED);
@@ -85,13 +86,15 @@
         return;
     }
 
-    sk_sp<SkDocument> doc(SkDocument::MakePDF(path.c_str()));
+    {
+        SkFILEWStream stream(path.c_str());
+        sk_sp<SkDocument> doc = SkDocument::MakePDF(&stream);
+        SkCanvas* canvas = doc->beginPage(100, 100);
 
-    SkCanvas* canvas = doc->beginPage(100, 100);
-
-    canvas->drawColor(SK_ColorRED);
-    doc->endPage();
-    doc->close();
+        canvas->drawColor(SK_ColorRED);
+        doc->endPage();
+        doc->close();
+    }
 
     FILE* file = fopen(path.c_str(), "r");
     REPORTER_ASSERT(reporter, file != nullptr);
@@ -123,41 +126,6 @@
     test_close(reporter);
 }
 
-namespace {
-class JPEGSerializer final : public SkPixelSerializer {
-    bool onUseEncodedData(const void*, size_t) override { return true; }
-    SkData* onEncode(const SkPixmap& pixmap) override {
-        return sk_tool_utils::EncodeImageToData(pixmap, SkEncodedImageFormat::kJPEG, 85).release();
-    }
-};
-}  // namespace
-
-size_t count_bytes(const SkBitmap& bm, bool useDCT) {
-    SkDynamicMemoryWStream stream;
-    sk_sp<SkDocument> doc;
-    if (useDCT) {
-        doc = SkDocument::MakePDF(&stream, SK_ScalarDefaultRasterDPI,
-                                  SkDocument::PDFMetadata(),
-                                  sk_make_sp<JPEGSerializer>(), false);
-    } else {
-        doc = SkDocument::MakePDF(&stream);
-    }
-    SkCanvas* canvas = doc->beginPage(64, 64);
-    canvas->drawBitmap(bm, 0, 0);
-    doc->endPage();
-    doc->close();
-    return stream.bytesWritten();
-}
-
-DEF_TEST(SkPDF_document_dct_encoder, r) {
-    REQUIRE_PDF_DOCUMENT(SkPDF_document_dct_encoder, r);
-    SkBitmap bm;
-    if (GetResourceAsBitmap("images/mandrill_64.png", &bm)) {
-        // Lossy encoding works better on photographs.
-        REPORTER_ASSERT(r, count_bytes(bm, true) < count_bytes(bm, false));
-    }
-}
-
 DEF_TEST(SkPDF_document_skbug_4734, r) {
     REQUIRE_PDF_DOCUMENT(SkPDF_document_skbug_4734, r);
     SkDynamicMemoryWStream stream;
@@ -189,10 +157,10 @@
     pdfMetadata.fTitle = "test document";
     pdfMetadata.fCreation.fEnabled = true;
     pdfMetadata.fCreation.fDateTime = {0, 1999, 12, 5, 31, 23, 59, 59};
+    pdfMetadata.fPDFA = true;
 
     SkDynamicMemoryWStream buffer;
-    auto doc = SkDocument::MakePDF(&buffer, SK_ScalarDefaultRasterDPI,
-                                   pdfMetadata, nullptr, /* pdfa = */ true);
+    auto doc = SkDocument::MakePDF(&buffer, pdfMetadata);
     doc->beginPage(64, 64)->drawColor(SK_ColorRED);
     doc->close();
     sk_sp<SkData> data(buffer.detachAsData());
@@ -210,8 +178,8 @@
         }
     }
     pdfMetadata.fProducer = "phoney library";
-    doc = SkDocument::MakePDF(&buffer, SK_ScalarDefaultRasterDPI,
-                              pdfMetadata, nullptr, /* pdfa = */ true);
+    pdfMetadata.fPDFA = true;
+    doc = SkDocument::MakePDF(&buffer, pdfMetadata);
     doc->beginPage(64, 64)->drawColor(SK_ColorRED);
     doc->close();
     data = buffer.detachAsData();
diff --git a/tests/PDFMetadataAttributeTest.cpp b/tests/PDFMetadataAttributeTest.cpp
index 01351fa..bdfd7d6 100644
--- a/tests/PDFMetadataAttributeTest.cpp
+++ b/tests/PDFMetadataAttributeTest.cpp
@@ -25,8 +25,7 @@
     metadata.fModified.fDateTime = now;
 
     SkDynamicMemoryWStream pdf;
-    sk_sp<SkDocument> doc = SkDocument::MakePDF(&pdf, SK_ScalarDefaultRasterDPI,
-                                                metadata, nullptr, false);
+    sk_sp<SkDocument> doc = SkDocument::MakePDF(&pdf, metadata);
     doc->beginPage(612.0f, 792.0f);
     doc->close();
     sk_sp<SkData> data = pdf.detachAsData();