diff --git a/pdf/pdf.cc b/pdf/pdf.cc index e6cf54804c18e..917ae4720b6ff 100644 --- a/pdf/pdf.cc +++ b/pdf/pdf.cc @@ -123,6 +123,10 @@ void SetPDFEnsureTypefaceCharactersAccessible( void SetPDFUseGDIPrinting(bool enable) { PDFEngineExports::Get()->SetPDFUseGDIPrinting(enable); } + +void SetPDFPostscriptPrintingLevel(int postscript_level) { + PDFEngineExports::Get()->SetPDFPostscriptPrintingLevel(postscript_level); +} #endif // defined(OS_WIN) bool GetPDFDocInfo(const void* pdf_buffer, diff --git a/pdf/pdf.h b/pdf/pdf.h index c785b551626fa..d18489d105350 100644 --- a/pdf/pdf.h +++ b/pdf/pdf.h @@ -82,6 +82,8 @@ void SetPDFEnsureTypefaceCharactersAccessible( PDFEnsureTypefaceCharactersAccessible func); void SetPDFUseGDIPrinting(bool enable); + +void SetPDFPostscriptPrintingLevel(int postscript_level); #endif // defined(OS_WIN) // |page_count| and |max_page_width| are optional and can be NULL. diff --git a/pdf/pdf_engine.h b/pdf/pdf_engine.h index 54e9f2f8ca01b..2688f25a4943c 100644 --- a/pdf/pdf_engine.h +++ b/pdf/pdf_engine.h @@ -341,6 +341,8 @@ class PDFEngineExports { PDFEnsureTypefaceCharactersAccessible func) = 0; virtual void SetPDFUseGDIPrinting(bool enable) = 0; + + virtual void SetPDFPostscriptPrintingLevel(int postscript_level) = 0; #endif // defined(OS_WIN) // See the definition of RenderPDFPageToBitmap in pdf.cc for details. diff --git a/pdf/pdfium/fuzzers/BUILD.gn b/pdf/pdfium/fuzzers/BUILD.gn index 1300910bbfa6e..4636a39beafed 100644 --- a/pdf/pdfium/fuzzers/BUILD.gn +++ b/pdf/pdfium/fuzzers/BUILD.gn @@ -35,6 +35,13 @@ fuzzer_test("pdf_cmap_fuzzer") { ] } +fuzzer_test("pdf_codec_a85_fuzzer") { + sources = [] + deps = [ + "//third_party/pdfium/testing/libfuzzer:pdf_codec_a85_fuzzer", + ] +} + fuzzer_test("pdf_codec_fax_fuzzer") { sources = [] deps = [ @@ -42,6 +49,13 @@ fuzzer_test("pdf_codec_fax_fuzzer") { ] } +fuzzer_test("pdf_codec_rle_fuzzer") { + sources = [] + deps = [ + "//third_party/pdfium/testing/libfuzzer:pdf_codec_rle_fuzzer", + ] +} + fuzzer_test("pdf_codec_icc_fuzzer") { sources = [] deps = [ diff --git a/pdf/pdfium/pdfium_engine.cc b/pdf/pdfium/pdfium_engine.cc index 111ea87135e6d..3e8f5b4971c78 100644 --- a/pdf/pdfium/pdfium_engine.cc +++ b/pdf/pdfium/pdfium_engine.cc @@ -4103,6 +4103,12 @@ void PDFiumEngineExports::SetPDFEnsureTypefaceCharactersAccessible( void PDFiumEngineExports::SetPDFUseGDIPrinting(bool enable) { FPDF_SetPrintTextWithGDI(enable); } + +void PDFiumEngineExports::SetPDFPostscriptPrintingLevel( + int postscript_level) { + FPDF_SetPrintPostscriptLevel(postscript_level); +} + #endif // defined(OS_WIN) bool PDFiumEngineExports::RenderPDFPageToBitmap( diff --git a/pdf/pdfium/pdfium_engine.h b/pdf/pdfium/pdfium_engine.h index e6ff4fcb22ced..3a525dcaaf47c 100644 --- a/pdf/pdfium/pdfium_engine.h +++ b/pdf/pdfium/pdfium_engine.h @@ -775,6 +775,8 @@ class PDFiumEngineExports : public PDFEngineExports { PDFEnsureTypefaceCharactersAccessible func) override; void SetPDFUseGDIPrinting(bool enable) override; + + void SetPDFPostscriptPrintingLevel(int postscript_level) override; #endif // defined(OS_WIN) bool RenderPDFPageToBitmap(const void* pdf_buffer, int pdf_buffer_size,