1*3ac0a46fSAndroid Build Coastguard Worker // Copyright 2021 The PDFium Authors 2*3ac0a46fSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*3ac0a46fSAndroid Build Coastguard Worker // found in the LICENSE file. 4*3ac0a46fSAndroid Build Coastguard Worker 5*3ac0a46fSAndroid Build Coastguard Worker // File for holding strings representing PDF templates that are used by fuzzers. 6*3ac0a46fSAndroid Build Coastguard Worker 7*3ac0a46fSAndroid Build Coastguard Worker #ifndef TESTING_FUZZERS_PDF_FUZZER_TEMPLATES_H_ 8*3ac0a46fSAndroid Build Coastguard Worker #define TESTING_FUZZERS_PDF_FUZZER_TEMPLATES_H_ 9*3ac0a46fSAndroid Build Coastguard Worker 10*3ac0a46fSAndroid Build Coastguard Worker constexpr char kSimplePdfTemplate[] = R"(%PDF-1.7 11*3ac0a46fSAndroid Build Coastguard Worker 1 0 obj 12*3ac0a46fSAndroid Build Coastguard Worker <</Type /Catalog /Pages 2 0 R /AcroForm <</XFA 30 0 R>> /NeedsRendering true>> 13*3ac0a46fSAndroid Build Coastguard Worker endobj 14*3ac0a46fSAndroid Build Coastguard Worker 2 0 obj 15*3ac0a46fSAndroid Build Coastguard Worker <</Type /Pages /Kids [3 0 R] /Count 1>> 16*3ac0a46fSAndroid Build Coastguard Worker endobj 17*3ac0a46fSAndroid Build Coastguard Worker 3 0 obj 18*3ac0a46fSAndroid Build Coastguard Worker <</Type /Page /Parent 2 0 R /MediaBox [0 0 3 3]>> 19*3ac0a46fSAndroid Build Coastguard Worker endobj 20*3ac0a46fSAndroid Build Coastguard Worker 30 0 obj 21*3ac0a46fSAndroid Build Coastguard Worker <</Length $1>> 22*3ac0a46fSAndroid Build Coastguard Worker stream 23*3ac0a46fSAndroid Build Coastguard Worker $2 24*3ac0a46fSAndroid Build Coastguard Worker endstream 25*3ac0a46fSAndroid Build Coastguard Worker endobj 26*3ac0a46fSAndroid Build Coastguard Worker trailer 27*3ac0a46fSAndroid Build Coastguard Worker <</Root 1 0 R /Size 31>> 28*3ac0a46fSAndroid Build Coastguard Worker %%EOF)"; 29*3ac0a46fSAndroid Build Coastguard Worker 30*3ac0a46fSAndroid Build Coastguard Worker // We define the bytes of the header explicitly to make the values more readable 31*3ac0a46fSAndroid Build Coastguard Worker constexpr uint8_t kSimplePdfHeader[] = {0x25, 0x50, 0x44, 0x46, 0x2d, 32*3ac0a46fSAndroid Build Coastguard Worker 0x31, 0x2e, 0x37, 0x0a, 0x25, 33*3ac0a46fSAndroid Build Coastguard Worker 0xa0, 0xf2, 0xa4, 0xf4, 0x0a}; 34*3ac0a46fSAndroid Build Coastguard Worker 35*3ac0a46fSAndroid Build Coastguard Worker constexpr char kCatalog[] = R""(<</AcroForm 2 0 R /Extensions 36*3ac0a46fSAndroid Build Coastguard Worker <</ADBE <</BaseVersion /1.7 /ExtensionLevel 8>>>> /NeedsRendering true 37*3ac0a46fSAndroid Build Coastguard Worker /Pages 3 0 R /Type /Catalog>>)""; 38*3ac0a46fSAndroid Build Coastguard Worker 39*3ac0a46fSAndroid Build Coastguard Worker constexpr char kSimpleXfaObjWrapper[] = R""(<</XFA 40*3ac0a46fSAndroid Build Coastguard Worker [(preamble) 5 0 R ($1) 6 0 R ($2) 7 0 R ($3) 8 0 R 41*3ac0a46fSAndroid Build Coastguard Worker (postamble) 9 0 R]>>)""; 42*3ac0a46fSAndroid Build Coastguard Worker 43*3ac0a46fSAndroid Build Coastguard Worker constexpr char kSimplePagesObj[] = "<</Count 1 /Kids [4 0 R] /Type /Pages>>"; 44*3ac0a46fSAndroid Build Coastguard Worker constexpr char kSimplePageObj[] = 45*3ac0a46fSAndroid Build Coastguard Worker "<</MediaBox [0 0 612 792] /Parent 3 0 R /Type /Page>>"; 46*3ac0a46fSAndroid Build Coastguard Worker constexpr char kSimplePreamble[] = 47*3ac0a46fSAndroid Build Coastguard Worker R""(<xdp:xdp xmlns:xdp="http://ns.adobe.com/xdp/" 48*3ac0a46fSAndroid Build Coastguard Worker timeStamp="2021-12-14T14:14:14Z" 49*3ac0a46fSAndroid Build Coastguard Worker uuid="11111111-1ab1-11b1-aa1a-1aaaaaaa11a1">)""; 50*3ac0a46fSAndroid Build Coastguard Worker constexpr char kSimplePostamble[] = "</xdp:xdp>"; 51*3ac0a46fSAndroid Build Coastguard Worker 52*3ac0a46fSAndroid Build Coastguard Worker #endif // TESTING_FUZZERS_PDF_FUZZER_TEMPLATES_H_ 53