1 // Copyright 2017 The PDFium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef TESTING_FUZZERS_PDFIUM_FUZZER_HELPER_H_ 6 #define TESTING_FUZZERS_PDFIUM_FUZZER_HELPER_H_ 7 8 #include <stdint.h> 9 10 #include "public/fpdfview.h" 11 12 class PDFiumFuzzerHelper { 13 public: 14 void RenderPdf(const char* data, size_t len); 15 16 virtual int GetFormCallbackVersion() const = 0; 17 virtual bool OnFormFillEnvLoaded(FPDF_DOCUMENT doc); OnRenderFinished(FPDF_DOCUMENT doc)18 virtual void OnRenderFinished(FPDF_DOCUMENT doc) {} FormActionHandler(FPDF_FORMHANDLE form,FPDF_DOCUMENT doc,FPDF_PAGE page)19 virtual void FormActionHandler(FPDF_FORMHANDLE form, 20 FPDF_DOCUMENT doc, 21 FPDF_PAGE page) {} 22 23 protected: 24 PDFiumFuzzerHelper(); 25 virtual ~PDFiumFuzzerHelper(); 26 27 private: 28 bool RenderPage(FPDF_DOCUMENT doc, 29 FPDF_FORMHANDLE form, 30 int page_index, 31 int render_flags, 32 int form_flags); 33 }; 34 35 #endif // TESTING_FUZZERS_PDFIUM_FUZZER_HELPER_H_ 36