blob: b63cb70ad10e77a85c299fd3e11d288e7b76acb8 [file] [log] [blame] [edit]
{{header}}
{{object 1 0}} <<
/Type /Catalog
/Pages 2 0 R
/AcroForm 4 0 R
/OpenAction 10 0 R
>>
endobj
{{object 2 0}} <<
/Type /Pages
/Count 1
/Kids [
3 0 R
]
>>
endobj
% Page number 0.
{{object 3 0}} <<
/Type /Page
/Parent 2 0 R
/Resources <<
/Font <</F1 15 0 R>>
>>
/Contents [21 0 R]
/MediaBox [0 0 612 792]
/Annots [7 0 R 8 0 R 9 0 R]
>>
endobj
% Forms
{{object 4 0}} <<
/XFA [
(xdp:xdp) 23 0 R
(form) 29 0 R
(</xdp:xdp>) 30 0 R
]
/Fields [
5 0 R
]
>>
endobj
% Fields
{{object 5 0}} <<
/T (MyField)
/Kids [
6 0 R
]
/Rect [100 100 400 400]
>>
endobj
{{object 6 0}} <<
/Parent 5 0 R
/FT /Btn
/Kids [
7 0 R
8 0 R
9 0 R
]
/Rect [200 200 220 220]
>>
endobj
{{object 7 0}} <<
/Parent 6 0 R
/Type /Annot
/Subtype /Widget
/Rect [220 220 240 240]
>>
endobj
{{object 8 0}} <<
/Parent 6 0 R
/Type /Annot
/Subtype /Widget
/Rect [240 240 260 260]
>>
endobj
{{object 9 0}} <<
/Parent 6 0 R
/Type /Annot
/Subtype /Widget
/Rect [240 240 260 260]
>>
endobj
% OpenAction action
{{object 10 0}} <<
/Type /Action
/S /JavaScript
/JS 11 0 R
>>
endobj
% JS program to execute
{{object 11 0}} <<
{{streamlen}}
>>
stream
var theName = "MyField";
function Mangles() {
app.alert('Starting ...');
try {
var f = this.getField(theName);
Object.defineProperty(Array.prototype, 1, {
get: () => {
return this[1];
},
set: (v) => {
app.alert('Firing ...');
this.removeField(theName);
gc();
return false;
},
enumerable: true
});
f.page;
} catch (e) {
app.alert("failed: " + e);
}
}
Mangles();
endstream
endobj
{{object 23 0}} <<
{{streamlen}}
>>
stream
<?xml version="1.0" encoding="UTF-8"?>
<xdp:xdp xmlns:xdp="http://ns.adobe.com/xdp/">
endstream
endobj
{{object 29 0}} <<
{{streamlen}}
>>
stream
<config></config>
<template></template>
endstream
endobj
{{object 30 0}} <<
{{streamlen}}
>>
stream
</xdp:xdp>
endstream
endobj
{{xref}}
{{trailer}}
{{startxref}}
%%EOF