blob: 1211f89868d4bb9fe6cc429c585ea464ab575bb2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
{{header}}
{{object 1 0}} <<
/Type /Catalog
/Pages 2 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
/MediaBox [0 0 612 792]
>>
% OpenAction action
{{object 10 0}} <<
/Type /Action
/S /JavaScript
/JS 11 0 R
>>
endobj
% JS program to exexute
{{object 11 0}} <<
{{streamlen}}
>>
stream
function testIllegalConstructor(name, allowed) {
const constructorString = name + ".constructor";
let constructor;
try {
constructor = eval(constructorString);
} catch (e) {
app.alert("FAIL: No such " + constructorString);
return;
}
try {
constructor();
app.alert("FAIL: " + constructorString + "(): returned");
} catch (e) {
app.alert("PASS: " + constructorString + "(): " + e);
}
try {
new constructor;
app.alert("FAIL: new " + constructorString + ": returned");
} catch (e) {
app.alert("PASS: new " + constructorString + ": " + e);
}
}
testIllegalConstructor("this");
testIllegalConstructor("app");
testIllegalConstructor("event");
testIllegalConstructor("font");
testIllegalConstructor("global");
testIllegalConstructor("util");
testIllegalConstructor("style");
testIllegalConstructor("color");
testIllegalConstructor("border");
testIllegalConstructor("display");
testIllegalConstructor("console");
testIllegalConstructor("position");
testIllegalConstructor("highlight");
testIllegalConstructor("zoomtype");
testIllegalConstructor("scaleHow");
testIllegalConstructor("scaleWhen");
endstream
endobj
{{xref}}
{{trailer}}
{{startxref}}
%%EOF
|